重定向標準輸出正則表達式
重定向標準錯誤shell
重定向標準輸入less
會用到的命令:spa
cat、sort、uniq、grep、wc、head、tail命令行
能夠經過man或者info命令查看更多的使用方法code
I/O重定向容許咱們改變輸入的來向和輸出的走向。blog
# 把/usr/bin目錄下的文件和目錄經過ls -l的格式輸入到當前目錄的ls-output.txt文件中 ls -l /usr/bin > ls-output.txt ls -l ls-output.txt cat ls-output.txt # 若是目錄不存在,則會出錯,輸出‘沒有那個文件或者目錄’到屏幕 ls -l /bin/usr > ls-output.txt
# 若是在執行一遍下面的shell,ls-output.txt的內容會被覆蓋
ls -l /usr/bin > ls-output.txt
# 因此我麼能夠這樣來清除文件的內容
> ls-output.txt
# 固然有追加的模式
ls -l /usr/bin >> ls-output.txt
# 若是目錄不存在,並不會出現錯誤的提示,而是直接存到文件中
# ‘2>’是連在一塊兒的,標準輸入、輸出和錯誤分別爲0、一、2
ll /bin/usr 2> ls-error.txt
# '2>&1'是連在一塊兒的
# 這個方法有兩個重定向,首先重定向到標準輸出的文件,而後重定向文件描述符2(標準錯誤)到描述符1(標準輸出).
# 對於順序敏感,若是重定向錯誤在重定向標準輸出前則失效
ll /bin/usr > ls-output.txt 2>&1
# 下面這個方法也是能夠的
ll /bin/usr &> ls-output.txt
ll -l /bin/usr 2> /dev/null
能夠看到/dev/null是一個字符設備文件,叫作位存儲捅,對輸入不作處理。ip
# 從文件得到標準輸入
cat ls-output.txt
# cat還能夠把多個文件連起來,假如你有LOG.[0-9]10個文件
# touch LOG{1..9} ll LOG[1-9]
cat LOG[1-9] > LOG-ALL
# 若是cat後面沒有東西就表示輸入來自鍵盤,ctrl + d告訴cat到文末了
cat
cat > Typing
cat Typing
# 把文件做爲標準輸入源,和cat [file]效果同樣
cat < [file]
# command1的輸出能夠做爲command2的輸入
command1 | command2
你能夠這樣,class
ll /usr/bin | less # 下面是過濾器的使用
# 產生一個有序列表 ll /usr/bin | sort | less
# 忽略重複行
ll /usr/bin | sort | uniq | less
# 打印行、字和字節數
ll /usr/bin | wc
# grep pattern [file] 打印匹配行,pattern是正則表達式
ll /usr/bin | sort | uniq | grep zip
# head和tail打印頭和尾 -n是行數 -f能夠監控這個文件,若是有添加就會顯示在屏幕上
ll /usr/bin | tail -n 5
ll /usr/bin | tee ls.txt | grep zip