diff中常用的参数
-b 不检查空格字符的不同
-B 不检查空白行
-c 显示全部内容,并标出不同处
-i 不检查大小写的不同
-p 若比较的文件为c语言的程序码文件是显示差异所在的函数名称
-q 仅显示有无差异不显示详细的信息
-r 比较子目录中的文件
目录下建立westos/westos1 wesots1/westos1 目录名称相同,所以diff比较没有区别,加上-r会递归比较目录下的内容
-u 以合并的方式来显示文件内容的不同
patch修复文件
patch指令让用户利用设置修补文件的方式,修改,更新原始文件。倘若一次仅修改一个文件,可直接在指令列中下达指令依序执行。如果配合修补文件的方式则能一次修补大批文件,这也是Linux系统核心的升级方法之一。
@1安装修补软件yum install path -y
@2比较两个文件的不同,生成修补,进行修补,查看是否修补成功
[root@localhost mnt]# cat file 查看的file内容
hello
[root@localhost mnt]# cat file1 查看的file1内容
hello world
[root@localhost mnt]# diff file file1 比较两个文件
1c1
< hello
---
> hello world
[root@localhost mnt]# diff file file1 > file.path 将比较结果保存到file.path
[root@localhost mnt]# cat file.path 查看补丁包的内容
1c1
< hello
---
> hello world
[root@localhost mnt]# patch -p0 file file.path 使用补丁包升级file文件
patching file file
[root@localhost mnt]# cat file 再次查看file文件
hello world file文件被修改为与file1一样的内容 [Click and drag to move]
cut
cut
用于显示每行从开头算起 num1 到 num2 的文字。
-b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
-c :以字符为单位进行分割。
-d :自定义分隔符,默认为制表符。
-f :与-d一起使用,指定显示哪个区域。
-n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的
范围之内,该字符将被写出;否则,该字符将被排除
cut -d: -f 1 /etc/passwd ##以:分割开的passwd第一列显示
cut -c 2,3 passwd ###截取第2,3个字符
Sort
sort命令用于将文本文件内容加以排序。
sort可针对文本文件的内容,以行为单位来排序。
sort 多用于字符的排序
sort file 只对第一个字符排序
sort -n 纯数字排序
sort -r 倒序
sort -u 去掉重复数字
sort -o 输出到指定的文件中
sort -t 指定分隔符
sort -k 指定要排序的列
uniq
命令用于检查及删除文本文件中重复出现的行列。
uniq可检查文本文件中重复出现的行列。
sort -rn file |uniq -c 每列旁边显示该行重复出现的次数
&&和||
&&用来执行条件成立后执行的命令
|| 用来执行条件不成立后执行的命令
ping -c1 -w1 172.25.254.23 &>/dev/null && echo 23 is up ||echo 23 is down ping23主机ping通则为开启
test 命令
[ "$a" = "$b" ] && echo yes || echo no 等于
[ "$a" -le "$b" ] && echo yes || echo no 小于等于
[ "$a" -ge "$b" ] && echo yes || echo no 大于等于
[ "$a" -gt "$b" ] && echo yes || echo no 大于
[ "$a" -lt "$b" ] && echo yes || echo no 小于
[ -z "$c" ] && echo yes || echo no 是否为空
[ -n "$c" ] && echo yes || echo no 是否不为空
[ "file" -ef "file1" ]&& echo yes || echo no 是否为同一个文件 ls -i xx 相同
[ "file" -nt "file1" ]&& echo yes || echo no file比file1新
[ "file" -ot "file1" ]&& echo yes || echo no 旧
[ -e /mnt ]&& echo yes || echo no 是否为存在
[ -d /mnt/file ]&& echo yes || echo no 是否为目录
[ -f /mnt ]&& echo yes || echo no 是否为文件
[ -L /etc/system-release ]&& echo yes || echo no 是否为链接
ll /etc/system-release 链接
yum install mariadb-server -y 安装数据库会有套结字
systemctl start mariadb
[ -s /var/lib/mysql/mysql.sock ] && echo yes || echo no 是否有套结字
[ -b /dev/vdb ] && echo yes || echo no 是否块设备
[ -c /dev/pts/0 ] && echo yes || echo no 是否字符设备