歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> 關於Unix

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

對於 Linux 新手,或者那些想要重新審視或改進自己對基本 Linux 概念(比如:復制和移動文件、創建符號和硬鏈接、設置文件系統對象所有權和權限以及同管道和重定向一起使用 Linux 的標准文本處理命令)的理解的人來說,本文是實用的。 對於初學者而言,本系

對於 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

Copyright © Linux教程網 All Rights Reserved