一、標準輸入和輸出及其重定向
1.標準輸入指的是來自鍵盤的輸入,通常用0來表示;標注輸出是默認輸出到當前終端窗口,用1來表示;標準錯誤輸出同樣默認輸出到當前終端窗口,用2來表示。除標準輸出之外,我們還可以通過重定向來更改默認的輸入和輸出方式。
2.標準輸出重定向用>來表示,可以將輸出內容重定向至其他終端或者文件,若重定向至文件,則當文件存在時覆蓋并寫入,文件不存在時創建并寫入,如圖所示:
標準錯誤輸出重定向可以用2>來表示,可以將錯誤的命令或者命令中有錯誤參數的標準錯誤輸出至其他終端或者文件,若重定向至文件,則當文件存在時覆蓋并寫入,文件不存在時創建并寫入,如圖所示:
標準輸入重定向是指將默認來自鍵盤的輸出重定向至某個已存在的文件,用文件中的內容作為這次輸入的內容,如圖所示:
另外,還可將標準輸出和標準錯誤輸出重定向至同一終端或者文件,用&>或者2>&1來表示,如下圖所示
注意:以上所有重定向輸出中,>表示標準輸出重定向至文件時追加內容不覆蓋原有內容,將>替換為>>表示標準錯誤輸出重定向至文件時追加內容不覆蓋原有內容。
二、tr命令
tr命令表示轉換或者刪除指定文件或輸入中的內容,將SET1中的字符轉換成SET2,如下圖所示。
當SET1與SET2的長度不同時,SET1長時,SET多余部分全部轉化為SET2中最后一個字符;SET2長時,多余部分忽略。如下圖所示:
-t 先將set1的內容截取為和set2相同,再進行轉化,如圖所示:
-d 刪除SET1中的字符,如圖所示:
-s 當SET1中的字符重復出現時只保留一個,如圖所示:
-c 取非SET1中的字符進行轉換,如圖所示
三、管道
管道用|作為分隔符,將分隔符左側命令的輸出作為分隔符右側命令的輸入來進行命令執行結果的傳遞,示例如下圖所示:
示例中使用了兩次管道,作用是先將輸出字符中的小寫全部轉化為大寫再進行部分轉化。
當管道分隔符左側命令執行錯誤時,可以通過&|或者2>&1|將其結果向右側命令傳送,示例如下圖所示:
這就是今天介紹的主要內容,重定向和管道在linux的 學習中是非常重要的內容,希望大家能多多練習,真正掌握起來。
原創文章,作者:snorlaxh,如若轉載,請注明出處:http://www.www58058.com/31786