Linux新手學習資料一篇(轉)

ba發表於2007-08-17
Linux新手學習資料一篇(轉)[@more@]對於 Linux 新手,或者那些想要重新審視或改進自己對基本 Linux 概念(比如:複製和移動檔案、建立符號和硬連結、設定檔案系統物件所有權和許可權以及同管道和重定向一起使用 Linux 的標準文字處理命令)的理解的人來說,本文是實用的。

對於初學者而言,本系列文章的許多內容都很新穎,而更有經驗的 Linux 使用者可能會發現本教程是使他們基本的 Linux 技能“爐火純青”的有效途徑。

介紹 bash shell

如果您使用過 Linux 系統,那麼您知道當登入時,將會看到像這樣的提示符:

$

您所看到的特殊的提示符可能看起來很不一樣。它可能包含系統的主機名、當前的工作目錄名,或者兩者都有。但是不管這個特殊的提示符看起來像什麼,有一件事是肯定的。列印出這個提示符的程式叫“shell”,極有可能您的特殊的 shell 是一個叫 bash 的程式。

您在執行 bash 嗎?

您可以透過輸入下面的命令來檢查您是否正在執行 bash:

$ echo $SHELL

/bin/bash

如果上面的命令列報錯或者不會類似地響應我們的示例,那麼您可能正在執行一個不同於 bash 的 shell。

關於 bash

Bash 是“Bourne-again shell”的首字母縮寫,它是大多數 Linux 系統預設的 shell。shell 的任務是執行您的命令,使您能夠與 Linux 系統進行互動。當您輸完命令,您可以通知 shell 執行 exit 或 logout 命令,在此您將返回到登入提示符。順便提一下,您還可以透過在 bash 提示符下按 control-D 來登出。

使用“cd”

您可能已經發現,目不轉睛地盯著bash提示符可不是世界上最讓人感到有勁的事。那麼,讓我們來開始用 bash 來瀏覽我們的檔案系統。在提示符下,輸入下面的命令(不包括 $):

$ cd /

我們只告訴 bash 您想在 /(也稱為根目錄)中工作;系統上的所有目錄形成一棵樹,/ 被認為是這棵樹的頂部,或者是根。cd設定當前您正在工作的目錄,也稱為“當前工作目錄”。

路徑

要看 bash 的當前工作目錄,您可以輸入:

$ pwd

/

在上面的示例中,cd 的 / 引數叫做路徑。它告訴 cd 我們要轉到什麼地方。特別是,/ 引數是一個絕對路徑,意味著它指定了相對於檔案系統樹的根的位置。絕對路徑這裡有幾個其它的絕對路徑:

/dev

/usr

/usr/bin

/usr/local/bin

您可以看到,所有絕對路徑有一個共同點就是,它們都以/開頭。透過路徑/usr/local/bin,我們告訴 cd 進入 / 目錄,接著進入這個目錄之下的usr目錄,然後再進入 local 和 bin。絕對路徑總是透過是否以 / 開頭來判斷。

相對路徑

另一種路徑叫相對路徑。在 Bash 中,cd 以及其它命令總是解釋那些相對於當前目錄的路徑。相對路徑絕不會以 / 開頭。這樣,如果我們在 /usr 中:

$ cd /usr

那麼,我們可以使用相對路徑來轉到 /usr/local/bin 目錄:

$ cd local/bin

$ pwd

/usr/local/bin

使用“..”

相對路徑還可以包含一個或多個 .. 目錄。.. 目錄是指向父目錄的專門目錄。那麼,繼續前面的示例:

$ pwd

/usr/local/bin

$ cd ..

$ pwd

/usr/local

您可以看到,現在我們的當前目錄是 /usr/local。我們能夠“後退”到相對於我們所在的當前目錄的一個目錄。此外,我們還可以將 ".." 新增到一個現有的相對路徑中,使我們可以進入與我們已在目錄並排的目錄,例如:

$ pwd

/usr/local

$ cd ../share

$ pwd

/usr/share

相對路徑示例

相對路徑可以變得相當複雜。這裡有幾個示例,所有的都沒有顯示出結果的目標路徑。請試著推斷一下,輸入這些命令後,您最終將會轉到什麼地方:

$ cd /bin

$ cd ../usr/share/zoneinfo

$ cd /usr/X11R6/bin

$ cd ../lib/X11

$ cd /usr/bin

$ cd ../bin/../bin

現在,試驗一次,看看您的推斷是否正確。

理解“.”

在我們結束 cd 的介紹之前,我們還需要討論一些更多的內容。首先,還有另一個叫 . 的專門的目錄。它表示“當前目錄”。然而該目錄不為 cd 命令使用,它通常用來執行一些當前目錄中的程式,如下所示:

$ ./myprog

在上面的示例中,駐留在當前工作目錄中的 myprog 可執行檔案將被執行。

cd 和主目錄

如果我們想要轉到主目錄,我們可以輸入:

$ cd

沒有引數,cd 將轉到主目錄,對於超級使用者來說是 /root,對於一般使用者來說通常是

/home/username。但是,如果我們想要指定一個主目錄中的檔案,將會怎樣呢?可能我們想要將一個檔案引數傳給 myprog 命令。如果該檔案在主目錄中,我們可以輸入:

$ ./myprog /home/drobbins/myfile.txt

但是,使用像這樣的絕對路徑並不總是很方便。幸好,我們可以使用 ~(代字元)字元來完成同樣的事:

$ ./myprog ~/myfile.txt

其他使用者的主目錄Bash 將把單獨的 ~ 擴充套件為指向主目錄,然而您還可以用它來指向其他使用者的主目錄。例如,如果我們想要引用 fred 的主目錄中的名為 fredsfile.txt 的檔案,可以輸入:

$ ./myprog ~fred/fredsfile.txt

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-963436/,如需轉載,請註明出處,否則將追究法律責任。

相關文章