重定向

标准输出:

标准正确输出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

标签: none

评论已关闭