Linux中shell常用的基础命令

一. diff

用法:diff [options]  files|directorys

输出信息: [num1,num2] [a|c|d] [num3,num4]

num1,num2 第一个文件中的行
a 添加
c 更改
d 删除
< 第一个文件中的内容
> 第二个文件中的内容
num3,num4 第二个文件中的行

常用参数:

-b 忽略空格
-B 忽略空行
-i 忽略大小写
-c 显示文件所有内容并标示不同
-r 对比目录
-u 合并输出

命令演示及对比:

diff  file1  file2
对比两个文件的内容并将不同点显示在下方

在这里插入图片描述

diff -b file1 file2
对比两个文件忽略其中位于行尾的空格

在这里插入图片描述

当不加参数时

在这里插入图片描述

diff -B file1 file2
对比两个文件忽略其中的空行

在这里插入图片描述

当不加参数时

在这里插入图片描述

diff -i file1 file2
对比两个文件并且忽略其大小写

当不加参数时出现差异

在这里插入图片描述

diff -c file file1
对比两个文件并且显示所有内容并标注不同
注意:有!表示这个地方有不同

当不加参数时只显示不同的地方

在这里插入图片描述

diff -r westos westosdir
对比两个目录的差异

在这里插入图片描述

diff -u file file1
合并file和file1中的输出

在这里插入图片描述

二. patch

patch 原文件 布丁文件

-b 备份原文件

diff -u 文件名 文件名 > 文件名.path

patch -b file file.path
备份原文件且原文件保存为文件原名加.orig
注意:当不加-b参数时原文件不会被备份

在这里插入图片描述

三. cut

cut

-d 指定  : 为分隔符
-f 指定显示的列 5第五列
-c 指定截取的字符(数字用法同-f)

cut -d / -f 2 passwd
以 / 为分割符显示第二列

cut -d : -f 1 passwd
以 : 为分割符显示第一列

在这里插入图片描述

cut -c 2 passwd 指定截取第二段字符

在这里插入图片描述

四. sort

sort:

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

当不加参数时:
sort file

排序按照第一个数字0-9大小排列

在这里插入图片描述

sort -n file:纯数字排序

按照数字大小排序

在这里插入图片描述

sort -nr file
按照数字的大小倒叙排列

在这里插入图片描述

sort -nru file
按照数字的大小倒叙排列且去掉重复项

在这里插入图片描述

sort -nru file -o zyj
将输出的数据导入到指定文件中

在这里插入图片描述

sort -nr -t : -k 3 passwd
指定分割符为:倒叙排列第3列数据

在这里插入图片描述

五. uniq

uniq

-c 合并重复并统计重复个数
-d 显示重复的行
-u 显示唯一的行

uniq -c
合并file中重复并统计重复个数

在这里插入图片描述

uniq -d
显示重复的行

在这里插入图片描述

uniq -u
显示唯一的行

在这里插入图片描述

六. tr

tr ‘a-z’ ‘A-Z’ 小写转大写
tr ‘A-Z’ ‘a-z’ 大写转小写

在这里插入图片描述

七. test

test

test = [ ]
     [ ] 就相当于test命令
        “test $a = $b” = [ “$a” = “$b” ]

test数字对比

= 等于
!= 不等于
-eq 等于
-ne 不等于
-le 小于等于
-lt 小于
-ge 大于等于
-gt 大于

命令演示:

对比大小

在这里插入图片描述

-eq 等于  -ne 不等于  -le 小于等于  -lt 小于  -ge 大于等于  -gt 大于

在这里插入图片描述

test的条件关系

-a 并且
-o 或者

[ “$a” -ge “$b” -a “$a” -gt “$c” ]&&echo yes||echo no
$a大于等于$b并且$a大于$c
正确时输出yes错误时输出no

在这里插入图片描述

[ “$a” -ge “$b” -o “$a” -gt “$c” ]&&echo yes||echo no

$a大于等于$b或者$a大于$c

正确时输出yes错误时输出no
在这里插入图片描述

test对空的判定

-n nozero 判定内容不为空
-z zero 判定内容为空

命令演示:

[ -n westos ]&& echo yes||echo no
判断内容不为空
[ -z westos ]&& echo yes||echo no
判断内容为空

在这里插入图片描述

test对于文件的判定

-ef 文件节点号是否一致(硬链)
-nt 文件1是不是比文件2新
-ot 文件1是不是比文件2老
-d 目录
-S 套结字
-L 软连接
-e 存在
-f 普通文件
-b 快设备
-c 字符设备

[ “file” -ef “file1” ] && echo yes || echo no
文件节点号是否一致(硬链)

在这里插入图片描述

[ “file” -nt “file2” ] && echo yes || echo no
文件1是不是比文件2新

在这里插入图片描述

[ “file” -ot “file2” ] && echo yes || echo no
文件1是不是比文件2老

在这里插入图片描述

[ -d “file” ]&& echo yes || echo no
检测file是否为目录

在这里插入图片描述

[ -L “filewestos” ]&&echo yes || echo no
软连接

在这里插入图片描述

[ -S “filewestos” ]&&echo yes || echo no
|套结字

在这里插入图片描述

[ -e “filewestos” ]&&echo yes || echo no
是否存在

在这里插入图片描述

[ -f “filewestos” ]&&echo yes || echo no
普通文件

在这里插入图片描述

[ -b “/dev/sda” ]&& echo yes || echo no
字符设备

在这里插入图片描述

[ -c “/dev/pts/0” ]&& echo yes || echo no
字符设备

在这里插入图片描述

八. && ||

&& 符合条件作动作
|| 不符合条件作动作

请看下集

猜你喜欢

转载自blog.csdn.net/X_pang/article/details/108257968