2007年9月19日 星期三

Linux 目錄內容

要查出目錄中的內容,可以使用 ls 指令:
root@dhcppc3:~# ls -al
total 124
drwxr-xr-x 19 root root 4096 Jun 3 09:11 .
drwxr-xr-x 22 root root 4096 Sep 17 01:00 ..
-rw------- 1 root root 485 May 21 23:02 .ICEauthority
drwx------ 2 root root 4096 May 20 22:27 .Trash
-略-

drwxr-xr-x 第一個字母代表檔案類型,意義分別如下:
  1. -:File 檔案
  2. d:Directory 目錄
  3. l:Symbolic Link 象徵連結
  4. c:Character Device 字元裝置(如鍵盤)
  5. b:Block Device 區塊裝置(如硬碟)
  6. s:Socket 插槽(本機提供呼叫的服務程式)

drwxr-xr-x 後九個字母代表檔案權限,意義分別如下:
  1. [ r ]代表可讀(read)、[ w ]代表可寫(write)、[ x ]代表可執行(execute)
  2. 以三個字母為一組,第一組說明所有者的權限
  3. 第二組說明群組的權限
  4. 第三組代表其他人的權限
以下圖片說明各區塊意義

  1. 檔案類型
  2. 檔案權限
  3. 檔案:此檔案的硬式連結數目;目錄:該目錄下有多少目錄(註一)。
  4. 擁有者
  5. 擁有者群組
  6. 檔案大小,以位元組表示。若想以其他單位表示,可在旗標中加上 -h (human),會表是為 xxx K bytes 或 xxx M bytes。若是目錄,則表示儲存目錄資訊所佔的空間,最小值為4096 bytes。
  7. 最後修改時間
  8. 檔案名稱
註一:在此以範例說明第三個欄位的意義
在 /tmp 底下發現一目錄,且 ls -l 時,第三個欄位的數字為 3
bang@linuxdiary:/tmp$ ls -l
drwxr-xr-x 3 ikujyh ikujyh 4096 2008-01-01 02:04 ls_test
bang@linuxdiary:/tmp$ cd ls_test
bang@linuxdiary:/ls_test$ ls -la
total 12
drwxr-xr-x 3 ikujyh ikujyh 4096 Jan 1 02:08 .
drwxrwxrwt 5 root root 4096 Jan 1 02:04 ..
drwxr-xr-x 2 ikujyh ikujyh 4096 Jan 1 02:08 dir_demo
-rw-r--r-- 1 ikujyh ikujyh 0 Jan 1 02:08 file_demo
當我們在 ls_test 目錄底下,以 ls -la 列出所有檔案內容時,發現共有三個目錄 (包含上一層目錄,工作目錄),對目錄而言,第三個欄位的數字代表目錄下包含多少目錄。
那檔案呢?檔案的這個數字刺甚麼意思,來試試用 ln 來製作硬式連結:
bang@linuxdiary:/ls_test$ ln file_demo hard_link1
bang@linuxdiary:/ls_test$ ls -l
total 4
drwxr-xr-x 2 ikujyh ikujyh 4096 Jan 1 02:08 dir_demo
-rw-r--r-- 2 ikujyh ikujyh 0 Jan 1 02:08 file_demo
-rw-r--r-- 2 ikujyh ikujyh 0 Jan 1 02:08 hard_link1
bang@linuxdiary:/ls_test$ ln file_demo hard_link2
bang@linuxdiary:/ls_test$ ls -l
total 4
drwxr-xr-x 2 ikujyh ikujyh 4096 Jan 1 02:08 dir_demo
-rw-r--r-- 3 ikujyh ikujyh 0 Jan 1 02:08 file_demo
-rw-r--r-- 3 ikujyh ikujyh 0 Jan 1 02:08 hard_link1
-rw-r--r-- 3 ikujyh ikujyh 0 Jan 1 02:08 hard_link2


對檔案而言,這個數字即代表硬式連結的數目,故此數字是檢視檔案是否有硬式連結的重要方式。

沒有留言: