4-Linux 操作系统进阶指令 du、df、free、find、ps、service、grep、wc、管道
重点:find 、ps 、grep 、管道
1、du 指令
作用:du表示directory used,显示出目录所占的磁盘空间大小的情况。
语法:#du -sh 目录路径
选项说明:
-s:表示sumary,汇总统计
-h:表示以较高可读性的形式显示
案例:使用du指令统计出“/home”的大小情况
2、df 指令
作用:disk free,查看磁盘的剩余空间的情况。
语法:
#df -h
选项说明:
-h:表示以较高可读性单位进行查看。
3、free 指令
作用:查看内存的使用情况
语法:
#free -m
选项说明:
-m:表示以mb为单位进行查看
4、find 指令
作用:表示根据条件去查询文档的所在位置。
场景:当用户想找一个文档,但是只记得其部分特征,这个时候就可以使用find指令查询路径。
指令 查找范围路径 选项 选项的值 选项 选项的值 选项 选项的值
语法:
#find 范围路径(位置) 选项 选项的值 [选项 选项的值 ….]
常见的选项:
-name:根据名字进行查询
-type:根据文档的类型进行查询。[d表示文件夹,f表示普通文件,s表示套接字文件,l表示连接文件,c表示字符设备文件,b表示块状设备文件]
-user:根据所有者进行查询
-group:根据所属的用户组进行查询
-size:根据大小进行查询
案例:我们记不清一个文件1.txt 所在位置,现在要求使用find指令进行查询
补充:-name选项支持通配符(“*”),模糊查询,表示任意长度的任意字符。
例如:假设我需要查询磁盘中全部的.conf文件,则可以写成:
#find / -name “*.conf” -type f
5、ps 指令
相当于windows 系统的 任务管理器(静态)
作用:表示process show,查看进程
语法:#ps -ef 【补充语法:#ps aux,BSD格式进行输出】
选项含义:
-e:等价于-A,all,表示全部
-f:表示full,显示全部的列
UID:该进程的启动用户名;
PID:process id,进程的id号
PPID:parent process id,父级进程id号
C:表示的cpu的使用情况
STIME:start time,启动时间
TTY:终端的设备编号,“?”表示该进程不是由终端发起的
TIME:持续运行的时间
CMD:command,显示进程的名称或者位置
补充:结束进程的指令
kill PID
kill 7946
补充:top指令(查资源占用情况用top) 动态系统任务进程
退出按q 即可
6、service
作用:操作服务的(启动/停止/重启)
语法:
#service 服务名 start/stop/restart
服务名必须要在/etc/init.d中可见。
案例:使用service指令启动apache(httpd)、
service httpd start
注意:对于服务名是存在要求的,要求服务名必须存在于“/etc/init.d”目录下。
除了可以用service指令操作服务,还可以通过如下语法:
#/etc/init.d/服务名 start/stop/restart
所以刚才apache的启动指令还可以写成:#/etc/init.d/httpd start
扩展:在CentOS7中如何控制服务的?
在7中兼容service指令,但是在执行之后实际上是跳转到systemctl指令去执行的操作。
Systemctl语法:
# systemctl start/stop/restart 服务名
7、grep 指令
作用:搜索、过滤,主要用于对文件/内容进行筛选,选出需要的内容
语法:#grep [选项] 关键词 文件路径/内容
常见的选项:
-v:排除,取反
案例:使用grep筛选出anaconda-ks.cfg 中的 "input" 行
案例:使用grep -v实现排除input所在行
8、wc指令
作用:word count,其作用是用于统计文件的各项数值(行、单词数、字节数)
语法:#wc -lwc 文档的路径
选项含义:
-l:line,行数
-w:word,单词数
-c:byte,字节数
案例:使用wc指令分别统计文件1.txt的行、单词数、字节数
wc -lwc 1.txt
注意:lwc选项的顺序,不影响其指令输出的结果的顺序,结果顺序一定是行 、 单词 、字节。
9、管道
管道严格意义上说其不是指令,其只是一个符号“|”。该符号主要起到辅助的作用,能够将多个指令合在一行上进行操作。主要用在搜索过滤等上面。
语法:# 必须在终端中有输出内容的指令 | 有输入的指令[要求有读取文件内容的需求]
管道的核心理解概念:管道前面的指令的输出其实就是管道后面指令的输入。
案例:通过ps指令查看进程,只查看httpd的进程。
ps -ef | grep "主文件夹" ,因为进程太多,人眼无法查看,用别的命令行查找太过麻烦,使用管道可以最快找出
案例:
“/etc/passwd”文件是存储用户信息的文件,该文件中一行即为一个用户,要求使用所学的指令统计出当前计算机中一共有多少个用户。
cat /etc/passwd | wc -l