Linux 軟連接和硬鏈接


最近有些懈怠,有段時間沒寫博客了,還是歹堅持下去💪

 

 

Linux 引入了目錄 (有時亦被稱為文件夾)這一概念,目錄使文件可被分類管理,且目錄的引入使 Linux 的文件系統形成一個層級結構的目錄樹

 

  • # Linux 系統的頂層目錄結構
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/              根目錄
├── bin     存放用戶二進制文件
├── boot    存放內核引導配置文件
├── dev     存放設備文件
├── etc     存放系統配置文件
├── home    用戶主目錄
├── lib     動態共享庫
├── lost+found  文件系統恢復時的恢復文件
├── media   可卸載存儲介質掛載點
├── mnt     文件系統臨時掛載點
├── opt     附加的應用程序包
├── proc    系統內存的映射目錄,提供內核與進程信息
├── root    root 用戶主目錄
├── sbin    存放系統二進制文件
├── srv     存放服務相關數據
├── sys     sys 虛擬文件系統掛載點
├── tmp     存放臨時文件
├── usr     存放用戶應用程序
└── var     存放郵件、系統日志等變化文件

 

 

 

 Linux 與其他類 UNIX 系統一樣並不區分文件與目錄:目錄是記錄了其他文件名的文件

 

  • Win    文件:文件名數據
  • Linux 文件:用戶數據 (user data) 與元數據 (metadata)。

 

  • 用戶數據,即文件數據塊 (data block),數據塊是記錄文件真實內容的地方
  • 元數據則是文件的附加屬性,如文件大小、創建時間、所有者等信息

元數據包含 : inode 號(inode 是文件元數據的一部分但其並不包含文件名,inode 號即索引節點號),linux中inode 號才是linux文件的標識

文件名僅是為了方便人們的記憶和使用,系統或程序通過 inode 號尋找正確的文件數據塊

 

 

 

說了這么多 別說你們了  我自己頭都大了   那么 # linux為什么要使用軟連接和硬鏈接??

為解決文件的共享使用

 

硬鏈接 (hard link) 與軟鏈接(又稱符號鏈接,即 soft link 或 symbolic link)。

鏈接為 Linux 系統解決了文件的共享使用,還帶來了隱藏文件路徑增加權限安全及節省存儲等好處。

 

#什么是硬鏈接??

若一個 inode 號對應多個文件名,則稱這些文件為硬鏈接。換言之,硬鏈接就是同一個文件使用了多個別名   

# 什么是軟鏈接??

 刪除軟鏈接並不影響被指向的文件,但若被指向的原文件被刪除,則相關軟連接被稱為死鏈接(即 dangling link,若被指向路徑文件被重新創建,死鏈接可恢復為正常的軟鏈接)。

 

see also https://www.ibm.com/developerworks/cn/linux/l-cn-hardandsymb-links/index.html#fig1

 

 

#拓展二進制

 

為什么要使用二進制文件。原因大概有三個:
  1.   第一是二進制文件比較節約空間,這兩者儲存字符型數據時並沒有差別。但是在儲存數字,特別是實型數字時,二進制更節省空間,比如儲存 Real*4 的數據:3.1415927,文本文件需要 9 個字節,分別儲存:3 . 1 4 1 5 9 2 7 這 9 個 ASCII 值,而二進制文件只需要 4 個字節(DB 0F 49 40)
  2.   第二個原因是,內存中參加計算的數據都是用二進制無格式儲存起來的,因此,使用二進制儲存到文件就更快捷。如果儲存為文本文件,則需要一個轉換的過程。在數據量很大的時候,兩者就會有明顯的速度差別了。
  3.   第三,就是一些比較精確的數據,使用二進制儲存不會造成有效位的丟失。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM