文章目录
二十五、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 新建文件时间旧为真 |
- 测试