基礎命令(二)

date -s “2018-4-3”

1、file ,檢查文件的類型
   file [options] <filename>...
   常用選項:
   -b,顯示檢查文件類型結果時,不顯示文件名稱
---->file  /etc/fstab
L3L2S9YMVQ4`4M4MTB3W}5D
    -F,指定分隔符代替輸出文件名后默認的:分隔符
---->file -F /etc/fstab
L2G8K6``[6J9F)G{BKN`WDM
    -L,查看軟鏈接文件對應文件的文件類型
---->file -L /etc/rc5.d/S02sudo
32X]PPY6N7QD44JMSYVE016
另:查看鏈接文件的源文件命令readlink
---->readlink /etc/rc5.d/S02sudo
(5E7H(K_$26D7[_9PQI1)RT
2、文件描述符File Description,fd
2.1 linux中文件打開都存在一個文件描述符,查看打開文件設備列表
---->ll /proc/$$/fd
9AMQ`@Y_K}(1NDEY8S@XZE8
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
WU5SRKL]AJ[GM%{TCTYO
注:>重定向文件會被覆蓋,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默認的換行符,為了美觀,我們經常會加上換行符
9[~E87XROT(_UFGL9J6839U
    -s --squeeze-repeats:把連續重復的字符以單獨一個字符表示,此命令可以處理一些命令結果,得到需要的數據
---->df -h |tr -s '' ':' 
%XPVB49O4{{V%}V2]{F_R{J
    -t --truncate-set1:將第一個字符集對應字符轉化為第二字符集對應的字符,前后轉換字符長度對應相同
---->echo abc |tr -t 'abc' 'xy'
DO4IYIHN{4BD72BUS]82ACA
注:通過管道向tr傳來的結果一定是標準輸出結果
---->ls /boot /error |tr 'a-z' 'A-Z'
`$}]V1H`_P}2WX`FBZE8PDD
這里錯誤輸出結果的字符沒有轉換
---->ls /boot /error 2>&1 |tr 'a-z' 'A-Z' or ls /boot /error |& tr 'a-z' 'A-Z'(|&屬于新寫法,centos6以前不能識別)
6O)8KIXK~H4HC8]$NY@`]KD
此時,錯誤輸出結果也被轉換,有時我們也可以通過tr方便實現一些運算
---->echo {1..100} |tr ' ' '+' |bc
EH9W[3KX%F$XBQ24H}}CQ9A
6、取隨機數
---->openssl rand -base64 num,num為取隨機數位數
J18F6RYJADDHZWRT)%][]QA
如果需要輸出的隨機數只是[:alnum:](數字和字母),可以通過上面tr命令處理
---->openssl rand -base64 12 |tr -dc 'a-zA-Z0-9\n'
8V6@%PIX2_AROD[Y4}NIDVB
7、cat重定向的特殊用法,使用“<<終止詞”命令從鍵盤把多行重導向給STDIN直到終止詞位置的所有文本都發送給STDIN,有時被稱為就地文本(heretext)?
7.1 有時需要向配置文件加入內容時,我們可以不用打開文件
---->cat << EOF >> /data/yum.resource.repo
H(I8M{K~@R4%LAN}[W_RCYC
7.2 如果需要向一個空文件或者不存在文件中寫入內容
---->cat > file_not.exist,寫入輸入內容回車后,ctrl+d就可以實現
N4OGT]]CTHHJW6V$]M6MBHA
8、tee
   命令1 | tee [-a ] 文件名 | 命令2:把命令1的STDOUT保存在文件中,做為命令2的輸入 
   -a 追加 
---->ls /boot |tee -a f1 | tr 'a-z' 'A-Z'
X`[%N8@Y)4XXLZLDOA_UZGI

 

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/94809

(0)
parrotparrot
上一篇 2018-04-03
下一篇 2018-04-03

相關推薦

欧美性久久久久