我用过的,我正在用的,比较高效、好用的命令
生活随笔
收集整理的這篇文章主要介紹了
我用过的,我正在用的,比较高效、好用的命令
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
首先聲明,一般的命令就不入了。 1. $ ! (你沒(méi)看錯(cuò),就只是一個(gè)驚嘆號(hào)) 它可以這樣用"!!",這表示上一條命令,"!x",x為一個(gè)數(shù)字,例如"!345",執(zhí)行history表中第345條命令。 實(shí)用舉例:我執(zhí)行某條好長(zhǎng)的命令"ifconfig eth0 192.168.1.1",Enter后發(fā)現(xiàn)提示權(quán)限不夠要sudo,難道你會(huì)把光標(biāo)移動(dòng)到行首,然后加入sudo嗎?NO,你只需要輸入"sudo !!"即等于"sudo ifconfig eth0 192.168.1.1",就這樣神奇。 配合history來(lái)使用簡(jiǎn)直就是逆天。例如你想輸入一條記不清的很長(zhǎng)很長(zhǎng)的命令,但是你記得之前用過(guò),那就這樣吧,輸入"history | grep KEYWORD"這樣就會(huì)在檢索出該命令,然后你是不是考慮去用鼠標(biāo)復(fù)制那條命令,然后粘貼執(zhí)行?NO,你只需要輸入"!歷史編號(hào)",歷史編號(hào)就是那條命令左邊的序號(hào)。 2. $ mtr www.baidu.com tracert + ping 命令的組合式 3. $ :w !sudo tee % 注意看這條命令是[:w !sudo tee %],w和!之間有個(gè)空格的!!! 想象一下這種場(chǎng)景,一個(gè)已經(jīng)在vi中修改好了一個(gè)文件,但是$:w的時(shí)候卻發(fā)現(xiàn)沒(méi)有權(quán)限,或者readonly提示,此時(shí)難道放棄修改,退出去改完權(quán)限再回來(lái)?NO,請(qǐng)用上面這條命令。 在Vim中無(wú)需權(quán)限保存編輯的文件,輸入后會(huì)提示是否繼續(xù),還會(huì)提示此文件已經(jīng)更改,是否LOAD。 4. $ ^old^new 將上一條命令中的old改成new,然后執(zhí)行一次,這個(gè)簡(jiǎn)直是神技。用熟了以后才會(huì)感受到,開(kāi)始覺(jué)得變扭。 舉個(gè)例子吧,我想查找一個(gè)C標(biāo)準(zhǔn)函數(shù)在哪個(gè)頭文件里面聲明了,然后再include進(jìn)來(lái),解決我的報(bào)錯(cuò),于是我執(zhí)行:$ grep KEYWORD /usr/include -R,然后又想換個(gè)關(guān)鍵詞再查找,一般的做法是按鍵盤上,然后將光標(biāo)移動(dòng)到KEYWORD處,然后刪除KEYWORD,改成新的KEYWORD,再執(zhí)行。有了這條命令后,只需要執(zhí)行^old_KEYWORD^new_KEYWORD即可,相當(dāng)實(shí)用。 5. $ cd - 返回上一次的pwd,用慣了以后你將會(huì)強(qiáng)迫自己一次性cd到位,否則這條命令的效果會(huì)減少90%以上。 6.$ ls -h 不得不說(shuō),加個(gè)-h好多了,human readable,所以平常可以把ll映射成"ls -alh",即alias ll="ls -alh",在~/.bash_profile里面增加這行,再重啟terminal 7.$ Ctrl + d 作用是exit當(dāng)前的shell,假設(shè)你是用michael普通賬戶登陸,然后因?yàn)橛悬c(diǎn)事情要root權(quán)限,你su成了root,用完root了又用su michael回到michael,然后按↑鍵,發(fā)現(xiàn)在michael時(shí)執(zhí)行的命令記錄不見(jiàn)了,為什么呢? 實(shí)事是這樣的,你現(xiàn)在的shell是基于michael->root->michael,而不是michael,此時(shí)你需要Ctrl + d,退回到michael->root,再Ctrl + d,退回到michael,再按↑鍵,是不是看到之前的命令了。 8.$ \cp file1 file2 注意,cp前面加了一個(gè)反斜杠,它的作用就是無(wú)論cp命令被alias成了什么,我總是調(diào)用/bin/cp。 它的好處在于,如果某個(gè)系統(tǒng)中cp被alias成了alias cp="/bin/cp -i",哪怕你用cp -f命令,也會(huì)被翻譯成/bin/cp -i -f,還是會(huì)prompt你,那可真煩躁。但是有了反斜杠之后,一切迎刃而解! 9.$ Control + Insert 或者 Shift + Insert 和Control + C 或者 Control + V對(duì)應(yīng),也是復(fù)制,粘貼的意思。 但是前者不管是Linux的終端,串口,Windows文本框,都兼容! 從兼容性來(lái)看,使用前者較好,但由于后者更方便,Only左手皆可完成,且右手可不離開(kāi)鼠標(biāo)。 10.$ readelf 可以用這個(gè)命令來(lái)查看二進(jìn)制文件的一些詳細(xì)內(nèi)容,例如libxxx.a這個(gè)庫(kù)是哪種架構(gòu)CPU的目標(biāo)代碼,readelf -a ./libxxx.a | grep machine -i。 更多的細(xì)節(jié),應(yīng)該親自嘗試比 11.$ fuser + dir or file 比如要umount某個(gè)設(shè)備,卻被提示the device is busy.無(wú)法umount,那么使用fuser來(lái)查看該device的目錄,即可找出是哪些服務(wù)或者進(jìn)程在使用該目錄或者該目錄下的文件。例如:使用fuser /media會(huì)顯示涉及到該/media目錄的進(jìn)程號(hào),然后利用ps -ef | grep 進(jìn)程號(hào),來(lái)查看到底是哪些進(jìn)程在使用,加-k選項(xiàng)可以殺掉那些進(jìn)程fuser -k /media,之后即可umount該device。轉(zhuǎn)載于:https://my.oschina.net/michaelyuanyuan/blog/68611
與50位技術(shù)專家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的我用过的,我正在用的,比较高效、好用的命令的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: rdcl 报表设置不分页
- 下一篇: 【转】闲聊Kernel engineer