bash特性之输入、输出重定向和管道
程序:
数据来源:输入流
数据目标:输出流
标准输入
标准输出
标准错误输出
一切皆文件
文件:文件系统(内核)
标准输入:0
键盘
标准输出:1
监视器
错误输出:2
监视器
重定向意味着:
改变其标准位置
输出重定向:
COMMAND > POSITION:覆盖输出
COMMAND >> POSITION: 追加输出
错误重定向:
COMMAND 2> POSITION:覆盖输出
COMMAND 2>> POSITION: 追加输出
合并重定向:
COMMAND &> POSITION
COMMAND > POSITION 2> &1
分别重定向
COMMAND > POSTIION 2> POSTION2
输入重定向:
COMMAND < POSITION
<<:Here Document
文本处理命令:tr
tr 'SET1' 'SET2'
-d: 删除指定字符集合中的所有字符
多道输出:
COMMAND | tee POSITION
练习:
1、统计当前系统上所有已经登录的用户会话数;
# who | wc -l
2、列出当前系统上所有已经登录的用户的用户名;
# who | cut -d' ' -f 1 | sort -u
3、取出最后登录到当前系统的用户的用户名;
# who | sort -k 3,4 | cut -d' ' -f 1 | tail -1
4、取出当前系统上被使用的次数最多的shell;(从/etc/passwd中取)
# cut -d: -f7 /etc/passwd | sort | uniq -c | sort -n | tail -1
5、将/etc/passwd中第三个字段数据最大的后10个用户的信息全改为大写字符后保存到/tmp/mypasswd.txt文件中;
# sort -t: -k3 -n /etc/passwd | tail | tr 'a-z' 'A-Z' > /tmp/mypasswd.txt
网友评论