當程式ps不顯示路徑可使用檢視編號的方式查詢真實路徑:
進入相應編號檔案用ll檢視即可看到口令對應的路徑
shell也屬於乙個程式,每個shell視窗都對應乙個編號
echo $$ 檢視當前所在shell的編號
ll /proc/$$/fd (fd 裝置)
ll /dev/st* (預設情況下最後對應的都是終端視窗)
重定向 redirect
標準輸出
格式: 命令 操作符號 檔名
1> 或》 把輸出stdout重定向檔案(可重定向裝置終端,檔案可新建立檔案)
2> 把stderr重定向到檔案
&> 把所有的輸出重定向到檔案
如果檔案已經存在,檔案內容會被覆蓋
touch和》 建立新檔案的區別:
touch 新建檔案不會覆蓋以前檔案資訊
> 新建檔案會將以前檔案資訊覆蓋,清零檔案
cat /dev/null > 檔案 清空檔案
echo命令本身有換行位元組
如果錯誤重定向的是提示,只是提示被重定向隱藏了,還可以繼續操作。
ls /data /err(標準輸出和錯誤輸出都有)
ls /data/err >/data/stdout.log 2> /data/stderr.log (分別輸出到兩個檔案)
ls /data /err &> /data/all.log (資訊全部輸出到乙個檔案)
ls /data /err > /data/all.log 2>&1
>> 追加內容,不覆蓋原檔案內容(2>> 追加stderr重定向到檔案)
( ) 合併多個命令的輸出
(ls ;hostname)
(區別,花括號每個命令後邊都要帶分號)
管道符|
seq 1 10 生成數字序列1-10
seq -s+ 1 10 生成數字1+..+10
seq -s+ 1 10 | bc
管道符只支援標準輸出,不支援標準錯誤的輸出,可利用2>&1 或|&實現
ls /data /err 2>&1 | tr 'a-z' 'a-z'
ls /data /err |& tr 'a-z' 'a-z'
標準輸入
<
tr 標準輸入 轉換和刪除字元
tr 『135』 『abc』 把135轉換成abc
tr 『123』 『abcd』 d沒有對應關係,不會轉換
tr 『1234』 『abc』 4沒有對應關係,用最後字母c代替轉換
tr -t 『1234』 『abc』 不用最後字元做轉換,只轉換對應字元
tr 『a-z』 『a-z』
tr '[:lower:]' '[:upper:]'
tr -d 刪除屬於第一字元的字符集
tr -s 連續多個字元進行壓縮,成乙個字元
tr -t 將第乙個字符集對應的字元轉化為第二個字符集對應的字元
tr -c 取字符集的補集
tr -dc 刪除除了選取得字元
ll /dev/urandom (隨機字元檔案)
tr -dc '[:alnum:]' < /dev/urandom (刪除除了字母和數字之外的字元)
例echo | tr ' ' +|bc
echo | tr ' ' '\n'^c
hexdump -c win.txt (轉換格式)
tr -d '\015' < win.txt > linux.txt (\015 代表回車 \r)
tr '\n' '\n\r' win2.txt (\012 代表換行 \n)
2&>1 :
1&>2 : 將標準錯誤歸到標準輸出
rev 字串倒過來輸出
echo "fbi waring" |rev rev 字元實現串倒過來輸出
面試:四個重定向方式有錯誤?
tee 命令 可以重定向多個目標
可以同時檢視和記錄輸出
複雜管道的故障排除
tee -a 追加字串
passwd 修改口令
passwd 使用者名稱(互動式)輸兩次口令
passwd --stdin 使用者名稱 修改讀取口令(用於管道)
echo 口令 |passwd --stdin 使用者名稱
I O重定向和管道
輸入輸出重定向和管道是程序間的一種特殊方式。unix程序使用標準的檔案描述符,0 stdin 1 stdout 2 stderr 當程序請求乙個新的檔案描述符的時候,系統核心將最低可用的檔案描述符給它。通常情況下這三個檔案描述符是開啟著的。一 i o重定向 在linux中,我們通過shell與系統互...
管道和I O重定向
i o重定向 i o redirection 0標準輸入 1標準輸出 2標準錯誤 輸出重定向 覆蓋,追加 root localhost date 1 date.txt root localhost date date.txt root localhost ls home aaaaaaaaa list...
I O重定向和管道
i o重定向 是將預設輸出 輸出和錯誤對應的裝置改變,指向新的目標 linux給程式提供三種i o裝置 標準輸入 stdin 0 預設接受來自終端視窗的輸入 標準輸出 stdout 1 預設輸出到終端視窗 標準錯誤 stderr 2 預設輸出到終端視窗 標準輸出和錯誤重定向 重定向到檔案比如 ech...