目錄輸入的重定向使用
管道技術 |
引數傳遞xargs
重定向將原本要輸出到螢幕上的資料資訊,重新定向到指定的檔案中
執行程式,或者輸入乙個命令:預設開啟4個檔案描述符
標準輸入與輸出
名稱檔案描述符
作用標準輸入(stdin)
0通常鍵盤,也可以是其他檔案或者命令的輸出的內容可以作為標準輸入
標準輸出(stdout)
1預設輸出到螢幕
錯誤輸出(stderr)
2預設輸出到螢幕
檔名稱(filename)
3+
/dev/stderr(錯誤輸出) -> /proc/self/fd/2 2 -> /dev/pts/0
/dev/stdin(標準輸入) -> /proc/self/fd/0 0 -> /dev/pts/0
/dev/stdout(標準輸出) -> /proc/self/fd/1 1 -> /dev/pts/0
輸出重定向分類
1>:標準輸出重定向,將命令執行的正確結果輸出到指定的檔案或者裝置中
2>:錯誤輸出重定向
1>>:標準輸出追加重定向,將命令執行的正確結果追加輸出到檔案末尾
2>>:錯輸出追加重定向,將命令執行的錯誤結果追加輸出到檔案末尾
<< :標準輸入重定向,將鍵盤敲的內容,輸入到命令或者檔案中
輸出重定向的使用
#將正確的內容追加到檔案中,錯誤會輸出到螢幕(不會覆蓋原始檔)
echo "this is network conf" >> abc
#將錯誤的內容輸出到檔案中,正確的會輸出到螢幕(會覆蓋原始檔)
find /etc -name "*.conf" 2>b
find /etc -name "*.conf" 1>a 2>b
#合併輸出,錯誤的正確的內容都會輸出到乙個檔案(會覆蓋原始檔)
find /etc -name "*.conf" >c 2>&1
find /etc -name "*.conf" >c 2>c
find /etc -name "*.conf" &>c
#將錯誤輸出重定向到 『黑洞』,正確內容輸出到螢幕/dev/pts/x
ls /root/ /err 2>/dev/null
#將錯誤輸出重定向到 『黑洞』,正確內容輸出到1.txt檔案中
ls /root/ /err >1.txt 2>/dev/null
輸入的重定向使用
< :0<
<<:0<<
案例1:
cat >> zls.txt 20+0 records in
20+0 records out
20971520 bytes (21 mb) copied, 0.011896 s, 1.8 gb/s
案例5:
恢復mysql資料
[root@zls ~]# mysql -uroot -p123 < bbs.sql
案例6:利用重定向建立多行檔案
[root@oldboyedu ~]# cat >file1
案例7:
#!/bin/sh
menu()' /etc/passwd|sort -n
案例2:
統計當前/etc/passwd 中使用者使用的 shell 型別
[root@oldboyedu ~]# awk -f : '' /etc/passwd|sort |uniq|wc -l
5 [root@driver-zeng nginx]# awk '' driverzeng.com_access.log|sort |uniq -c|sort -nr|head -20
案例5:取出cpu已使用的百分比,只顯示數字
[root@oldboyedu ~]# df -h |awk -f '[ %]+' 'nr==2 '
4
tee:相當於管道符
[root@zls ~]# date > date.txt
[root@zls ~]# date |tee date.txt
將引數列表轉換成小塊分段傳遞給其他命令
讀入stdin
的資料轉換為引數新增至命令後面
讓一些不支援管道的命令可以使用管道。
注意:1.在管道後面的命令,都不應該在寫檔名
2.在管道中只有標準輸出才可以傳遞下乙個命令, 標準錯誤輸出會直接輸出終端顯示, 建議在使用管道前將標準錯誤輸出重定向。
例如: find /etc -name "*.conf" 2>/dev/null | grep rc
3.有些命令不支援管道技術, 但是可以通過xargs
來實現管道傳遞。
例如: which cat|xargs ls-l
例如: ls |xargs rm -rvf
例如: ls |xargs cp -rvft /tmp/ -> ls | xargs -i {} cp -rvf {} /tmp
例如: ls |xargs mv -t /tmp/ -> ls | xargs -i {} mv {} /tmp
Linux系統管理
程序是正在執行的乙個程式或命令,每乙個程序都有乙個執行的實體,都喲自己的位址空間,並占用一定的系統資源。盤點伺服器的健康狀態 檢視所有系統中所有程序 殺死程序 1.3.1 ps aux 檢視系統中所有程序,使用bsd作業系統格式 1.3.2 ps le 檢視系統中所有程序,使用linux標準命令格式...
Linux 系統管理
linux 系統管理 檢視資料夾大小 du sh 第1章 程序管理 1 1 程序檢視ps命令 1 2 程序的檢視top命令 1 3 殺死程序 1 4 修改程序優先順序 第2章工作管理 2 1 工作管理簡介 2 2 工作管理方法 把命令放到後台 如果想要程序在後台執行 必須不能與前台有互動 1 把程序...
linux 系統管理
正在執行的程式,任何程式執行都要耗費一定的系統資源 判斷伺服器健康狀態 檢視系統中所有程序 殺死程序 1 判斷程序健康狀態 top 選項 d 秒數 指定top命令每隔幾秒更新。預設是3秒 b 使用批處理模式輸出。一般和 n 選項合用 n 次數 指定top命令執行的次數。一般和 b 選項和用 在top...