热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

shell中的常用命令

1.diff命令1)diff命令作用diff命令是用来比较两个文件或目录的不同diff[options]target1target2difffile1file2diffdireco

1.diff命令

1)diff命令作用

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

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

shell中的常用命令
shell中的常用命令

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

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

测试:
shell中的常用命令

[[email protected]_example mnt]# diff file1 file2
3c3,4    ##改变第一个文件中的第三行才能匹配第二个文件中的第三行和第四行
<2 		##第一个文件中的第三行内容
---
> 02		##第二个文件中的第三行和第四行内容
> 27

3)diff在比较目录过程中结果的读取

Only in directory/:filename
directory 表示在哪个目录中
filename 表示不同的那个文件

测试:

shell中的常用命令

[[email protected]_example mnt]# diff test1/ test2/
Only in test1/: hello     ##不同的文件为test1目录下的hello文件

4)diff中常用的参数

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

示例:

ddif -b file1 file2    ##不检查空格字符的不同

shell中的常用命令

diff -B file1 file2      ##不检查空白行

shell中的常用命令

diff   -c  file1 file2         ##显示全部内文,并标出不同之处
*** file1	2019-02-28 01:02:00.274991808 -0500   ##***表示的文件为file1
--- file2	2019-02-28 01:01:20.320991808 -0500   ##---表示的文件为file2
***************
*** 1,4 ****              ##file1文件一共4行
  hello world
  welcome
! ds						##!所标示的行为与另一个文件不同的行
! hai
--- 1,3 ----				##file2文件一共3行
  hello world
  welcome
! he

shell中的常用命令

diff -i  file1 file2  ##不检查大小写的不同

shell中的常用命令

diff  -q   file1 fil2     仅显示有无差异,不显示详细的信息

shell中的常用命令

diff   -r    test1/     test2/     比较子目录中的文件

shell中的常用命令

diff -u file1 file2    ##以合并的方式来显示文件内容的不同(常用来生成补丁)

shell中的常用命令

2.pacth

 用于两不同文件打补丁

1)服务下载

yum install pacth -y

2)命令格式

diff -u file1 file2 > file.path				##生成补丁
patch    file.old file.path					##向老文件打补丁
patch   -b   file.old file.path    			##保留原文件,执行后会出现一个后缀为.orig的文件,其内便是原文件内容

测试:
shell中的常用命令
保留原文件:
shell中的常用命令

3.cut命令

1)cut 命令作用

 cut命令多用与字符截取

2)cut命令用法

cut -d 指定分隔符
cut -f 1,7/1-7 指定截取的列 (,为第几列和第几列 -为第几列到第几列,实际运用需要加上-d指定分隔符)
cut -c 1,4/1-4 指定截取的字符位置

测试:

 cut -d : -f 1,7 passwd
 cut -d : -f 1-7 passwd

shell中的常用命令

cut -c  1,4   passwd
cut -c  1-4   passwd

shell中的常用命令

4.sort命令

1)sort命令作用

sort命令多用于字符排序

2)sort命令用法

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

shell中的常用命令

sort -nr test     ##纯数字倒叙排列

shell中的常用命令

sort -u   test    ##去掉重复数字

shell中的常用命令

sort  -n test -o test1   输出到test1文件中

shell中的常用命令

sort  -t  :   -k 2   -n  test   ##对以:为分隔符的第二列纯数字排序

shell中的常用命令

5.uniq命令

1)作用

对重复字符做相应的处理,常与sort -n 一同使用

2)用法

uniq -u 显示唯一的行
uniq -d 显示重复的行
uniq -c 每行显示一次并统计重复次数
sort -n test | uniq -c    ##对test进行排序每行显示一次并统计重复次数
      1 1         ##一个2
      3 3			##三个3
      1 4
      2 6			##两个6
      1 12
      1 24
      1 66

shell中的常用命令

uniq   -u		##显示唯一行

shell中的常用命令

uniq -d 			##显示重复行

shell中的常用命令

6.test 命令

test 命令和 [ ] 等同

test "$A" == "$B" 等同 [ "$A" == "$B" ]

用法

[ "$A" = "$B" ]       ##A等于B
[ "$A" != "$B" ]      ##A不等于B
[ "$A" -eq "$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" ]    ##A是否存在
[ -n "$A" ]    ##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" ]		##文件是否为字符设备

补充:
显示大小写的替换:

tr 'a-z' 'A-Z' 

shell中的常用命令


推荐阅读
author-avatar
婉婷雅铃43
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有