1. 程式人生 > 其它 >linux的檔案屬性

linux的檔案屬性

linux的檔案屬性

系統的連結檔案

元資料 inode
	用來形容一個檔案的屬性,被稱之為該檔案的`元資料`
		例:檔案的大小,檔案的許可權,檔案的建立時間.....
	檔案的元資料佔用的磁碟空間
真實資料  block
	檔案內容大小佔用的磁碟空間(預設4k)

連結檔案

軟連結
	軟連結相當於windows的快捷方式,軟連結檔案會將`inode`指向原始檔的`block`
	軟連結的特性
		當我們訪問這個軟連結檔案時,其實就是在訪問原始檔的本身。
		1.那麼當我們對一個檔案建立多個軟連結時,其實就是多個inode指向同一個block。
		2.那麼當我們刪除軟連結檔案時,其實只是刪除了一個inode的指向,並不會對原始檔造成影響。
		3.如果我們刪除的是原始檔,那麼該檔案的所有軟連結檔案都會失效。
		4.軟連結檔案的名字可以和原始檔不同,修改軟連結檔案的內容,原始檔也會改
		5.軟連結檔案的inode號與原始檔的inode號不同
	如何建立軟連結
		語法
			ln [選項] 原始檔 快捷方式
				舉例 :ln -s /root/a.html /tmp/b.xxx
		檢視inode 號的方法
			$ ll -i /tmp/b.xxx 
				16777633 lrwxrwxrwx. 1 root root 12 Jun  3 10:20 /tmp/b.xxx -> /root/a.html
			$ ll -i a.html
				33575605 -rw-r--r--. 1 root root 51 Jun  3 10:24 a.html
	軟連結應用的場景
		- 不方便移動的大檔案
		- 軟體升級
		- 程式碼釋出
		- 資料回滾
		- 程式讀取
硬連結檔案
	硬連結
		若一個inode號對應多個檔案,那我們稱這些檔案互為硬連結
		建立方式 
			root@aaa[10:41:58]:/opt $ ln /opt/zls.txt /tmp/b.txt
		特點
			1.硬連結檔案之間inode號都相同
			2.硬連結不能跨分割槽建立
			3.硬連結檔案不受原始檔的影響


	軟連結和硬連結的區別
特性 硬連結 軟連結
inode號 相同 不同
跨分割槽建立 不可以 可以
刪除原始檔 不受影響 受影響
命令 ln ln-s
給目錄建立連結 不可以 可以

企業級面試題

面試題:當前磁碟空間還剩餘500G,但是就無法往裡面寫入資料,報錯,磁碟空間滿了。
	1T磁碟,使用者資料把inode沾滿了
		df -i
		/dev/loop0        1024  1024       0  100% /data
		我們建立檔案,需要使用inode存放檔案的元資料,即便是有block也無法建立新的檔案

計算目錄的硬連結數

一個新建立的空目錄,硬連結數:2
如果在該目錄下建立新的空目錄,硬連結數:3
因為新建立的子目錄有..