您的位置:首页 > 运维架构 > Shell

shell入门——基础命令篇

2019-06-07 01:23 1336 查看

diff 命令
diff 命令是用来比较两个文件或目录的不同

diff [options] target1 target2
diff file1 file2
diff direcory1 directory2


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

[num1 , num2][a|c|d][num3,num4]
num1,num2 表示在第一个文件中的行数
a 表示添加 ----add
c 表示更改 ----change
d 表示删除 ----delete
< 表示第一个文件中的内容,
表示第二个文件中的内容,
— 分割线
num3,num4 表示在第二个文件中的行数
2,4c2,4 表示改变第一个文件中的第二行和第四行才能匹配第二个文件中
的第二行和第四行

diff 在比较目录过程中结果的读取
Only in directroy/: filename
directory 表示在那个目录中
filename 表示在这个目录

diff 中常用的参数

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

pacth命令
用于文件不同文件打布丁
patch [options] file.old file.path
-b 保留源文件

cut
cut 命令多用与字符截取

命令 参数 参数 作用
cut -d 指定分隔符
cut -f 1,7 1-7 指定截取的列
cut -c 1,4 1-4 指定截取的字符位置


sort多用于字符排序

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

uniq对重复字符做相应的处理

uniq -u 显示唯一的行
uniq -d 显示重复的行
uniq -c 每行显示一次并统计重复次数

&& 和 ||

&& 用来执行条件成立后执行的命令
|| 用来执行条件不成立后执行的命令
例如:
ping -c1 -w1 172.25.254.111 && echo up
ping -c1 -w1 172.25.254.111 || echo up

练习:ping 一个ip能ping通显示upping不通显示down

test 命令

test 命令和 [] 等同
test "$A" == "$B" 等同 [ "$A" == "$B" ]
[ "$A" = "$B" ]
[ "$A" != "$B" ]
[ "$A" -eq "$B" ]
[ "$A" -ne "$B" ]
[ "$A" -le "$B" ]
[ "$A" -lt "$B" ]

test 命令

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: