管道命令
管道命令:顾名思义,主要在管道二字上,意思就是把一些东西通过一个管道,变成你想要的样子,管道相当于一个过滤器,留下你想要看到的东西。
Linux下面管道命令使用的是‘|’界定符,其格式为‘命令 | 命令’,即把前一个命令的输出作为第二个命令的输入,第二个命令一般是一个文档选取命令。
选取命令cut,grep
cut 按行处理文档
参数:
- -d 后面接分隔符
- -f 后面接数字第几段
- -c 以字符为单位取出来第几段
例如:
$:echo $PATH
/home/work/.jumbo/bin/core_perl:/home/work/.jumbo/bin:/home/op/opbin/optool/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/share/baidu/bin:/opt/bin:/home/opt/bin:/home/work/bin:/home/work/php/bin:/home/opt/gcc-4.8.2.bpkg-r2/gcc-4.8.2.bpkg-r2/include/c++/4.8.2/
发现下面其中有好几部分,每一部分是用‘:’分割开的,这样就可以用cut处理了
$:echo $PATH | cut -d ':' -f 5
/usr/local/bin
以‘:’为分隔符 取出第5段
$:echo $PATH | cut -d ':' -f -5
/home/work/.jumbo/bin/core_perl:/home/work/.jumbo/bin:/home/op/opbin/optool/bin:/usr/kerberos/bin:/usr/local/bin
取出前5部分,注意这里的‘-’表示前面所有的
$:$PATH | cut -d ':' -f 3,5
/home/op/opbin/optool/bin:/usr/local/bin
$ export | head -n 5
declare -x EDITOR=”vim”
declare -x G_BROKEN_FILENAMES=”1”
declare -x HISTSIZE=”1000”
declare -x HISTTIMEFORMAT=”%y-%m-%d %H:%M:%S ”
declare -x HOME=”/home/work”
$ export | head -n 5 | cut -c 12-
EDITOR=”vim”
G_BROKEN_FILENAMES=”1”
HISTSIZE=”1000”
HISTTIMEFORMAT=”%y-%m-%d %H:%M:%S ”
HOME=”/home/work”
grep 按列处理文档
参数:
- -a : 将binary文件以text文件的方式查找数据
- -c :计算找到‘查找字符串’的次数
- -v :反向选择,即不出现要查找字段的行
- –color=auto : 将查找的字用其他颜色显示
$ last | grep 'root' | head -n 6
root pts/0 jx-opsec-scan01. Sun May 11 04:50 - 04:50 (00:00)
root pts/0 jx-opsec-scan01. Sat May 10 04:36 - 04:36 (00:00)
root pts/0 jx-opsec-scan01. Fri May 9 04:20 - 04:20 (00:00)
root pts/0 jx-opsec-scan01. Thu May 8 04:21 - 04:21 (00:00)
root pts/0 jx-opsec-scan01. Wed May 7 04:26 - 04:26 (00:00)
root pts/0 jx-opsec-scan01. Tue May 6 04:31 - 04:31 (00:00)
$ last | grep -v 'root' | head -n 6
work pts/0 bb-sns-relay01.b Tue Jul 28 10:27 still logged in
work pts/9 bb-sns-relay03.b Mon Jul 27 20:26 - 21:35 (01:08)
work pts/9 bb-sns-relay01.b Mon Jul 27 14:07 - 16:08 (02:00)
work pts/0 bb-sns-relay02.b Mon Jul 27 12:10 - 21:31 (09:20)
work pts/9 bb-sns-relay01.b Sun Jul 26 21:41 - 00:39 (02:58)
work pts/0 bb-sns-relay04.b Sun Jul 26 19:08 - 23:03 (03:55)
“`