基础命令解释2
文章目录
-
基础命令解释2 - * 作用:匹配任意长度的任意字符
- ? 作用:匹配任意单个字符
- [] 作用:匹配指定单位内的单个字符
- 压缩文件及文件归档
- 挂载及安装工具
- .gz 压缩文件,压缩或解压缩后原文件自动删除
- .bzip2 a 作用:删除原文件压缩
- bzip -k 作用:压缩文件后保留原文件
- bzip -d 作用:解压缩,解压缩完成后删除原文件
- bzip2 -k -d 作用:解压缩文件完成后保留原文件
- bzip2 a -d 作用:解压缩完成后删除原文件
- xz 作用:压缩文件后删除原文件
- xz -k 作用:压缩文件后保留原文件
- xz -d 作用:解压缩文件后删除原文件
- xz -k -d 作用:压缩文件并保留原文件
- zip 作用:命名并批量压缩文件
- zip 作用:命名并压缩整个目录
- unzip 作用:解压缩文件并保留原文件
- unzip 作用:指定目录解压缩文件
- compress 作用:压缩文件,此命令已经被淘汰
- tar 作用:文件归档
- tar -c -f 作用:归档文件,但不压缩
- tar -x -f 作用:还原归档文件
- tar cfv 作用:显示归档过程 //加v是显示归档过程
- tar xfv 作用:显示归档还原过程 //加v是显示归档过程
- tar cfp 作用:归档文件并保留权限信息 //加p是归档时保留权限
- tar xfC 作用:指定目录还原归档 //加C是指定目录还原
- tar tf 作用:不还原归档查看归档文件
- tar zcf xxx.tar.gz 作用:创建归档文件并使用gzip压缩
- tar zxfC xxx.tar.gz xxx/ 作用:还原已经压缩的归档文件并调用gzip工具解压缩到指定目录
- tar jcf xxx.tar.bz2 作用:调用bzip2来对归档文件进行压缩
- tar xf xxx.tar.bz2 作用:还原归档的文件并自动调用解压缩工具
- tar Jcf xxx.tar.xz 作用:调用xz来对归档文件进行压缩
- tar xfC xxx..tar.xz 作用:还原归档的文件并自动调用解压缩工具
- sort文本排序
- cut 作用:查看指定的列
- awk 作用:查看指定的列
- sed 作用:修改文件
- 文件命名规范
- grep 作用:文本过滤
- find 作用:查找文件
- find name xxx 作用:查找当前目录下的xxx文件
- find / -name xxx 作用:查找根目录下的所有xxx文件
- find -iname xxx 作用:不区分文件名称大小写查找
- find -user xxx -iname xxx 作用:不区分大小写查找xxx用户中的xxx文件
- find -group xxx 作用:查找某组的所有文件
- find -nouser 作用:查找没有用户的文件
- find / -nogroup 作用:查找根目录下没有所属组的文件
- find -type 作用:根据文件类型进行查找
- find / -size +1k 作用:在根(/代表根目录)目录下搜索大于1k的文件
- find / size -1k 作用:在根(/代表根目录)目录下搜索小于1k的文件
- find -mtime +5 作用:搜索五天以前修改的文件
- find -mtime -5 作用:查找五天以内修改过的文件
- find -atime 作用:根据访问时间查找
- find -ctime 作用:根据改变时间查找
- find -type x -name xxx -print 作用:根据文件类型和文件名查找文件并显示在屏幕上
- find -type x -name xxx -print -ls 作用:根据文件类型和文件名查找文件并将详细信息显示在屏幕上
- find -name xxx -delete 作用:搜索到的文件直接删除
- find -type x -name xxx | xargs rm -fr 作用:通过管道将查找到的内容给xargs处理,xargs后面直接跟命令即可
-
* 作用:匹配任意长度的任意字符
示例:
[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