初級程式設計師應該瞭解的Linux命令

linux.cn發表於2015-08-10

基於Linux的系統最美妙的一點,就是你可以在終端中使用命令列來管理整個系統。使用命令列的優勢在於,你可以使用相同的知識和技能來管理隨便哪個Linux發行版。

對於各個發行版以及桌面環境(DE)而言,要一致地使用圖形化使用者介面(GUI)卻幾乎是不可能的,因為它們都提供了各自的使用者介面。要明確的是,有些情況下在不同的發行版上需要使用不同的命令來執行某些特定的任務,但是,基本來說它們的思路和目的是一致的。

新手應知應會的Linux命令

在Fedora上通過命令列使用dnf來管理系統更新

在本文中,我們打算討論Linux使用者應當掌握的一些基本命令。我將給大家演示怎樣使用命令列來更新系統、管理軟體、操作檔案以及切換到root,這些操作將在三個主要發行版上進行:Ubuntu(也包括其定製版和衍生版,還有Debian),openSUSE,以及Fedora。

讓我們開始吧!

保持系統安全和最新

Linux是基於安全設計的,但事實上是,任何軟體都有缺陷,會導致安全漏洞。所以,保持你的系統更新到最新是十分重要的。這麼想吧:執行過時的作業系統,就像是你坐在全副武裝的坦克裡頭,而門卻沒有鎖。武器會保護你嗎?任何人都可以進入開放的大門,對你造成傷害。同樣,在你的系統中也有沒有打補丁的漏洞,這些漏洞會危害到你的系統。開源社群,不像專利世界,在漏洞補丁方面反應是相當快的,所以,如果你保持系統最新,你也獲得了安全保證。

留意新聞站點,瞭解安全漏洞。如果發現了一個漏洞,瞭解它,然後在補丁出來的第一時間更新。不管怎樣,在生產環境上,你每星期必須至少執行一次更新命令。如果你執行著一臺複雜的伺服器,那麼就要額外當心了。仔細閱讀變更日誌,以確保更新不會搞壞你的自定義服務。

Ubuntu:牢記一點:你在升級系統或安裝不管什麼軟體之前,都必須要重新整理倉庫(也就是repos)。在Ubuntu上,你可以使用下面的命令來更新系統,第一個命令用於重新整理倉庫:

sudo apt-get update

倉庫更新後,現在你可以執行系統更新命令了:

sudo apt-get upgrade

然而,這個命令不會更新核心和其它一些包,所以你也必須要執行下面這個命令:

sudo apt-get dist-upgrade

openSUSE:如果你是在openSUSE上,你可以使用以下命令來更新系統(照例,第一個命令的意思是更新倉庫):

sudo zypper refresh
sudo zypper up

Fedora:如果你是在Fedora上,你可以使用’dnf’命令,它是zypper和apt-get的’同類’:

sudo dnf update
sudo dnf upgrade

軟體安裝與移除

你只可以安裝那些你係統上啟用的倉庫中可用的包,各個發行版預設都附帶有並啟用了一些官方或者第三方倉庫。

Ubuntu:要在Ubuntu上安裝包,首先更新倉庫,然後使用下面的語句:

sudo apt-get install [package_name]

樣例:

sudo apt-get install gimp

openSUSE:命令是這樣的:

sudo zypper install [package_name]

Fedora:Fedora已經廢棄了’yum’,現在換成了’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]

如何管理第三方軟體?

在一個龐大的開發者社群中,這些開發者們為使用者提供了許多的軟體。不同的發行版有不同的機制來將這些第三方軟體提供給使用者。當然,同時也取決於開發者怎樣將這些軟體提供給使用者,有些開發者會提供二進位制包,而另外一些開發者則將軟體釋出到倉庫中。

Ubuntu很多地方都用到PPA(個人包歸檔),但是,不幸的是,它卻沒有提供一個內建工具來幫助用於搜尋這些PPA倉庫。在安裝軟體前,你將需要通過Google搜尋PPA,然後手工新增該倉庫。下面就是新增PPA到系統的方法:

sudo add-apt-repository ppa:<repository-name>

樣例:比如說,我想要新增LibreOffice PPA到我的系統中。我應該Google該PPA,然後從Launchpad獲得該倉庫的名稱,在本例中它是”libreoffice/ppa”。然後,使用下面的命令來新增該PPA:

sudo add-apt-repository ppa:libreoffice/ppa

它會要你按下Enter鍵來匯入金鑰。完成後,使用’update’命令來重新整理倉庫,然後安裝該包。

openSUSE擁有一個針對第三方應用的優雅的解決方案。你可以訪問software.opensuse.org,一鍵點選搜尋並安裝相應包,它會自動將對應的倉庫新增到你的系統中。如果你想要手工新增倉庫,可以使用該命令:

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

然後,重新整理倉庫並安裝軟體:

sudo zypper refresh
sudo zypper install libreoffice

Fedora使用者只需要新增RPMFusion(包括自由軟體和非自由軟體倉庫),該倉庫包含了大量的應用。如果你需要新增該倉庫,命令如下:

dnf config-manager --add-repo http://www.example.com/example.repo

一些基本命令

我已經寫了一些關於使用CLI來管理你係統上的檔案的文章,下面介紹一些基本命令,這些命令在所有發行版上都經常會用到。

拷貝檔案或目錄到一個新的位置:

cp path_of_file_1 path_of_the_directory_where_you_want_to_copy/

將某個目錄中的所有檔案拷貝到一個新的位置(注意斜線和星號,它指的是該目錄下的所有檔案):

cp path_of_files/* path_of_the_directory_where_you_want_to_copy/

將一個檔案從某個位置移動到另一個位置(尾斜槓是說放在該目錄中):

mv path_of_file_1 path_of_the_directory_where_you_want_to_move/

將所有檔案從一個位置移動到另一個位置:

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

移除目錄中所有內容,完整保留目錄資料夾:

rm -r path_of_directory/*

建立新目錄

要建立一個新目錄,首先進入到你要建立該目錄的位置。比如說,你想要在你的Documents目錄中建立一個名為’foundation’的資料夾。讓我們使用 cd (即change directory,改變目錄)命令來改變目錄:

cd /home/swapnil/Documents

(替換’swapnil’為你係統中的使用者名稱)

然後,使用 mkdir 命令來建立該目錄:

mkdir foundation

你也可以從任何地方建立一個目錄,通過指定該目錄的路徑即可。例如:

mdkir /home/swapnil/Documents/foundation

如果你想要連父目錄一起建立,那麼可以使用 -p 選項。它會在指定路徑中建立所有目錄:

mdkir -p /home/swapnil/Documents/linux/foundation

成為root

你或許需要成為root,或者具有sudo權力的使用者,來實施一些管理任務,如管理軟體包或者對根目錄或其下的檔案進行一些修改。其中一個例子就是編輯’fstab’檔案,該檔案記錄了掛載的硬碟驅動器。它在’etc’目錄中,而該目錄又在根目錄中,你只能作為超級使用者來修改該檔案。在大多數的發行版中,你可以通過’su’來成為root。比如說,在openSUSE上,我想要成為root,因為我要在根目錄中工作,你可以使用下面的命令之一:

sudo su -

su -

該命令會要求輸入密碼,然後你就具有root特權了。記住一點:千萬不要以root使用者來執行系統,除非你知道你正在做什麼。另外重要的一點需要注意的是,你以root什麼對目錄或檔案進行修改後,會將它們的擁有關係從該使用者或特定的服務改變為root。你必須恢復這些檔案的擁有關係,否則該服務或使用者就不能訪問或寫入到那些檔案。要改變使用者,命令如下:

sudo chown -R 使用者:組 檔案或目錄名

當你將其它發行版上的分割槽掛載到系統中時,你可能經常需要該操作。當你試著訪問這些分割槽上的檔案時,你可能會碰到許可權拒絕錯誤,你只需要改變這些分割槽的擁有關係就可以訪問它們了。需要額外當心的是,不要改變根目錄的許可權或者擁有關係。

這些就是Linux新手們需要的基本命令。如果你有任何問題,或者如果你想要我們涵蓋一個特定的話題,請在下面的評論中告訴我們吧。

相關文章