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 |
更多案例
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 |
更多案例
df 磁盘空间使用情况
df:Disk Free,用于显示系统上磁盘空间的使用量情况
语法格式
df [参数] [对象磁盘/分区]
常用参数
参数 | 说明 |
---|---|
-a | 显示所有系统文件 |
-B <块大小> | 指定显示时的块大小 |
-h | 以容易阅读的方式显示 |
-H | 以 1000 字节为换算单位来显示 |
-i | 显示索引字节信息 |
-k | 指定块大小为 1KB |
-l | 只显示本地文件系统 |
-t <文件系统类型> | 只显示指定类型的文件系统 |
-T | 输出时显示文件系统类型 |
– -sync | 在取得磁盘使用信息前,先执行 sync 命令 |
案例演示
带有容量单位的显示系统全部磁盘使用量情况
1 | df -h |