管道命令
简单管道命令:
ls -al /etc | less
ls /etc 查阅/etc下的有多少文件,但有可能塞满屏幕,可利用less命令翻动
其用途:“|”仅能处理经由前面一个命令传来的正确信息,standard output的信息。对于standard error没有直接处理能力
处理示意图:
注意:每个管道后面接的第一个数据必定是“命令”,且这命令必须能够接收standard intput数据。如:less,more,head,tail。但是ls,cp,mv等不是管道命令,它们不会接收stdin的数据
1)仅会处理standard output。不理standard error output
2)接收前一个命令的数据成为standard input继续处理
选取命令:cut,grep
一般针对“行”选取
cut -d ‘分隔字符’ -f fields <-用于分隔字符
cut -c 字符范围 <-用于排列整齐的信息
用例:
echo $PATH
/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:usr/X11R6/bin:/usr/games:
1 | 2 | 3| 4 | 5|6 |7 |
echo $PATH |cut -d ':' -f 5
echo $PATH |cut -d ':' -f 3,5
export |cut -c 12- 第12字符以后所有字符串
grep解析一行文字,取得关键字,若行存在关键字,整行取出
grep [-acinv] [--color=auto] '查找字符串' filename
-a:将binary文件以text文件的方式查找数据
-c:计算找到‘查找字符串’的次数
-i:忽略大小写的不同
-n:顺便输出行号
-v:反向选择
--color=auto:可以将找到的关键字部分加上颜色显示
last |grep 'root' |cut -d ' ' -f 1