每位新人必須掌握的五大Linux終端命令
譯文【51CTO.com快譯】有時候,我們不可避免地要使用終端,但它絕對沒有大家想象中那么可怕。
Tux,Linux吉祥物
我個人是《新世紀福音戰(zhàn)士》的鐵粉,因此這里引用一句臺詞:“人們畏懼黑暗,因此努力在其中刻畫火焰的輪廓。”對于很多Linux新人來說,終端那陰沉的屏幕同樣是種黑暗——因此人們拼命利用GUI加以替代。
雖然圖形化用戶界面確實代表著現(xiàn)代計算友好的一面,且在多數(shù)情況下更易于使用。然而,有時命令行仍然擁有它的獨特優(yōu)勢。只要擁有一些基本知識,大家就能夠在用戶界面無法啟動或者需要進行維護時,運用命令行這一利器輕松解決問題。
對于初學者,只要掌握以下五條命令,即可輕松玩轉(zhuǎn)Linux。
1. sudo
如果說命令也分階級的話,那么最值得尊重的無疑是sudo。Sudo的作用非常簡單:它將以超級用戶(或者root)權限運行任何命令。無論是更新系統(tǒng)還是變更配置文件,配合sudo運行命令都是必不可少的。
由于/mnt從屬于root,因此大家需要利用sudo方可在/mnt中創(chuàng)建目錄。
Sudo還允許用戶破壞系統(tǒng)或者查看其他用戶的隱私。正因為如此,在初次使用sudo時,系統(tǒng)會給出以下提示:
我們相信您已經(jīng)從本地系統(tǒng)管理員處獲得了常規(guī)指導。具體內(nèi)容通常歸結(jié)為以下三點:
(1)尊重他人隱私。
(2)輸入前,再三斟酌。
(3)能力越大,責任越大。
如果大家希望在自有用戶的主目錄之外編輯或者修改任何文件,那么往往需要使用sudo。要使用sudo,您的用戶需要位于sudoers文件內(nèi)或者作為超級用戶群組(通常為‘wheel’或者‘sudo’)中的一員。
上圖為一個典型的sudoers文件內(nèi)容,其中指定了允許執(zhí)行root訪問的各組。請注意,不要為無需密碼的用戶或者分組分配sudo訪問權限。
由于sudo能量巨大,因此如果不清楚命令的具體作用,千萬不要隨意添加sudo??赡芎芏嗯笥讯悸犝f過sudorm–R /這條惡作劇命令,它會以遞歸方式刪除系統(tǒng)上的每一個文件,且操作系統(tǒng)不會額外進行任何提示。所以正如之前提到,“輸入前再三斟酌。”
2.軟件包管理器工具(yum、apt或者pacman)
使用sudo的頭號理由就是需要通過軟件包管理器向PC內(nèi)添加或者刪除程序。盡管這里提到的三大主要軟件包管理器各自擁有不同的命令參數(shù)與語法,但它們都能夠?qū)崿F(xiàn)同樣的三項基本功能:安裝軟件包、刪除軟件包、升級系統(tǒng)上所有軟件包。(注意:除非您以root用戶登錄,否則您需要添加sudo以運行這些命令。)
在Arch Linux上利用pacman進行系統(tǒng)升級。請注意,在pacman命令前使用sudo。
- yum (紅帽/Fedora/CentOS)
安裝軟件包:
- yum install <package>
移除軟件包:
- yum remove <package>
升級系統(tǒng):
- yum update
- apt (Debian/Ubuntu/Mint)
安裝軟件包:
- apt install <package>
移除軟件包:
- apt remove <package>
升級系統(tǒng):
- apt update
- apt upgrade
- pacman (Arch/Manjaro)
安裝軟件包:
- pacman -S <package>
移除軟件包:
- pacman -R <package>
升級系統(tǒng):
- pacman -Syu
各軟件包管理器的功能當然不止于此,不過這里列出的是大家最為常用的三項功能。無論您選擇哪一種Linux發(fā)行版,都應該能夠熟練掌握軟件包管理器的使用方式,并了解在哪里可以找到說明文檔。
3. systemctl (Systemd)
長久以來,Linux中的后臺程序——即守護程序——會使用一系列名為initscripts的腳本。對于新人,initscript往往難于閱讀以及解釋或者修改。最近,initscript已經(jīng)被一項名為Systemd的服務管理應用所取代。如果大家使用的是較新的Linux發(fā)行版,那么正合適了解如何利用Systemd啟動您需要的服務。
在引導時禁用及重新啟用NetworkManager服務
能夠利用Systemd實現(xiàn)的功能多種多樣(Unix程序則通常只專注于一項功能,并把它做到***),然而,大家在使用systemd時仍應考慮以下五個關鍵詞。
啟動服務時,使用start關鍵詞:
- systemctl start <service name>
同樣的,如果需要對發(fā)生故障的服務進行重啟,或者變更其配置,則使用restart:
- systemctl restart <service name>
要停止服務,使用stop:
- systemctl stop <service name>
要在引導時啟用每項服務,則使用enable:
- systemctl enable <service name>
***,利用disable禁止服務在引導時啟動:
- systemctl disable <service name>
4. ls
雖然簡單且直觀,但ls的作用卻超乎大家的想法。就效果而言,ls命令能夠列出特定路徑下的全部文件與文件夾。在默認情況下,它會列出當前工作目錄(通常為用戶主目錄)中的文件與文件夾。當然,大家也可以利用它查找特定路徑下的內(nèi)容。
大家可以為ls命令添加多種選項,其中最常用的是-l,它會顯示文件權限與歸屬。
那么,作為Linux版本的dir,為什么ls擁有如此重要的作用?先提一點,它能夠幫助大家查找配置文件中的子目錄。它還能夠在無需GUI的前提下,查看某一環(huán)境下的文件名。由于Linux文件名與命令具備大小寫敏感特性,因此它能夠輕松了解確切的拼寫方式??傊?,大家可以將ls作為自己的偵察機,用于探索周邊系統(tǒng)。
5. man
有時候,我們可能需要幫助,但又無法接入互聯(lián)網(wǎng)。在這種可怕的狀況下,man能夠幫助大家脫離困境。
事實上,man命令就是manual,即手冊的縮寫,能夠?qū)⒋鎯υ谟嬎銠C內(nèi)的信息以“在線”方式進行命令文檔顯示。如果大家需要了解chmod的作用,只需要在終端內(nèi)輸入man chmod即可。另外,大家可以使用上下箭頭或者PgUp及PgDn鍵進行man翻頁。閱讀完成后,按下Q即可退出。
ls命令的手冊頁面
盡管man能夠在缺少互聯(lián)網(wǎng)的情況下帶來巨大幫助,但谷歌仍然是***勁的資源獲取利器。需要指出的是,谷歌搜索結(jié)果中首先顯示的其實就是像man頁面這樣的網(wǎng)頁版說明。
總結(jié)
當然,今天介紹的五條命令只是個開始,大家還需要學習更多命令,從而更好地了解自己的Linux系統(tǒng)。雖然在圖形化界面中能夠通過多種方式完成任務,但控制臺命令仍是最為快捷的系統(tǒng)更新途徑。
另外,控制臺命令在顯示錯誤信息時也具有獨特的優(yōu)勢。這意味著當更新錯誤時,軟件包發(fā)生故障時或者無法接入互聯(lián)網(wǎng)時,命令行往往能夠更好地解決當前困境。
總而言之,只要勤于練習,每個人都能夠信心滿滿地運用終端命令,從而搞定工作與生活中的種種需要。
原文標題:5 terminal commands every Linux newbie should know,作者:Alex Campbell
【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】