新手應知應會的Linux命令
在Fedora上通過命令行使用dnf來管理系統更新
基於Linux的系統最美妙的一點,就是你可以在終端中使用命令行來管理整個系統。使用命令行的優勢在於,你可以使用相同的知識和技能來管理隨便哪個Linux發行版。
對於各個發行版以及桌面環境(DE)而言,要一致地使用圖形化用戶界面(GUI)卻幾乎是不可能的,因為它們都提供了各自的用戶界面。要明確的是,有些情況下在不同的發行版上需要使用不同的命令來執行某些特定的任務,但是,基本來說它們的思路和目的是一致的。
在本文中,我們打算討論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
它會要你按下回車鍵來導入密鑰。完成後,使用'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新手們需要的基本命令。如果你有任何問題,或者如果你想要我們涵蓋一個特定的話題,請在下面的評論中告訴我們吧。
via: http://www.linux.com/learn/tutorials/842251-must-know-linux-commands-for-new-users
作者:Swapnil Bhartiya 譯者:GOLinux 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive