最牛B的Linux Shell命令(一)__Linux

來源:互聯網
上載者:User

編者按


本文編譯自commandlinefu.com的系列文章Top Ten One-Liners from CommandLineFu Explained。作為一個由使用者推薦最有用shell命令的網站,其記錄了數以萬計的各色shell命令,其中不乏相當實用和有趣的,本文就要細數當中獲投票最高的一些命令,從其中取材並加以細釋,希望讀者能從中受益。

引言


Shell作為Unix系作業系統當中最有魅力且不可或缺的組件,經過數十載的洗禮不僅沒有被淘汰,而且愈加變得成熟穩健,究其原因,大概因為它是個非常穩固的粘合劑,能夠把大量功能強大的組件任意配搭,總能很好很快地完成使用者的任務。


本文的一些命令很可能看起來是“雕蟲小技”,我們只好仰慕一下Shell大牛了,但是有些細節我會稍加發掘加以說明,遇到有趣的地方希望能博您一笑了。

1.以sudo運行上條命令

1 $  sudo  !!

大家應該都知sudo,不解釋。但通常出現的情況是,敲完命令執行後報錯才發現忘了sudo。這時候,新手使用者就會:按上箭頭,按左箭頭,盯著游標回到開始處,輸入sudo,斷行符號;高手使用者就蛋定多了,按Ctrl-p,按Ctrl-a,輸入sudo,斷行符號。


這裡介紹這個是天外飛仙層級的,對,就直接sudo !!。


當然這幾種解決方式效果是完全一樣的,只是款不一樣,嗯,不解釋。


兩個驚嘆號其實是bash的一個特性,稱為事件引用符(event designators)。!!其實相當於!-1,引用前一條命令,當然也可以!-2,!-50。預設情況下bash會在~/.bash_history檔案內記錄使用者執行的最近500條命令,history命令可以顯示這些命令。


關於事件引用符的更多用法可以深入閱讀The Definitive Guide to Bash Command Line History。

2.以HTTP方式共用當前檔案夾的檔案

1 $ python -m SimpleHTTPServer

這命令啟動了Python的SimpleHTTPServer模組,考慮到Python在絕大多數的Linux發行版當中都預設安裝,所以這個命令很可能是最簡單的跨平台傳檔案的方法。


命令執行後將在本機8000連接埠開放HTTP服務,在其他能訪問原生機器的瀏覽器開啟ttp://ip:8000即開啟一個目錄列表,點擊即可下載。

3.在以普通使用者開啟的vim當中儲存一個root使用者檔案

1 :w ! sudo  tee  %

這題目讀起來糾結,其實是很常見的,常常忘記了sudo就直接用vim編輯/etc內的檔案,(不過也不一定,vim發現儲存的檔案無法儲存時候會提示)等編輯好了,儲存時候才發現沒許可權。曲線方法是先儲存個臨時檔案,退出後再sudo cp回去。不過實際上在vim裡面可以直接完成這個過程的,命令就是如此。


查閱vim的文檔(輸入:help :w),會提到命令:w!{cmd},讓vim執行一個外部命令{cmd},然後把當前緩衝區的內容從stdin傳入。


tee是一個把stdin儲存到檔案的小工具。


而%,是vim當中一個唯讀寄存器的名字,總儲存著當前編輯檔案的檔案路徑。


所以執行這個命令,就相當於從vim外部修改了當前編輯的檔案,好完工。

4.切換回上一個目錄


$ cd -

應該不少人都知道這個,橫杆-代表上一個目錄的路徑。


實際上cd -就是cd $OLDPWD的簡寫,bash的固定變數$OLDPWD總儲存著之前一個目錄的路徑。


相對地,$PWD總儲存著目前的目錄的路徑。這些變數在編寫shell指令碼時候相當有用。

5.替換上一條命令中的一個短語

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.