1. 程式人生 > >Linux 20180413 軟鏈接硬鏈接

Linux 20180413 軟鏈接硬鏈接

linux 軟鏈接 硬鏈接

軟鏈接文件


技術分享圖片

所謂軟鏈接就是存儲路徑。路徑越長,文件越大。軟鏈接可以節省空間,省去了拷貝。


技術分享圖片


如何做軟鏈接?


ln -s 源文件 軟鏈接文件

技術分享圖片


不僅僅是可以軟鏈接文件, 也可以軟鏈接目錄。


盡量使用據對路徑,下面的紅色說明不存在,原因就是使用了相對路徑。使用了絕對路徑之後就沒有問題了。

技術分享圖片



實際工作場景的例子:


df -h 查看磁盤分區

技術分享圖片

假設其中的一個磁盤的內存即將使用完畢,同時還有進程在不停的寫入數據,可能會導致磁盤滿導致問題。

解決辦法:

把寫的文件放到另外的有足夠空間的分區下面。但是前提是不能弄這個文件的路徑。

假設 boot下有一個文件bill.log已經很大了但是還在寫,怎麽操作?

1, 首先把/boot/bill.log拷貝到另一個目錄 cp /boot/bill.log /bill.log

2. 刪掉原來的log文件 rm /boot/bill.log

3. 做軟鏈接 ln -s /bill.log /boot/bill.log

就是說將軟鏈接替換了文件,文件放到其他位置,用軟鏈接繼續工作,但是內容都到了其他位置。





硬鏈接文件

inode ls -i 顯示inode號碼

技術分享圖片

這一列表示了多少個文件使用了相同的inode號


技術分享圖片


硬鏈接:

創建了一個文件,另一個文件和它的inode號一樣,這倆個相互為硬鏈接。

軟鏈接不能刪除,一旦刪除就會出現無法鏈接的情況。但是硬鏈接不受影響。因為互為硬鏈接而且互相都是實打實的存在,刪除一個後,同一個inode號的文件少了一個而已。或者這樣理解,inode才是真正存數據的地方,其他的指向inode都是皮。刪掉一個硬鏈接也只是少了個皮,指向該inode的文件少了一個而已。

硬鏈接再多也不會多站空間,因為inode本身占據空間。所以多少個硬鏈接都沒有影響存儲空間。

不能對目錄做硬鏈接。硬鏈接只能對文件做,但是不能跨分區。


Linux 20180413 軟鏈接硬鏈接