初級(jí)程序員應(yīng)該了解的Linux命令
基于Linux的系統(tǒng)最美妙的一點(diǎn),就是你可以在終端中使用命令行來管理整個(gè)系統(tǒng)。使用命令行的優(yōu)勢(shì)在于,你可以使用相同的知識(shí)和技能來管理隨便哪個(gè)Linux發(fā)行版。
對(duì)于各個(gè)發(fā)行版以及桌面環(huán)境(DE)而言,要一致地使用圖形化用戶界面(GUI)卻幾乎是不可能的,因?yàn)樗鼈兌继峁┝烁髯缘挠脩艚缑妗R鞔_的是,有些情況下在不同的發(fā)行版上需要使用不同的命令來執(zhí)行某些特定的任務(wù),但是,基本來說它們的思路和目的是一致的。

在Fedora上通過命令行使用dnf來管理系統(tǒng)更新
在本文中,我們打算討論Linux用戶應(yīng)當(dāng)掌握的一些基本命令。我將給大家演示怎樣使用命令行來更新系統(tǒng)、管理軟件、操作文件以及切換到root, 這些操作將在三個(gè)主要發(fā)行版上進(jìn)行:Ubuntu(也包括其定制版和衍生版,還有Debian),openSUSE,以及Fedora。
讓我們開始吧!
保持系統(tǒng)安全和***
Linux是基于安全設(shè)計(jì)的,但事實(shí)上是,任何軟件都有缺陷,會(huì)導(dǎo)致安全漏洞。所以,保持你的系統(tǒng)更新到***是十分重要的。這么想吧:運(yùn)行過時(shí)的操 作系統(tǒng),就像是你坐在全副武裝的坦克里頭,而門卻沒有鎖。武器會(huì)保護(hù)你嗎?任何人都可以進(jìn)入開放的大門,對(duì)你造成傷害。同樣,在你的系統(tǒng)中也有沒有打補(bǔ)丁 的漏洞,這些漏洞會(huì)危害到你的系統(tǒng)。開源社區(qū),不像專利世界,在漏洞補(bǔ)丁方面反應(yīng)是相當(dāng)快的,所以,如果你保持系統(tǒng)***,你也獲得了安全保證。
留意新聞?wù)军c(diǎn),了解安全漏洞。如果發(fā)現(xiàn)了一個(gè)漏洞,了解它,然后在補(bǔ)丁出來的***時(shí)間更新。不管怎樣,在生產(chǎn)環(huán)境上,你每星期必須至少運(yùn)行一次更新命令。如果你運(yùn)行著一臺(tái)復(fù)雜的服務(wù)器,那么就要額外當(dāng)心了。仔細(xì)閱讀變更日志,以確保更新不會(huì)搞壞你的自定義服務(wù)。
Ubuntu:牢記一點(diǎn):你在升級(jí)系統(tǒng)或安裝不管什么軟件之前,都必須要刷新倉(cāng)庫(kù)(也就是repos)。在Ubuntu上,你可以使用下面的命令來更新系統(tǒng),***個(gè)命令用于刷新倉(cāng)庫(kù):
sudo apt-get update
倉(cāng)庫(kù)更新后,現(xiàn)在你可以運(yùn)行系統(tǒng)更新命令了:
sudo apt-get upgrade
然而,這個(gè)命令不會(huì)更新內(nèi)核和其它一些包,所以你也必須要運(yùn)行下面這個(gè)命令:
sudo apt-get dist-upgrade
openSUSE:如果你是在openSUSE上,你可以使用以下命令來更新系統(tǒng)(照例,***個(gè)命令的意思是更新倉(cāng)庫(kù)):
sudo zypper refresh
sudo zypper up
Fedora:如果你是在Fedora上,你可以使用’dnf’命令,它是zypper和apt-get的’同類’:
sudo dnf update
sudo dnf upgrade
軟件安裝與移除
你只可以安裝那些你系統(tǒng)上啟用的倉(cāng)庫(kù)中可用的包,各個(gè)發(fā)行版默認(rèn)都附帶有并啟用了一些官方或者第三方倉(cāng)庫(kù)。
Ubuntu:要在Ubuntu上安裝包,首先更新倉(cāng)庫(kù),然后使用下面的語(yǔ)句:
sudo apt-get install [package_name]
樣例:
sudo apt-get install gimp
openSUSE:命令是這樣的:
sudo zypper install [package_name]
Fedora:Fedora已經(jīng)廢棄了’yum’,現(xiàn)在換成了’dnf’,所以命令是這樣的:
sudo dnf install [package_name]
移除軟件的過程也一樣,只要把’install’改成’remove’。
Ubuntu:
sudo apt-get remove [package_name]
openSUSE:
sudo zypper remove [package_name]
Fedora:
sudo dnf remove [package_name]
如何管理第三方軟件?
在一個(gè)龐大的開發(fā)者社區(qū)中,這些開發(fā)者們?yōu)橛脩籼峁┝嗽S多的軟件。不同的發(fā)行版有不同的機(jī)制來將這些第三方軟件提供給用戶。當(dāng)然,同時(shí)也取決于開發(fā)者怎樣將這些軟件提供給用戶,有些開發(fā)者會(huì)提供二進(jìn)制包,而另外一些開發(fā)者則將軟件發(fā)布到倉(cāng)庫(kù)中。
Ubuntu很多地方都用到PPA(個(gè)人包歸檔),但是,不幸的是,它卻沒有提供一個(gè)內(nèi)建工具來幫助用于搜索這些PPA倉(cāng)庫(kù)。在安裝軟件前,你將需要通過Google搜索PPA,然后手工添加該倉(cāng)庫(kù)。下面就是添加PPA到系統(tǒng)的方法:
sudo add-apt-repository ppa:<repository-name>
樣例:比如說,我想要添加LibreOffice PPA到我的系統(tǒng)中。我應(yīng)該Google該P(yáng)PA,然后從Launchpad獲得該倉(cāng)庫(kù)的名稱,在本例中它是”libreoffice/ppa”。然后,使用下面的命令來添加該P(yáng)PA:
sudo add-apt-repository ppa:libreoffice/ppa
它會(huì)要你按下回車鍵來導(dǎo)入密鑰。完成后,使用’update’命令來刷新倉(cāng)庫(kù),然后安裝該包。
openSUSE擁有一個(gè)針對(duì)第三方應(yīng)用的優(yōu)雅的解決方案。你可以訪問software.opensuse.org,一鍵點(diǎn)擊搜索并安裝相應(yīng)包,它會(huì)自動(dòng)將對(duì)應(yīng)的倉(cāng)庫(kù)添加到你的系統(tǒng)中。如果你想要手工添加倉(cāng)庫(kù),可以使用該命令:
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
然后,刷新倉(cāng)庫(kù)并安裝軟件:
sudo zypper refresh
sudo zypper install libreoffice
Fedora用戶只需要添加RPMFusion(包括自由軟件和非自由軟件倉(cāng)庫(kù)),該倉(cāng)庫(kù)包含了大量的應(yīng)用。如果你需要添加該倉(cāng)庫(kù),命令如下:
dnf config-manager --add-repo http://www.example.com/example.repo
一些基本命令
我已經(jīng)寫了一些關(guān)于使用CLI來管理你系統(tǒng)上的文件的文章,下面介紹一些基本命令,這些命令在所有發(fā)行版上都經(jīng)常會(huì)用到。
拷貝文件或目錄到一個(gè)新的位置:
cp path_of_file_1 path_of_the_directory_where_you_want_to_copy/
將某個(gè)目錄中的所有文件拷貝到一個(gè)新的位置(注意斜線和星號(hào),它指的是該目錄下的所有文件):
cp path_of_files/* path_of_the_directory_where_you_want_to_copy/
將一個(gè)文件從某個(gè)位置移動(dòng)到另一個(gè)位置(尾斜杠是說放在該目錄中):
mv path_of_file_1 path_of_the_directory_where_you_want_to_move/
將所有文件從一個(gè)位置移動(dòng)到另一個(gè)位置:
mv path_of_directory_where_files_are/* path_of_the_directory_where_you_want_to_move/
刪除一個(gè)文件:
rm path_of_file
刪除一個(gè)目錄:
rm -r path_of_directory
移除目錄中所有內(nèi)容,完整保留目錄文件夾:
rm -r path_of_directory/*
創(chuàng)建新目錄
要?jiǎng)?chuàng)建一個(gè)新目錄,首先進(jìn)入到你要?jiǎng)?chuàng)建該目錄的位置。比如說,你想要在你的Documents目錄中創(chuàng)建一個(gè)名為’foundation’的文件夾。讓我們使用 cd (即change directory,改變目錄)命令來改變目錄:
cd /home/swapnil/Documents
(替換’swapnil’為你系統(tǒng)中的用戶名)
然后,使用 mkdir 命令來創(chuàng)建該目錄:
mkdir foundation
你也可以從任何地方創(chuàng)建一個(gè)目錄,通過指定該目錄的路徑即可。例如:
mdkir /home/swapnil/Documents/foundation
如果你想要連父目錄一起創(chuàng)建,那么可以使用 -p 選項(xiàng)。它會(huì)在指定路徑中創(chuàng)建所有目錄:
mdkir -p /home/swapnil/Documents/linux/foundation
成為root
你或許需要成為root,或者具有sudo權(quán)力的用戶,來實(shí)施一些管理任務(wù),如管理軟件包或者對(duì)根目錄或其下的文件進(jìn)行一些修改。其中一個(gè)例子就是 編輯’fstab’文件,該文件記錄了掛載的硬盤驅(qū)動(dòng)器。它在’etc’目錄中,而該目錄又在根目錄中,你只能作為超級(jí)用戶來修改該文件。在大多數(shù)的發(fā)行 版中,你可以通過’su’來成為root。比如說,在openSUSE上,我想要成為root,因?yàn)槲乙诟夸浿泄ぷ鳎憧梢允褂孟旅娴拿钪唬?/p>
sudo su -
或
su -
該命令會(huì)要求輸入密碼,然后你就具有root特權(quán)了。記住一點(diǎn):千萬(wàn)不要以root用戶來運(yùn)行系統(tǒng),除非你知道你正在做什么。另外重要的一點(diǎn)需要注 意的是,你以root什么對(duì)目錄或文件進(jìn)行修改后,會(huì)將它們的擁有關(guān)系從該用戶或特定的服務(wù)改變?yōu)閞oot。你必須恢復(fù)這些文件的擁有關(guān)系,否則該服務(wù)或 用戶就不能訪問或?qū)懭氲侥切┪募R淖冇脩簦钊缦拢?/p>
sudo chown -R 用戶:組 文件或目錄名
當(dāng)你將其它發(fā)行版上的分區(qū)掛載到系統(tǒng)中時(shí),你可能經(jīng)常需要該操作。當(dāng)你試著訪問這些分區(qū)上的文件時(shí),你可能會(huì)碰到權(quán)限拒絕錯(cuò)誤,你只需要改變這些分區(qū)的擁有關(guān)系就可以訪問它們了。需要額外當(dāng)心的是,不要改變根目錄的權(quán)限或者擁有關(guān)系。
這些就是Linux新手們需要的基本命令。如果你有任何問題,或者如果你想要我們涵蓋一個(gè)特定的話題,請(qǐng)?jiān)谙旅娴脑u(píng)論中告訴我們吧。






















