cat
如果没有指定文件,或者指定文件为 “-”,则从标准输入读取
nl
相当于 cat -b
tac
cat 倒着写 tac,功能也是恰如其名:逆向显示文本内容
tr
translate,转换、删除、去重标准输入中的字符,将结果写入到标准输出
1 2 3 4 5 6 7
| tr [OPTION]... SET1 [SET2]
-d -c -s -t -c
|
tr 类似于 sed 命令,但是比 sed 简单,所有 tr 能实现的功能,sed 都能实现
示例:
1 2 3 4 5 6 7 8 9 10
| $tr a b
$ cat /dev/urandom | tr -dc A-Za-z0-9 | head -c8 1imvyPoH
$ cat a.log HELLO WORD $ tr A-z a-z <a.log hello word
|
-
重定向有时会使用 - 符号,重定向到标准输出
rev
将每行的内容逆向显示
head
tail
![]()
less 和 more
分页查看文件内容
一般搭配管道符使用,less 和 more 差不多,区别在于 more 只能向下翻页
hexdump、od、xxd
查看非文本内容
最常的是 hexdump,常用选项 -C
cut
提取文本文件或 STDIN 数据的指定列
1 2 3 4 5 6 7 8 9 10
| cut [OPTION]... [FILE]...
-d delimiter -f fileds n n,n[,n] n-n 混合使用: 1-3,7 -c --output-delimiter
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| [19:22:09 root@centos7 data] 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 games.x.12 ftp.x.14 nobody.x.99 systemd-network.x.192 dbus.x.81 polkitd.x.999 sshd.x.74 postfix.x.89 lujinkai.x.1000 test.x.1001 test2.x.1002 gentoo.x.1003 tomcat.x.1004 mysql.x.1005 [14:49:02 root@centos7 data] roo bin dae adm lp: syn shu hal mai ope gam ftp nob sys dbu pol ssh pos luj tes tes gen tom mys
|
paste
合并多个文件,合并多个文件同行号的列到一行
1 2 3 4
| paste [OPTION]... [FILE]...
-d -s
|
wc
文本统计,用于统计文件或 STDIN 的行总数、单词总数、字节总数和字符总数
sort
字典排序, 从小到大
1 2 3 4 5 6 7 8
| -r -R -n -h -f -u -t -k
|
示例:按照 UID 进行排序
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| [21:18:38 root@centos7 data] 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 sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin polkitd:x:999:998:User for polkitd:/:/sbin/nologin lujinkai:x:1000:1000:lujinkai:/home/lujinkai:/bin/bash test:x:1001:1001::/home/test:/bin/bash test2:x:1002:1002::/home/test2:/bin/bash gentoo:x:1003:1003:Gentoo Distribution:/home/gentoo:/bin/csh tomcat:x:1004:1006::/home/tomcat:/sbin/nologin mysql:x:1005:1009::/home/mysql:/bin/bash
|
uniq
去重,从输入中删除前后相接的重复的行
1 2 3 4 5
| uniq [OPTION]... [FILE]...
-c -d -u
|
uniq 常和 sort 命令一起配合使用
1
| sort userlist.txt | uniq -c
|
diff 和 path
比较文本
diff
diff 命令比较两个文件之间的区别
常用选项 -u
patch
复制在其他文件中进行的改变 (要谨慎使用)
1 2
| diff -u foo.conf foo2.conf > foo.patch patch -b foo.conf foo.patch
|
cmp
比较二进制文件,查看二进制文件的不同
练习
1、找出 ifconfig “网卡名” 命令结果中本机的 IPv4 地址
1 2 3 4 5 6 7 8 9 10 11
| [root@47105171233 wwwlogs] 276 112.64.64.36 186 183.136.190.62 184 112.64.64.47 184 112.64.64.40 184 112.64.64.33 121 176.9.32.203 94 47.92.207.41 92 112.64.64.43 92 112.64.64.39 92 112.64.64.35
|
2、查出分区空间使用率的最大百分比值
3、查出用户 UID 最大值的用户名、UID 及 shell 类型
4、查出/tmp 的权限,以数字方式显示
5、统计当前连接本机的每个远程主机 IP 的连接数,并按从大到小排序