Linux——目錄的相關操作

底下這些就是比較特殊的目錄,得要用力的記下來纔行:

  • .        代表此層目錄
  • ..       代表上一層目錄
  • -        代表前一個工作目錄
  • ~        代表『目前用戶身份』所在的家目錄
  • ~account 代表 account 這個用戶的家目錄(account 是個賬號名稱)

注意:在所有目錄底下都會存在的兩個目錄:『.』與『..分別代表此層與上層目錄的意思。

例題:

請問在 Linux 底下,根目錄下有沒有上層目錄(..)存在? 答:

若使用『 ls -al / 』去查詢,可以看到根目錄下確實存在 . 與 .. 兩個目錄,再仔細的查閱, 可發現這兩個目錄的屬性與權限完全一致,這代表根目錄的上一層(..)與根目錄自己(.)是同一個目錄。

底下我們就來談一談幾個常見的處理目錄的指令吧:

  • cd:變換目錄
  • pwd:顯示當前目錄
  • mkdir:建立一個新的目錄
  • rmdir:刪除一個空的目錄

cd (change directory, 變換目錄)

我們知道 dmtsai 這個用戶的家目錄是/home/dmtsai/,而 root 家目錄則是/root/,假設我以 root 身份在Linux 系統中,那麼簡單的說明一下這幾個特殊的目錄的意義是:

cd Change Directory 的縮寫,這是用來變換工作目錄的指令。注意,目錄名稱與 cd 指令之間存在一個空格。 一登入 Linux 系統後,每個賬號都會在自己賬號的家目錄中。那回到上一層目錄可以用『 cd .. 』。利用相對路徑的寫法必須要確認你目前的路徑才能正確的去到想要去的目錄。例如上表當中最後一個例子,你必須要確認你是在/var/spool/mail 當中,並且知道在/var/spool 當中有個 mqueue 的目錄纔行啊~ 這樣才能使用 cd ../postfix  去到正確的目錄說,否則就要直接輸入 cd/var/spool/postfix 囉~

其實,我們的提示字符,亦即那個 [root@study ~]#  當中,就已經有指出當前目錄了, 剛登入時會到自己的家目錄,而家目錄還有一個代碼,那就是『 ~ 』符號! 例如上面的例子可以發現,使用『 cd~ 』可以回到個人的家目錄裏頭去呢! 另外,針對 cd  的使用方法,如果僅輸入 cd 時,代表的就是『 cd ~ 』的意思喔~ 亦即是會回到自己的家目錄啦!而那個『 cd - 』比較難以理解,請自行多做幾次練習,就會比較明白了。

pwd (顯示目前所在的目錄)

pwd Print Working Directory 的縮寫,是顯示目前所在目錄的指令如在上個表格最後的目錄是/var/mail但提示字符僅顯示 mail如果想要知道目前所在的目錄可以輸入 pwd 即可。此外,由於很多的套件所使用的目錄名稱都相同,例如 /usr/local/etc 還有/etc,但是通常 Linux 僅列出最後面那一個目錄而已,這個時候你就可以使用 pwd 來知道你的所在目錄囉!免得搞錯目錄

 -P  選項可以讓我們取得正確的目錄名稱,而不是以鏈接文件的路徑來顯示的。 如果你使用的是 CentOS 7.x 的話,剛剛好/var/mail /var/spool/mail 的連結檔, 所以,透過到/var/mail 下達 pwd -P 就能夠知道這個選項的意義囉~ ^_^

mkdir (建立新目錄)

如果想要建立新的目錄的話,那就用 mkdir (make directory) 不過,在預設的情況下所需要的目錄得一層一層的建立纔行!例如:假如你要建立一個目錄爲 /home/bird/testing/test1,那麼首先必須要有 /home 然後 /home/bird  ,再來 /home/bird/testing 都必須要存在,纔可以建立/home/bird/testing/test1 這個目錄!假如沒有 /home/bird/testing 時,就沒有辦法建立 test1  的目錄囉!

 -p  選項可自動幫你建立多層目錄!可直接下達:『 mkdir -p/home/bird/testing/test1 』 則系統會自動幫你將 /home, /home/bird, /home/bird/testing 依序的建立起目錄!並且, 如果該目錄本來就已經存在時,系統也不會顯示錯誤訊息喔不建議常用-p 這個選項,因爲如果打錯字那麼目錄名稱就會變的亂七八糟的!

 -m  選項可以來強制給予一個新的目錄相關的權限

rmdir (刪除『空』的目錄)

如果想要刪除舊有的目錄時就使用 rmdir 如將剛剛建立的 test 刪掉使用『 rmdir test 』即可目錄需要一層一層的刪除纔行!而且被刪除的目錄裏面必定不能存在其他的目錄或文件!這也是所謂的空的目錄(empty directory)的意思啊那如果要將所有目錄下的東西都殺掉呢?! 個時候就必須使用『 rm -r test 』不過,還是使用 rmdir 比較不危險!

-p 的選項可以來刪除上層的目錄

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章