基础命令解释2

基础命令解释2

文章目录

* 作用:匹配任意长度的任意字符

示例:

[root@localhost 123]# ls 1*
1  10  100  11  12  13  14  15  16  17  18  19
[root@localhost 123]# ls *1
1  11  21  31  41  51  61  71  81  91
[root@localhost 123]# rm -rf *
[root@localhost 123]# ls
[root@localhost 123]# 
? 作用:匹配任意单个字符

示例:

[root@localhost 123]# ls 1?
10  11  12  13  14  15  16  17  18  19
[root@localhost 123]# ls ?1
11  21  31  41  51  61  71  81  91
[root@localhost 123]# rm -rf 1?
[root@localhost 123]# ls
0    2   22  25  28  30  33  36  39  41  44  47  5   52  55  58  60  63  66  69  71  74  77  8   82  85  88  90  93  96  99
1    20  23  26  29  31  34  37  4   42  45  48  50  53  56  59  61  64  67  7   72  75  78  80  83  86  89  91  94  97
100  21  24  27  3   32  35  38  40  43  46  49  51  54  57  6   62  65  68  70  73  76  79  81  84  87  9   92  95  98
[] 作用:匹配指定单位内的单个字符

示例:

[root@localhost 123]# ls [0-9]
0  1  2  3  4  5  6  7  8  9
[root@localhost 123]# ls [0-9][1-3]
11  12  13  21  22  23  31  32  33  41  42  43  51  52  53  61  62  63  71  72  73  81  82  83  91  92  93
[root@localhost 123]# ls [a-h]
a  A  b  B  c  C  d  D  e  E  f  F  g  G  h
//查找所有A-B
[root@localhost 123]# ls [abcd]
a  b  c  d
[[:space:]] 作用:表示空白字符
[[:punct:]] 作用:表示标点符号

示例:

[root@localhost 123]# ls
[  ]  %  09  16:17:47  2019  2019-09-12
[root@localhost 123]# ls [[:punct:]]
[  ]  %
[[:lower:]] 作用:表示小写字母

示例:

[root@localhost 123]# ls [[:lower:]]
a  b  c  d  e  f  g  h  i  j  k  l  m  n  o  p  q  r  s  t  u  v  w  x  y  z
[[:upper:]] 作用:表示大写字母

示例:

[root@localhost 123]# ls [[:upper:]]
A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z
[[:alpha:]] 作用:代表大小写字母

示例:

[root@localhost 123]# ls [[:alpha:]]
a  A  b  B  c  C  d  D  e  E  f  F  g  G  h  H  i  I  j  J  k  K  l  L  m  M  n  N  o  O  p  P  q  Q  r  R  s  S  t  T  u  U  v  V  w  W  x  X  y  Y  z  Z
[[:digit:]] 作用:代表数字

示例:

[root@localhost 123]# ls [[:digit:]]
1  2  3  4  5  6  7  8  9
[[:alnum:]] 作用:代表大小写字母和数字

示例:

[root@localhost 123]# ls [[:alnum:]]
1  3  5  7  9  A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z
2  4  6  8  a  b  c  d  e  f  g  h  i  j  k  l  m  n  o  p  q  r  s  t  u  v  w  x  y  z
[^] 作用:匹配指定范围之外的任意单个字符

示例:

[root@localhost 123]# ls [^1]
2  4  6  8  a  b  c  d  e  f  g  h  i  j  k  l  m  n  o  p  q  r  s  t  u  v  w  x  y  z
3  5  7  9  A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z
压缩文件及文件归档

常见文件及文件归档

.gz
.bz2    (需要安装工具)
.xz
.zip    (压缩及解压缩都需要安装工具)
.Z
挂载及安装工具
[root@localhost ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# rpm -ivh /mnt/Packages/bzip2-1.0.6-13.el7.x86_64.rpm 
警告:/mnt/Packages/bzip2-1.0.6-13.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID fd431d51: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:bzip2-1.0.6-13.el7               ################################# [100%]
[root@localhost ~]# which bzip2
/usr/bin/bzip2
[root@localhost ~]# rpm -ivh /mnt/Packages/zip-3.0-11.el7.x86_64.rpm 
警告:/mnt/Packages/zip-3.0-11.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID fd431d51: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:zip-3.0-11.el7                   ################################# [100%]
[root@localhost ~]# which zip
/usr/bin/zip
[root@localhost ~]# rpm -ivh /mnt/Packages/unzip-6.0-16.el7.x86_64.rpm
警告:/mnt/Packages/unzip-6.0-16.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID fd431d51: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:unzip-6.0-16.el7                 ################################# [100%]
[root@localhost ~]# which unzip
/usr/bin/unzip
.gz 压缩文件,压缩或解压缩后原文件自动删除

示例:

[root@localhost 123]# gzip {1..9}
[root@localhost 123]# ls
10  1.gz  2.gz  3.gz  4.gz  5.gz  6.gz  7.gz  8.gz  9.gz
[root@localhost 123]# gzip -d {1..9}
[root@localhost 123]# ls
1  10  2  3  4  5  6  7  8  9
.bzip2 a 作用:删除原文件压缩

示例:

[root@localhost 123]# bzip2 a 1   //bzip2 a (加a是不保留原文件,不加a也不保留原文件)
bzip2: Can't open input file a: No such file or directory.
[root@localhost 123]# ls
10  1.bz2  2  3  4  5  6  7  8  9
bzip -k 作用:压缩文件后保留原文件

示例:

[root@localhost 123]# bzip2 -k 2
[root@localhost 123]# ls
10  1.bz2  2  2.bz2  3  4  5  6  7  8  9
[root@localhost 123]# ls
10  1.bz2  2.bz2  3  4  5  6  7  8  9
bzip -d 作用:解压缩,解压缩完成后删除原文件

示例:

[root@localhost 123]# bzip2 -d 2.bz2
[root@localhost 123]# ls
10  1.bz2  2  3  4  5  6  7  8  9
bzip2 -k -d 作用:解压缩文件完成后保留原文件

示例:

[root@localhost 123]# bzip2 -k 2
[root@localhost 123]# ls
10  1.bz2  2  2.bz2  3  4  5  6  7  8  9
[root@localhost 123]# rm -fr 2 //因为有一个2,解压缩不是有相同的文件名,所以要删除2
[root@localhost 123]# ls
10  1.bz2  2.bz2  3  4  5  6  7  8  9
[root@localhost 123]# bzip2 -k -d 2.bz2
[root@localhost 123]# ls
10  1.bz2  2  2.bz2  3  4  5  6  7  8  9
bzip2 a -d 作用:解压缩完成后删除原文件

示例:

[root@localhost 123]# ls
10  1.bz2  2.bz2  3  4  5  6  7  8  9
[root@localhost 123]# bzip2 a -d 2.bz2
bzip2: Can't open input file a: No such file or directory.
[root@localhost 123]# ls
10  1.bz2  2  3  4  5  6  7  8  9
[root@localhost 123]# 
xz 作用:压缩文件后删除原文件

示例:

[root@localhost 123]# ls
1  10  2  3  4  5  6  7  8  9
[root@localhost 123]# xz 1
[root@localhost 123]# ls
10  1.xz  2  3  4  5  6  7  8  9
xz -k 作用:压缩文件后保留原文件

示例:

[root@localhost 123]# ls
1  10  2  3  4  5  6  7  8  9
[root@localhost 123]# xz -k 1
[root@localhost 123]# ls
1  10  1.xz  2  3  4  5  6  7  8  9
xz -d 作用:解压缩文件后删除原文件

示例:

[root@localhost 123]# ls
10  1.xz  2  3  4  5  6  7  8  9
[root@localhost 123]# xz -d 1.xz
[root@localhost 123]# ls
1  10  2  3  4  5  6  7  8  9
xz -k -d 作用:压缩文件并保留原文件

示例:

[root@localhost 123]# ls
10  1.xz  2  3  4  5  6  7  8  9
[root@localhost 123]# xz -k -d 1.xz
[root@localhost 123]# ls
1  10  1.xz  2  3  4  5  6  7  8  9
zip 作用:命名并批量压缩文件

示例:

[root@localhost 123]# ls
1  10  2  3  4  5  6  7  8  9
[root@localhost 123]# zip zhe 1 2 3
  adding: 1 (stored 0%)
  adding: 2 (stored 0%)
  adding: 3 (stored 0%)
[root@localhost 123]# ls
1  10  2  3  4  5  6  7  8  9  zhe.zip
[root@localhost 123]# rm -fr 1 2 3
[root@localhost 123]# ls
10  4  5  6  7  8  9  zhe.zip
[root@localhost 123]# unzip zhe.zip
Archive:  zhe.zip
 extracting: 1                       
 extracting: 2                       
 extracting: 3                       
[root@localhost 123]# ls
1  10  2  3  4  5  6  7  8  9  zhe.zip
zip 作用:命名并压缩整个目录

示例:

[root@localhost ~]# ls
123  321  anaconda-ks.cfg
[root@localhost ~]# ls 123
1  10  2  3  4  5  6  7  8  9
[root@localhost ~]# zip zhe 123/*
  adding: 123/1 (stored 0%)
  adding: 123/10 (stored 0%)
  adding: 123/2 (stored 0%)
  adding: 123/3 (stored 0%)
  adding: 123/4 (stored 0%)
  adding: 123/5 (stored 0%)
  adding: 123/6 (stored 0%)
  adding: 123/7 (stored 0%)
  adding: 123/8 (stored 0%)
  adding: 123/9 (stored 0%)
[root@localhost ~]# ls
123  321  anaconda-ks.cfg  zhe.zip
unzip 作用:解压缩文件并保留原文件

示例:

[root@localhost 123]# ls
10  4  5  6  7  8  9  zhe.zip
[root@localhost 123]# unzip zhe.zip
Archive:  zhe.zip
 extracting: 1                       
 extracting: 2                       
 extracting: 3                       
[root@localhost 123]# le
1  10  2  3  4  5  6  7  8  9  zhe.zip
unzip 作用:指定目录解压缩文件

示例:

[root@localhost ~]# ls
123  321  anaconda-ks.cfg  zhe.zip
[root@localhost ~]# ls 123
[root@localhost ~]# unzip zhe.zip 123/*
Archive:  zhe.zip
 extracting: 123/1                   
 extracting: 123/10                  
 extracting: 123/2                   
 extracting: 123/3                   
 extracting: 123/4                   
 extracting: 123/5                   
 extracting: 123/6                   
 extracting: 123/7                   
 extracting: 123/8                   
 extracting: 123/9                   
[root@localhost ~]# ls 123
1  10  2  3  4  5  6  7  8  9
compress 作用:压缩文件,此命令已经被淘汰
tar 作用:文件归档
tar -c -f 作用:归档文件,但不压缩

示例:

[root@localhost 123]# tar -c -f zhe.tar 1 2 3
[root@localhost 123]# ls
1  2  3  4  5  6  7  8  9  zhe.tar
tar -x -f 作用:还原归档文件

示例:

[root@localhost 123]# ls
4  5  6  7  8  9  zhe.tar
[root@localhost 123]# tar -x -f zhe.tar
[root@localhost 123]# ls
1  2  3  4  5  6  7  8  9  zhe.tar
[root@localhost 123]# 
tar cfv 作用:显示归档过程 //加v是显示归档过程

示例:

[root@localhost 123]# ls
1  2  3  4  5  6  7  8  9
[root@localhost 123]# tar cfv zhe.tar 1 2 3
1
2
3
[root@localhost 123]# ls
1  2  3  4  5  6  7  8  9  zhe.tar
tar xfv 作用:显示归档还原过程 //加v是显示归档过程

示例:

[root@localhost 123]# ls
1  2  3  4  5  6  7  8  9
[root@localhost 123]# tar cfv zhe.tar 1 2 3
1
2
3
[root@localhost 123]# ls
1  2  3  4  5  6  7  8  9  zhe.tar
tar cfp 作用:归档文件并保留权限信息 //加p是归档时保留权限

示例:

[root@localhost 123]# ls
1  2  3  4  5  6  7  8  9
[root@localhost 123]# tar cfp zhe.tar 1 2 3
[root@localhost 123]# ls
1  2  3  4  5  6  7  8  9  zhe.tar
tar xfC 作用:指定目录还原归档 //加C是指定目录还原

示例:

[root@localhost 123]# ls
1  2  3  4  5  6  7  8  9
[root@localhost 123]# tar cfp zhe.tar 1 2 3
[root@localhost 123]# ls
1  2  3  4  5  6  7  8  9  zhe.tar
tar tf 作用:不还原归档查看归档文件

示例:

[root@localhost 123]# ls
1  2  3  4  5  6  7  8  9  zhe.tar
[root@localhost 123]# tar tf zhe.tar
1
2
3
tar zcf xxx.tar.gz 作用:创建归档文件并使用gzip压缩

示例:

[root@localhost 123]# ls
1  2  3  4  5  6  7  8  9
[root@localhost 123]# tar zcf zhe.tar.gz 1 2 3
[root@localhost 123]# ls
1  2  3  4  5  6  7  8  9  zhe.tar.gz

tar zxfC xxx.tar.gz xxx/ 作用:还原已经压缩的归档文件并调用gzip工具解压缩到指定目录

示例:

[root@localhost 123]# ls
1  2  3  4  5  6  666  7  8  9  zhe.tar.gz
[root@localhost 123]# tar zxfC zhe.tar.gz 666/
[root@localhost 123]# ls 666
1  2  3
tar jcf xxx.tar.bz2 作用:调用bzip2来对归档文件进行压缩

示例:

[root@localhost 123]# ls
1  2  3  4  5  6  7  8  9
[root@localhost 123]# tar jcf zhe.tar.bz2 1 2 3
[root@localhost 123]# ls
1  2  3  4  5  6  7  8  9  zhe.tar.bz2

tar xf xxx.tar.bz2 作用:还原归档的文件并自动调用解压缩工具

示例:

[root@localhost 123]# ls
1  2  3  4  5  6  666  7  8  9  wang.tar.xz  zhe.tar.bz2
[root@localhost 123]# ls 666
[root@localhost 123]# tar xfC zhe.tar.bz2 666/
[root@localhost 123]# ls 666
1  2  3
//解压缩按照正常程序来就可以,会自动调用相应的解压缩工具
tar Jcf xxx.tar.xz 作用:调用xz来对归档文件进行压缩

示例:

[root@localhost 123]# ls
1  2  3  4  5  6  666  7  8  9  zhe.tar.bz2
[root@localhost 123]# tar Jcf wang.tar.xz 1 2 3
[root@localhost 123]# ls
1  2  3  4  5  6  666  7  8  9  wang.tar.xz  zhe.tar.bz2
tar xfC xxx…tar.xz 作用:还原归档的文件并自动调用解压缩工具

示例:

[root@localhost 123]# ls
4  5  6  666  7  8  9  wang.tar.xz  zhe.tar.bz2
[root@localhost 123]# tar xf wang.tar.xz
[root@localhost 123]# ls
1  2  3  4  5  6  666  7  8  9  wang.tar.xz  zhe.tar.bz2
//解压缩按照正常程序来就可以,会自动调用相应的解压缩工具
sort文本排序
使用cat > x << EOF 对文本进行编辑

示例:

[root@localhost 123]# cat > a << EOF
> 1
> 2
> 3
> 4
> 5
> 6
> 7
> 8
> 9
> EOF
//EOF是结束标识
[root@localhost 123]# ls
1  2  3  a
[root@localhost 123]# cat a
1
2
3
4
5
6
7
8
9
sort -n 作用:以数值大小对文本进行查看

示例:

[root@localhost 123]# ls
1  2  3  a
[root@localhost 123]# sort -n a
1
2
3
4
5
6
7
8
9
sort -r 作用:以逆序查看文本

示例:

[root@localhost 123]# ls
1  2  3  a
[root@localhost 123]# sort -r a
9
8
7
6
5
4
3
2
1
sort -t 作用:字段分隔符
sort -t ’ ’ -k 作用:以哪个字段为关键字进行排序

示例:

[root@localhost 123]# ls
1  2  3  a
[root@localhost 123]# cat a
1 a
2 c
3 d
4 f
5 k
6 l
7 w
8 a
9 d
[root@localhost 123]# sort -t ' ' -k2 a 
1 a
8 a
2 c
3 d
9 d
4 f
5 k
6 l
7 w
//sort -t ' ' -k2 a  -t‘ ’:以空格为分隔符 -k2:以第二列数据来进行排序查看
sort -t ’ ’ -k -u 作用:相同的字符只显示一次

示例:

[root@localhost 123]# cat a
1 a
2 c
3 d
4 f
5 k
6 l
7 w
8 a
9 d
[root@localhost 123]# sort -t ' ' -k2 -u a
1 a
2 c
3 d
4 f
5 k
6 l
7 w
sort -t ’ ’ -k -f 作用:忽略大小写来进行排序

示例:

[root@localhost 123]# cat a
1 a
2 c
3 d
4 f
5 k
6 l
7 w
8 D
9 A
[root@localhost 123]# sort -t ' ' -k2 -f a
1 a
9 A
2 c
3 d
8 D
4 f
5 k
6 l
7 w
uniq -c 作用:显示文件中重复的行(需要配合sort -n排序命令使用)

示例:

[root@localhost 123]# cat a
1 1
2 c
3 d
4 f
5 1
1 1
7 w
8 D
9 A
[root@localhost 123]# sort -n a | uniq -c 
      2 1 1
      1 2 c
      1 3 d
      1 4 f
      1 5 1
      1 7 w
      1 8 D
      1 9 A
uniq -d 作用:只显示重复的行(需要配合sort -n 排序命令使用)

示例:

[root@localhost 123]# cat a
1 1
2 c
3 d
4 f
5 1
1 1
7 w
8 D
9 A
[root@localhost 123]# sort -d a | uniq -d
1 1
uniq -u 作用:只显示未重复的行(配合sort -n 排序命令使用)

示例:

[root@localhost 123]# cat a
1 1
2 c
3 d
4 f
5 1
1 1
7 w
8 D
9 A
[root@localhost 123]# sort -n a | uniq -u
2 c
3 d
4 f
5 1
7 w
8 D
9 A
cut 作用:查看指定的列
cut -d x -f 1,3 xxx | head 作用:查看某文件前十列的指定分隔符的1和3列

示例:

[root@localhost 123]# cat passwd 
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:997:User for polkitd:/:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

[root@localhost 123]# cut -d : -f 1,3 passwd | head
root:0
bin:1
daemon:2
adm:3
lp:4
sync:5
shutdown:6
halt:7
mail:8
operator:11
//指定特殊符号为分隔符的需要加‘ ’号
cut -d x -f 1-3 xxx | head 作用:查看某个文件前十列指定分隔符的1到3列

示例:

[root@localhost 123]# cat passwd 
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:997:User for polkitd:/:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

[root@localhost 123]# cut -d : -f 1-3 passwd | head
root:x:0
bin:x:1
daemon:x:2
adm:x:3
lp:x:4
sync:x:5
shutdown:x:6
halt:x:7
mail:x:8
operator:x:11
awk 作用:查看指定的列
awk -F x ‘{print x , x, x,x}’ xxx | head 作用:查看分隔符不规率某个文件指定列(每列之间可以有不同数量的分隔符,都视为一个分隔符,默认分隔符为空格)

示例:

[root@localhost 123]# cat passwd 
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:997:User for polkitd:/:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

[root@localhost 123]# awk -F : '{print$1,$3}' passwd | head
root 0
bin 1
daemon 2
adm 3
lp 4
sync 5
shutdown 6
halt 7
mail 8
operator 11
[root@localhost 123]# df -h
文件系统               容量  已用  可用 已用% 挂载点
/dev/mapper/rhel-root   17G  949M   17G    6% /
devtmpfs               901M     0  901M    0% /dev
tmpfs                  912M     0  912M    0% /dev/shm
tmpfs                  912M  8.7M  904M    1% /run
tmpfs                  912M     0  912M    0% /sys/fs/cgroup
/dev/sda1             1014M  143M  872M   15% /boot
tmpfs                  183M     0  183M    0% /run/user/0
[root@localhost 123]# df -h  | awk -F ' ' '{print$2,$3}'
容量 已用
17G 949M
901M 0
912M 0
912M 8.7M
912M 0
1014M 143M
183M 0
sed 作用:修改文件
sed -i ‘s/xx/zhe/g’ xx 作用:把xx文件所有下的xx替换为zhe(加了-i为永久修改,不加-i为临时修改 s代表替换)

示例:

[root@localhost 123]# cat passwd 
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:997:User for polkitd:/:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

[root@localhost 123]# sed -i 's/bin/zhe/g' passwd //-i代表永久修改,不加-i临时修改 g代表在全局修改
[root@localhost 123]# cat passwd 
root:x:0:0:root:/root:/zhe/bash
zhe:x:1:1:zhe:/zhe:/szhe/nologin
daemon:x:2:2:daemon:/szhe:/szhe/nologin
adm:x:3:4:adm:/var/adm:/szhe/nologin
lp:x:4:7:lp:/var/spool/lpd:/szhe/nologin
sync:x:5:0:sync:/szhe:/zhe/sync
shutdown:x:6:0:shutdown:/szhe:/szhe/shutdown
halt:x:7:0:halt:/szhe:/szhe/halt
mail:x:8:12:mail:/var/spool/mail:/szhe/nologin
operator:x:11:0:operator:/root:/szhe/nologin
games:x:12:100:games:/usr/games:/szhe/nologin
ftp:x:14:50:FTP User:/var/ftp:/szhe/nologin
nobody:x:99:99:Nobody:/:/szhe/nologin
systemd-network:x:192:192:systemd Network Management:/:/szhe/nologin
dbus:x:81:81:System message bus:/:/szhe/nologin
polkitd:x:999:997:User for polkitd:/:/szhe/nologin
postfix:x:89:89::/var/spool/postfix:/szhe/nologin
chrony:x:998:996::/var/lib/chrony:/szhe/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/szhe/nologin
sed -i ‘s/xx/zhe/x’ xx 作用:把xx文件的第几个xx更改为zhe

示例:

[root@localhost 123]# cat passwd 
operator:x:11:0:operator:/root:/szhe/nologin
games:x:12:100:games:/usr/games:/szhe/nologin
ftp:x:14:50:FTP User:/var/ftp:/szhe/nologin
nobody:x:99:99:Nobody:/:/szhe/nologin
systemd-network:x:192:192:systemd Network Management:/:/szhe/nologin
dbus:x:81:81:System message bus:/:/szhe/nologin
polkitd:x:999:997:User for polkitd:/:/szhe/nologin
postfix:x:89:89::/var/spool/postfix:/szhe/nologin
chrony:x:998:996::/var/lib/chrony:/szhe/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/szhe/nologin

[root@localhost 123]# sed -i 's/root/zhe/1' passwd 
[root@localhost 123]# cat passwd 
operator:x:11:0:operator:/zhe:/szhe/nologin
games:x:12:100:games:/usr/games:/szhe/nologin
ftp:x:14:50:FTP User:/var/ftp:/szhe/nologin
nobody:x:99:99:Nobody:/:/szhe/nologin
systemd-network:x:192:192:systemd Network Management:/:/szhe/nologin
dbus:x:81:81:System message bus:/:/szhe/nologin
polkitd:x:999:997:User for polkitd:/:/szhe/nologin
postfix:x:89:89::/var/spool/postfix:/szhe/nologin
chrony:x:998:996::/var/lib/chrony:/szhe/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/szhe/nologin
set -i ‘1,3d’ xx 作用:把xx文件中的1到3行删除

示例:

[root@localhost 123]# cat passwd 
operator:x:11:0:operator:/zhe:/szhe/nologin
games:x:12:100:games:/usr/games:/szhe/nologin
ftp:x:14:50:FTP User:/var/ftp:/szhe/nologin
nobody:x:99:99:Nobody:/:/szhe/nologin
systemd-network:x:192:192:systemd Network Management:/:/szhe/nologin
dbus:x:81:81:System message bus:/:/szhe/nologin
polkitd:x:999:997:User for polkitd:/:/szhe/nologin
postfix:x:89:89::/var/spool/postfix:/szhe/nologin
chrony:x:998:996::/var/lib/chrony:/szhe/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/szhe/nologin

[root@localhost 123]# sed -i '1,3d' passwd 
[root@localhost 123]# cat passwd 
nobody:x:99:99:Nobody:/:/szhe/nologin
systemd-network:x:192:192:systemd Network Management:/:/szhe/nologin
dbus:x:81:81:System message bus:/:/szhe/nologin
polkitd:x:999:997:User for polkitd:/:/szhe/nologin
postfix:x:89:89::/var/spool/postfix:/szhe/nologin
chrony:x:998:996::/var/lib/chrony:/szhe/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/szhe/nologin
set -i ‘1d;3d’ xx 作用:把xx文件中的第1号和第3行删除

示例:

[root@localhost 123]# cat passwd 
nobody:x:99:99:Nobody:/:/szhe/nologin
systemd-network:x:192:192:systemd Network Management:/:/szhe/nologin
dbus:x:81:81:System message bus:/:/szhe/nologin
polkitd:x:999:997:User for polkitd:/:/szhe/nologin
postfix:x:89:89::/var/spool/postfix:/szhe/nologin
chrony:x:998:996::/var/lib/chrony:/szhe/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/szhe/nologin

[root@localhost 123]# sed -i '1d;3d' passwd 
[root@localhost 123]# cat passwd 
systemd-network:x:192:192:systemd Network Management:/:/szhe/nologin
polkitd:x:999:997:User for polkitd:/:/szhe/nologin
postfix:x:89:89::/var/spool/postfix:/szhe/nologin
chrony:x:998:996::/var/lib/chrony:/szhe/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/szhe/nologin
文件命名规范
长度不能超过255字符
不能使用/当文件名
严格区分大小写
grep 作用:文本过滤

示例:

[root@localhost 123]# cat passwd 
systemd-network:x:192:192:systemd Network Management:/:/szhe/nologin
polkitd:x:999:997:User for polkitd:/:/szhe/nologin
postfix:x:89:89::/var/spool/postfix:/szhe/nologin
chrony:x:998:996::/var/lib/chrony:/szhe/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/szhe/nologin

[root@localhost 123]# grep 'systemd' passwd 
systemd-network:x:192:192:systemd Network Management:/:/szhe/nologin
grep -i 作用:过滤时忽略大小写

示例:

[root@localhost 123]# cat passwd 
systemd-network:x:192:192:systemd Network Management:/:/szhe/nologin
polkitd:x:999:997:User for polkitd:/:/szhe/nologin
postfix:x:89:89::/var/spool/postfix:/szhe/nologin
chrony:x:998:996::/var/lib/chrony:/szhe/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/szhe/nologin

[root@localhost 123]# grep -i 'network' passwd 
systemd-network:x:192:192:systemd Network Management:/:/szhe/nologin
grep -i -v 作用:显示需要过滤外的所有内容

示例:

[root@localhost 123]# cat passwd 
systemd-network:x:192:192:systemd Network Management:/:/szhe/nologin
polkitd:x:999:997:User for polkitd:/:/szhe/nologin
postfix:x:89:89::/var/spool/postfix:/szhe/nologin
chrony:x:998:996::/var/lib/chrony:/szhe/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/szhe/nologin

[root@localhost 123]# grep -i -v 'network' passwd 
polkitd:x:999:997:User for polkitd:/:/szhe/nologin
postfix:x:89:89::/var/spool/postfix:/szhe/nologin
chrony:x:998:996::/var/lib/chrony:/szhe/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/szhe/nologin
grep -i -o 作用:只显示匹配到的内容

示例:

[root@localhost 123]# cat passwd 
systemd-network:x:192:192:systemd Network Management:/:/szhe/nologin
polkitd:x:999:997:User for polkitd:/:/szhe/nologin
postfix:x:89:89::/var/spool/postfix:/szhe/nologin
chrony:x:998:996::/var/lib/chrony:/szhe/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/szhe/nologin

[root@localhost 123]# grep -i -o 'network' passwd 
network
Network
grep -i -E 作用:显示所匹配到的单词那一行的内容

示例:

[root@localhost 123]# cat passwd 
systemd-network:x:192:192:systemd Network Management:/:/szhe/nologin
polkitd:x:999:997:User for polkitd:/:/szhe/nologin
postfix:x:89:89::/var/spool/postfix:/szhe/nologin
chrony:x:998:996::/var/lib/chrony:/szhe/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/szhe/nologin

[root@localhost 123]# grep -i -E 'network' passwd 
systemd-network:x:192:192:systemd Network Management:/:/szhe/nologin
grep -q 作用:不显示所执行搜索命令的结果

示例:

[root@localhost 123]# grep -q 'root' passwd 
[root@localhost 123]# echo $?
1
[root@localhost 123]# grep -q 'zhe' passwd 
[root@localhost 123]# echo $?
0
//echo $? 显示上一条命令是否执行成功,1为执行成功,0为执行不成功
grep -i -A # ‘xxx’ xxx 作用:显示所搜索内容,包含所搜索内容一行的下#行

示例:

[root@localhost 123]# cat passwd 
systemd-network:x:192:192:systemd Network Management:/:/szhe/nologin
polkitd:x:999:997:User for polkitd:/:/szhe/nologin
postfix:x:89:89::/var/spool/postfix:/szhe/nologin
chrony:x:998:996::/var/lib/chrony:/szhe/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/szhe/nologin

[root@localhost 123]# grep -i -A 2 'for' passwd 
polkitd:x:999:997:User for polkitd:/:/szhe/nologin
postfix:x:89:89::/var/spool/postfix:/szhe/nologin
chrony:x:998:996::/var/lib/chrony:/szhe/nologin
grep -i -B # ‘xxx’ xxx 作用:显示所搜索内容,包含所搜索内容一行的上#行

示例:

[root@localhost 123]# cat passwd 
systemd-network:x:192:192:systemd Network Management:/:/szhe/nologin
polkitd:x:999:997:User for polkitd:/:/szhe/nologin
postfix:x:89:89::/var/spool/postfix:/szhe/nologin
chrony:x:998:996::/var/lib/chrony:/szhe/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/szhe/nologin

[root@localhost 123]# grep -i -B 2 'ssh' passwd 
postfix:x:89:89::/var/spool/postfix:/szhe/nologin
chrony:x:998:996::/var/lib/chrony:/szhe/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/szhe/nologin
grep -i -C # ‘xxx’ xxx 作用:显示所搜索内容,包含所搜索内容一行的上下#行

示例:

[root@localhost 123]# cat passwd 
systemd-network:x:192:192:systemd Network Management:/:/szhe/nologin
polkitd:x:999:997:User for polkitd:/:/szhe/nologin
postfix:x:89:89::/var/spool/postfix:/szhe/nologin
chrony:x:998:996::/var/lib/chrony:/szhe/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/szhe/nologin

[root@localhost 123]# grep -i -C 2 'spool' passwd 
systemd-network:x:192:192:systemd Network Management:/:/szhe/nologin
polkitd:x:999:997:User for polkitd:/:/szhe/nologin
postfix:x:89:89::/var/spool/postfix:/szhe/nologin
chrony:x:998:996::/var/lib/chrony:/szhe/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/szhe/nologin
find 作用:查找文件
find name xxx 作用:查找当前目录下的xxx文件

示例:

[root@localhost ~]# find -name passwd
./123/passwd
find / -name xxx 作用:查找根目录下的所有xxx文件

示例:

[root@localhost ~]# find / -name passwd
/sys/fs/selinux/class/passwd
/sys/fs/selinux/class/passwd/perms/passwd
/etc/passwd
/etc/pam.d/passwd
/root/123/passwd
/usr/bin/passwd
[root@localhost ~]# 
find -iname xxx 作用:不区分文件名称大小写查找

示例:

[root@localhost ~]# find -iname passwd
./123/passwd
./123/PASSWD
find -user xxx -iname xxx 作用:不区分大小写查找xxx用户中的xxx文件

示例:

[root@localhost ~]# find -user root -iname passwd
./123/passwd
./123/PASSWD
find -group xxx 作用:查找某组的所有文件

示例:

[root@localhost ~]# find -group tom
./123/passwd
find -nouser 作用:查找没有用户的文件

示例:

[root@localhost ~]# find -nouser
./123/passwd
find / -nogroup 作用:查找根目录下没有所属组的文件

示例:

[root@localhost ~]# find / -nogroup
find: ‘/proc/5244/task/5244/fd/6’: 没有那个文件或目录
find: ‘/proc/5244/task/5244/fdinfo/6’: 没有那个文件或目录
find: ‘/proc/5244/fd/6’: 没有那个文件或目录
find: ‘/proc/5244/fdinfo/6’: 没有那个文件或目录
/root/123/passwd
/home/tom
/home/tom/.bash_logout
/home/tom/.bash_profile
/home/tom/.bashrc
[root@localhost ~]# 
find -type 作用:根据文件类型进行查找

示例:

[root@localhost ~]# find -type d
.
./321
./123
find / -size +1k 作用:在根(/代表根目录)目录下搜索大于1k的文件

示例:

[root@localhost ~]# find / -size +1k
/usr/share/mime/image/emf.xml
...
...
//太多了没有复制
...
/mnt
/opt
/srv
find / size -1k 作用:在根(/代表根目录)目录下搜索小于1k的文件

示例:

[root@localhost ~]# find / -size -1k
/sys/kernel/debug/tracing/per_cpu/cpu3/snapshot
/sys/kernel/debug/tracing/per_cpu/cpu3/buffer_size_kb
/sys/kernel/debug/tracing/per_cpu/cpu3/stats
...
...
// 太多了,没有复制下来
...
...
/usr/share/mime/icons
/usr/share/rhn/__init__.py
/usr/share/rhn/up2date_client/__init__.py
find -mtime +5 作用:搜索五天以前修改的文件

示例:

[root@localhost ~]# find -mtime +5
./.bash_logout
./.bash_profile
./.bashrc
./.cshrc
./.tcshrc
find -mtime -5 作用:查找五天以内修改过的文件

示例:

[root@localhost ~]# find -mtime -5
.
./anaconda-ks.cfg
./.bash_history
./321
./123
./123/1
./123/2
./123/3
./123/a
./123/passwd
./123/PASSWD
find -atime 作用:根据访问时间查找

示例:

[root@localhost ~]# find -atime 1
./123/1
./123/2
./123/3
find -ctime 作用:根据改变时间查找

示例:

[root@localhost ~]# find -ctime 1
.
./321
./123/1
./123/2
./123/3
find -type x -name xxx -print 作用:根据文件类型和文件名查找文件并显示在屏幕上

示例:

[root@localhost ~]# find -type f -name anaconda-ks.cfg -print
./anaconda-ks.cfg
find -type x -name xxx -print -ls 作用:根据文件类型和文件名查找文件并将详细信息显示在屏幕上

示例:

[root@localhost ~]# find -type f -name anaconda-ks.cfg -print -ls
./anaconda-ks.cfg
33574992    4 -rw-------   1 root     root         1451 9月 15 03:02 ./anaconda-ks.cfg
find -name xxx -delete 作用:搜索到的文件直接删除

示例:

[root@localhost ~]# ls
123  321  345  anaconda-ks.cfg
[root@localhost ~]# find -name 345 -delete
[root@localhost ~]# ls
123  321  anaconda-ks.cfg
find -type x -name xxx | xargs rm -fr 作用:通过管道将查找到的内容给xargs处理,xargs后面直接跟命令即可

示例:

[root@localhost ~]# ls
123  321  345  anaconda-ks.cfg
[root@localhost ~]# find -type f -name 345 | xargs rm -fr
[root@localhost ~]# ls
123  321  anaconda-ks.cfg
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值