4-Linux 操作系统进阶指令 du、df、free、find、ps、service、grep、wc、管道

发布时间 2023-09-25 08:57:32作者: L_GuoZY

重点: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