文章目录
二十五、shell的基本命令
25.1 diff (文件的差异比较)
diff命令用于比较文件的差异。diff 以逐行的方式,比较文本文件的异同处。如果指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子目录。
- 用法: diff 【options】file1 file2
- 常用参数
| 参数 | 意义 |
|---|---|
| -b | 忽略空格 |
| -B | 忽略空行 |
| -i | 忽略大小写 |
| -c | 显示文件所有内容并表示不同 |
| -r | 对比目录 |
| -u | 合并输出 |
| -y、-side-by-side | 以并列的方式显示文件的异同之处 |
- 输出参解释
| 参数 | 意义 |
|---|---|
| a | 添加 |
| c | 更改 |
| d | 删除 |
| < | 第一个文件中的内容 |
| > | 第二个文件中的内容 |
| - - - - | 分割线 |
- diff最基本用法

- diff的合并输出,就是新建补丁的意思

25.2 patch(修补文件)
patch命令用于修补文件。常与diff命令生成补丁文件
- 安装修补软件patch

- 打补丁直接铺盖原文件

- 打补丁可以备份原文件

25.3 cut (查看文件部分)
cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。
如果不指定 File 参数,cut 命令将读取标准输入。
- 用法:cut【options】file
- 常用参数
| 参数 | 意义 |
|---|---|
| -b | 以字节为单位进行分割 |
| -c | 以字符为单位进行分割 |
| -d | 自定义分隔符 |
| -f | 与-b一起使用,指定显示的列; |
| 3,5 表示三和五列 | |
| 3-5 表示3,4,5,列 | |
| 5-表示第五列以及后面的所有列 | |
| -5 表示到第五列 | |
| –complement | 反选 |
| –output-delimiter=分隔符 | 指定输出的分隔符 |
- 查看列

- 举例-查看IP

- 反选

- 分隔符设定

25.4 sort(排序)
sort命令用于将文本文件内容以行为单位加以排序
- 用法:sort【options】file
- 常用参数
| 参数 | 意义 |
|---|---|
| -n | 纯数字排序 |
| -r | 倒序 |
| -u | 去掉重复 |
| -o | 输出到指定文件 |
| -t | 指定分隔符 |
| -k | 指定排序的列 |
- 倒序


25.5 uniq(重复项重要用法)
uniq 命令用于检查及删除文本文件中重复出现的行列,一般与 sort 命令结合使用。
- 常用参数
| 参数 | 意义 |
|---|---|
| -c | 在每列的旁边显示该行重复出现次数 |
| -d | 仅仅显示重复的行列 |
| -u | 仅仅只显示出现了一次的行列 |
- 消除重复行(相邻的重复行)

- 显示出现一次或者重复行

25.6 tr(转换或者删除字符)
tr 命令用于转换或删除文件中的字符。
tr 指令从标准输入设备读取数据,经过字符串转译后,将结果输出到标准输出设备。
- 用法:tr【options】set1 set2
- 常用参数
| 参数 | 意义 |
|---|---|
| -d | 删除字符 |
| -s | 缩减指定的连续字符 |
- 转换:大小写转换;删除;缩减

26.7 && 和 || (真假值输出)
&&左边的命令(命令1)返回真(即返回0,成功被执行)后,&&右边的命令(命令2)才能够被执行;换句话说,“如果这个命令执行成功&&那么执行这个命令”。
|| 则与&&相反。如果||左边的命令(command1)未执行成功,那么就执行||右边的命令(command2);或者换句话说,“如果这个命令执行失败了||那么就执行这个命令。
-
真假值输出


-
可以使用脚本来使用此命令


25.8 test (检查条件是否成立)
- 用法:test “ a " = " a" = " a"="b"或者 【 $a = $b 】判断a/b是否相等
25.8.1 数值测试
- 常用参数
| 参数 | 意义 |
|---|---|
| -eq | 等于为真 |
| -ne | 不等于为真 |
| -gt | 大于为真 |
| -ge | 大于等于为真 |
| -lt | 小于为真 |
| -le | 小于等于为真 |
- 测试

25.8.2 条件关系测试
- 常用参数
| 参数 | 意义 |
|---|---|
| -a | 并 |
| -o | 或 |
-
测试

-
举例

25.8.3 字符串测试
- 常用参数
| 参数 | 意义 |
|---|---|
| = | 等于为真 |
| != | 不等于为真 |
| -z | 字符串长度为0为零为真 |
| -n | 字符串的长度不为零为真 |
- 测试


25.8.4 文件测试
- 常用参数
| 参数 | 意义 |
|---|---|
| -e | 文件存在为真 |
| -r | 文件存在可读为真 |
| -w | 文件存在可写为真 |
| -x | 文化存在可执行为真 |
| -s | 文件存在至少有一个字符为真 |
| -d | 为目录为真 |
| -f | 为普通文件为真 |
| -c | 文件为字符型特殊文件为真 |
| -b | 为块特殊文件为真 |
| -L | 文件为软连接为真 |
| -S | 为套接子文件为真 |
| file1 -ef file2 | 文件节点号一样为真 |
| file1 -nt file2 | 1比2 新建文件时间新为真 |
| file1 -ot file2 | 1比2 新建文件时间旧为真 |
- 测试


本文深入讲解Shell中的核心命令,如diff、patch、cut、sort、uniq、tr等,涵盖文件比较、修补、筛选、排序、去重及字符操作,适合初学者及进阶者提升技能。

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



