檢視 Linux 的原始碼
←
Linux
跳至導覽
跳至搜尋
由於以下原因,您無權編輯此頁面:
您請求的操作只有這個群組的使用者能使用:
使用者
您可以檢視並複製此頁面的原始碼。
[[分類:作業系統]] ==ls -l== <pre>總計 152 -rw-r--r-- 1 root root 2915 08-03 06:16 a -rw------- 1 root root 1086 07-29 18:35 anaconda-ks.cfg</pre> 第1行:總計(total) Total後面的數字是指當前目錄下所有檔案所佔用的空間總和。使用ls –lh可查看,也可使用ls –alh查看 ===每節點列表說明:=== <pre>-rw-r--r-- 1 root root 762 07-29 18:19 exit</pre> ====第1字段:檔案屬性字段==== 共有10個字母組成;第一個字符表示檔案類型: #-表示該檔案是一個普通檔案 #d表示該檔案是一個目錄,字母"d",是dirtectory(目錄)的縮寫 #注意:目錄或者是特殊檔案,這個特殊檔案存放其他檔案或目錄的相關信息 #l表示該檔案是一個連接檔案。字母"l"是link(連接)的縮寫,類似於windows下的捷徑方式 #b的表示塊設備檔案(block),一般置於/dev目錄下,設備檔案是普通檔案和程序訪問硬件設備的入口,是很特殊的檔案。沒有檔案大小,只有一個主設備號和一個輔設備號。一次傳輸數據為一整塊的被稱為塊設備,如硬盤、光盤等。最小數據傳輸單位為一個數據塊(通常一個數據塊的大小為512字節) #c表示該檔案是一個字符設備檔案(character),一般置於/dev目錄下,一次傳輸一個字節的設備被稱為字符設備,如鍵盤、字符終端等,傳輸數據的最小單位為一個字節 #p表示該檔案為命令管道檔案。與shell編程有關的檔案 #s表示該檔案為sock檔案。與shell編程有關的檔案 連接檔案分為硬連接或符號連接兩種。 硬連接:多個指向同一檔案。硬連接檔案大小完全相同,如有多個硬連接,所連接的檔案只是一個檔案大小。 同一個檔案所有的硬連接都是等價的,作業系統不區分硬連接創建的先後順序,若一個檔案存在兩個硬連接,那麼除去一個,檔案還可以通過另外一個連接來訪問該檔案,也可以除去創建連接時用到的檔案,但只要還有一個連接存在,就可通過該連接訪問檔案。 符號連接(軟連接):建立一個獨立的檔案,這個檔案會讓數據的讀取指向它連接的檔案內容。類似windows的捷徑。 第1字段後9個字母表示該檔案或目錄的權限位。 r表是讀(Read)、w表示寫(Write)、x表示執行(eXecute) 前三個表示檔案擁有者的權限,中間三個表示檔案所屬組擁有的權限,最後三個表示其他用戶擁有的權限。 SUID和GUID解析:數值寫在最左一位 s:4;g:2;o:1 4777即rwsrwxrwx。6777即rwsrwsrwx ====第2字段:檔案硬連接數==== <pre>-rw-r--r-- 1 root root 762 07-29 18:19 exit</pre> 如果一個節點不是目錄,此時這一字段表示這個檔案所具有的硬連接數 第2字段的值為1,說明檔案exit只有exit這一個檔案名。即只有一個指向該連接的硬連接。 如果使用ln,做一個指向該檔案的硬連接再查看該檔案,該檔案的第2字段就會變成2 <pre>[root@localhost ~]# ln exit aexit [root@localhost ~]# ls -l 總計 160 -rw-r--r-- 2 root root 762 07-29 18:19 aexit -rw-r--r-- 2 root root 762 07-29 18:19 exit</pre> 此時exit和aexit互為硬連接。同指向一個檔案,無論是修改哪一個檔案,另一個裡也做相應的變化,即同一檔案的不同檔案名。 互為硬連接的檔案具有相同的檔案節點。 <pre>[root@localhost ~]# ls -i aexit exit 162302 aexit 162302 exit</pre> 軟連接設置語法: <pre>Ln –s 源檔案 目標連接檔案</pre> <pre># ln -s exit bexit # ls -l lrwxrwxrwx 1 root root 4 08-03 08:27 bexit -> exit -rw-r--r-- 1 root root 762 07-29 18:19 exit</pre> 注意:軟連接時檔案節點號不一樣; <pre>[root@localhost ~]# ls -i bexit exit 161765 bexit 162302 exit</pre> 如果知道一個檔案有多個檔案名(連接檔案)如何查找他的其他檔案名的路徑? 使用ls -i 獲得其節點號,find查找。 <pre>[root@localhost ~]# ls -i /etc/sysconfig/network-scripts/ifcfg-eth0 452946 /etc/sysconfig/network-scripts/ifcfg-eth0 #節點號為 452946 [root@localhost ~]# find /etc -inum 452946 /etc/sysconfig/network-scripts/ifcfg-eth0</pre> ====第2字段:連接佔用的節點數==== <pre>lrwxrwxrwx 1 root root 4 08-03 08:27 bexit -> exit</pre> 該字段檔案佔用一個節點,屬於軟連接(符號連接) 如果是目錄,則第2字段表示該目錄所含子目錄的個數 新建空目錄,此目錄的第二字段就是2,表示該目錄下有兩個子目錄。 因為每一個目錄都有一個指向它本身的子目錄"." 和指向它上級目錄的子目錄"..",此預設子目錄是隱藏的。 每次在目錄下新建一個子目錄,該目錄第2字段的值就增1,但是新建一個普通檔案該字段值不增加。 ====第3字段:檔案(目錄)擁有者==== <pre>lrwxrwxrwx 1 root root 4 08-03 08:27 bexit -> exit</pre> 該字段表示該檔案擁有者是誰。只有檔案的擁有者才具有改動檔案屬性的權利。root具有改動任何檔案屬性的權利。對於目錄,只有擁有該目錄的用戶,或者具有寫權限的用戶才有在目錄下創建檔案的權利。 如果某一用戶被刪除,而該用戶家目錄還存在,ls -l 查看該檔案將顯示一個代表用戶存在前ID號的數字。 創建用戶test,將其加入wang用戶組,su切換: <pre>[root@localhost ~]# useradd test [root@localhost ~]# usermod -g wang test #創建用戶test,並將其加入到用戶組wang中 [root@localhost ~]# su test [test@localhost root]$ cd /home/test [test@localhost ~]$ touch testing [test@localhost ~]$ ls -l testing -rw-r--r-- 1 test wang 0 08-03 18:02 testing #最後用ls -l 看到第三字段的檔案擁有者為test [test@localhost ~]$ su root [root@localhost ~]# userdel test #刪除用戶test [root@localhost ~]# cd /home/test #進入test的家目錄,查看剛剛創建的檔案testing。 [root@localhost test]# ls -l 總計 4 -rw-r--r-- 1 504 wang 0 08-03 18:02 testing</pre> 第三字段變成數字,此數字是原用戶test的ID號。因為檔案系統對每個檔案記錄檔案所有者的ID,而非用戶名。 ====第4字段:檔案(目錄)擁有者所在的群組==== <pre>lrwxrwxrwx 1 root root 4 08-03 08:27 bexit -> exit<pre> 一個用戶可以加入很多個群組,但是其中有一個是主群組,就是顯示在第4字段的名稱。 useradd -g指定該用戶所在的主群組,-G指定其他群組 Useradd –g 群組名 用戶名
返回到「
Linux
」。
導覽選單
個人工具
登入
命名空間
頁面
討論
變體
視圖
閱讀
檢視原始碼
檢視歷史
更多
搜尋
導覽
首頁
近期變更
隨機頁面
MediaWiki說明
工具
連結至此的頁面
相關變更
特殊頁面
頁面資訊