新用戶(hù)不可不知的Linux命令
在Fedora上使用dnf命令,通過(guò)命令行來(lái)管理系統(tǒng)更新。
基于Linux系統(tǒng)的魅力之一就是,你可以直接從終端使用命令行來(lái)管理整個(gè)系統(tǒng)。而使用命令行的優(yōu)點(diǎn)就是,你可以使用同樣的知識(shí)和技能來(lái)管理任何一個(gè)Linux發(fā)行版。
這不可能通過(guò)圖形用戶(hù)界面(GUI)來(lái)做到,因?yàn)槊總€(gè)發(fā)行版和桌面環(huán)境提供了各自的用戶(hù)界面。確切地說(shuō),有些情況下你需要不同的命令在不同的發(fā)行版上執(zhí)行某些任務(wù),不過(guò)概念和想法多少仍然一樣。
我們?cè)诒疚闹袑⒔榻B新的Linux用戶(hù)應(yīng)該知道的一些基本命令。我會(huì)介紹如何在三個(gè)主要的發(fā)行版:Unbuntu(它還包括諸多版本和衍生版以及Debian)、openSUSE和Fedora上,使用命令行來(lái)更新系統(tǒng)、管理軟件、處理文件和切換到根用戶(hù)。
閑話(huà)少說(shuō)!
讓系統(tǒng)保持安全和最新
Linux從設(shè)計(jì)上來(lái)說(shuō)很安全,不過(guò)這是不爭(zhēng)的事實(shí):所有軟件都有缺陷(bug),可能還有安全漏洞。所以時(shí)常更新系統(tǒng)至關(guān)重要。不妨這么來(lái)考慮:運(yùn)行過(guò)時(shí)的操作系統(tǒng)就好比待在門(mén)沒(méi)有上鎖的裝甲坦克。裝甲保護(hù)得了你嗎?誰(shuí)都可以通過(guò)敞開(kāi)的門(mén)進(jìn)入,大搞破壞。同樣,你的操作系統(tǒng)里面可能會(huì)有未打上補(bǔ)丁的漏洞,它們會(huì)危及你的系統(tǒng)。不像專(zhuān)有軟件社區(qū),開(kāi)源社區(qū)極其積極地打補(bǔ)丁,所以如果你時(shí)常更新系統(tǒng),就可以保持安全。
平時(shí)要關(guān)注新聞網(wǎng)站,留意安全漏洞。要是發(fā)現(xiàn)了某個(gè)漏洞,閱讀關(guān)于漏洞的新聞,一旦發(fā)布了補(bǔ)丁,要第一時(shí)間更新系統(tǒng)。不管怎樣,都要養(yǎng)成每星期在生產(chǎn)機(jī)器上至少運(yùn)行一次更新命令的習(xí)慣。如果你在運(yùn)行一臺(tái)復(fù)雜的服務(wù)器,格外要注意,仔細(xì)檢查變更日志(changelog),確保更新沒(méi)有破壞你的定制。
Ubuntu:請(qǐng)牢記一點(diǎn),你必須在升級(jí)系統(tǒng)或安裝任何軟件之前總是要更新軟件庫(kù)(即repo)。在Ubuntu上,你可以使用下列命令來(lái)更新系統(tǒng)。第一個(gè)命令更新軟件庫(kù):
sudo apt-get update
一旦軟件庫(kù)更新完畢,現(xiàn)在就可以運(yùn)行系統(tǒng)更新命令了:
sudo apt-get upgrade
然而,這個(gè)命令并不更新內(nèi)核和另外一些程序包,所以你還要運(yùn)行這個(gè)命令:
sudo apt-get dist-upgrade
openSUSE:如果你是在openSUSE上,可以使用這些命令來(lái)更新系統(tǒng)(如往常一樣,第一個(gè)命令用來(lái)更新軟件庫(kù))
sudo zypper refresh
sudo zypper up
Fedora:如果你是在Fedora上,可以使用“dnf”命令,它“有點(diǎn)”相當(dāng)于zypper和apt-get:
sudo dnf update
sudo dnf upgrade
軟件安裝和刪除
你只能安裝你系統(tǒng)上已被啟用的軟件庫(kù)里面才有的那些程序包。每個(gè)發(fā)行版在默認(rèn)情況下都啟用了某些官方軟件庫(kù)或第三方軟件庫(kù)。
Ubuntu:想把任何程序包安裝到Ubuntu上,先更新軟件庫(kù),然后使用這個(gè)語(yǔ)法:
sudo apt-get install [package_name]
例子:
sudo apt-get install gimp
openSUSE:這些命令將是:
sudo zypper install [package_name]
Fedora:Fedora丟棄了“yum”,現(xiàn)在使用“dnf”,于是命令將是:
sudo dnf install [package_name]
刪除軟件的過(guò)程一樣,只要將“install”換成“remove”就行。
Ubuntu:
sudo apt-get remove [package_name]
openSUSE:
sudo zypper remove [package_name]
Fedora:
sudo dnf remove [package_name]
如何管理第三方軟件?
Linux有龐大的開(kāi)發(fā)者社區(qū),廣大開(kāi)發(fā)者向用戶(hù)提供軟件。不同的發(fā)行版使用不同的機(jī)制將第三方軟件提供給用戶(hù)。它還取決于開(kāi)發(fā)者如何將軟件提供給用戶(hù);一些開(kāi)發(fā)者提供二進(jìn)制代碼,另一些通過(guò)軟件庫(kù)來(lái)提供。
Ubuntu高度依賴(lài)PPA(個(gè)人程序包歸檔),但是遺憾的是,沒(méi)有內(nèi)置工具可以幫助用戶(hù)搜索PPA。你需要用谷歌搜索PPA,然后手動(dòng)添加軟件庫(kù),之后才能安裝軟件。你將任何PPA添加到系統(tǒng)上的方法如下:
sudo add-apt-repository ppa:<repository-name>
例子:假設(shè)我想把LibreOffice PPA添加到自己的系統(tǒng)上。我會(huì)用谷歌搜索該P(yáng)PA,然后從Launchpad獲得軟件庫(kù)名稱(chēng),這里是“libreoffice/ppa”。然后,使用下面這個(gè)命令來(lái)添加該P(yáng)PA:
sudo add-apt-repository ppa:libreoffice/ppa
它會(huì)要求你按回車(chē)鍵,以便導(dǎo)入密鑰。一旦導(dǎo)入完畢,用“update”命令更新軟件庫(kù),然后安裝程序包。
openSUSE為第三方應(yīng)用程序提供了一個(gè)巧妙的解決方案。你可以訪問(wèn)software.opensuse.org,搜索程序包,然后點(diǎn)擊一下鼠標(biāo)即可安裝它。它會(huì)將軟件庫(kù)自動(dòng)添加到系統(tǒng)上。如果你想手動(dòng)添加任何軟件庫(kù),則使用這個(gè)命令:
sudo zypper ar -f url_of_the_repo name_of_repo
sudo zypper ar -f
http://download.opensuse.org/repositories/LibreOffice:Factory/openSUSE_13.2/LibreOffice:Factory.repo LOF
然后更新軟件庫(kù),安裝軟件:
sudo zypper refresh
sudo zypper install libreoffice
Fedora用戶(hù)只要添加RPMFusion(包括免費(fèi)和非免費(fèi)的軟件庫(kù)),里面含有大多數(shù)應(yīng)用程序。萬(wàn)一你確實(shí)需要添加軟件庫(kù),就使用這個(gè)命令:
dnf config-manager --add-repo http://www.example.com/example.repo
一些基本命令
我之前寫(xiě)過(guò)幾篇文章,介紹如何使用命令行接口管理系統(tǒng)上的文件,下面是在所有發(fā)行版當(dāng)中通用的幾個(gè)基本命令。
將文件或目錄拷貝到新位置:
cp path_of_file_1 path_of_the_directory_where_you_want_to_copy/
將某個(gè)目錄的所有文件拷貝到新位置(請(qǐng)注意斜杠和星號(hào),這表明該目錄下的所有文件):
cp path_of_files/* path_of_the_directory_where_you_want_to_copy/
將文件從一個(gè)位置移到另一個(gè)位置(末尾斜杠意味著該目錄下):
mv path_of_file_1 path_of_the_directory_where_you_want_to_move/
將所有文件從一個(gè)位置移到另一個(gè)位置:
mv path_of_directory_where_files_are/* path_of_the_directory_where_you_want_to_move/
刪除文件:
rm path_of_file
刪除目錄:
rm -r path_of_directory
清除目錄中的所有內(nèi)容,只留下目錄文件夾:
rm -r path_of_directory/*
創(chuàng)建新目錄
想創(chuàng)建新目錄,先要輸入你想要?jiǎng)?chuàng)建目錄的所在位置。假設(shè)你想在Documents目錄里面創(chuàng)建一個(gè)“foundation”文件夾。不妨使用cd(更改目錄)命令,更改目錄:
cd /home/swapnil/Documents
(把“swapnil”換成你系統(tǒng)上的用戶(hù))
然后用mkdir命令創(chuàng)建目錄:
mkdir foundation
你還可以從任何地方創(chuàng)建目錄,只要給出目錄路徑。比如說(shuō):
mdkir /home/swapnil/Documents/foundation
如果你想創(chuàng)建父-子目錄,這意味著其他目錄里面的目錄,那么使用-p選項(xiàng)。它會(huì)在特定的路徑下創(chuàng)建所有目錄:
mdkir -p /home/swapnil/Documents/linux/foundation
成為根用戶(hù)
你需要成為根用戶(hù)或者用戶(hù)擁有sudo權(quán)利,才能執(zhí)行一些管理任務(wù),比如管理程序包,或者更改根目錄或根文件。一個(gè)例子就是編輯詳細(xì)記錄已掛載硬驅(qū)的“fstab”文件。它在“etc”目錄里面,該目錄又在根目錄里面。你只有以超級(jí)用戶(hù)的身份來(lái)更改這個(gè)文件。在大多數(shù)發(fā)行版中,只要“switching user”(切換用戶(hù))就能成為根用戶(hù)。假設(shè)在openSUSE上,我想成為根用戶(hù),以便可以在根目錄里面進(jìn)行一番操作。你可以使用命令:
sudo su -
或者
su -
這會(huì)要求輸入密碼,然后你就擁有根權(quán)限。牢記一點(diǎn):千萬(wàn)不要以根用戶(hù)的身份運(yùn)行系統(tǒng),除非你知道自己在干什么。要注意的另一個(gè)重要事項(xiàng)就是,你以根用戶(hù)身份改動(dòng)文件或目錄后,那些文件的所有權(quán)也會(huì)從某個(gè)對(duì)應(yīng)用戶(hù)或特定服務(wù)改成根用戶(hù)。你得恢復(fù)那些文件的所有權(quán),要不然服務(wù)或用戶(hù)無(wú)法訪問(wèn)或?qū)懭肽切┪募O敫挠脩?hù),使用這個(gè)命令:
sudo chown -R user:user /path_of_file_or_directory
如果你的分區(qū)來(lái)自?huà)燧d在系統(tǒng)上的其他發(fā)行版,可能需要這個(gè)命令。如果你試圖訪問(wèn)這類(lèi)分區(qū)上的文件,就會(huì)遇到拒絕訪問(wèn)錯(cuò)誤。只要更改這類(lèi)分區(qū)的所有權(quán),就可以訪問(wèn)它們。務(wù)必要格外小心,別隨意更改根目錄的權(quán)限或所有權(quán)。
以上就是任何新的Linux用戶(hù)需要知道的一些基本命令。要是你還有什么問(wèn)題,或者希望我們探討某個(gè)話(huà)題,歡迎留言交流。
相關(guān)文章:
