linux的ll之後欄位的含義以及如何修改檔案的屬主和使用者組__linux

來源:互聯網
上載者:User

ls -l 列表資訊詳解

我們平時用ls -l 命令查看一個目錄下的檔案和子目錄的詳悉資訊時,會得到一個詳細的檔案和目錄名列表.這個列表包含了檔案的屬性,所屬使用者,所屬組,建立時間,檔案大小等等資訊.這些資訊到底是什麼意思呢?有很多初學者對這些不太瞭解,因此想詳悉講解一下用ls -l命令得到的檔案清單每一個欄位的意思

以筆者電腦的/root目錄為例:

[root@gucuiwen root]# ll

總用量 4055

-rw-r--r-- 1 root root 1581 11月 24 18:14 anaconda-ks.cfg

drwxr-xr-x 2 root root 208 12月 1 13:50 babylinux

-rw-r--r-- 1 root root 1474560 11月 25 15:02 babylinux.img

-rw-r--r-- 1 root root 26829 11月 25 15:10 babylinux.png

lrwxrwxrwx 1 root root 9 1月 4 11:06 disk1.link.png -> disk1.png

-rw-r--r-- 1 root root 3209 11月 26 12:07 disk1.png

-rw-r--r-- 1 root root 692 11月 26 13:16 disk2.png

-rw-r--r-- 1 root root 718 11月 26 13:30 disk3.png

drwx------ 8 root root 392 1月 4 08:40 evolution

-rwxr-xr-x 1 root root 13695 11月 30 16:51 fangkuai.sh

drwxr-xr-x 2 root root 208 12月 28 12:06 FreeBSD

-rw-r--r-- 1 root root 2315 11月 25 17:19 getMBR.png

brw-r----- 1 root root 3, 1 1月 4 11:06 hda1

drwxr-xr-x 2 root root 296 12月 31 11:53 htmls

-rw-r--r-- 1 root root 21369 11月 24 18:12 install.log

-rw-r--r-- 1 root root 3024 11月 24 18:12 install.log.syslog

-rw-r--r-- 1 root root 293 1月 4 10:51 ls.txt

-rw-r--r-- 1 root root 2237702 11月 25 15:09 magick.miff

-rw-r--r-- 1 root root 13493 11月 25 17:31 mbr1.png

-rw-r--r-- 1 root root 8123 11月 25 17:42 mbr2.png

-rw-r--r-- 1 root root 512 11月 30 16:10 mbr.dat

-rw-r--r-- 1 root root 64512 11月 26 15:33 partition.doc

-rw-r--r-- 1 root root 49887 11月 26 15:32 partition.sxw

-rw-r--r-- 1 root root 1541 12月 18 13:14 passwd

-rw-r--r-- 1 root root 46320 11月 25 17:28 Screenshot-1.png

-rw-r--r-- 1 root root 44145 11月 25 17:32 Screenshot-2.png

-rw-r--r-- 1 root root 43732 11月 25 17:13 Screenshot.png

drwxr-xr-x 3 root root 72 1月 4 10:49 test

-rw-r--r-- 1 root root 0 12月 18 10:44 tset

crw-r----- 1 root root 4, 65 1月 4 11:08 ttyS1

-rw-r--r-- 1 root root 9754 12月 1 11:25 X.sxw

-rw-r--r-- 1 root root 8704 11月 29 12:22 員工資訊.xls

-rw-r--r-- 1 root root 19456 11月 26 17:14 搬千計劃.xls

可以看到,用ls -l命令查看某一個目錄會得到一個9個欄位的列表.

#######################

第1行:總用量(total)

#######################

這個數值是該目錄下所有檔案及目錄列表第5個欄位的和(以k為單位),也就是該目錄的大小.請注意和該目錄下的檔案和子目錄下檔案的總合做區分.這個數字和du /root 得到的數位大小是不一樣的.可以用awk命令來驗證.

用awk累加第5欄位得到的數值:

[root@gucuiwen root]# ls -l |awk 'BEGIN{sum=0}{sum+=$5}END{print sum}'

4104092

轉化成以K為單位:

[root@gucuiwen root]# ls -l |awk 'BEGIN{sum=0}{sum+=$5}END{print sum/1024}'

4007.9

用ls -l得到的數值:

總用量 4055

用du -sh /root得到的數值:

[root@gucuiwen root]# du -sh /root

127M /root

可以看到累加第5個欄位得到的值和total顯示的是一樣的(因為具體演算法的不同,略微有差別).得到的數值實際上是root目錄的大小(把root目錄看成是一個特殊的檔案,就可以理解什麼是目錄的大小).而用du得到的數值是root目錄下所由檔案和子目錄下全部檔案的大小的總合.

########################

第1欄位:

檔案屬性欄位

########################

檔案屬性欄位總共有10個字母組成,第一個字母表示檔案類型,如果這個字母是一個減號"-",則說明該檔案是一個普通檔案.字母"d"表示該檔案是一個目錄,字母"d",是dirtectory(目錄)的縮寫.請注意,一個目錄或者說一個檔案夾是一個特殊檔案,這個特殊檔案存放的是其他檔案和檔案夾的相關資訊.

如果該字母是"l",表示該檔案是一個符號連結.符號連結的概念類似於windows裡的捷徑.字母"l"是link(連結)的縮寫.在UNIX類系統中,一個檔案可以有多個檔案名稱,一個檔案的多個檔案名稱之間互稱為永久連結(hard link).這些檔案頭可以指向同一個檔案,刪除其中一個檔案名稱並不能刪除該檔案,只有把指向該檔案的所有永久連結都刪除,這個檔案所佔用的空間才真正被釋放,該檔案才真正被刪除.這和windows是有很大區別的,windows中不允許一個檔案有兩個以上檔案名稱,如果存在這中情況,則被認為是檔案系統錯誤.如果你以前在windows下玩過DEBUG就知道,可以用DEBUG修改一張磁碟片上的根目錄,使一個檔案同時具有兩個檔案名稱.但是修改好後用 scandisk監測的時候會被認為是交叉連結錯誤.

開頭為b的表示塊裝置檔案(block),,裝置檔案是普通檔案和程式訪問硬體裝置的入口,是很特殊的檔案.它的沒有檔案大小,只有一個主裝置號和一個輔裝置號.上面的hda1就是一個裝置檔案,具有主裝置號3和輔裝置號1.表示第一個硬碟第一個分區.

另外,如果第一個字母為c表示該檔案是一個字元裝置檔案(character),一次傳輸一個位元組的裝置被稱為字元裝置,比如鍵盤,字元終端等,傳輸資料的最小單位為一個位元組.一次傳輸資料為一整塊的被稱為塊裝置,比如硬碟,光碟片等.最小資料轉送單位為一個資料區塊(通常一個資料區塊的大小是512位元組).

第一欄位的後面9個字母表示檔案的許可權.

r表是讀 (Read) w表示寫 (Write) x表示執行 (eXecute)

其中前三個表示檔案屬主的許可權,中間三個表示組使用者權限,最後三個表示其他使用者權限.

比如:

-rw-r--r-- 1 root root 1581 11月 24 18:14 anaconda-ks.cfg

表示檔案的擁有者root對檔案有讀寫權限,其他人(同組使用者和其他使用者只有讀的許可權)

另外,許可權組還有一些特殊的標記法.比如/usr/X11R6/bin/XFree86具有如下許可權:

[root@gucuiwen root]# ll /usr/X11R6/bin/XFree86

-rws--x--x 1 root root 1960262 2003-02-28 /usr/X11R6/bin/XFree86

其中的s表示這個是網路介面程式"s"是socket的縮寫.該程式在運行過程中會開啟一個網路介面.

其他UNIX類系統如FreeBSD中還有t許可權,表示一個臨時(temporary)檔案

在freeBSD中用ls -l /tmp 可以看到這樣的許可權:

drwxrwxrwt

它的最後一位是字母"t"


-rwx------: 檔案所有者對檔案具有讀取、寫入和執行的許可權。
-rwxr―r--: 檔案所有者具有讀、寫與執行的許可權,其他使用者則具有讀取的許可權。
-rw-rw-r-x: 檔案所有者與同組使用者對檔案具有讀寫的許可權,而其他使用者僅具有讀取和執行的許可權。
drwx--x--x: 目錄所有者具有讀寫與進入目錄的許可權,其他使用者近能進入該目錄,卻無法讀取任何資料。
Drwx------: 除了目錄所有者具有完整的許可權之外,其他使用者對該目錄完全沒有任何許可權。 

###############################

第2欄位

檔案永久連結數或目錄子目錄數

###############################

如果一個檔案不是目錄那麼這一欄位表示,這個檔案所具有的永久連結數,即這個檔案總共有多少個檔案名稱.查看第一個檔案:

-rw-r--r-- 1 root root 1581 11月 24 18:14 anaconda-ks.cfg

第2欄位的值為1,說明這個檔案只有anaconda-ks.cfg這一個檔案名稱.即只有一個指向該連結的永久連結.

如果我用ln,做一個指向該檔案的永久連結再查看該檔案,該檔案的第2欄位就會變成2:

[root@gucuiwen root]# ln anaconda-ks.cfg anaconda-ks.cfg.hardlink

[root@gucuiwen root]# ls -l

總用量 4071

-rw-r--r-- 2 root root 1581 11月 24 18:14 anaconda-ks.cfg

-rw-r--r-- 2 root root 1581 11月 24 18:14 anaconda-ks.cfg.hardlink

此時,anaconda-ks.cfg 和anaconda-ks.cfg.hardlink 稱為互為永久連結.他們指向同一個檔案,無論是修改哪一個檔案,另一個裡也做相應的變化,因為實際上他們指向同一個檔案.

用ls -i anaconda-ks.cfg可以查看它的檔案節點(inode)

互為永久連結的檔案具有相同的檔案節點. 以下是驗證實驗:

[root@gucuiwen root]# ls -i anaconda-ks.cfg

18102 anaconda-ks.cfg

[root@gucuiwen root]# ls -i anaconda-ks.cfg.hardlink

18102 anaconda-ks.cfg.hardlink

可以看到,這兩個檔案具有相同的檔案節點號:18102

如果你知道一個檔案有多個檔案名稱,如何尋找他的其他檔案名稱分布在什麼地方呢?

可以先用ls -i 獲得它的節點號,然後用find尋找,如/etc/sysconfig/networking/devices/ifcfg-eth0就具有多個檔案名稱,我要尋找與它互為永久連結的檔案:

[root@gucuiwen devices]# ls -i /etc/sysconfig/networking/devices/ifcfg-eth0

147181 /etc/sysconfig/networking/devices/ifcfg-eth0

得到它的節點號為 147181

再用find尋找:

[root@gucuiwen devices]# find /etc -inum 147181

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.