Linux中:shell脚本的常用命令

######1.diff 命令######

diff 命令是用来比较两个文件或目录的不同
diff    [options]    target1    target2

###1.diff 在比较文件过程中结果读取方式###

  diff    file1   file2

[num1 , num2]  [a|c|d]  [num3,num4]
num1,num2 表示在第一个文件中的行数
a 表示添加 ----add
c 表示更改 ----change
d 表示删除 ----delete
< 第一个文件中的内容,   > 第二个文件中的内容,   --- 分割线

num3,num4 表示在第二个文件中的行数
[num]  [a|c|d]  [num]表示改变第一个文件中的第n行才能匹配第二个文件中的第n行

###2.diff 在比较目录过程中结果的读取###

  diff  -r   direcory1     directory2
Only  in  directroy/: filename
directory 表示在那个目录中,    filename 表示在这个目录

diff  -r  xxx1  xxx2    ##比较子目录中的文件

###3.diff 中常用的参数###

-b 或 --ignore-space-change          ##不检查空格字符的不同
-B 或 --ignore-blank-lines                ## 不检查空白行
-c                                                            ##显示全部内文,并标出不同之处
-i 或 --ignore-case                              ##不检查大小写的不同
-p :          ##若比较的文件为 C 语言的程序码文件时,显示差异所在的函数名称
-q 或 --brief                                          ##仅显示有无差异,不显示详细的信息
-r 或 --recursive                                  ##比较子目录中的文件
-u                                                           ##以合并的方式来显示文件内容的不同

diff -b  xxx1  xxx2  ##不检查空格字符的不同

diff  -B  xxx1  xxx2   ## 不检查空白行

diff  -c  xxx1  xxx2      ##显示全部内文,并标出不同之处

diff  -i  xxx1  xxx2   ##不检查大小写的不同
diff  -q  xxx1  xxx2   ##仅显示有无差异,不显示详细的信息

diff  -u  xxx1  xxx2     ##以合并的方式来显示文件内容的不同

######2.patch命令######

用于不同文件打补丁
patch    [options]    file.old    file.path

-b      ##备份文件

######3.cut命令######

cut 命令多用与字符截取
cut -d     ##指定分隔符
cut -f      ##指定截取的列
cut -c     ##指定截取的字符位置

######4.sort命令######

多用于字符排序
sort -n      ##纯数字排序
sort -r       ##倒序
sort -u      ##去掉重复数字
sort -o      ##输出到指定文件中
sort -t       ##指定分隔符
sort -k      ##指定要排序的列

sore  xxx   ##默认排序
(默认按第一位数字的大小排序,如果有字母,数字在字母后面排)

sort -n      ##纯数字排序

sort -r       ##倒序

sort -u      ##去掉重复数字

sort -t      ##指定分隔符
sort -k      ##指定要排序的列

######5.uniq命令######

对重复字符做相应的处理
uniq -u        ##显示唯一的行
uniq -d        ##显示重复的行
uniq -c        ##每行显示一次并统计重复次数


######6.&& 和 || ######

&&  用来执行条件成立后执行的命令
  ||    用来执行条件不成立后执行的命令

######7.test命令######

test 命令和 [ ] 等同
test "$A" == "$B" 等同 [ "$A" == "$B" ]


[ "$A" = "$B" ]    [ "$A" -eq "$B" ]       ##A等于B
[ "$A" != "$B" ]   [ "$A" -ne "$B" ]       ##A不等于B



[ "$A" -le "$B" ]                                        ##A小于等于B
[ "$A" -lt "$B" ]                                         ##A小于B
["$A" -ge "$B" ]                                       ##A大于等于B
["$A" -gt "$B" ]                                        ##A大于B
["$A" -ne "$B" -a "$A" -gt "$B" ]           ##A不等于B并且A大于B
["$A" -ne "$B" -o "$A" -gt "$B" ]           ##A不等于B或者A大于B


[-z "$A" ]
[-n "$A" ]


["file1" -ef "file2" ]       ##file1和file2是否是同一个文件
["file1" -nt "file2" ]       ##file1比file2建立的时间晚
["file1" -ot "file2" ]       ##file1比file2建立的时间早


[-e "file" ]           ##是否存在
[-f "file" ]            ##是否为文本文件
[-L "file" ]           ##是否为链接
[-S "file" ]          ##是否为套接字
[-b "file" ]          ##是否为块设备
[-d "file" ]          ##是否为目录
[-c "file" ]          ##是否为字符设备

猜你喜欢

转载自blog.csdn.net/weixin_44234846/article/details/88015149