diff
diff命令是用来比较两个文件或目录的不同
diff [options] file1 file2
diff directory1 directory2
(1)
diff westos1 westos2 ##比较westos1 和 westos2文件的不同
测试
##vim westos1
hello westos
##vim westos2
hello westos
123

(2) -b 不检查空格字符
diff -b westos1 westos2
测试
将westos2内容修改为
hello westos (加空格)
diff westos1 westos2 识别出不同

diff -b westos1 westos2 ##没有识别出不同

(3)-B 不检查空白行
##将westos2的内容修改为
hello westos (加空行)
##diff westos1 westos2
识别出不同
##diff -B westos1 westos2
没有识别出不同

(4)-c 显示全部内文,并标出不同之处
#将westos2的内容修改为
hello westos 123
##diff -c westos1 westos2
会在不同的行前以感叹号标注

(5)-r 比较子目录中的文件
##mkdir /mnt/westos /mnt/lee
cd /mnt/westos touch hello
diff -r /mnt/westos /mnt/lee
会显示只有westos下有

(6) -u 以合并的方式来显示文件内容的不同
##将westos2中的内容修改为
hello westos
lee
test 123
##将westos1中的内容
hello westos
lee
test
diff -u westos1 westos2

patch 用于文件打补丁
diff -u westos1 westos2 > westos.path ##将合并的文件内容导入到补丁包中
cat westos.path ##补丁包

yum install patch
patch -b westos.path westos1 ##给westos1打补丁
cat westos1 westos2 ##两个文件内容相同


-b:保存 加上-b参数

cut多用于字符截取
cut -d 指定分隔符 空格的分割符表示" "(或者应该可以使用转义字符表示空格)
cut -f 1,7|1-7 指定截取的列(第1和第7列/第1至7列)
cut -c 1,4|1-4 指定截取的字符位置为(第1和第4个字符/第1至4个字符)
常用方式:
cut -d : -f 1 passwd
截取操作文件passwd,以:作为分隔符,取出第一列

cut -c 1-4 passwd
截取操作文件passwd,取出第1-4列字符(这个命令没有分隔符,应该也会取出空格,空行等作为字符)

ifconfig eth0 | grep 'inet '|cut -d " " -f 10 ##ifconfig eth0 把IP截取出来

sort 对文本排序
| 参数 | 解释 |
|---|---|
| -n | 纯数字排序 |
| -r | 倒序/逆序 |
| -u | 去掉重复数字 |
| -o | 输出到指定文件 |
| -t | 指定分隔符 |
| -k | 指定要排序的列 |

sort westos

sort -n westos

sort -nr westos

sort -nru westos

sort -nr westos | uqid -c | sort -t “ “ -k 2 ##统计重复的次数,并把重复次数的多少由少到多进行排列

uniq 对重复字符做相应的处理
| 参数 | 解释说明 |
|---|---|
| uniq -u | 显示唯一的行 |
| uniq -d | 显示重复的行 |
| uniq -c | 每行显示一次并统计重复次数 |
sort -n westos | uqid -u

sort -n westos | uniq -d

sort -n westos | uniq -c

&&和||
&&用来执行条件成立后执行的命令,|| 用来执行条件不成立后执行的命令
&& 前面的语句正确(符合条件),执行该命令 || 前面的语句错误,执行该命令
只能检测单条语句逻辑,判断执行
##检测能否ping通目标主机
vim ping.sh
ping -c1 -w1 172.25.254.111 &> /dev/null \
&& echo '172.25.254.111 is up' \
|| echo '172.25.254.111 is down'

chmod +x ping.sh
sh ping.sh ##即可执行该脚本

test
test命令和[]等同
| 参数 | 解释说明 |
|---|---|
| -lt | 小于 |
| -le | 小于等于 |
| -gt | 大于 |
| -ge | 大于等于 |
| -ne | 不等于 |
| -a(and) | 与 |
| -o(or) | 或 |
| -z | 是否数字为0,或字符为空 |
| -n | 是否为非空(与-z相反) |
| -ef | 是否使用的是同一个节点区域(互为硬链接) |
| -nt(now than) | 前一个文件建立的是否比后一个文件晚 |
| – | – |
| -ot(old than) | 前一个文件建立的是否比后一个文件早 |
| 参数 | 解释说明 |
| – | – |
| -e | 是否存在该文件 |
| -f | 是否为普通文件 |
| -L | 是否为软链接(快捷方式) |
| -S | 是否为套接字 |
| -b | 是否为块设备(如,u盘插入后,sdb) |
| -d | 是否为目录文件 |
| -c | 是否为字符设备(/dev/pts/1) |
``反向单引号,其内的命令先执行






对挂载点/下内存满30时进行报警,报警显示在日志中,并且每分钟执行一次


执行成功

tr 转换大小写字符
echo hello HELLO | tr 'a-z' 'A-Z'
将小写字母转换为大写字母

echo hello HELLO | tr 'A-Z' 'a-z'
将大写字母转换为小写字母

30万+

被折叠的 条评论
为什么被折叠?



