红帽认证、麒麟认证与 K8S 该如何选择?

先来回顾麒麟往期内容:


微
思
![]()
-
本章学习目标
-
掌握命令的查询方法;
-
掌握文件的查询方法。
-
掌握文件内搜索内容的方法;
-
掌握文件归档与压缩
-
文章目录
01 文件查找与处理
02 归档与压缩
01 文件查找与处理


一、查找文件
1、which 命令
作用:查找文件which 指令会在环境变量 $PATH 设置的目录里查找符合条件的文件。
语法结构
which [文件...]
常见命令选项
-n<文件名长度>:指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
-p<文件名长度>:与
-n参数相同,但此处的<文件名长度>包含了文件的路径。-w:指定输出时栏位的宽度。
-V:显示版本信息。
2、whereis 命令
作用:查找文件该指令会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件。
语法结构
whereis [-bfmsu][-B <目录>...][-M <目录>...][-S <目录>...][文件...]
常见命令选项
-b:只查找二进制文件
-B<目录>:只在设置的目录下查找二进制文件
-f:不显示文件名前的路径名称
-m:只查找说明文件
-M<目录>:只在设置的目录下查找说明文件
-s:只查找原始代码文件
-S<目录>:只在设置的目录下查找原始代码文件
-u:查找不包含指定类型的文件

一、find 命令
作用:用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件,并且将查找到的子目录和文件全部进行显示。
语法结构
find path -option [ -print ] [ -exec | -ok command ] {} \;
常见命令选项
-mount, -xdev:只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件
-amin n:在过去 n 分钟内被读取过
-anewer file:比文件 file 更晚被读取过的文件
-atime n:在过去 n 天内被读取过的文件
-cmin n:在过去 n 分钟内被修改过
-cnewer file:比文件 file 更新的文件
-ctime n:在过去 n 天内创建的文件
-mtime n:在过去 n 天内修改过的文件
-empty:空的文件
-gid n/
-group name:gid 是 n 或是组名称为 name-ipath p, -path p:路径名称符合 p 的文件,ipath 会忽略大小写
-name name, -iname name:文件名称符合 name 的文件;iname 忽略大小写
-size n:文件大小为 n 单位
-
b:区块
-
c:字节
-
k:千字节
-
w:字
-
-type c:文件类型是 c 的文件
-
d:目录
-
c:字符设备文件
-
b:块设备文件
-
p:管道
-
f:普通文件
-
l:符号链接
-
s:socket
-
-pid n:进程ID是 n 的文件
应用案例
-
将当前目录及其子目录下所有后缀为
.c的文件列出:
find . -name ”*.c”
-
将当前目录及其子目录中的所有普通文件列出:
find . -type f
-
将当前目录及其子目录下所有最近 20 天内更新过的文件列出:
find . -ctime 20
-
查找
/var/log目录中更改时间在 7 日以前的普通文件,并在删除之前询问:
find /var/log -type f -mtime +7 -ok rm {} \;
-
查找当前目录中文件属主拥有读、写权限,同组用户与其他用户拥有读权限的文件:
find . -type f -perm 644 -exec ls -l {} \;
-
查找系统中所有长度为 0 的普通文件,并展示完整路径:
find / -type f -size 0 -exec ls -l {} \;

一、grep 命令
grep 指令用于查找数据源中包含指定字符串的行,默认输出到屏幕。数据源可以是命令输出,也可以是指定的文件。grep 支持正则表达式,能够更加快捷、方便的检索数据。
语法结构
grep [OPTION...] 'keys' [FILE...]
常见命令选项
-i:不区分大小写
-v:查找不包含指定内容的行,反向选择
-w:按完整单词搜索
-n:显示匹配内容所在行号
-A num:显示匹配行以及后面 num 行,例:
-A 5-B num:显示匹配行以及前面 num 行
-C num:显示匹配行前后各 num 行
-e:使用基础正则匹配
-E:使用扩展正则匹配
^key:匹配以关键字开头的行
key$:匹配以关键字结尾的行
^$:匹配空行
--color=auto:检索到的关键词高亮着色显示
应用案例
-
忽略大小写匹配包含 root 的行
grep -i root /etc/passwd
-
精确匹配 ftp 完整单词
grep -w ftp /etc/passwd
-
只打印匹配到的关键字 ftp(不输出整行)
grep -wo ftp /etc/passwd
-
打印匹配 root 关键字的行号
grep -n root /etc/passwd
-
忽略大小写匹配包含 root 的行(附带行号)
grep -ni root /etc/passwd
-
忽略大小写,统计包含 root 的总行数
grep -nic root /etc/passwd
-
忽略大小写匹配以 root 开头的行
grep -i ^root /etc/passwd
-
匹配以 bash 结尾的行
grep bash$ /etc/passwd
-
匹配空行并打印行号
grep -n ^$ /etc/passwd
- 匹配以
号开头的注释行
grep ^# /etc/vsftpd/vsftpd.conf
- 匹配不以
号开头的有效配置行(过滤注释)
grep -v ^# /etc/vsftpd/vsftpd.conf
-
匹配包含 mail 关键字及其后5行
grep -A 5 mail /etc/passwd
-
匹配包含 mail 关键字及其前5行
grep -B 5 mail /etc/passwd
-
匹配包含 mail 关键字及其前后各5行
grep -C 5 mail /etc/passwd

一、wc 命令
wc 指令可以计算文件的字节数、字数、行数。若不指定文件名称,或是所给予的文件名为-,则 wc 指令会从标准输入设备读取数据。
语法结构
wc [-clw][--help][--version][文件...]
命令选项
-c, --bytes:输出字节数统计
-m, --chars:输出字符数统计
-l, --lines:输出行数统计
--files0-from=文件:从指定文件读取以空字符(NUL)终止的名称;如果该文件被指定为
-则从标准输入读文件名-L, --max-line-length:显示最长行的长度
-w, --words:统计单词数量
--help:显示帮助信息并退出
--version:显示版本信息并退出
应用案例
统计 testfile 文件整体信息
wc testfile
输出示例:
3 92 598 testfile
释义:文件行数为 3、单词数 92、字节数 598

一、sort 命令
将文件的每一行作为一个单位,从首字符向后,依次按 ASCII 码值进行比较,最后将它们按升序输出。
语法结构
sort [options] [filename]
常见命令选项
-u:去除重复行
-r:降序排列,默认升序
-o:将排序结果输出到文件中,类似重定向符号
>-n:按照数字排序;默认按字符排序
-t:指定分隔符
-k:指定按照第N列排序
-b:忽略行首前导空格
-R:随机排序,每次执行结果不同
应用案例
-
按照用户 uid 对文件 1.txt 升序排列
sort -n -t: -k3 1.txt
-
按照用户 uid 对文件 1.txt 降序排列
sort -nr -t: -k3 1.txt
-
对文件 2.txt 数字排序并去除重复行
sort -nu 2.txt
-
数字排序,并将结果保存到文件
sort -n 2.txt -o 3.txt

一、uniq 命令
去除连续重复行
注意:uniq 仅对相邻连续重复行生效,分散的重复行需要先使用sort排序。
语法结构
uniq [options] [filename]
常见命令选项
-i:忽略大小写
-c:统计重复行出现次数
-d:只显示重复行
应用案例
-
对文件 2.txt 去除连续重复行
uniq 2.txt
-
提取文件 2.txt 中重复的行
uniq -d 2.txt
-
提取文件 2.txt 中重复的行,并统计重复次数
uniq -dc 2.txt

一、diff 命令
用于比较文件的差异,以逐行的方式,比较文本文件的异同处。如果指定要比较目录,则 diff 会比较目录中相同文件名的文件,但不会比较其中子目录。
语法结构
diff [选项]... 文件1或目录1 文件2或目录2
常见命令选项
-<行数>:指定要显示多少行的文本。此参数必须与
-c或-u参数一并使用-a, --text:diff 预设只会逐行比较文本文件
-b, --ignore-space-change:不检查空格字符的不同
-B, --ignore-blank-lines:不检查空白行
-c:显示全部内容,并标出不同之处
-C<行数>, --context<行数>:与执行
-c -<行数>指令相同-d, --minimal:使用不同的演算法,以较小的单位来做比较
-D<巨集名称>, --ifdef=<巨集名称>:此参数的输出格式可用于前置处理器巨集
-e, --ed:此参数的输出格式可用于 ed 的 script 文件
-f, --forward-ed:输出的格式类似 ed 的 script 文件,但按照原来文件的顺序来显示不同处
-H, --speed-large-files:比较大文件时,可加快速度
-I<字符串>, --ignore-matching-lines<字符串>:若两个文件存在差异行,且该行均包含指定字符串,则忽略该处差异
-i, --ignore-case:不检查大小写的不同
-l, --paginate:将结果交由 pr 程序来分页
-n, --rcs:将比较结果以 RCS 的格式来显示
-N, --new-file:比较目录时,若文件仅存在某个目录,默认提示Only in;使用-N,会将该文件与空文件对比
-p:比较C语言代码文件时,显示差异所在的函数名称
-P, --unidirectional-new-file:与-N类似,仅第二个目录独有文件时,和空文件对比
-q, --brief:仅显示有无差异,不显示详细的信息
-r, --recursive:递归比较子目录中的文件
-s, --report-identical-files:若没有发现任何差异,仍然显示信息
-S<文件>, --starting-file<文件>:在比较目录时,从指定的文件开始比较
-t, --expand-tabs:在输出时,将 tab 字符展开
-T, --initial-tab:在每行前面加上 tab 字符以便对齐
-u, -U<列数>, --unified=<列数>:以合并的方式来显示文件内容的不同
-v, --version:显示版本信息
-w, --ignore-all-space:忽略全部的空格字符
-W<宽度>, --width<宽度>:搭配
-y参数时,指定展示栏宽-x<名称>, --exclude<名称>:不比较指定的文件或目录
-X<文件>, --exclude-from<文件>:读取文件内名单,排除名单中的文件/目录不对比
-y, --side-by-side:以并列的方式显示文件的异同之处
--help:显示帮助
--left-column:搭配
-y,内容相同行只在左侧栏展示--suppress-common-lines:搭配
-y,仅输出存在差异的行
应用案例
diff file1 file2
输出示例:
3c3< 2022-03---> 2021-038c8< 2021-07---> 2021-0811,12d10< 2021-11< 2021-12
释义:3c3 和 8c8 表示 file1 和 file2 在第3行、第8行内容存在修改;11,12d10 代表 file1 比 file2 多出第11、12两行。
输出符号说明(默认模式)
<:代表取自**第一个文件(file1)**的行
>:代表取自**第二个文件(file2)**的行
a:新增(add)、
c:修改(change)、d:删除(delete)
并列模式(-y)符号说明
|:前后两个文件该行内容不相同
<:第二个文件相比第一个文件缺少该行
>:第二个文件相比第一个文件多出该行
02 文件归档与压缩

银河麒麟操作系统常用的压缩与解压缩命令有:tar、gzip、gunzip、bzip2、bunzip2、 compress 、uncompress、 zip、 unzip、rar、unrar 等。

一、tar 命令介绍
最常用的打包命令是 tar,使用 tar 程序打出来的包我们常称为 tar 包,tar 包文件名通常都是以 .tar 结尾。为了方便用户在打包解包的同时可以压缩或解压文件,tar 提供了一种特殊的功能:tar 可以在打包或解包的同时调用其它的压缩程序,比如调用 gzip、bzip2 等。

二、tar 命令使用
用来建立、还原备份文件的工具程序,它可以添加、解开备份文件内的文件。
语法结构
tar [选项...] [FILE]...
常见命令选项
-c:创建新的备份文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。
-x:从备份文件中释放文件。
-r:把要存档的文件追加到备份文件的末尾。
-f:使用备份文件或设备,这个选项通常是必选的。
-v:详细报告 tar 处理的文件信息。如无此选项,tar 不输出文件信息。
-z:用 gzip 来压缩/解压缩文件,添加该选项后可对备份文件进行gzip压缩。
-j:用 bzip2 来压缩/解压缩文件。
-Z:调用 compress 程序进行压缩/解压缩。
应用案例
1、tar 调用 gzip
gzip 是 GNU 组织开发的一个压缩程序,.gz 结尾的文件就是 gzip 压缩的结果。与 gzip 相对的解压程序是 gunzip。tar 中使用 -z 参数调用 gzip。
示例:
tar -czf all.tar.gz *.jpg
这条命令是将所有 .jpg 文件打成一个 tar 包,并且使用 gzip 压缩,生成压缩包 all.tar.gz。
tar -xzf all.tar.gz
这条命令用于解压 all.tar.gz 压缩包。
2、tar 调用 bzip2
bzip2 是压缩能力更强的压缩程序,.bz2 结尾的文件就是 bzip2 压缩的结果。与 bzip2 相对的解压程序是 bunzip2。tar 中使用 -j 参数调用 bzip2。
示例:
tar -cjf all.tar.bz2 *.jpg
这条命令是将所有 .jpg 文件打成一个 tar 包,并且使用 bzip2 压缩,生成压缩包 all.tar.bz2。
tar -xjf all.tar.bz2
这条命令用于解压 all.tar.bz2 压缩包。
3、tar 调用 compress
compress 也是一款压缩程序,目前使用频率低于 gzip 和 bzip2。.Z 结尾的文件为 compress 压缩产物。对应的解压程序是 uncompress。tar 使用 -Z 参数调用 compress。
示例:
tar -cZf all.tar.Z *.jpg
这条命令是将所有 .jpg 文件打成一个 tar 包,并且使用 compress 压缩,生成压缩包 all.tar.Z。
tar -xZf all.tar.Z
这条命令用于解压 all.tar.Z 压缩包。
统一说明:参数
f后面紧跟压缩包名称,建议将 -f 写在所有选项最后,养成规范写法。
— Linux文章推荐 —
2万+

被折叠的 条评论
为什么被折叠?



