shell是UNIX/Linux下的脚本编程语言,它可以交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。下面我们先了解一下shell中常用的命令。
一、diff
diff命令多用来比较两个文件或目录的不同
1.diff比较文件不同
diff file file1 ##文件比较
2.diff在比较文件过程中显示结果的说明
[num1,num2][a|c|d][num3,num4]
num1,num2表示在第一个文件中的行数
a表示添加---add
c表示更改---change
d表示删除---delete
<表示第一个文件中的内容,>表示第二个文件中的内容,---分割线
num3,num4表示在第二个文件中的行数
2,4c2,4表示改变第一个文件中的第二行和第四行才能匹配第二个文件中的第二行和第四行
3.diff常用参数说明
-b 或 --ignore-space-change 不检查空格字符的不同
-B 或 --ignore-blank-lines 不检查空白行
-c 显示全部内文,并标出不同之处
-i 或 --ignore-case 不检查大小写的不同
-p 若比较的文件为C语言的程序码文件时,显示差异所在的函数名称
-q 或 --brief 仅显示有无差异,不显示详细的信息
-r 或 --recursive 比较子目录中的文件
-u 已合并的方式来显示文件内容的不同
4.patch命令
yum install patch -y
diff -u test test1 > westos.path
patch test1 westos.path ##打补丁
二、cut
cut命令多用于字符截取
cut -d ##指定分隔符
cut -f 1,7|1-7 ##指定截取的列
cut -c 1,4|1-4 ##指定截取的字符位置
示例:
cut -d : -f 1 passwd
cut -d : -f 1,3 passwd
cut -d : -f 1-3 passwd
cut -c 2-4 passwd
cut -c 2,4 passwd