1、file ,檢查文件的類型 file [options] <filename>... 常用選項: -b,顯示檢查文件類型結果時,不顯示文件名稱 ---->file /etc/fstab-F,指定分隔符代替輸出文件名后默認的:分隔符 ---->file -F /etc/fstab
-L,查看軟鏈接文件對應文件的文件類型 ---->file -L /etc/rc5.d/S02sudo
另:查看鏈接文件的源文件命令readlink ---->readlink /etc/rc5.d/S02sudo
2、文件描述符File Description,fd 2.1 linux中文件打開都存在一個文件描述符,查看打開文件設備列表 ---->ll /proc/$$/fd
2.2 手動設定打開文件的描述符 ---->exec 254 <>/data/test.fd 2.3 刪除設定的描述符 ---->exec 254 >&- 3、輸出、輸入重定向 3.1 標準輸入(STDIN)-0 默認接受來自鍵盤的輸入 標準輸出(STDOUT)-1 默認輸出到終端窗口 標準錯誤(STDERR)-2 默認輸出到終端窗口? 3.2 I/O重定向:改變默認位置 > 把STDOUT重定向到文件 2> 把STDERR重定向到文件 &> 把所有輸出重定向到文件 >> 原有內容基礎上,追加內容 2> 覆蓋重定向錯誤輸出數據流 2>> 追加重定向錯誤輸出數據流 ---->ls /data /error >all.log 2>zero.log
注:>重定向文件會被覆蓋,set -C禁止將內容覆蓋已存在文件,但可追加;set +C允許覆蓋 4、tr,轉換和刪除字符 tr [OPTION]... SET1 [SET2] -c –C --complement:取第一個字集的補集, -d --delete:刪除所有屬于第一字符集的字符,-d,-c經常一起使用,表示刪除第一個字符集外所有字符 ---->tr -dc 'abc\n' <fstab,\n表示換行符,tr -dc一起使用會刪除linux默認的換行符,為了美觀,我們經常會加上換行符
-s --squeeze-repeats:把連續重復的字符以單獨一個字符表示,此命令可以處理一些命令結果,得到需要的數據 ---->df -h |tr -s '' ':'
-t --truncate-set1:將第一個字符集對應字符轉化為第二字符集對應的字符,前后轉換字符長度對應相同 ---->echo abc |tr -t 'abc' 'xy'
注:通過管道向tr傳來的結果一定是標準輸出結果 ---->ls /boot /error |tr 'a-z' 'A-Z'
這里錯誤輸出結果的字符沒有轉換 ---->ls /boot /error 2>&1 |tr 'a-z' 'A-Z' or ls /boot /error |& tr 'a-z' 'A-Z'(|&屬于新寫法,centos6以前不能識別)
此時,錯誤輸出結果也被轉換,有時我們也可以通過tr方便實現一些運算 ---->echo {1..100} |tr ' ' '+' |bc
6、取隨機數 ---->openssl rand -base64 num,num為取隨機數位數
如果需要輸出的隨機數只是[:alnum:](數字和字母),可以通過上面tr命令處理 ---->openssl rand -base64 12 |tr -dc 'a-zA-Z0-9\n'
7、cat重定向的特殊用法,使用“<<終止詞”命令從鍵盤把多行重導向給STDIN直到終止詞位置的所有文本都發送給STDIN,有時被稱為就地文本(heretext)? 7.1 有時需要向配置文件加入內容時,我們可以不用打開文件 ---->cat << EOF >> /data/yum.resource.repo
7.2 如果需要向一個空文件或者不存在文件中寫入內容 ---->cat > file_not.exist,寫入輸入內容回車后,ctrl+d就可以實現
8、tee 命令1 | tee [-a ] 文件名 | 命令2:把命令1的STDOUT保存在文件中,做為命令2的輸入 -a 追加 ---->ls /boot |tee -a f1 | tr 'a-z' 'A-Z'
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/94809