五個不容錯過的Linux命令行技巧

高效地使用命令行是一個Linux系統管理員技能的重要組成部分。在本文中,我們提供了五個很酷甚至略顯古怪的Linux命令行技巧,可以幫你更有效地管理你的Linux系統。

 

高效地使用命令行是一個Linux系統管理員技能的重要組成部分。在本文中,我們提供了五個很酷甚至略顯古怪的Linux命令行技巧,可以幫你更有效地管理你的Linux系統。

More=Less

在Linux上讀取文件通常會涉及到more和less命令。more命令從前向後讀取文件,因此在啓動時就加載整個文件。less命令則允許在文件中前向或後向移動,加載時只讀取文件的下一部分。爲了節約時間,一個有用的技巧便是將less命令建立別名爲more:


$ alias more=less

把這一條加入你的.bashrc或者.bash_profile文件中,使之成爲永久性的別名。

less命令使用方便,向前滾動就像more命令一樣,可以通過敲擊空格鍵或f鍵來完成。使用一次b鍵則可以向後滾動一屏。(在less命令的幫助頁面你還可以看到更多的命令選項。)

另一個輸出文件內容的命令是cat命令,該命令將整個文件的內容從上到下顯示在屏幕上。許多人不知道cat命令還有一個姐妹命令tac。正如你想象 的那樣,tac命令也會顯示整個文件的內容,但是順序相反,是從下至上。這個命令在讀取一個日誌文件或其它受關注輸出在文件底部的事情時很有用

shuf命令用處不那麼大,但卻很有意思,能夠打亂輸入數據的順序。試試運行:


$ shuf filename

它將以隨機的順序返回文件內容。

沒人能看到你的屏幕

在同一臺服務器上建立了多個SSH會話?你不該這麼做。打開多個SSH會話不僅浪費計算機資源,而且還不方便管理。尤其是當你使用窗口管理器 (Window Manager)或是Putty之類包含多個終端並能迅速佔據獨立屏幕位置的工具時,尤其如此。更好的選擇是使用screen或者tmux之類的工具,允 許你在一個SSH會話中建立多個終端。

screen命令很容易使用。首先,你需要確保你已經安裝了screen程序。在Red Hat和Ubuntu主機上你需要安裝screen程序包,命令是:


$ sudo yum install screen

然後在終端會話中鍵入:


$ screen

看起來像什麼事都沒發生,對吧?那你就錯了。鍵入一個命令,如top,那麼你將看到系統內正在運行的進程。現在鍵入Ctrl-a-c(按住Ctrl 鍵,然後敲a,然後再敲c),一個新的終端窗口會彈出來。你的舊窗口仍然可用。實際上你可以通過Ctrl-a-p回到前一個窗口,你還可以通過Ctrl- a- a在窗口之間循環。或者你還可以通過序號來選擇窗口,根據創建的順序,每個窗口序號不同,第一個窗口是Ctrl-a-0,然後是Ctrl-a-1,依次增 加。你可以通過不斷按下Ctrl-a-c來創建更多的窗口,在命令行裏鍵入exit就可以退出窗口。當退出最後一個窗口時,整個會話也將退出。

關於屏幕最好玩的事就是你可以保留當前的屏幕,並隨時回到這個狀態。鍵入Ctrl-a-d,保留屏幕,然後你可以返回到最初運行screen命令的那個窗口。隨後你可以退出主機。當你再次登錄時,你可以運行:


$ screen -r

你的會話會重新開始,並且所有之前的終端都將可用(前提是沒人關閉screen進程或重啓主機)。你可以在Screen的幫助頁面找到更多有用的信息。

另一種screen的替代工具是Tmux,它功能更強大使用更復雜,對多用戶共享屏幕非常有用。一個常見的應用就是遠程雙人共同編程。

HTTP服務器:當你馬上需要一個Web服務器時!

當你需要快速傳遞文件時,最簡單的方法之一就是通過HTTP服務器。我常常通過命令行快速地建立一個Ruby Web服務器:


$ ruby -rwebrick -e'WEBrick::HTTPServer.new(:Port => 3125, :DocumentRoot => Dir.pwd).start'

這會在3125端口爲當前目錄開啓HTTP服務:


http://your.server.com:3125

你還可以使用Python完成同樣的事:


$ python -m SimpleHTTPServer

這將在8000端口爲當前目錄開啓HTTP服務。(你需要通過防火牆打開這兩個端口。)

記住這一點很重要,任何人都可以從你的服務器上下載文件,所以一定要確保你知道自己對外提供了哪些文件,別把你不想與他人分享的東西也貢獻出去。

更好的進程顯示工具:pgrep

你可能經常發現自己會鍵入這樣的命令:


$ ps -A | grep ‘ruby’

1680 ? 00:05:45 ruby

30250 ? 00:06:39 ruby

但還有一個更簡單的方法可以顯示進程,並且不需要調用ps命令的輸出管道:pgrep。


$ pgrep -l ruby

1680 ruby

30250 ruby

你還可以查詢某個特定用戶運行的進程,如:


$ pgrep -u root

這會顯示所有root運行的進程。

最後你還可以使用一些grep式的查詢技巧:


$ pgrep -lv `whoami`

這條命令會列出所有不屬於你的用戶進程(就像在grep命令中一樣,-v選項表示排除)。

拼寫錯誤

你可能知道aspell(或者ispell)庫可以允許你在Linux上進行拼寫檢查。但你還能獨立運行aspell命令,或者集成到其它應用程序中。例如,從命令行對一個文件進行拼寫檢查,你可以這樣運行aspell:


$ aspell -c filename.txt

這條命令會啓動一個交互式的拼寫檢查程序,你可以檢查和更新文件中任何的拼寫錯誤。

但有時你只是想知道某個單詞該怎麼拼,這時你需要look命令,它是命令行裏一個好用的拼寫檢查工具。鍵入look,以及你想要拼寫的單詞的一部分,例如:


$ look vendo

就會返回一個以vendo開頭的單詞列表。

原文鏈接:http://www.searchsv.com.cn/showcontent_45888.htm?lg=t

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章