grep 文本搜索

grep:global search regular expression and print out the line,用于全面搜索的正则表达式并将结果输出。
grep:标准搜索命令;
egrep:扩展搜索命令,等价于“grep -E”命令,支持扩展的正则表达式;
fgrep:快速搜索命令,等价于“grep -F”命令,不支持正则表达式,直接按照字符串内容进行匹配;

语法格式

grep [参数] 文件

常用参数

参数 说明
-i 忽略大小写
-c 只输出匹配行的数量
-l 只列出符合匹配的文件名,不列出具体的匹配行
-n 列出所有的匹配行,显示行号
-h 查询多文件时不显示文件名
-s 不显示不存在、没有匹配文本的错误信息
-v 显示不包含匹配文本的所有行
-w 匹配整词
-x 匹配整行
-r 递归搜索
-q 禁止输出任何结果,已退出状态表示搜索是否成功
-b 打印匹配行距文件头部的偏移量,以字节为单位
-o 与-b 结合使用,打印匹配的词据文件头部的偏移量,以字节为单位
-F 匹配固定字符串的内容
-E 支持扩展的正则表达式

案例演示

passwd 文件中搜以 root 开头的文本

1
grep ^root /etc/passwd

更多案例

https://www.linuxcool.com/grep

find 文件搜索

通常进行的是从根目录(/)开始的全盘搜索。

语法格式

find [路径] [参数]

常用参数

参数 说明
-name 匹配名称
-perm 匹配权限(mode 为完全匹配,-mode 为包含即可)
-user 匹配所有者
-group 匹配所有组
-mtime -n +n 匹配修改内容的时间(-n 指 n 天以内,+n 指 n 天以前)
-atime -n +n 匹配访问文件的时间(-n 指 n 天以内,+n 指 n 天以前)
-ctime -n +n 匹配修改文件权限的时间(-n 指 n 天以内,+n 指 n 天以前)
-nouser 匹配无所有者的文件
-nogroup 匹配无所有组的文件
-newer f1 !f2 匹配比文件 f1 新但比 f2 旧的文件
-type b/d/c/p/l/f 匹配文件类型,依次表示块设备、目录、字符设备、管道、链接文件、文本文件
-size 匹配文件的大小,+50KB 大于 50KB 的文件,-50KB 小于 50KB 的文件
-prune 忽略某个目录
-exec …… {}; 后面可跟用于进一步处理搜索结果的命令

案例演示

全盘搜索系统中所有以.conf 结尾的文件

1
find / -name *.conf

查找后并删除

1
find / -name "*.mp4" -exec rm -rf {} \;

更多案例

https://www.linuxcool.com/find

rpm 包管理

rpm:RedHat Package Manager,红帽软件包管理器。用于在 Linux 系统下对软件包进行安装、卸载、查询、验证、升级等。

语法格式

rpm [参数] 软件包

常用参数

参数 说明
-a 查询所有的软件包
-b 或-t 设置包装套件的完成阶段,并指定套件档的文件名称;
-c 只列出组态配置文件,本参数需配合”-l”参数使用
-d 只列出文本文件,本参数需配合”-l”参数使用
-e 卸载软件包
-f 查询文件或命令属于哪个软件包
-h 安装软件包时列出标记
-i 安装软件包
-l 显示软件包的文件列表
-p 查询指定的 rpm 软件包
-q 查询软件包
-R 显示软件包的依赖关系
-s 显示文件状态,本参数需配合”-l”参数使用
-U 升级软件包
-v 显示命令执行过程
-vv 详细显示指令执行过程

案例演示

安装

1
rpm -ivh cockpit-185-2.el8.x86_64.rpm

卸载

1
rpm -evh cockpit

升级

1
rpm -Uvh cockpit-185-2.el8.x86_64.rpm

查询

1
rpm -ql cockpit

更多案例

https://www.linuxcool.com/rpm

ps 显示进程状态

ps:process status,查看到进程的所有信息,例如进程的号码、发起者、系统资源使用占比(处理器与内存)、运行状态等。

语法格式

ps [参数]

常用参数

参数 说明
a 显示现行终端机下的所有程序,包括其他用户的程序
-A 显示所有程序
c 显示每个程序真正的指令名称,而不包含路径
-C <指令名称> 指定执行指令的名称,并列出该指令的程序的状况
-d 显示所有程序,但不包括阶段作业管理员的程序
e 列出程序时,显示每个程序所使用的环境变量
-f 显示 UID,PPIP,C 与 STIME 栏位
f 用 ASCII 字符显示树状结构,表达程序间的相互关系
g 显示现行终端机下的所有程序,包括所属组的程序
-G <群组识别码> 列出属于该群组的程序的状况
h 不显示标题列
-H 显示树状结构,表示程序间的相互关系
-j 采用工作控制的格式显示程序状况
-l 采用详细的格式来显示程序状况
L 列出栏位的相关信息
-m 显示所有的执行绪
n 以数字来表示 USER 和 WCHAN 栏位
-N 显示所有的程序,除了执行 ps 指令终端机下的程序之外
-p <程序识别码> 指定程序识别码,并列出该程序的状况
r 只列出现行终端机正在执行中的程序
-s <阶段作业> 列出隶属该阶段作业的程序的状况
s 采用程序信号的格式显示程序状况
S 列出程序时,包括已中断的子程序资料
-t <终端机编号> 列出属于该终端机的程序的状况
-T 显示现行终端机下的所有程序
u 以用户为主的格式来显示程序状况
-U <用户识别码> 列出属于该用户的程序的状况
U <用户名称> 列出属于该用户的程序的状况
v 采用虚拟内存的格式显示程序状况
-V 或 V 显示版本信息
-w 或 w 采用宽阔的格式来显示程序状况
x 显示所有程序,不以终端机来区分
X 采用旧式的 Linux i386 登陆格式显示程序状况
-y 配合选项”-l”使用时,不显示 F(flag)栏位,并以 RSS 栏位取代 ADDR 栏位
–cols <每列字符数> 设置每列的最大字符数
–headers 重复显示标题列
–help 在线帮助
–info 显示排错信息
–lines <显示列数> 设置显示画面的列数

案例演示

显示系统中全部的进程信息,含详细信息

1
ps aux

过滤只显示指定信息

1
ps -ef | grep ssh

更多案例

https://www.linuxcool.com/ps

df 磁盘空间使用情况

df:Disk Free,用于显示系统上磁盘空间的使用量情况

语法格式

df [参数] [对象磁盘/分区]

常用参数

参数 说明
-a 显示所有系统文件
-B <块大小> 指定显示时的块大小
-h 以容易阅读的方式显示
-H 以 1000 字节为换算单位来显示
-i 显示索引字节信息
-k 指定块大小为 1KB
-l 只显示本地文件系统
-t <文件系统类型> 只显示指定类型的文件系统
-T 输出时显示文件系统类型
– -sync 在取得磁盘使用信息前,先执行 sync 命令

案例演示

带有容量单位的显示系统全部磁盘使用量情况

1
df -h

更多案例

https://www.linuxcool.com/df