一、建立軟鏈接和硬鏈接的語法
軟鏈接:ln -s 源文件 目標文件
硬鏈接:ln 源文件 目標文件
源文件:即你要對誰建立鏈接
二、什么是軟鏈接和硬鏈接
軟鏈接可以理解成快捷方式。它和下的快捷方式的作用是一樣的。硬鏈接等于cp -p 加 同步更新。
為了方便說明,我在當前工作目錄下建立了一個文件
建立軟鏈接和硬鏈接:
查看文件屬性:
如上圖所示,我們可以看到,test1是一個符號鏈接文件,指向,但是文件的基本屬性(創建時間,讀寫屬性)是跟不一樣,而test2的基本屬性則跟完全一致。
區別: 軟鏈接文件的大小和創建時間和源文件不同。軟鏈接文件只是維持了從軟鏈接到源文件的指向關系,不是源文件的內容,大小不一樣容易理解。
硬鏈接文件和源文件的大小和創建時間一樣。硬鏈接文件的內容和源文件的內容一模一樣,相當于copy了一份。
但是簡單的copy的文件創建文件的時間應該是復制文件時的時間,肯定不會像硬鏈接那樣和創建源文件的時間相同。
對于源文件的內容有修改目錄里不能鏈接到頁面,硬鏈接文件會同步更新修改,始終保持和源文件的內容相同,而復制的文件則不可能做到這一點。
我們嘗試下修改源文件的內容,依次查看test1目錄里不能鏈接到頁面,test2的內容,可以看到,兩者文件內容都對應改變。
三、刪除源文件多軟鏈接和硬鏈接的影響
接下來我們嘗試刪除源文件,查看下對軟鏈接文件和硬鏈接文件的影響。
查看文件內容:
查看軟鏈接文件,查看的文件不存在。和一樣,刪除源文件,快捷方式也用不了。但是刪除源文件,為什么硬鏈接文件還可以查看呢?
這里要簡單說下inode節點了。inode節點是文件和目錄的唯一標識,每個文件和目錄必有inode節點,不然操作系統就無法識別該文件或系統,就像沒有上戶口的黑戶。
– inode存文件屬性
– block存文件數據
硬鏈接文件和源文件i節點號相同,并且一個inode節點可以對應多個文件名。
刪除了源文件,只是刪除了block到文件的映射關系,但是test2到block的映射關系還存在,我們可以理解為指針,我們只刪除了指針,但是指針test2還是指向該block,并不會受影響。