一、文件管理
1、ls命令 – 显示指定工作目录下的内容及属性信息
选项与参数:
- -a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)
- -d :仅列出目录本身,而不是列出目录内的文件数据(常用)
- -l :长数据串列出,包含文件的属性与权限等等数据;(常用)
[root@www ~]# ls -al ~
2、cp命令 – 复制文件或目录
选项与参数:
- -a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
- -i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
- -p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
- -r:递归持续复制,用於目录的复制行为;(常用)
[root@www ~]# cp [-adfilprsu] 来源档(source) 目标档(destination)
[root@www ~]# cp [options] source1 source2 source3 .... directory
[root@www ~]# cp ~/.bashrc /tmp/bashrc
[root@www ~]# cp -i ~/.bashrc /tmp/bashrc
cp: overwrite `/tmp/bashrc'? n <==n不覆盖,y为覆盖
3、mkdir命令 – 创建目录
选项与参数:
- -m :配置文件的权限
- -p :将所需要的目录(包含上一级目录)递归创建起来
mkdir [-mp] 目录名称
[root@www tmp]# mkdir -m 711 test2
#使用 mkdir 命令创建 runoob 目录
[root@www ~]# mkdir runoob
4、mv命令 – 移动或改名文件
选项与参数:
- -f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
- -i :互动模式,在删除前会询问使用者是否动作
- -r :递归删除
5、pwd命令 – 显示当前路径
选项与参数:
- -P :显示出确实的路径,而非使用连结 (link) 路径。
[root@www ~]# pwd [-P]
6、yum命令 – 基于RPM的软件包管理器
自动搜索最快镜像插件:
[root@linuxcool ~]# yum install yum-fastestmirror
安装yum图形窗口插件:
[root@linuxcool ~]# yum install yumex
清除缓存目录下的软件包:
[root@linuxcool ~]# yum clean packages
卸载/删除vim-common:
[root@linuxcool ~]# yum remove vim-common.x86_64
列出匹配到“foo*”的可用的数据包:
[root@linuxcool ~]# yum list available 'foo*'
安装yum图形窗口插件:
[root@linuxcool ~]# yum install yumex
7、tar命令 – 打包和备份的归档工具
参数选项:
- -z 通过gzip指令压缩/解压缩文件,文件名最好为*.tar.gz
- -c 建立新的备份文件
- -f<备份文件> 指定备份文件
- -x 从归档文件中提取文件
将所有.jpg的文件打成一个名为all.tar的包:
[root@linuxcool ~]# tar -cf all.tar *.jpg
打包文件之后删除源文件:
[root@linuxcool ~]# tar -cvf linuxcool.tar linuxcool --remove-files
打包文件以后,以 gzip 压缩:
[root@linuxcool ~]# tar -zcvf log.tar.gz linuxcool.log
8、tgz命令 – 将文件压缩为.tgz格式文件
将/root/install.log文件压缩为/root/install.log.tgz
[root@linuxcool ~]# tgz /root/install.log.tgz /root/install.log
二、文档编辑
9、cat命令 – 在终端设备上显示文件内容
查看文件的内容:
[root@linuxcool ~]# cat filename.txt
查看文件的内容,并显示行数编号:
[root@linuxcool ~]# cat -n filename.txt
查看文件的内容,并添加行数编号后输出到另外一个文件中:
[root@linuxcool ~]# cat -n linuxcool.log > linuxprobe.log
清空文件的内容:
[root@linuxcool ~]# cat /dev/null > /root/filename.txt
持续写入文件内容,碰到EOF符后结束并保存:
[root@linuxcool ~]# cat > filename.txt <<EOF
> Hello, World
> Linux!
> EOF
将软盘设备制作成镜像文件:
[root@linuxcool ~]# cat /dev/fd0 > fdisk.iso
10、tac命令 – 反向列示文件内容
[root@linuxcool ~]# cat test.txt
hello world
hello linuxcool
hello linuxprobe
[root@linuxcool ~]# tac test.txt
hello linuxprobe
hello linuxcool
hello world
11、echo命令 – 输出字符串或提取Shell变量的值
输出一段字符串:
[root@linuxcool ~]# echo "LinuxCool.com"
LinuxCool.com
输出变量提取后的值:
[root@linuxcool ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
对内容进行转义,不让$符号的提取变量值功能生效:
[root@linuxcool ~]# echo \$PATH
$PATH
结合输出重定向符,将字符串信息导入文件中:
[root@linuxcool ~]# echo "It is a test" > linuxcool
12、rm命令 – 移除文件或目录
常用参数:
- -f 忽略不存在的文件,不会出现警告信息
- -i 删除前会询问用户是否操作
- -r/R 递归删除
- -v 显示指令的详细执行过程
删除前逐一询问确认:
[root@linuxcool ~]# rm -i test.txt.bz2
rm: remove regular file `test.txt.bz2'?
直接删除,不会有任何提示:
[root@linuxcool ~]# rm -f test.txt.bz2
递归删除目录及目录下所有文件:
[root@linuxcool ~]# mkdir /data/log
[root@linuxcool ~]# rm -rf /data/log
删除当前目录下所有文件:
[root@linuxcool ~]# rm -rf *
清空系统中所有的文件(谨慎):
[root@linuxcool ~]# rm -rf /*
13、tail命令 – 查看文件尾部内容
显示文件file的最后10行:
[root@linuxcool ~ ] tail file
显示文件file的内容,从第20行至文件末尾:
[root@linuxcool ~ ] tail +20 file
显示文件file的最后10个字符:
[root@linuxcool ~ ] tail -c 10 file
一直变化的文件总是显示后10行:
[root@linuxcool ~ ] tail -f 10 file
14、grep命令 – 强大的文本搜索工具
支持多文件查询并支持使用通配符:
[root@linuxcool ~]# grep zwx file_* /etc/hosts
file_1:zwx
file_1:zwx
file_1:zwxddkjflkdjfdlkfjlsdkj
file_2:zwx
file_4:dkfjlzwxejfkje
file_4:zwx djfkdjf
file_4:zwxedkfgj
15、rgrep命令 – 查找文件里符合条件的字符串
在当前目录下查找句子中包含”Hello”字符串的文件:
[root@linuxcool ~]# rgrep Hello *
显示范本样式与范例的说明:
[root@linuxcool ~]# rgrep -?
16、sdiff命令 – 以并排方式合并文件之间的差异
比较二个文件的不同:
[root@linuxcool ~]# sdiff -a file1 file2
忽略大小写的区别:
[root@linuxcool ~]# sdiff -i file1 file2
忽略任何因空行而造成的差异:
[root@linuxcool ~]# sdiff -B file1 file2
17、vi命令 – 文本编辑器
使用vi编辑器:
[root@linuxcool ~]# vi
编辑指定文件:
[root@linuxcool ~]# vi linuxcool.log
从第6行开始编辑指定文件:
[root@linuxcool ~]# vi +6 linuxcool.log
以只读模式打开指定文件:
[root@linuxcool ~]# vi -R linuxcool.log
18、head命令 – 显示文件开头内容
显示前3行文件内容:
[root@linuxcool ~]# head -n 3 install.log
Installing libgcc-4.4.7-23.el6.x86_64
warning: libgcc-4.4.7-23.el6.x86_64: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Installing setup-2.8.14-23.el6.noarch
显示文件名信息,并显示文件前两行:
[root@linuxcool ~]# head -v -n 2 test.txt
==> test.txt <==
hello world
hello linuxcool
19、look命令 – 查询单词
查询file文件中以L开头的行:
[root@linuxcool ~]# cat file
LINUX!
Linux is a free unix-type opterating system.
This is a linux testfile!
Linux test
[root@linuxcool ~]# look L file
LINUX!
Linux is a free unix-type opterating system.
三、磁盘管理
20、df命令 – 显示磁盘空间使用情况
常用参数:
- -a 显示所有系统文件
- -B <块大小> 指定显示时的块大小
- -h 以容易阅读的方式显示
- -H 以1000字节为换算单位来显示
- -i 显示索引字节信息
- -k 指定块大小为1KB
- -l 只显示本地文件系统
显示磁盘分区使用情况:
[root@linuxcool ~]# df
文件系统 1K-块 已用 可用 已用% 挂载点
devtmpfs 1980612 0 1980612 0% /dev
tmpfs 1994756 0 1994756 0% /dev/shm
tmpfs 1994756 1040 1993716 1% /run
21、fdisk命令 – 磁盘分区
常用参数:
- -b 指定每个分区的大小
- -l 列出指定的外围设备的分区表状况
- -s 将指定的分区大小输出到标准输出上,单位为区块
- -u 搭配”-l”参数列表,会用分区数目取代柱面数目,来表示每个分区的起始地址
- -v 显示版本信息
查看所有分区情况:
[root@linuxcool ~]# fdisk -l
选择分区磁盘:
[root@linuxcool ~]# fdisk /dev/sdb
在当前磁盘上建立扩展分区:
[root@linuxcool ~]# fdisk /ext
不检查磁盘表面加快分区操作:
[root@linuxcool ~]# fdisk /actok
四、系统管理
22、rpm命令 – RPM软件包管理器
直接安装软件包:
[root@linuxcool ~]# rpm -ivh packge.rpm
忽略报错,强制安装:
[root@linuxcool ~]# rpm --force -ivh package.rpm
列出所有安装过的包:
[root@linuxcool ~]# rpm -qa
查询rpm包中的文件安装的位置:
[root@linuxcool ~]# rpm -ql ls
卸载rpm包:
[root@linuxcool ~]# rpm -e package.rpm
升级软件包:
[root@linuxcool ~]# rpm -U file.rpm
23、find命令 – 查找和搜索文件
常用参数:
- -name 按名称查找
- -size 按大小查找
- -user 按属性查找
- -type 按类型查找
- -iname 忽略大小写
使用-name参数查看/etc目录下面所有的.conf结尾的配置文件:
[root@linuxcool ~]# find /etc -name "*.conf
使用-size参数查看/etc目录下面大于1M的文件:
[root@linuxcool ~]# find /etc -size +1M
查找当前用户主目录下的所有文件:
[root@linuxcool ~]# find $HOME -print
列出当前目录及子目录下所有文件和文件夹:
[root@linuxcool ~]# find .
24、uname命令 – 显示系统信息
显示系统主机名、内核版本号、CPU类型等信息:
[root@linuxcool ~]# uname -a
Linux linuxcool 3.10.0-123.el7.x86_64 #1 SMP Mon May 5 11:16:57 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux
仅显示系统主机名:
[root@linuxcool ~]# uname -n
linuxcool
显示当前系统的内核版本 :
[root@linuxcool ~]# uname -r
3.10.0-123.el7.x86_64
显示当前系统的硬件架构:
[root@linuxcool ~]# uname -i
x86_64
五、网络通讯
25、ssh命令 – 安全连接客户端
登录远程服务器:
[root@linuxcool ~]# ssh 202.102.240.88
用test用户连接远程服务器:
[root@linuxcool ~]# ssh -l test 202.102.220.88
查看分区列表:
[root@linuxcool ~]# ssh 202.102.220.88 /sbin/fdisk -l
强制使用ssh协议版本1:
[root@linuxcool ~]# ssh -1
开启认证代理连接转发功能:
[root@linuxcool ~]# ssh -A
26、netstat命令 – 显示网络状态
显示详细的网络状况:
[root@linuxcool ~]# netstat -a
显示当前户籍UDP连接状况:
[root@linuxcool ~]# netstat -nu
显示UDP端口号的使用情况:
[root@linuxcool ~]# netstat -apu
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 0.0.0.0:bootpc 0.0.0.0:* 4000/dhclient
udp 0 0 localhost:323 0.0.0.0:* 3725/chronyd
udp6 0 0 localhost:323 [::]:* 3725/chronyd
显示网卡列表:
[root@linuxcool ~]# netstat -i
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 0 181864 0 0 0 141278 0 0 0 BMRU
lo 16436 0 3362 0 0 0 3362 0 0 0 LRU
27、ping命令 – 测试主机间网络连通性
检测与linuxcool网站的连通性:
[root@linuxcool ~]# ping www.linuxcool.com
连续ping4次:
[root@linuxcool ~]# ping -c 4 www.linuxcool.com
设置次数为4,时间间隔为3秒:
[root@linuxcool ~]# ping -c 4 -i 3 www.linuxcool.com
利用ping命令获取指定网站的IP地址:
[root@linuxcool ~]# ping -c 1 linuxcool.com | grep from | cut -d " " -f 4
220.181.57.216
28、ifconfig命令 – 显示或设置网络设备
显示网络设备信息:
[root@linuxcool ~]# ifconfig
启动关闭指定网卡:
[root@linuxcool ~]# ifconfig eth0 down
[root@linuxcool ~]# ifconfig eth0 up
为网卡配置和删除IPv6地址:
[root@linuxcool ~]# ifconfig eth0 add 33ffe:3240:800:1005::2/64
[root@linuxcool ~]# ifconfig eth0 del 33ffe:3240:800:1005::2/64
用ifconfig修改MAC地址:
[root@linuxcool ~]# ifconfig eth0 down
[root@linuxcool ~]# ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE
[root@linuxcool ~]# ifconfig eth0 up
[root@linuxcool ~]# ifconfig eth1 hw ether 00:1D:1C:1D:1E
[root@linuxcool ~]# ifconfig eth1 up
配置IP地址:
[root@linuxcool ~]# ifconfig eth0 192.168.1.56
[root@linuxcool ~]# ifconfig eth0 192.168.1.56 netmask 255.255.255.0
[root@linuxcool ~]# ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255
六、文件传输
29、tftp命令 – 上传及下载文件
连接远程服务器”218.28.188.288″:
[root@linuxcool ~]# tftp 218.28.188.288
远程下载file文件:
tftp> get file
getting from 218.28.188.288 to /dir
Recived 168236 bytes in 1.5 seconds[112157 bit/s]
退出tftp:
tftp> quit
30、ftpwho命令 – 显示ftp会话信息
查询当前正在登录FTP 服务器的用户:
[root@linuxcool ~]# ftpwho
在详细模式下,查询当前正在登录FTP 服务器的用户:
[root@linuxcool ~]# ftpwho -v
显示帮助信息:
[root@linuxcool ~]# ftpwho -h
七、设备管理
31、mount命令 – 文件系统挂载
查看版本:
[root@linuxcool ~]# mount -V
启动所有挂载:
[root@linuxcool ~]# mount -a
挂载 /dev/cdrom 到 /mnt:
[root@linuxcool ~]# mount /dev/cdrom /mnt
挂载nfs格式文件系统:
[root@linuxcool ~]# mount -t nfs /123 /mnt
挂载第一块盘的第一个分区到/etc目录 :
[root@linuxcool ~]# mount -t ext4 -o loop,default /dev/sda1 /etc
八、备份压缩
32、zip命令 – 压缩文件
将 /home/html/ 这个目录下所有文件和文件夹打包为当前目录下的 html.zip:
[root@linuxcool ~]# zip -q -r html.zip /home/html
压缩文件 cp.zip 中删除文件 a.c:
[root@linuxcool ~]# zip -dv cp.zip a.c
把/home目录下面的mydata目录压缩为mydata.zip:
[root@linuxcool ~]# zip -r mydata.zip mydata
把/home目录下面的abc文件夹和123.txt压缩成为abc123.zip:
[root@linuxcool ~]# zip -r abc123.zip abc 123.txt
将 logs目录打包成 log.zip:
[root@linuxcool ~]# zip -r log.zip ./logs
33、unzip命令 – 解压缩zip文件
把/home目录下面的mydata.zip解压到mydatabak目录里面:
[root@linuxcool ~]# unzip mydata.zip -d mydatabak
把/home目录下面的wwwroot.zip直接解压到/home目录里面:
[root@linuxcool ~]# unzip wwwroot.zip
把/home目录下面的abc12.zip、abc23.zip、abc34.zip同时解压到/home目录里面:
[root@linuxcool ~]# unzip abc\*.zip
验证/home目录下面的wwwroot.zip是否完整:
[root@linuxcool ~]# unzip -t wwwroot.zip
34、gzip命令 – 压缩和解压文件
把rancher-v2.2.0目录下的每个文件压缩成.gz文件:
[root@linuxcool ~]# gzip *
把上例中每个压缩的文件解压,并列出详细的信息:
[root@linuxcool ~]# gzip -dv *
递归地解压目录:
[root@linuxcool ~]# gzip -dr rancher.gz
35、zipinfo命令 – 查看压缩文件信息
显示压缩文件信息:
[root@linuxcool ~]# zipinfo file.zip
Archive: file.zip 486 bytes 3 files
-rw-r--r-- 2.3 unx 0 bx stor 24-May-10 18:54 a.c
-rw-r--r-- 2.3 unx 0 bx stor 24-May-10 18:54 b.c
-rw-r--r-- 2.3 unx 0 bx stor 24-May-10 18:54 c.c
3 files, 0 bytes uncompressed, 0 bytes compressed: 0.0%
显示压缩文件中每个文件的信息:
[root@linuxcool ~]# zipinfo -v file.zip
只显示压缩包大小、文件数目:
[root@linuxcool ~]# zipinfo -h file.zip
Archive: file.zip
Zip file size: 907 bytes, number of entries: 3
九、其它命令
36、history命令 – 显示与操纵历史命令
显示最近的10条命令:
[root@linuxcool ~]# history 10
将本次登录的命令写入历史文件中:
[root@linuxcool ~]# history -w
37、top命令 – 实时显示进程动态
显示进程信息:
[root@linuxcool ~]# top
显示完整的进程信息:
[root@linuxcool ~]# top -c
以批处理模式显示程序信息:
[root@linuxcool ~]# top -b
38、free命令 – 显示系统内存情况
显示内存使用情况:
[root@linuxcool ~]# free
用MB显示内存使用情况:
[root@linuxcool ~]# free -m
用KB显示内存使用情况:
[root@linuxcool ~]# free -K
以总和的形式显示内存的使用信息:
[root@linuxcool ~]# free -t
周期性查询内存使用情况:
[root@linuxcool ~]# free -s 10
39、vmstat命令 – 显示虚拟内存状态
显示活动内页:
[root@linuxcool ~]# vmstat -a
显示启动后创建的进程总数:
[root@linuxcool ~]# vmstat -f
40、mpstat命令 – 显示变化的CPU数据执行监控
第一个CPU:
[root@linuxcool ~]# mpstat -P 1
执行监控全部CPU:
[root@linuxcool ~]# mpstat -P ALL
41、iostat命令 – 监视系统输入输出设备和CPU的使用情况
每隔两秒报告一次:
[root@linuxcool ~]# iostat -d 2
每2秒报告一次,持续6次:
[root@linuxcool ~]# iostat -d 2 6
42、clear命令 – 清除屏幕
43、printf 命令 – shell 输出
[root@linuxcool ~]# printf "Hello, Shell\n"
Hello, Shell
44、watch命令 – 周期性执行命令
重复执行uptime命令:
[root@linuxcool ~]# watch uptime
每隔一秒高亮显示网络链接数的变化情况:
[root@linuxcool ~]# watch -n 1 -d netstat -ant
每10秒一次输出系统的平均负载:
[root@linuxcool ~]# watch -n 10 'cat /proc/loadavg'
监测磁盘inode和block数目变化情况:
[root@linuxcool ~]# watch -n 1 "df -i;df"
45、date命令 – 显示日期与时间
ant@ubuntu:~$ date
Thu Mar 10 04:02:41 PST 2022
46、export命令 – 系统设置
列出当前所有的环境变量:
[root@linuxcool ~]# export -p
定义环境变量:
[root@linuxcool ~]# export MYENV
定义环境变量赋值:
[root@linuxcool ~]# export MYENV=7
补充:
47、 chgrp命令 – 更改文件属组
参数选项:
-R:递归更改文件属组。
chgrp [-R] 属组名 文件名
48、chown命令 – 更改文件属主,也可以同时更改文件属组
chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
[root@www ~]# chown bin install.log
49、chmod命令 – 更改文件9个属性
chmod [-R] xyz 文件或目录
[root@www ~]# chmod 777 .bashrc
50、rmdir命令 – 删除空目录
选项与参数:
- -p :从该目录起,一次删除多级空目录
[root@www tmp]# rmdir weiixn/
51、cd命令 – 切换目录
#使用绝对路径切换到 runoob 目录
[root@www ~]# cd /root/runoob/
#使用相对路径切换到 runoob 目录
[root@www ~]# cd ./runoob/
#根目录
[root@www runoob]# cd ~
#上一级目录
[root@www ~]# cd ..
52、tree命令 – 以树状图列出目录内容
只显示n层目录(n为数字):
[root@linuxcool ~]# tree -L 2
用文件和目录的更改时间排序:
[root@linuxcool ~]# tree -t
以相反次序排序:
[root@linuxcool ~]# tree -r
在每个文件或目录之前,显示完整的相对路径:
[root@linuxcool ~]# tree -f
只显示目录:
[root@linuxcool ~]# tree -d
显示所有文件和目录:
[root@linuxcool ~]# tree -a