//多條命令之間以“;”間隔,就組成組合命令,依次執(zhí)行l(wèi)inux常用命令,上條語句執(zhí)行成功與否不影響下個語句的執(zhí)行。哦嗯
//如果使用“&&”代替“;”linux常用命令,在上條語句執(zhí)行成功的前提下才能執(zhí)行下條命令
//當用“||”代替“;”時,上條命令執(zhí)行失敗時才能執(zhí)行下條語句
[ftt@localhost pictures]$ ls
cat.log copy.jpg p2.jpg test
[ftt@localhost pictures]$ rm copy.jpg;cp p2.jpg new.jpg
[ftt@localhost pictures]$ ls
cat.log new.jpg p2.jpg test
[ftt@localhost pictures]$ rm copy.jpg && cp p2.jpg p2.jpg
rm: 無法刪除"copy.jpg": 沒有那個文件或目錄
[ftt@localhost pictures]$ cp sctq.log dog.log || rm new.jpg
cp: 無法獲取"sctq.log" 的文件狀態(tài)(stat): 沒有那個文件或目錄
[ftt@localhost pictures]$ ls
cat.log p2.jpg test
//防止定向時覆蓋文件
set -o noclobber //開啟noclobber,不允許覆蓋已經存在的文件
set +0noclobber //關閉noclobber
[ftt@localhost pictures]$ ls -1F cat.log > cat.txt
[ftt@localhost pictures]$ ls
2018-06-29 cat.log cat.txt p2.jpg test
[ftt@localhost pictures]$ ls -F
2018-06-29/ cat.log cat.txt p2.jpg test/
[ftt@localhost pictures]$ set -o noclobber
[ftt@localhost pictures]$ ls cat.log>cat.txt
bash: cat.txt: 無法覆蓋已存在的文件
//用“>>"代替">"把輸出追加到文件中,如過文件不存在,則創(chuàng)建一個新的文件
//“|”可以把一個命令的輸出用作另一條命令的輸入
ls -1 | less
//將文件用作命令的輸入
cat commands.txt
tr 'A-Z' 'a-z' < commands.txt
stdin :標準輸入,鍵盤;stdout:標準輸出,顯示器; stderr:終端上顯示的錯誤
[ftt@localhost pictures]$ cat cat.txt //連接cat.tx文件,并輸出內容
[command] <file> [output]
[ftt@localhost pictures]$ tr 'A-Z' 'a-z' <cat.txt>catlower.txt //把cat.txt內大寫變小寫,同時輸出為文件catlower.txt
//將輸出同時發(fā)送到文件和stdout
[ftt@localhost pictures]$ ls -1 /home/ftt | tee new.txt