管道命令
管道命令:顧名思義,主要在管道二字上,意思就是把一些東西通過一個管道,變成你想要的樣子,管道相當於一個過濾器,留下你想要看到的東西。
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)
“`