重定向与小辅助工具
重定向
标准输出:
标准正确输出1
标准错误输出2
输出重定向:
正确覆盖重定向>
正确追加重定向>>
错误覆盖重定向2>
错误追加重定向2>>
合并输出,即将正确输出和错误输出重定向为同一个数据流:
覆盖重定向&>
追加重定向&>>
将错误重定向到正确输出中2>&1
将正确重定向到错误输出中1>&2
输入重定向:
覆盖cat > file <<EOF .....EOF
追加cat >> file <<EOF......EOF
管道
command1 | command2 | command3
前一个命令的执行结果会被当过后一个命令的参数来使用
小工具
tr
转换
[root@server1 ~]# cat /etc/passwd |head -n3 | tr 'a-e' 'A-E' > tmp1
[root@server1 ~]# cat tmp1
root:x:0:0:root:/root:/Bin/BAsh
Bin:x:1:1:Bin:/Bin:/sBin/nologin
DAEmon:x:2:2:DAEmon:/sBin:/sBin/nologin
读取passwd前5行并把a-e转为大写把输出结果保存到文件中
-d:删除
wc
统计
-l:行数
-w:单词数
-c:字符数
[root@server1 ~]# cat /etc/passwd | wc -l
19
cut
切分
-d指定分隔符
-f指定字段
[root@server1 ~]# cat /etc/passwd | cut -d: -f2,3
x:0
x:1
x:2
x:3
x:4
x:5
x:6
x:7
x:8
x:11
x:12
x:14
x:99
x:192
x:81
x:999
x:74
x:89
x:998
sort
排序
-f:忽略大小写
-r:逆序
-t:字段分隔符
-k #:以指定字段为标准排序
-n:按照数值排序,不然按照首字母
-u:排序后去重
[root@server1 ~]# cat /etc/passwd | cut -d: -f3 | sort -nr > tmp2
[root@server1 ~]# cat tmp2
999
998
192
99
89
81
74
14
12
11
8
7
6
5
4
3
2
1
0
uniq
去重
-c:显示每行出现的行数
-d:只显示重复过的行
-u:只显示没重复的行
[root@server1 ~]# cut -d: -f6-10 /etc/passwd | uniq -c
1 /root:/bin/bash
1 /bin:/sbin/nologin
1 /sbin:/sbin/nologin
1 /var/adm:/sbin/nologin
1 /var/spool/lpd:/sbin/nologin
1 /sbin:/bin/sync
1 /sbin:/sbin/shutdown
1 /sbin:/sbin/halt
1 /var/spool/mail:/sbin/nologin
1 /root:/sbin/nologin
1 /usr/games:/sbin/nologin
1 /var/ftp:/sbin/nologin
4 /:/sbin/nologin
1 /var/empty/sshd:/sbin/nologin
1 /var/spool/postfix:/sbin/nologin
1 /var/lib/chrony:/sbin/nologin
评论已关闭