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