-a 列出隐藏文件,文件中以“.”开头的均为隐藏文件,如:~/.bashrc
-l 列出文件的详细信息
-R 连同子目录中的内容一起列出
- 普通文件
d 目录
l 符号链接
b 块设备文件
c 字符设备文件
s socket文件,网络套接字
p 管道
r 读
w 写
x 可执行。对于目录,表示进入权限
change dir 改变当前所在路径
cd ~ :返回当前用户家目录
cd / :返回根目录
cd .. :返回上层目录
cd - :返回上次访问的目录
cd 相对路径 :进入到相对当前位置的目录
cd 绝对路径 :进入到指定的绝对路径
-m, --mode=模式
设置文件模式(类似chmod),而不是 rwx 减 umask
-p, --parents
如果目录已存在,不报错,且按需创建父目录
-v, --verbose
为每一个已创建的目录打印信息
-Z 将每个创建的目录的 SELinux 安全上下文设置为默认类型
--context[=CTX]
类似 -Z,或者如果指定了上下文,则将 SELinux 或者 SMACK 安全上下文设置为指定类型
--help 显示此帮助信息并退出
--versionq 显示版本信息并退出
可以创建多级目录
mkdir -p a/b/c
--ignore-fail-on-non-empty
忽略每一个仅因目录非空而导致的错误
-p, --parents
删除目录及其路径上的目录;
比如,'rmdir -p a/b/c' === 'rmdir a/b/c a/b a'
-v, --verbose
为每一个处理过的目录输出诊断信息
--help 显示此帮助信息并退出
--version 显示版本信息并退出
touch [OPTION]… FILE…
将每个文件的访问及修改时间都更新为目前的时间
除非提供了-c
或-h
参数,如果文件不存在,则创建一个字节数为0的文件。
-a 仅更改文件访问时间
-c, --no-create 不要创建任何文件
-d, --date=字符串 使用指定字符串所表示的时间而非当前时间
-m 仅更改文件修改时间
-r, --reference=文件 使用指定文件的时间代替当前时间
-t STAMP 使用 [[CC]YY]MMDDhhmm[.ss] 代替当前时间
-h, --no-dereference 影响所有符号链接而非被引用的文件(
删除文件:rm file
删除目录:rm -rf dir
-r, -R, --recursive 递归地移除目录及它们的内容
-d, --dir 删除空目录
-v, --verbose 解释正在发生的情况
-f, --force 忽略不存在的文件和参数,从不提示
-i 在每次删除前提示
mv file1 file2
mv file1 ~/(路径)
cp file1(路径) file2(路径)
cp dir1 dir2 -r
cat filename
查看文件里内容,输出到终端,如果cat时没跟文件名,则读标准输入,遇到\n后,输出到标准输出,终端下输入Ctrl-d表示结束
more filename
查看文本文件的内容,屏幕显示完一屏就等待用户按下任意键再滚动到下一屏,如果中
途不想继续看下去了,可以按Ctrl+C或q终止显示。
less filename
查看文本文件的内容,屏幕显示完一屏就等待用户按键,用户可以向上或向下查看,如果中途不想继续看下去了,可以按Ctrl+C或q终止显示。
显示指定文件的前面几行。
显示文件的最后几行。
ln -s
产生符号链接ln
产生硬链接Ubuntu下安装 sudo apt-get install tree
按结构树的形状显示目录和文件
用来计算文件的字节数、字数、行数
若不指定文件名称或文件名为’-',表示从标准输入设备读取数据
-c, --bytes 输出字节统计数
-m, --chars 输出字符统计数
-l, --lines 输出换行符统计数
-w, --words 输出单词统计数
od(octal dump)命令默认为八进制字节形式。如果指定了多于一个文件,将它们以列出的顺序连接起来作为输入
od [-A 地址进制] [-t 显示格式] 文件名
默认进制 8进制
-A ( 地址进制)按指定的进制显示地址信息;
o:八进制(系统默认值)
d:十进制
x:十六进制
n:不打印位移值
-t 指定数据显示的格式。
c:ASCII字符或反斜杠序列(如\n)
d:有符号十进制数
f:浮点数
o:八进制(系统默认值)
u:无符号十进制数
x:十六进制数
显示目录的大小
-m M
-k K
-b B
查看磁盘的使用情况
df --block-size=GB
df --block-size=MB
查看当前登陆用户
改变文件模式
chmod [who] [+|-|=] [mode]
chmod a+w filename
设置一个文件允许所有用户可写
chown [OPTION]… [OWNER:GROUP] FILE…
OPTION的主要参数:
-R 递归式地改变指定目录及其下的所有子目录和文件的拥有者。
-v 显示chown命令所做的工作。
chgrp [OPTION]… GROUP FILE…
find [OPTION] path… [expression]
grep [options] PATTERN [FILE...]
[options]部分包含的主要参数:
-c:只输出匹配行的计数。
-I:不区分大小写(只适用于单字符)。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
-R: 连同子目录中所有文件一起查找。
sudo vi /etc/apt/sources.list 更新源服务器列表
sudo apt-get update 更新源,包资源索引文件放在/var/lib/apt/lists/
sudo apt-get upgrade 更新已安装的包
sudo apt-get install package 安装包
sudo apt-get remove package 卸载包
sudo apt-get remove package --purge 卸载包,包括配置文件等
sudo apt-cache search package 搜索软件包
sudo apt-cache show package 获取包的相关信息,如说明、大小、版本等
sudo apt-get install package --reinstall 重新安装包
sudo apt-get -f install 修复安装(fix-missing)
sudo apt-get build-dep package 安装相关的编译环境
sudo apt-get dist-upgrade 升级系统
sudo apt-cache depends package 了解使用该包依赖那些包
sudo apt-cache rdepends package 查看该包被哪些包依赖
sudo apt-get source package 下载该包的源代码
sudo apt-get clean && sudo apt-get autoclean 清理无用的包
sudo apt-get check 检查是否有损坏的依赖
安装deb软件包命令: sudo dpkg -i xxx.deb (--install)
删除软件包命令: sudo dpkg -r xxx.deb (--remove)
连同配置文件一起删除命令: sudo dpkg -r --purge(-P) xxx.deb
查看软件包信息命令: sudo dpkg -i xxx.deb (--info)
验证包的完整性:sudo dpkg -V xxx.deb (--verify)
查看系统中已安装软件包信息命令: sudo dpkg -l
1. 解压缩源代码包
2. 进入源码包目录,参考README文件
3. ./configure 检测文件是否缺失,创建Makefile,检测编译环境
4. make 编译源码,生成库和可执行程序
5. sudo make install 把库和可执行程序,安装到系统路径下
档案文件(压缩包)管理程序
tar [操作参数+选项] 文件或者目录
c --create 创建新的压缩包
r --append 给压缩包追加文件
t --list 列出压缩包的内容
u --update 更新文件
x --extract 从档案文件中释放文件。
f --file 使用档案文件或设备
v --verbose 详细报告tar处理的文件信息
w --interactive 每一步都要求确认。
z --gzip
j --bzip2
J --xz
需要安装 sudo apt install rar
rar
查看当前在线上的用户情况。
用来显示当前shell 下正在运行哪些作业(即后台作业)
fg [job…]
把指定的后台作业或挂起作业移到前台运行。
bg [job…]
把被挂起的进程提到后台执行。 其中,job是一个或多个进程的PID、命令名称或者作业号,在参数前要带%号。
向指定进程发送信号
kill [ -signal | -s signal ] pid ...
查看信号编号
kill -l [ signal ]
查看当前进程环境变量
vim ∼/.bashrc 配置当前用户环境变量
vim /etc/profile 配置系统环境变量,配置时需要有root权限
-s 指定新用户登陆时shell类型
-g 指定所属组,该组必须已经存在
-G 指定附属组,该组必须已经存在
-d 用户家目录
-m 用户家目录不存在时,自动创建该目录
sudo passwd ghost1
su username
sudo su
userdel 选项 用户名
1.查看网卡信息
ifconfig
2.关闭网卡 eth0
sudo ifconfig eth0 down
3.开启网卡eth0
sudo ifconfig eth0 up
4.给eth0配置临时IP
sudo ifconfig eth0 IP
相关文件
/proc/net/dev
/proc/net/if_inet6
ghost-linux@ghost-linux:~$ sudo cat /proc/net/if_inet6
00000000000000000000000000000001 01 80 10 80 lo
fe80000000000000c11f7e1ed3897604 02 40 20 80 ens33
ping [选项] 主机名/IP地址
netstat [选项]
-a 显示所有socket,包括正在监听的。
-c 每隔1秒就重新显示一遍,直到用户中断它。
-i 显示所有网络接口的信息,格式同“ifconfig -e”。
-n 以网络IP地址代替名称,显示出网络连接情形。
-r 显示核心路由表,格式同“route -e”。
-t 显示TCP协议的连接情况。
-u 显示UDP协议的连接情况。
-v 显示正在进行的工作。
nslookup name
-s 显示用户的注册名、实际姓名、终端名称、写状态、停滞时间、登录时间等信息。
-l 除了用-s选项显示的信息外,还显示用户主目录、登录shell、邮件状态等信息,以及用户主目录下.plan、.project和.forward文件的内容。
-p 除了不显示.plan文件和.project文件以外,与-l选项相同。
mount [-t vfstype] -o options device dir
从光盘制作光盘镜像文件。
cp /dev/cdrom /home/username/mydisk.iso
dd if=/dev/cdrom of=/home/username/mydisk.iso
文件和目录制作成光盘镜像文件
mkisofs -r -J -V mydisk -o /home/username/mydisk.iso /home/username/ mydir
建立一个目录用来作挂接点(mount point)
mount -o loop -t iso9660 /home/sunky/mydisk.iso /mnt/vcdrom
使用/mnt/vcdrom就可以访问盘镜像文件mydisk.iso里的所有文件了。
挂载U盘
1.检测存储设备名称
sudo fdisk -l
2.挂载存储设备sdb1到挂载点/mnt目录
sudo mount /dev/sdb1 /mnt
3.访问/mnt
4.卸载/mnt
sudo umount /mnt
sudo umount 挂载点
dd if=sfile of=dfile
dd if=/dev/zero of=hello.txt bs=100M count=1
1.安装vsftpd服务器
sudo apt-get install vsftpd
2.配置vsftpd.conf文件
sudo vi /etc/vsftpd.conf
3.重启服务器,重新加载/etc/vsftpd.conf配置文件
sudo /etc/init.d/vsftpd restart
4.进入你家目录下创建一个空目录
cd ~
mkdir ftpfile
chmod 777 ftpfile
5.测试上传功能,登陆ftp服务器,进入到ftpfile目录
ftp IP
cd ftpfile
6.上传命令,可以把你当前目录下的文件上传到ftp服务器的ftpfile目录
put somefile
主要指令
put 上传文件
mput 上传多个文件
get 下载文件
mget 下载多个文件
mirror 下载整个目录及其子目录
mirror –R 上传整个目录及其子目录
!command 调用本地shell执行命令command
通常做系统移植时可以挂载文件系统
1.安装nfs服务器
sudo apt-get install nfs-kernel-server
2.设置/etc/exports配置文件
/home/用户名/nfs *(rw,sync,no_root_squash)
sudo vi /etc/exports
3.在用户目录下创建nfs目录
mkdir /home/用户名/nfs
4.重启服务器,重新加载配置文件
sudo /etc/init.d/nfs-kernel-server restart
5.在/home/用户名/nfs目录下创建测试文件hello
cd /home/用户名/nfs
touch hello
6.测试服务器,把服务器共享目录nfs挂在到/mnt节点
sudo mount -t nfs -o nolock -o tcp IP:/home/用户名/nfs /mnt
7.进入/mnt目录可以看到hello文件,表示构建成功
8.卸载网络共享目录
sudo umount /mnt
可以远程登录linux终端
1.安装ssh服务器
sudo apt-get install openssh-server
2.远程登陆
ssh 用户名@IP
shutdown -t 秒数 [-rkhncfF] 时间 [警告讯息]
alias [-p] name=value …
将value字符串起个别名叫name,以后在命令行输入name,shell自动将其解释为value