• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            tqsheng

            go.....
            隨筆 - 366, 文章 - 18, 評論 - 101, 引用 - 0
            數據加載中……

            linux ls -l 詳解[轉]

             

            linux ls -l 詳解[轉]
             

             

            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"


            ###############################
            第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
            /etc/sysconfig/networking/devices/ifcfg-eth0
            /etc/sysconfig/networking/profiles/default/ifcfg-eth0

            這樣就得到了同一個文件的不同文件名的位置.

            *************************************
            如果是一個目錄,第2字段的含義:
            **************************************

            如果是一個目錄,則第2字段表示該目錄所含子目錄的個數.
            新建一個空目錄,這個目錄的第二字段就是2,表示該目錄下有兩個子目錄.為什么新建的目錄下面會有兩個子目錄呢?
            因為每一個目錄都有一個指向它本身的子目錄"." 和指向它上級目錄的子目錄"..",這兩個默認子目錄是隱藏的.用ls -a可以看到.

            每次在目錄下新建一個子目錄,該目錄第2字段的值就增1,但是新建一個普通文件該字段值不增加.


            ###############################
            第3字段:
            文件擁有者
            ###############################

            該字段表示這個文件是屬于哪個用戶的.UNIX類系統都是多用戶系統,每個文件都有它的擁有者.只有文件的擁有者才具有改動文件屬性的權利.當然, root用戶具有改動任何文件屬性的權利.對于一個目錄來說,只有擁有該目錄的用戶,或者具有寫權限的用戶才有在目錄下創建文件的權利.

            如果某一個用戶因為某種原因,被刪除,而該用戶的文件還存在,那么用ls -l 查看該文件將顯示一個代表用戶存在前ID號的數字.

            以下是演示:

            先創建一個用戶并用su過去:

            [root@gucuiwen root]# useradd gucuiwen -g users
            [root@gucuiwen root]# su - gucuiwen

            用新建的用戶創建一個測試文件:

            [gucuiwen@gucuiwen gucuiwen]$ touch testfile
            [gucuiwen@gucuiwen gucuiwen]$ ls -l testfile
            -rw-r--r-- 1 gucuiwen users 0 1月 4 16:31 testfile

            最后用ls -l 看到第三字段的文件擁有者為gucuiwen

            然后我將gucuiwen用戶刪除:

            [root@gucuiwen root]# userdel gucuiwen
            [root@gucuiwen root]# cd /home/gucuiwen/
            [root@gucuiwen gucuiwen]# ls -l
            總用量 0
            -rw-r--r-- 1 501 users 0 1月 4 16:31 testfile

            可以看到,第三字段成了一個數字,這個數字是原gucuiwen用戶的ID號.因為文件系統對每個文件記錄文件所有者的ID,而非用戶名.

            ###############################
            第4字段:
            文件擁有者所在的組
            ###############################

            組的概念可以想像成是一個共同完成一個項目的團隊.通過組的概念,可以控制文件讓特定的用戶查看,修改或運行.而不是一棍子打死,要么全不讓看,要么全讓看.

            一個用戶可以加入很多個組,但是其中有一個是主組,就是顯示在第4字段的明稱.

            可以在adduser的時候用-g指定該用戶所在的主組,用-G指定其他組.

            ###############################
            第5字段:
            文件文件大小(以字節為單位)
            ###############################

            第5字段表示文件大小,如果是一個文件夾,則表示該文件夾的大小.請注意是文件夾本身的大小,而不是文件夾以及它下面的文件的總大小!
            很多人不能理解文件夾是一個特殊的文件的含義,這樣的話理解文件夾大小的含義就比較困難了.


            ###############################
            第6字段:
            文件創建月份
            ###############################
            這個不必多說了.

            ###############################
            第7字段:
            文件創建日期
            ###############################

            ###############################
            第8字段:
            文件創建時間
            ###############################
            文件創建的時間可以通過touch命令來修改.如:
            #touch testfile
            可以把testfile的創建時間修改為當前時間.
            touch的詳細用法請看鏈接文檔.
            #man touch

            另外,一個文件還有最后訪問時間,最后修改時間等屬性.
            這些屬性可以用ls 的其它參數顯示出來.

            ###############################
            第9字段:
            文件名
            ###############################

            如果是一個符號鏈接,那么會有一個 "->" 箭頭符號,后面根一個它指向的文件名.



            posted on 2012-02-17 16:29 tqsheng 閱讀(357) 評論(0)  編輯 收藏 引用

            青草影院天堂男人久久| 久久丫精品国产亚洲av不卡| 久久精品国产精品青草| 久久精品无码专区免费青青| 久久久久久久综合日本亚洲| 久久精品亚洲乱码伦伦中文| 色综合久久无码五十路人妻| 91精品国产91久久久久久青草| 久久这里都是精品| 国产欧美久久久精品| 久久精品桃花综合| 久久91精品国产91久久麻豆| 77777亚洲午夜久久多喷| 久久97精品久久久久久久不卡| 亚洲性久久久影院| 精品一区二区久久久久久久网站| 日韩精品久久久久久久电影| 久久精品人人做人人爽电影| 久久综合噜噜激激的五月天| 国产免费久久精品99re丫y| 国产精品久久久久天天影视| 久久精品国产亚洲AV蜜臀色欲 | 国产毛片欧美毛片久久久| 久久精品国产秦先生| 麻豆AV一区二区三区久久| 久久婷婷色香五月综合激情| 久久精品亚洲欧美日韩久久| 久久99国产精品久久99| 久久国产高潮流白浆免费观看| 国产99久久久国产精品小说| 青青青青久久精品国产h久久精品五福影院1421| 亚洲AV日韩AV永久无码久久| 亚洲欧美精品一区久久中文字幕| 精品水蜜桃久久久久久久| 丁香久久婷婷国产午夜视频| 久久精品中文字幕久久| 97久久精品国产精品青草| 久久国产精品久久精品国产| 国产精品久久久久9999高清| 亚洲国产精品婷婷久久| 91麻豆精品国产91久久久久久 |