国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

Linux ln命令成立鏈接硬鏈接和軟鏈接文件

2024-08-27 23:56:01
字體:
來源:轉載
供稿:網友
  如果要想說清楚 ln 命令,則必須先解釋下 ext 文件系統(Linux 文件系統)是如何工作的。我們在前面講解了分區的格式化就是寫入文件系統,而我們的 Linux 目前使用的是 ext4 文件系統。如果用一張示意圖來描述 ext4 文件系統,則可以參考圖 1。
 
  ext4 文件系統會把分區主要分為兩大部分(暫時不提超級塊):小部分用于保存文件的 inode (i 節點)信息;剩余的大部分用于保存 block 信息。
 
  inode 的默認大小為 128 Byte,用來記錄文件的權限(r、w、x)、文件的所有者和屬組、文件的大小、文件的狀態改變時間(ctime)、文件的最近一次讀取時間(atime)、文件的最近一次修改時間(mtime)、文件的數據真正保存的 block 編號。每個文件需要占用一個 inode。大家如果仔細查看,就會發現 inode 中是不記錄文件名的,那是因為文件名記錄在文件所在目錄的 block 中。
 
  block 的大小可以是 1KB、2KB、4KB,默認為 4KB。block 用于實際的數據存儲,如果一個 block 放不下數據,則可以占用多個 block。例如,有一個 10KB 的文件需要存儲,則會占用 3 個 block,雖然最后一個 block 不能占滿,但也不能再放入其他文件的數據。這 3 個 block 有可能是連續的,也有可能是分散的。
 
  由此,我們可以知道以下 2 個重要的信息:
 
  每個文件都獨自占用一個 inode,文件內容由 inode 的記錄來指向;
 
  如果想要讀取文件內容,就必須借助目錄中記錄的文件名找到該文件的 inode,才能成功找到文件內容所在的 block 塊;
 
  了解了 Linux 系統底層文件的存儲狀態后,接下來學習 ln 命令。
 
  ln 命令用于給文件創建鏈接,根據 Linux 系統存儲文件的特點,鏈接的方式分為以下 2 種:
 
  軟鏈接:類似于 Windows 系統中給文件創建快捷方式,即產生一個特殊的文件,該文件用來指向另一個文件,此鏈接方式同樣適用于目錄。
 
  硬鏈接:我們知道,文件的基本信息都存儲在 inode 中,而硬鏈接指的就是給一個文件的 inode 分配多個文件名,通過任何一個文件名,都可以找到此文件的 inode,從而讀取該文件的數據信息。
 
  ln 命令的基本格式如下:
 
  [root@localhost ~]# ln [選項] 源文件 目標文件
 
  選項:
 
  -s:建立軟鏈接文件。如果不加 "-s" 選項,則建立硬鏈接文件;
 
  -f:強制。如果目標文件已經存在,則刪除目標文件后再建立鏈接文件;

  【例 1】創建軟鏈接:
 
  [root@localhost ~]# touch bols
 
  [root@localhost ~]# In -s /root/bols /tmp
 
  #建立軟鏈接文件
 
  【例 2】創建硬鏈接:
 
  [root@localhost ~]# touch cangls
 
  [root@localhost ~]# ln /root/cangls /tmp
 
  #建立硬鏈接文件,目標文件沒有寫文件名,會和原名一致
 
  #也就是/tmp/cangls 是硬鏈接文件

  這里需要注意的是,軟鏈接文件的源文件必須寫成絕對路徑,而不能寫成相對路徑(硬鏈接沒有這樣的要求);否則軟鏈接文件會報錯。這是初學者非常容易犯的錯誤。
 

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 开化县| 建阳市| 木兰县| 武城县| 雷山县| 雅江县| 平度市| 天津市| 徐闻县| 景德镇市| 临湘市| 巴青县| 余庆县| 尼勒克县| 正蓝旗| 仪征市| 涡阳县| 云南省| 仁寿县| 平江县| 洛浦县| 卓资县| 安新县| 汝州市| 镇远县| 丹寨县| 洛隆县| 永善县| 永昌县| 平江县| 大石桥市| 图木舒克市| 桃园县| 和龙市| 淮北市| 延长县| 密云县| 嵊州市| 漯河市| 漳浦县| 含山县|