我已經用了十年的Linux了,通過今天這篇文章我將向大家展示一系列的命令、工具和技巧,我希望一開始就有人告訴我這些,而不是曾在我成長道路上絆住我。
1. 命令行日常系快捷鍵
如下的快捷方式非常有用,能夠極大的提升你的工作效率:
CTRL + U - 剪切光標前的內容
CTRL + K - 剪切光標至行末的內容
CTRL + Y - 粘貼
CTRL + E - 移動光標到行末
CTRL + A - 移動光標到行首
ALT + F - 跳向下一個空格
ALT + B - 跳回上一個空格
ALT + Backspace - 刪除前一個單詞
CTRL + W - 剪切光標前一個單詞
Shift + Insert - 向終端內粘貼文本
那麼為了讓上述內容更易理解來看下面的這行命令。
sudo apt-get intall programname
如你所見,命令中存在拼寫錯誤,為了正常執行需要把“intall”替換成“install”。
想象現在光標正在行末,我們有很多的方法將她退回單詞install並替換它。
我可以按兩次ALT+B這樣光標就會在如下的位置(這裡用指代光標的位置)。
sudo apt-get^intall programname
現在你可以按兩下方向鍵並將“s”插入到install中去了。
如果你想將浏覽器中的文本復制到終端,可以使用快捷鍵"shift + insert"。
2. SUDO !!
如果你還不知道這個命令,我覺得你應該好好感謝我,因為如果你不知道的話,那每次你在輸入長串命令後看到“permission denied”後一定會痛苦不堪。
sudo !!
如何使用sudo !!?很簡單。試想你剛輸入了如下命令:
apt-get install ranger
一定會出現“Permission denied”,除非你已經登錄了足夠高權限的賬戶。
sudo !! 就會用 sudo 的形式運行上一條命令。所以上一條命令就變成了這樣:
sudo apt-get install ranger
如果你不知道什麼是sudo,戳這裡。
3. 暫停並在後台運行命令
我曾經寫過一篇如何在終端後台運行命令的指南。
CTRL + Z - 暫停應用程序
fg - 重新將程序喚到前台
如何使用這個技巧呢?
試想你正用nano編輯一個文件:
sudo nano abc.txt
文件編輯到一半你意識到你需要馬上在終端輸入些命令,但是nano在前台運行讓你不能輸入。
你可能覺得唯一的方法就是保存文件,退出 nano,運行命令以後在重新打開nano。
其實你只要按CTRL + Z,前台的命令就會暫停,畫面就切回到命令行了。然後你就能運行你想要運行命令,等命令運行完後在終端窗口輸入“fg”就可以回到先前暫停的任務。
有一個嘗試非常有趣就是用nano打開文件,輸入一些東西然後暫停會話。再用nano打開另一個文件,輸入一些什麼後再暫停會話。如果你輸入“fg”你將回到第二個用nano打開的文件。只有退出nano再輸入“fg”,你才會回到第一個用nano打開的文件。
4. 使用nohup在登出SSH會話後仍運行命令
如果你用ssh登錄別的機器時,nohup命令真的非常有用。
那麼怎麼使用nohup呢?
想象一下你使用ssh遠程登錄到另一台電腦上,你運行了一條非常耗時的命令然後退出了ssh會話,不過命令仍在執行。而nohup可以將這一場景變成現實。
舉個例子,因為測試的需要,我用我的樹莓派來下載發行版。我絕對不會給我的樹莓派外接顯示器、鍵盤或鼠標。
一般我總是用SSH從筆記本電腦連接到樹莓派。如果我在不用nohup的情況下使用樹莓派下載大型文件,那我就必須等待到下載完成後,才能登出ssh會話關掉筆記本。可如果是這樣,那我為什麼要使用樹莓派下文件呢?
使用nohup的方法也很簡單,只需如下例中在nohup後輸入要執行的命令即可:
nohup wget http://mirror.is.co.za/mirrors/linuxmint.com/iso//stable/17.1/linuxmint-17.1-cinnamon-64bit.iso &
5. ‘在’特定的時間運行Linux命令
‘nohup’命令在你用SSH連接到服務器,並在上面保持執行SSH登出前任務的時候十分有用。
想一下如果你需要在特定的時間執行相同的命令,這種情況該怎麼辦呢?
命令‘at’就能妥善解決這一情況。以下是‘at’使用示例。
at 10:38 PM Fri
at> cowsay 'hello'
at> CTRL + D
上面的命令能在周五下午10時38分運行程序cowsay。
使用的語法就是‘at’後追加日期時間。當at>提示符出現後就可以輸入你想在那個時間運行的命令了。
CTRL + D 返回終端。
還有許多日期和時間的格式,都需要你好好翻一翻‘at’的man手冊來找到更多的使用方式。
6. Man手冊
Man手冊會為你列出命令和參數的使用大綱,教你如何使用她們。Man手冊看起來沉悶呆板。(我思忖她們也不是被設計來娛樂我們的)。
不過這不代表你不能做些什麼來使她們變得漂亮些。
export PAGER=most
你需要安裝 ‘most’;她會使你的你的man手冊的色彩更加絢麗。
你可以用以下命令給man手冊設定指定的行長:
export MANWIDTH=80
最後,如果你有一個可用的浏覽器,你可以使用-H在默認浏覽器中打開任意的man頁。
man -H
注意啦,以上的命令只有在你將默認的浏覽器設置到環境變量$BROWSER中了之後才效果喲。
7. 使用htop查看和管理進程
你用哪個命令找出電腦上正在運行的進程的呢?我敢打賭是‘ps’並在其後加不同的參數來得到你所想要的不同輸出。
安裝‘htop’吧!絕對讓你相見恨晚。
htop在終端中將進程以列表的方式呈現,有點類似於Windows中的任務管理器。你可以使用功能鍵的組合來切換排列的方式和展示出來的項。你也可以在htop中直接殺死進程。
在終端中簡單的輸入htop即可運行。
htop
8. 使用ranger浏覽文件系統
如果說htop是命令行進程控制的好幫手,那麼ranger就是命令行浏覽文件系統的好幫手。
你在用之前可能需要先安裝,不過一旦安裝了以後就可以在命令行輸入以下命令啟動她:
ranger
在命令行窗口中ranger和一些別的文件管理器很像,但是相比上下結構布局,她是左右結構的,這意味著你按左方向鍵你將前進到上一個文件夾,而右方向鍵則會切換到下一個。
在使用前ranger的man手冊還是值得一讀的,這樣你就可以用快捷鍵操作ranger了。
9. 取消關機
無論是在命令行還是圖形用戶界面關機後,才發現自己不是真的想要關機。
shutdown -c
需要注意的是,如果關機已經開始則有可能來不及停止關機。
以下是另一個可以嘗試命令:
pkill shutdown
10. 殺死掛起進程的簡單方法
想象一下,你正在運行的應用程序不明原因的僵死了。
你可以使用‘ps -ef’來找到該進程後殺掉或者使用‘htop’。
有一個更快、更容易的命令叫做xkill。
簡單的在終端中輸入以下命令並在窗口中點擊你想殺死的應用程序。
xkill
那如果整個系統掛掉了怎麼辦呢?
按住鍵盤上的‘alt’和‘sysrq’不放,然後慢慢輸入以下鍵:
REISUB
這樣不按電源鍵你的計算機也能重啟了。
11. 下載Youtube視頻
一般來說我們大多數人都喜歡看Youtube的視頻,也會通過鐘愛的播放器播放Youtube的流媒體。
如果你需要離線一段時間(比如:從蘇格蘭南部坐飛機到英格蘭南部旅游的這段時間)那麼你可能希望下載一些視頻到存儲設備中,到閒暇時觀看。
你所要做的就是從包管理器中安裝youtube-dl。
你可以用以下命令使用youtube-dl:
youtube-dl url-to-video
你可以在Youtubu視頻頁面點擊分享鏈接得到視頻的url。只要簡單的復制鏈接在粘帖到命令行就行了(要用shift + insert快捷鍵喲)。
總結
希望你在這篇文章中得到幫助,並且在這11條中找到至少一條讓你驚歎“原來可以這樣”的技巧。