天天看點

對 Linux 新手非常有用的 20 個指令

你打算從Windows換到Linux上來,還是你剛好換到Linux上來?哎喲!!!我說什麼呢,是什麼原因你就出現在我的世界裡了。從我以往的經驗來說,當我剛使用Linux,指令,終端啊什麼的,吓了我一跳。我擔心該記住多少指令,來幫助我完成所有任務。毫無疑問,線上文檔,書籍,man pages以及社群幫了我一個大忙,但是我還是堅信有那麼一篇文章記錄了如何簡單學習和了解指令的秘籍。這激發了我掌握Linux和使它容易使用的積極性。本文就是通往那裡的階梯。

ls指令是列出目錄内容(List Directory Contents)的意思。運作它就是列出檔案夾裡的内容,可能是檔案也可能是檔案夾。

對 Linux 新手非常有用的 20 個指令

“ls -l”指令以詳情模式(long listing fashion)列出檔案夾的内容。

對 Linux 新手非常有用的 20 個指令

"ls -a"指令會列出檔案夾裡的所有内容,包括以"."開頭的隐藏檔案。

對 Linux 新手非常有用的 20 個指令

注意:在Linux中,檔案以“.”開頭的就是隐藏檔案,并且每個檔案,檔案夾,裝置或者指令都是以檔案對待。

ls -l 指令輸出:

d (代表了是目錄).

rwxr-xr-x 是檔案或者目錄對所屬使用者,同一組使用者和其它使用者的權限。

上面例子中第一個ravisaive 代表了檔案檔案屬于使用者ravisaive

上面例子中的第二個ravisaive代表了檔案檔案屬于使用者組ravisaive

4096 代表了檔案大小為4096位元組.

May 8 01:06 代表了檔案最後一次修改的日期和時間.

最後面的就是檔案/檔案夾的名字

更多"ls"例子請檢視 15 linux中ls指令執行個體。

"lsblk"就是列出塊裝置。除了RAM外,以标準的樹狀輸出格式,整齊地顯示塊裝置。

對 Linux 新手非常有用的 20 個指令

“lsblk -l”指令以清單格式顯示塊裝置(而不是樹狀格式)。

對 Linux 新手非常有用的 20 個指令

注意:lsblk是最有用和最簡單的方式來了解新插入的USB裝置的名字,特别是當你在終端上處理磁盤/塊裝置時。

“md5sum”就是計算和檢驗MD5資訊簽名。md5 checksum(通常叫做哈希)使用比對或者驗證檔案的檔案的完整性,因為檔案可能因為傳輸錯誤,磁盤錯誤或者無惡意的幹擾等原因而發生改變。

對 Linux 新手非常有用的 20 個指令

注意:使用者可以使用官方提供的和md5sum生成簽名資訊匹對以此檢測檔案是否改變。Md5sum沒有sha1sum安全,這點我們稍後讨論。

“dd”指令代表了轉換和複制檔案。可以用來轉換和複制檔案,大多數時間是用來複制iso檔案(或任何其它檔案)到一個usb裝置(或任何其它地方)中去,是以可以用來制作USB啟動器。

對 Linux 新手非常有用的 20 個指令

注意:在上面的例子中,usb裝置就是sdb1(你應該使用lsblk指令驗證它,否則你會重寫你的磁盤或者系統),請慎重使用磁盤的名,切忌。

dd 指令在執行中會根據檔案的大小和類型 以及 usb裝置的讀寫速度,消耗幾秒到幾分鐘不等。

"uname"指令就是Unix Name的簡寫。顯示機器名,作業系統和核心的詳細資訊。

對 Linux 新手非常有用的 20 個指令

注意: uname顯示核心類别, uname -a顯示詳細資訊。上面的輸出詳細說明了uname -a

“Linux“: 機器的核心名

“tecmint“: 機器的節點名

“3.8.0-19-generic“: 核心釋出版本

“#30-Ubuntu SMP“: 核心版本

“i686“: 處理器架構

“GNU/Linux“: 作業系統名

“history”指令就是曆史記錄。它顯示了在終端中所執行過的所有指令的曆史。

對 Linux 新手非常有用的 20 個指令

注意:按住“CTRL + R”就可以搜尋已經執行過的指令,它可以在你寫指令時自動補全。 

對 Linux 新手非常有用的 20 個指令

“sudo”(super user do)指令允許授權使用者執行超級使用者或者其它使用者的指令。通過在sudoers清單的安全政策來指定。

對 Linux 新手非常有用的 20 個指令

注意:sudo 允許使用者借用超級使用者的權限,然而"su"指令實際上是允許使用者以超級使用者登入。是以sudo比su更安全。

并不建議使用sudo或者su來處理日常用途,因為它可能導緻嚴重的錯誤如果你意外的做錯了事,這就是為什麼在linux社群流行一句話:

“To err is human, but to really foul up everything, you need root password.”  “人非聖賢孰能無過,但是擁有root密碼就真的萬劫不複了。” # 譯

“mkdir”(Make directory)指令在命名路徑下建立新的目錄。然而如果目錄已經存在了,那麼它就會傳回一個錯誤資訊"不能建立檔案夾,檔案夾已經存在了"("cannot create folder, folder already exists")。

對 Linux 新手非常有用的 20 個指令

注意:目錄隻能在使用者擁有寫權限的目錄下才能建立。mkdir:不能建立目錄`tecmint`,因為檔案已經存在了。(上面的輸出中不要被檔案迷惑了,你應該記住我開頭所說的-在linux中,檔案,檔案夾,驅動,指令,腳本都視為檔案)。

“touch”指令代表了将檔案的通路和修改時間更新為目前時間。touch指令隻會在檔案不存在的時候才會建立它。如果檔案已經存在了,它會更新時間戳,但是并不會改變檔案的内容。

對 Linux 新手非常有用的 20 個指令

注意:touch 可以用來在使用者擁有寫權限的目錄下建立不存在的檔案。

“chmod”指令就是改變檔案的模式位。chmod會根據要求的模式來改變每個所給的檔案,檔案夾,腳本等等的檔案模式(權限)。

在檔案(檔案夾或者其它,為了簡單起見,我們就使用檔案)中存在3中類型的權限

對 Linux 新手非常有用的 20 個指令

是以如果你想給檔案隻讀權限,就設定為'4';隻寫權限,設定權限為'2';隻執行權限,設定為1; 讀寫權限,就是4+2 = 6, 以此類推。

現在需要設定3種使用者和使用者組權限。第一個是擁有者,然後是使用者所在的組,最後是其它使用者。

對 Linux 新手非常有用的 20 個指令

這裡root的權限是 rwx(讀寫和執行權限),

所屬使用者組權限是 r-x (隻有讀和執行權限, 沒有寫權限),

對于其它使用者權限是 -x(隻有隻執行權限)

為了改變它的權限,為擁有者,使用者所在組和其它使用者提供讀,寫,執行權限。

對 Linux 新手非常有用的 20 個指令

三種都隻有讀寫權限

對 Linux 新手非常有用的 20 個指令

擁有者使用者有讀寫和執行權限,使用者所在的組和其它使用者隻有可執行權限

對 Linux 新手非常有用的 20 個指令

注意:對于系統管理者和使用者來說,這個指令是最有用的指令之一了。在多使用者環境或者伺服器上,對于某個使用者,如果設定了檔案不可通路,那麼這個指令就可以解決,如果設定了錯誤的權限,那麼也就提供了為授權的通路。

“chown”指令就是改變檔案擁有者和所在使用者組。每個檔案都屬于一個使用者組和一個使用者。在你的目錄下,使用"ls -l",你就會看到像這樣的東西。

對 Linux 新手非常有用的 20 個指令

在這裡,目錄Binary屬于使用者"server",和使用者組"root",而目錄"Desktop"屬于使用者“server”和使用者組"server"

“chown”指令用來改變檔案的所有權,是以僅僅用來管理和提供檔案的使用者和使用者組授權。

對 Linux 新手非常有用的 20 個指令

注意:“chown”所給的檔案改變使用者群組的所有權到新的擁有者或者已經存在的使用者或者使用者組。

Debian系列以“apt”指令為基礎,“apt”代表了Advanced Package Tool。APT是一個為Debian系列系統(Ubuntu,Kubuntu等等)開發的進階包管理器,在Gnu/Linux系統上,它會為包自動地,智能地搜尋,安裝,更新以及解決依賴。

對 Linux 新手非常有用的 20 個指令

注意:上面的指令會導緻系統整體的改變,是以需要root密碼(檢視提示符為"#",而不是“$”).和yum指令相比,Apt更進階和智能。

見名知義,apt-cache用來搜尋包中是否包含子包mplayer, apt-get用來安裝,更新所有的已安裝的包到最新版。

關于apt-get 和 apt-cache指令更多資訊,請檢視 25 APT-GET和APT-CACHE指令。

“tar”指令是錄音帶歸檔(Tape Archive),對建立一些檔案的的歸檔和它們的解壓很有用。

對 Linux 新手非常有用的 20 個指令

注意: "tar.gz"代表了使用gzip歸檔,“bar.bz2”使用bzip壓縮的,它壓縮的更好但是也更慢。

了解更多"tar 指令"的例子,請檢視 18 Tar命名例子。

“cal”(Calender),它用來顯示目前月份或者未來或者過去任何年份中的月份。

對 Linux 新手非常有用的 20 個指令

顯示已經過去的月份,1835年2月

對 Linux 新手非常有用的 20 個指令

顯示未來的月份,2145年7月。

對 Linux 新手非常有用的 20 個指令

注意: 你不需要往回調整月曆50年,既不用複雜的資料計算你出生那天,也不用計算你的生日在哪天到來,[因為它的最小機關是月,而不是日]。

“date”指令使用标準的輸出列印目前的日期和時間,也可以深入設定。

對 Linux 新手非常有用的 20 個指令

注意:這個指令在腳本中十分有用,以及基于時間和日期的腳本更完美。而且在終端中改變日期和時間,讓你更專業!!!(當然你需要root權限才能操作這個,因為它是系統整體改變)。

“cat”代表了連結(Concatenation),連接配接兩個或者更多文本檔案或者以标準輸出形式列印檔案的内容。

對 Linux 新手非常有用的 20 個指令

注意:“>>”和“>”調用了追加符号。它們用來追加到檔案裡,而不是顯示在标準輸出上。“>”符号會删除已存在的檔案,然後建立一個新的檔案。是以因為安全的原因,建議使用“>>”,它會寫入到檔案中,而不是覆寫或者删除。

在深入探究之前,我必須讓你知道通配符(你應該知道通配符,它出現在大多數電視選秀中)。通配符是shell的特色,和任何GUI檔案管理器相比,它使指令行更強大有力!如你所看到那樣,在一個圖形檔案管理器中,你想選擇一大組檔案,你通常不得不使用你的滑鼠來選擇它們。這可能覺得很簡單,但是事實上,這種情形很讓人沮喪!

例如,假如你有一個有很多很多各種類型的檔案和子目錄的目錄,然後你決定移動所有檔案名中包含“Linux”字樣的HTML檔案到另外一個目錄。如何簡單的完成這個?如果目錄中包含了大量的不同名的HTML檔案,你的任務很巨大,而不是簡單了。

在LInux CLI中,這個任務就很簡單,就好像隻移動一個HTML檔案,因為有shell的通配符,才會如此簡單。這些是特殊的字元,允許你選擇比對某種字元模式的檔案名。它幫助你來選擇,即使是大量檔案名中隻有幾個字元,而且在大多數情形中,它比使用滑鼠選擇檔案更簡單。

這裡就是常用通配符清單:

對 Linux 新手非常有用的 20 個指令

! 叫做非,帶'!'的反向字元串為真

更多請閱讀Linux cat 指令的執行個體 13 Linux中cat指令執行個體。

“copy”就是複制。它會從一個地方複制一個檔案到另外一個地方。

對 Linux 新手非常有用的 20 個指令

注意: cp,在shell腳本中是最常用的一個指令,而且它可以使用通配符(在前面一塊中有所描述),來定制所需的檔案的複制。

“mv”指令将一個地方的檔案移動到另外一個地方去。

對 Linux 新手非常有用的 20 個指令

注意:mv 指令可以使用通配符。mv需謹慎使用,因為移動系統的或者未授權的檔案不但會導緻安全性問題,而且可能系統崩潰。

“pwd”(print working directory),在終端中顯示目前工作目錄的全路徑。

對 Linux 新手非常有用的 20 個指令

注意: 這個指令并不會在腳本中經常使用,但是對于新手,當從連接配接到nux很久後在終端中迷失了路徑,這絕對是救命稻草。

最後,經常使用的“cd”指令代表了改變目錄。它在終端中改變工作目錄來執行,複制,移動,讀,寫等等操作。

對 Linux 新手非常有用的 20 個指令

注意: 在終端中切換目錄時,cd就大顯身手了。“cd ~”會改變工作目錄為使用者的家目錄,而且當使用者發現自己在終端中迷失了路徑時,非常有用。“cd ..”從目前工作目錄切換到(目前工作目錄的)父目錄。

這些指令肯定會讓你在Linux上很舒服。但是這并不是結束。不久,我就會寫一些其它的針對于中級使用者的有用指令。例如,如果你熟練使用這些指令,歡呼吧,少年,你會發現你已從小白級别提升為了中級使用者了。在下篇文章,我會介紹像“kill”,"ps","grep"等等指令,期待吧,我不會讓你失望的。

出處:開源翻譯

參與翻譯 (2人) : 66号公路, 趙亮-碧海情天

英文原文:20 Useful Commands for Linux Newbies

♥ 作者:明志健緻遠

♠ 出處:http://www.cnblogs.com/study-everyday/

♦ 本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。

♣ 本部落格大多為學習筆記或讀書筆記,本文如對您有幫助,還請多推薦下此文,如有錯誤歡迎指正,互相學習,共同進步。

繼續閱讀