Linux修炼之旅shell篇
shell中常用的基础命令
一、diff,patch 比对,补丁
用法
diff [options] files|directorys
输出信息
[num1,num2][a|c|d][num3,num4]
输出信息中的部分含义分别如下
num1,num2 #第一个文件中的行
a #添加
c #更改
d #删除
< #第一个文件中的内容
> #第二个文件中的内容
num3,num4 #第二个文件中的行
在westos中写
shy
在westos1中写
sh
y
用diff命令检测的效果
常用参数
-b #忽略空格
-B #忽略空行
-i #忽略大小写
-c #显示文件所有内容并标示不同
-r #对比目录
-u #合并输出
命令效果依次如下
patch 补丁
patch 原文件 补丁文件
-b #备份原文件
二、cut 按列分割
cut
-d : #指定:为分隔符
-f #指定显示的列 5第五列| 3,5 3和5列|3-5 3到5列|5- 第五列以后|-5 到第五列
-c #指定截取的字符(数字用法同-f)
测试cut功能,将etc中的pass文件复制来做测试
cp /etc/passwd /mnt/
文件较长,复制完毕后删掉一些
cat -d : -f 1 passwd
cut -c1-4 passwd
三、sort 排序
sort
-n #纯数字排序
-r #倒叙
-u #去掉重复
-o #输出到指定文件
-t #指定分隔符
-k #指定排序的列
上述指令测试
sort -rn test -o result
搭配cut可以只显示第二列
四、uniq 重复统计
uniq
-c #合并重复并统计重复个数
-d #显示重复的行
-u #显示唯一的行`
顺着撒谎嗯一个实验中的例子展示uniq的作用
合并重复并统计重复个数
显示重复的行
显示唯一的行
五、tr替换
tr 'a-z' 'A-Z' #小写转大写
tr 'A-Z' 'a-z' #大写转小写
tr 'a' 'b' #用l换s
六、test 判断 ;&& || 是 否
test = [] #[] 就相当于test命令
"test $a = $b" = [ "$a" = "$b" ]
test数字对比
= #等于
!= #不等于
-eq #等于
-ne #不等于
-le #小于等于
-lt #小于
-ge #大于等于
-gt #大于
test的条件关系
-a #并且
-o #或者
test对空的判定
-n #nozero 判定内容不为空
-z #zero 判定内容为空
数字对比
test的条件关系
test对空的判定