Linux:修訂版本之間的差異

出自福留子孫
跳轉到: 導覽搜尋
每節點列表說明:
第1字段:檔案屬性字段
第 39 行: 第 39 行:
  
 
4777即rwsrwxrwx。6777即rwsrwsrwx
 
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>

2018年7月1日 (日) 19:28的修訂版本

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查看

每節點列表說明:

-rw-r--r-- 1 root root 762 07-29 18:19 exit

第1字段:檔案屬性字段

共有10個字母組成;第一個字符表示檔案類型:

  1. -表示該檔案是一個普通檔案
  2. d表示該檔案是一個目錄,字母"d",是dirtectory(目錄)的縮寫
  3. 注意:目錄或者是特殊檔案,這個特殊檔案存放其他檔案或目錄的相關信息
  4. l表示該檔案是一個連接檔案。字母"l"是link(連接)的縮寫,類似於windows下的捷徑方式
  5. b的表示塊設備檔案(block),一般置於/dev目錄下,設備檔案是普通檔案和程序訪問硬件設備的入口,是很特殊的檔案。沒有檔案大小,只有一個主設備號和一個輔設備號。一次傳輸數據為一整塊的被稱為塊設備,如硬盤、光盤等。最小數據傳輸單位為一個數據塊(通常一個數據塊的大小為512字節)
  6. c表示該檔案是一個字符設備檔案(character),一般置於/dev目錄下,一次傳輸一個字節的設備被稱為字符設備,如鍵盤、字符終端等,傳輸數據的最小單位為一個字節
  7. p表示該檔案為命令管道檔案。與shell編程有關的檔案
  8. 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