管道命令使用的是「|」這個界定符號less
管道命令「|」僅能處理經由前面一個命令傳來的正確信息,也就是standard output的信息,對於standard error並無直接處理的能力spa
每一個管道後面接的第一個數據一定是「命令」,並且這個命令必需要可以接受 standrad input的數據才行,這樣的命令才能夠是「管道命令」。例如 less,more,head,tail等均可以接受standard input的管道命令。至於ls,cp,mv等就不是管道命令了ip
也就是說管道命令主要有兩個比較須要注意的地方:ci
管道命令僅會處理standard output,對於standard error output 會予以忽略字符串
管道命令必需要可以接受來自前一個命令的數據成爲standard input繼續處理才行input
選取命令:cut,greppip
選取命令就是將一段數據通過分析後,取出咱們所想要的,或者是經由分析關鍵字,取得咱們所想要的那一行。須要注意,通常來講,選取信息一般是針對「行」來分析的,並非整片信息分析ast
cutfile
cut -d ’分割字符’ -f fields 用於分割字符語法
cut -c 字符範圍 用於排列整齊的信息
參數:
-d:後面接分割字符,與-f一塊兒使用
-f:依據-d的分割字符將一段信息切割成爲數段,用-f取出第幾段的意思
-c:以字符(characters)的單位取出固定字符區間、
例如
root@DESKTOP-J295FSF:/mnt/c/Users/vivi# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
root@DESKTOP-J295FSF:/mnt/c/Users/vivi# echo $PATH |cut -d ':' -f 5
/sbin
root@DESKTOP-J295FSF:/mnt/c/Users/vivi# echo $PATH |cut -d ':' -f 3,5
/usr/sbin:/sbin
root@DESKTOP-J295FSF:/mnt/c/Users/vivi# export
declare -x HOME="/root"
declare -x HOSTTYPE="x86_64"
declare -x LANG="en_US.UTF-8"
declare -x LESSCLOSE="/usr/bin/lesspipe %s %s"
declare -x LESSOPEN="| /usr/bin/lesspipe %s"
declare -x LOGNAME="root"
root@DESKTOP-J295FSF:/mnt/c/Users/vivi# export|cut -c 12-
HOME="/root"
HOSTTYPE="x86_64"
LANG="en_US.UTF-8"
LESSCLOSE="/usr/bin/lesspipe %s %s"
LESSOPEN="| /usr/bin/lesspipe %s"
LOGNAME="root"
grep
cut是在一行信息當中取出某部分咱們想要的,而grep則是分析一行信息,若當中有咱們所須要的信息,就將該行拿出來,語法是這樣的
grep [-acinv] [--color-auto] ‘查找字符串’ filename
-a:將binary文件以text文件的方式查找數據
-c:計算找到‘查找字符串’的次數
-i:忽略大小寫的不一樣,因此大小寫視爲相同
-n:順便輸出行號
-v:反向選擇,即顯示出沒有‘查找字符串’內容的那一行
--color=auto:能夠將找到的關鍵字部分加上顏色顯示
root@DESKTOP-J295FSF:/mnt/c/Users/vivi# last| grep 'root'
root@DESKTOP-J295FSF:/mnt/c/Users/vivi# last| grep -v 'root'
root@DESKTOP-J295FSF:/mnt/c/Users/vivi# grep --color=auto 'stop' catfile
ok now stop