ls -l詳解
[root@localhost ~]# ls -l
總計 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
…………………………………………
第1行:總計(total)
Total後面的數字是指當前目錄下所有檔案所佔用的空間總和。使用ls –lh可檢視,也可使用ls –alh檢視
第1欄位: 檔案屬性欄位
-rw-r--r-- 1 root root 762 07-29 18:19 exit
檔案屬性欄位總共有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欄位:檔案硬連結數
-rw-r--r-- 1 root root 762 07-29 18:19 exit
如果一個檔案不是目錄,此時這一欄位表示這個檔案所具有的硬連結數
第2欄位的值為1,說明檔案exit只有exit這一個檔名。即只有一個指向該連結的硬連結。
如果使用ln,做一個指向該檔案的硬連結再檢視該檔案,該檔案的第2欄位就會變成2
[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
此時exit 和aexit稱為互為硬連結。同指向一個檔案,無論是修改哪一個檔案,另一個裡也做相應的變化,即同一檔案的不同檔名
互為硬連結的檔案具有相同的檔案節點。
[root@localhost ~]# ls -i aexit exit
162302 aexit 162302 exit
軟連結設定格式:
Ln –s 原始檔 目標連結檔案
# 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
注意:軟連結時檔案節點號不一樣;
[root@localhost ~]# ls -i bexit exit
161765 bexit 162302 exit
如果知道一個檔案有多個檔名(連結檔案)如何查詢他的其他檔名的路徑?
使用ls -i 獲得其節點號,find查詢。
[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
第2欄位: 連結佔用的節點
lrwxrwxrwx 1 root root 4 08-03 08:27 bexit -> exit
該欄位檔案佔用一個節點,屬於軟連結(符號連結)
如果是目錄,則第2欄位表示該目錄所含子目錄的個數
新建空目錄,此目錄的第二欄位就是2,表示該目錄下有兩個子目錄。
因為每一個目錄都有一個指向它本身的子目錄"." 和指向它上級目錄的子目錄"..",此預設子目錄是隱藏的。
每次在目錄下新建一個子目錄,該目錄第2欄位的值就增1,但是新建一個普通檔案該欄位值不增加。
第3欄位:檔案(目錄)擁有者
lrwxrwxrwx 1 root root 4 08-03 08:27 bexit -> exit
該欄位表示該檔案擁有者是誰。只有檔案的擁有者才具有改動檔案屬性的權利。root具有改動任何檔案屬性的權利。對於目錄,只有擁有該目錄的使用者,或者具有寫許可權的使用者才有在目錄下建立檔案的權利。
如果某一使用者被刪除,而該使用者家目錄還存在,ls -l 檢視該檔案將顯示一個代表使用者存在前ID號的數字。
建立使用者test,將其加入wang使用者組,su切換:
[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 #刪除使用者test
[root@localhost ~]# userdel 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
第三欄位變成數字,此數字是原使用者test的ID號。因為檔案系統對每個檔案記錄檔案所有者的ID,而非使用者名稱。
第4欄位:檔案(目錄)擁有者所在的組
lrwxrwxrwx 1 root root 4 08-03 08:27 bexit -> exit
一個使用者可以加入很多個組,但是其中有一個是主組,就是顯示在第4欄位的名稱。
useradd -g指定該使用者所在的主組,-G指定其他組
Useradd –g 組名 使用者名稱
第5欄位: 檔案所佔用的空間(以位元組為單位)
lrwxrwxrwx 1 root root 4 08-03 08:27 bexit -> exit
第5欄位表示檔案大小,如果是目錄,表示該目錄大小。注意是目錄本身大小,而非目錄及其下面的檔案的總大小。
第6欄位:檔案(目錄)最近訪問(修改)時間
lrwxrwxrwx 1 root root 4 08-03 08:27 bexit -> exit
可通過touch修改建立時間 # touch exit
把exit建立時間修改當前時間,檔案還有最後訪問時間,最後修改時間等屬性。
可以用ls其它引數顯示出來。
第7欄位:檔名
lrwxrwxrwx 1 root root 4 08-03 08:27 bexit -> exit
如果是符號連結,會有"->"符號,跟著它指向的檔名
相關文章
- ls命令詳解
- ls -l檔案型別型別
- Linux作業系統之命令解釋:ls -l|grep ^-|wc -lLinux作業系統
- Linux ls命令詳解Linux
- ls命令選項詳解(轉)
- Linux ls命令引數詳解Linux
- 模擬linux下的ls -l命令Linux
- fdisk -l命令有什麼用?fdisk -l詳解
- linux科研武器庫 - 檔案數量統計 - ls -l | grep "^-" | wc -lLinux
- Linux系統程式設計【3.2】——ls命令優化版和ls -l實現Linux程式設計優化
- fdisk -l顯示資訊詳解
- 機器學習中正則懲罰項L0/L1/L2範數詳解機器學習
- inux系統呼叫fcnt()l函式詳解UX函式
- linux檢視資料夾大小,ls-l顯示不正確Linux
- Linux ls命令最詳細用法介紹Linux
- Node.js 構建命令列工具:實現 ls 命令的 -a 和 -l 選項Node.js命令列
- ls -l --time-style命令檢視檔案是星期幾建立的幾種方法
- linux系統程式設計之檔案與IO(六):實現ls -l功能Linux程式設計
- ls 命令
- ls命令
- 為什麼ls-l時,有些檔案顯示日期,有些顯示時間?(轉)
- 詳解 Android 12L|更好地適配大螢幕裝置Android
- *A2L怎麼解
- Linux ls命令Linux
- linux ls 命令Linux
- linux下 ls 排序Linux排序
- 你應該瞭解的 7個Linux ls 命令技巧Linux
- 解決nvm ls-remote 列表只出現iojs版本REMJS
- Linux常用命令之ls、cd、pwd、mkdir命令講解Linux
- 精通 Linux 的 ls 命令Linux
- Linux基礎命令---lsLinux
- Exa – 替代ls命令的工具
- ls命令 & 檔案屬性
- Linux 命令“ls ” 的用法Linux
- l
- 華納廳開代理會員l846987l87l
- 嵌入式Linux驅動筆記(十七)------詳解V4L2框架(UVC驅動)Linux筆記框架
- Linux 命令 ls命令系列(精華)Linux