為了工作需求省撑,好好補(bǔ)補(bǔ)自己的Linux基礎(chǔ)魄衅,鳥(niǎo)哥的書(shū)確實(shí)不錯(cuò)鳍寂。
- Shell
子進(jìn)程僅會(huì)繼承父進(jìn)程的環(huán)境(全局)變量蝗柔,而不會(huì)繼承自定義(局部)變量闻葵。 所以需要用到export 變量
才可以。
數(shù)組讀取需要:echo ${var[1]}
- "&&"的結(jié)合性高于"||",如下
ls /tmp/abc || echo "not exist" && echo "exit"
的結(jié)果是:
“如果/tmp/abc存在癣丧, 那么執(zhí)行后面的(echo "not exist" && echo "exit")”笙隙,則會(huì)同時(shí)輸出"exist"與"not exist" - 管道命令僅會(huì)處理standard output, 對(duì)于standard error output予以忽略
且管道后的命令必須可以接收前一個(gè)命令的結(jié)果。 - tee雙向重定向:既輸出文件坎缭,又輸出到命令行
-
^
符號(hào)在[]
的內(nèi)部與外部不一樣竟痰,在內(nèi)部:反向選擇,在外部:行首字符是后面掏呼。 - sed:刪除2~5行:
nl passwd | sed '2,5d'
截取5~7行:nl passwd | sed -n '2,5p'
(-n :安靜模式)
替換:sed 's/原字符/新字符/g'
- awk:
awk '條件類(lèi)型1{動(dòng)作1} 條件類(lèi)型2{動(dòng)作2} ...' filename
例如:last -n 5 | awk '{print $1 "\t lines: " NR "\t columns: " NF}'
:
(NR: 目前awk處理的“第幾行”的數(shù)據(jù)坏快; NF: 每一行($0)擁有的字段總數(shù);FS: 目前的分割字符憎夷,默認(rèn)是空格鍵)