管道命令使用的是“|”这个界定符号
其实这个管道命令“|”仅能处理经由前面一个命令传来的正确信息,也就是standard output的信息,对于standard error并没有直接处理的能力。
Command1 | Command2 | Command3,前一个命令的输出作为后一个命令的输入
选取命令:cut,grep
选取命令是将一段数据经过分析后,取出所需要的,或者是经由分析关键词,取得我们所想要的那一行。选取信息通常是针对“行”来分析的,并不是整篇信息分析的。
cut命令
[root@centos01 linux_study]# ls -al /etc |less
[root@centos01 linux_study]# #cut -d '分隔字符' -f fields
[root@centos01 linux_study]# #cut -c 字符范围
grep命令
grep则是分析一行信息
grep [-acinv] [–color=auto] ‘查找字符串’ filename
参数:
-a: 将binary文件以text文件的方式查找数据
-c: 计算找到‘查找字符串’的次数
-i: 忽略大小写的不同,一视同仁
-n: 输出行号
-v: 反向选择
[root@centos01 linux_study]# last | grep 'ddhdzt'
ddhdzt pts/1 172.30.1.51 Thu Jul 28 17:17 still logged in
ddhdzt pts/2 172.30.1.51 Thu Jul 28 10:13 still logged in
[root@centos01 linux_study]# last | grep -v 'ddhdzt'
(unknown :0 :0 Mon Jul 25 10:15 - 10:15 (00:00)
reboot system boot 3.10.0-229.el7.x Mon Jul 25 10:15 - 17:35 (4+07:20)
(unknown :0 :0 Sat Jul 23 10:39 - 10:41 (00:01)
[root@centos01 linux_study]# grep --color=auto 'MANPATH' /etc/man_db.conf
# MANDATORY_MANPATH manpath_element
# MANPATH_MAP path_element manpath_element
# every automatically generated MANPATH includes these fields
#MANDATORY_MANPATH /usr/src/pvm3/man
MANDATORY_MANPATH /usr/man
MANDATORY_MANPATH /usr/share/man
MANDATORY_MANPATH /usr/local/share/man
# set up PATH to MANPATH mapping
# *PATH* -> *MANPATH*
MANPATH_MAP /bin /usr/share/man
MANPATH_MAP /usr/bin /usr/share/man
MANPATH_MAP /sbin /usr/share/man
MANPATH_MAP /usr/sbin /usr/share/man
MANPATH_MAP /usr/local/bin /usr/local/man
MANPATH_MAP /usr/local/bin /usr/local/share/man
MANPATH_MAP /usr/local/sbin /usr/local/man
MANPATH_MAP /usr/local/sbin /usr/local/share/man
MANPATH_MAP /usr/X11R6/bin /usr/X11R6/man
MANPATH_MAP /usr/bin/X11 /usr/X11R6/man
MANPATH_MAP /usr/games /usr/share/man
MANPATH_MAP /opt/bin /opt/man
MANPATH_MAP /opt/sbin /opt/man
# *MANPATH* -> *CATPATH*