一、文件内容浏览
1.cat查看/etc/passwd文件内容,且输出时带行号。
[root@localhost ~]# cat/etc/passwd -b
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:deamon/sbin:/sbin/nologin
4 addm:x:3:4:adm:/var/adm:/sbin/nologin
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin/sbin/shutdown
8 halt:x:7:0:halt:/sbin:/sbin/halt
9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10 operator:x:11:0:operator:/root:/sbin/nologin
11 games:x:12:100:games:/user:/var/ftp:/sbin/nologin
12 ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
13 nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
14 dbus:x:81:81:System message bus:/:/sbin/nologin
15 systemd-credump:x:999:997:systemd Coer Dumper:/:/sbin/nologin
16 systemd-resolve:x:193:193:systemd Resolver:/:/sbin:/nologin
17 tss:x:59:59:Account used for TPM access:/dev/null:/sbin/nologin
18 polkitd:x:998:996:User for polkitd:/:/sbin/nologin
19 geoclue:x:997:995:User for geoclue:/var/lib/geoclue:/sbin/nologin
20 rtkit:x:172:172:Realtimekit:/proc:/sbin/nologin
21 pipewire:x:996:992:PipeWire System Daemon:/var/run/pipwire:/sbin/nologin
22 pulse:x:171:171:PulseAudio System Deamon:/var/run/pulse:/sbin/nologin
23 qemu:x:107:107:qemu user:/:/sbin/nologin
24 clevis:x:995:989:Clevis Decryption Framework unprivileged user:/var/cache/clevis:/sbin/nologin
25 usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
26 unbound:x:994:988:Unbound DNS resolver:/etc/unbound:/sbin/nologin
27 gluster:x:993:987:GlusterFS deamons:/run/gluster:/sbin/nologin
28 rpc:x:32:32;Bpcbind Deamon:/var/lib/rpcbind:/sbin/nologin
29 avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
2.使用more/less查看/etc/passwd内容,且每页显示10行。
[root@localhost ~]# more -10/etc/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
--More--(18%)
[root@localhost ~]# less /etc/passwd
3.使用head/tail分别查看文件前5行内容和后5行内容
[root@localhost ~]# head head -n 5
aaaaaaaaa
bbbbbbbbb
ccccccccc
ddddddddd
eeeeeeeee
[root@localhost ~]# tail head -n 5
ccccccccc
ddddddddd
eeeeeeeee
fffffffff
ggggggggg
4.使用grep查看/etc/passwd中和root相关的内容
[root@localhost ~]# grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
二、cut命令使用:
给定文件cut_data.txt并且内容为:
No Name Score
1 zhang 20
2 li 80
3 wang 90
4 sun 60
1. 使用默认定界符切割文件内容,且输出切割后的第一个字段
切割文件内容,且输出切割后的第一个字段和第三个字段
[root@localhost ~]# cut -d : -f 1 cut_data.txt
No Name Score
1 zhang 20
2 li 80
3 wang 90
4 sun 60
[root@localhost ~]# cut -d : -f1,3 cut_data.txt
No Name Score
1 zhang 20
2 li 80
3 wang 90
4 sun 60
2.按字节切割:输出切割第一个字节到第十个字节的内容。
[root@localhost ~]# cut -b 1-10 cut_data.txt
No Name Sc
1 zhang 20
2 li 80
3 wang 90
4 sun 60
3.按字符切割:输出切割后的第一个字符和第五个字符的内容。
[root@localhost ~]# cut -c 1-5 cut_data.txt
Na
1a
2
3n
4n
4.按指定分界符去切割:内容如下, 输出第一个字段和第三个字段内容
No|Name|Score
1|zhang|20
2|li|80
3|wang|90
4|sun|60
[root@localhost ~]# cut -d"|": -f1,3 cut_data.txt
cut:':':No such file or directory
No|Score
1|20
2|80
3|90
4|60
三、uniq命令使用: 新建文件uniq_data.txt,文件内容为
Welcome to Linux
Windows
Windows
Mac
Mac
Linux
//使用uniq命令输出去重后的结果
[root@localhost ~]# uniq uniq_data.txt
Welcome to Linux
Widows
Mac
Linux
//使用uniqmingl只输出重复的行
[root@localhost ~]# uniq uniq_data.txt -d
Widows
Mac
//使用uniq命令输出不重复的行
[root@localhost ~]# uniq uniq_data.txt -u
Welcome to Linux
Linux
// 使用uniq命令统计重复次数
[root@localhost ~]# uniq uniq_data.txt -c
1 Welcome to Linux
2 Widows
2 Mac
1 Linux
四、sort命令:给定文件 num.txt, args.txt
文件内容:num.txt
1
3
5
2
4
文件内容:args.txt
test
args1
args2
args4
args4
args3
// 对num.txt进行排序,且将结果输出到sorted_num.txt中
[root@localhost ~]# srot num.txt > sorted_num.txt
[root@localhost ~]# cat sorted_num.txt
1
2
3
4
5
// 对args.txt进行排序,且将结果输出到sorted_args.txt中
[root@localhost ~]# srot args.txt > sorted_args.txt
[root@localhost ~]# cat sorted_args.txt
arrgs1
args2
args3
args4
args4
test
// 对num.txt和args.txt进行排序,且将结果输出到sorted_merge.txt中
[root@localhost ~]# srot args.txt > sorted_merge.txt
[root@localhost ~]# cat sorted_merge.txt
1
2
3
4
5
arrgs1
args2
args3
args4
args4
test
// 对args.txt排序后去重输出
[root@localhost ~]# srot args.txt -u
arrgs1
args2
args3
args4
test
// 合并sorted_args.txt和sorted_num.txt且输出
[root@localhost ~]# srot -m sorted_args.txt sorted_num.tst
1
2
3
4
5
arrgs1
args2
args3
args4
args4
test
五、 给定文件info_txt:按第二列作为key进行排序
No Name Score
1 zhang 20
2 li 80
3 wang 90
4 sun 60
[root@localhost ~]# sort info_txt -k 2
2 li 80
No Name Score
4 sun 60
3 wang 90
1 zhang 20
六、将26个小写字母的后13个字母替换成大写字母
[root@localhost ~]# cat file1 | tr -t n-z N-z
abcdefghijklmNOPQRSTUVXYZ
七、将hello 123 world 456中的数字替换成空字符
[root@localhost ~]# cat file2 | tr 1-6 " "
hello world
八、将hello 123 world 456中字母和空格替换掉,只保留数字
[root@localhost ~]# cat file2 | tr -c 1-6 " "
123 456