一、常用系统命令
1.echo命令
在终端输出字符串或者变量提取后的值。
#echo shijia.com
shijia
#echo $SHELL
/bin/bash
2.date命令
用于显示及设置系统的时间或日期。
#date
Sun Sep 9 07:23:07 EDT 2018
#date "+%Y-%m-%d %H:%M:%S"
2018-09-09 07:24:38
(下行)设置系统时间
#date -s "20180909 08:30:00"
3.reboot命令
重启系统
4.poweroff命令
关闭系统
5.wget命令
下载网络文件
#wget https://mp.csdn.net/postedit
6.ps命令
查看系统中的进程状态。
参数:
-a 显示所有进程
-u 用户及其他详细进程
-x 显示没有控制终端的进程
Linux系统中,有5种常见的进程状态。
R(运行)
S(睡眠)
D(不可中断)
Z(僵死)
T(停止)
同时执行ps -a -u -x
#ps aux
7.top命令
用于动态地监视进程活动与系统负载等信息。可以理解位Linux版任务管理器。
8.pidod命令
用于查询某个制定五福进程的PID值。
#pidof sshd
28175
9.kill命令
用于终止某个PID的服务进程。
终止当前sshd进程。
#kill 28175
10.killall命令
终止某个指定服务的全部进程。
#pidof sshd
28175 28138 25925 25865 25427 25389 25352 25315 25279 25277 25244 25208 25148 25145 2136
#killall httpd
#pidof sshd
(空)
二、系统状态检测命令
1.ifconfig命令
获取网卡配置状态等信息。
2.uname命令
查看系统内核与版本等信息。
#uname -a
Linux node23 4.4.0-31-generic #50~14.04.1-Ubuntu SMP Wed Jul 13 01:07:32 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
3.uptime命令
查看系统的负载信息
#uptime
08:05:07 up 197 days, 11:26, 4 users, load average: 1.06, 0.70, 1.33
4.free命令
显示当前系统中内存的使用量信息。
-h会使结果以G位单位显示
#free -h
total used free shared buffers cached
Mem: 251G 175G 76G 196M 670M 166G
-/+ buffers/cache: 7.9G 243G
Swap: 255G 0B 255G
5.who命令
查看当前登入主机的用户终端信息。
#who
song** pts/1 2018-09-09 06:15 (222.20.61.29)
song** pts/8 2018-09-09 06:34 (211.69.197.50)
song** pts/11 2018-09-09 07:16 (211.69.197.50)
song** pts/4 2018-09-09 06:15 (222.20.61.29)
6.last命令
查看所有系统的登录记录
song** pts/11 211.69.197.50 Sun Sep 9 07:16 still logged in
song** pts/8 211.69.197.50 Sun Sep 9 06:34 still logged in
song** pts/4 222.20.61.29 Sun Sep 9 06:15 still logged in
song** pts/1 222.20.61.29 Sun Sep 9 06:15 still logged in
7.history命令
显示历史执行过的命令,格式为history [-c]
-c会清空所有的命令历史记录
#history
645 last
646 history
8.sosreport命令
收集系统配置及架构信息并输出诊断文档。
三、工作目录切换命令
1.pwd命令
显示用户当前所处的工作目录。
/home/song**/shijia
2.cd命令
切换动作目录。
3.ls命令
显示目录中的文件信息。
-l 查看文件属性、大小等详细信息。
-a 查看全部文件(包括隐藏文件)。
-d 查看目录属性信息。
四、文本文件编辑命令
1.cat命令
查看纯文本文件(内容较少的)
-h 显示行号
2.more命令
查看纯文本文件(内容较多的)
3.head命令
查看纯文本文档的前N行。
#head -n 20 initial-setup-ks.cfg
4.tail命令
用于查看纯文本文档的后N行或持续刷新内容。
-f 持续刷新内容
#tail -f /var/log/messages
5.tr命令
替换文本文件中的字符。
6.wc命令
统计制定文本的行数,字数,字节数
-l 只显示行数
-w 只显示单词数
-c 只显示字节数
7.stat命令
查看文件具体存储信息和时间等信息。
#stat LinuxProbe.pdf
File: ‘LinuxProbe.pdf’
Size: 20105266 Blocks: 39272 IO Block: 4096 regular file
Device: 802h/2050d Inode: 63573490 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1007/ songyu) Gid: ( 1007/ songyu)
Access: 2018-09-09 07:02:09.000000000 -0400
Modify: 2018-06-10 02:24:01.000000000 -0400
Change: 2018-09-09 07:02:09.309634509 -0400
Birth: -
8.cut命令
按列提取文本字符
-f 设置需要看的列数
-d 设置间隔符号
#cut -d: -f1 /etc/passwd
root
...
9.diff命令
比较多个文本文件的差异。
-brief 确定两个文件是否不同
-c 详细比较多个文件的差异之处
五、文件目录管理命令
1.touch命令
创建空白文件或设置文件的时间。
-a 仅修改“读取时间”
-m 仅修改“修改时间”
-d 同时修改以上两者
2.mkdir命令
创建空白目录。
-p 创建嵌套目录
3.cp命令
复制文件或目录。
-r 递归持续复制(用于目录)
-i 若目标文件存在则询问时候覆盖
4.mv命令
剪切文件或将文件重命名
5.rm命令
删除文件或目录
-f 强制删除
-r 删除目录
6.dd命令
按照指定大小和个数的数据快来复制文件或转换文件。
从/dev/zero设备文件中取出一个大小为560M的数据块,然后保存名为560_file的文件。
#dd if=/dev/zero of=560_file count=1 bs=560M
压制光盘镜像。
#dd if=/dev/cdrom of=../ios
7.file命令
查看文件的类型。
六、打包压缩与搜索命令
1.tar命令
对文件进行打包压缩或解压。
-c 创建压缩文件
-x 解开压缩文件
-z 用Gzip压缩或解压
-j 用bzip2压缩或解压
-f 目标文件名
-v 显示压缩或解压的过程
-C 指定解压到的目录
使用tar命令把/etc目录通过gzip格式进行打包压缩。
#tar -czvf etc.tat.gz /etc
把打包后的压缩文件制定解压到/root/etc目录中。
#mkdir /root/etc/
#tar xzvf etc.tat.gz -C /root/etc
2.grep命令
用于在文本中执行关键词搜索,并显示匹配的结果。
-b 将可执行文件(binary)当作文本文件(text)来搜索
-c 仅显示找到的行数
-i 忽略大小写
-n 显示行号
-v 反向选择
3.find命令
按照指定要求查找文件。
查找该目录中所有以host开头的文件列表。
#find /etc/ -name "host*" -print
/etc/hostname
/etc/avahi/hosts
总结:
本文简单列举了一些常用的Linux SHELL命令。包括常用系统命令、系统状态检测、工作目录切换、文本文件编辑、文件目录管理和打包解压命令。
参考文献:
[1]刘遄.Linux就该这么学[M].人民邮电出版社,2017.