[root@localhost ~]# ls -lnode
總計 152shell
-rw-r--r-- 1 root root 2915 08-03 06:16 a編程
-rw------- 1 root root 1086 07-29 18:35 anaconda-ks.cfgwindows
…………………………………………ide
第1行:總計(total)spa
Total後面的數字是指當前目錄下全部文件所佔用的空間總和。使用ls –lh可查看,也可以使用ls –alh查看操作系統
第1字段: 文件屬性字段.net
-rw-r--r-- 1 root root 762 07-29 18:19 exit指針
文件屬性字段總共有10個字母組成;第一個字符表示文件類型。orm
-表示該文件是一個普通文件
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)
前三個表示文件擁有者的權限,中間三個表示文件所屬組擁有的權限,最後三個表示其餘用戶擁有的權限。
第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,可是新建一個普通文件該字段值不增長。
硬連接(hard link)
UNIX文件系統提供了一種將不一樣文件連接至同一個文件的機制,咱們稱這種機制爲連接。它可使得單個程序對同一文件使用不一樣的名字。這樣的好處是文件系 統只存在一個文件的副本,系統簡單地經過在目錄中創建一個新的登記項來實現這種鏈接。該登記項具備一個新的文件名和要鏈接文件的inode號,文件的目錄登記項就是所謂的文件硬連接(硬連接,目錄登記項: 文件名-->文件的inode;文件名能夠有多個,但文件inode只是一個)。不論一個文件有多少硬連接,在磁盤上只有一個描述它的inode,只要該文件的連接數不爲0,該文件就保持存在。硬連接不能跨越文件系統,也不能對目錄創建硬連接!
硬 鏈接是直接創建在節點表上的(inode),創建硬鏈接指向一個文件的時候,會更新節點表上面的計數值。舉個例子,一個文件被鏈接了兩次(硬鏈接),這 個文件的計數值 是3,而不管經過3個文件名中的任何一個訪問,效果都是徹底同樣的,可是若是刪除其中任意一個,都只是把計數值減1,不會刪除實際的內容的,(任何存在的 文件自己就算是一個硬鏈接)只有計數值變 成0也就是沒有任何硬鏈接指向的時候纔會真實的刪除內容。
軟連接(symbolic link)
咱們把符號連接稱爲軟連接,它是指向另外一個文件的特殊文件,這種文件的數據部分僅包含它所要連接文件的路徑名。軟連接是爲了克服硬連接的不足而引入的,軟連接不直接使用inode號做爲文件指針,而是使用文件路徑名做爲指針(軟連接:文件名 + 數據部分-->目標文件的路徑名)。軟件有本身的inode,並在磁盤上有一小片空間存放路徑名。所以,軟連接可以跨文件系統,也能夠和目錄連接!其二,軟連接能夠對一個不存在的文件名進行連接,但直到這個名字對應的文件被建立後,才能打開其 連接。(http://blog.csdn.net/xdfwsl/article/details/3031200)
第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
若是是符號連接,會有"->"符號,跟着它指向的文件名
2:文件的屬性可由如下命令修改
chgrp:改變文件所屬羣組
chown:改變文件擁有者
chmod:改變文件的權限