Hard-Link
如何將硬連結轉換為普通文件?
我意識到每個文件都是一個硬連結。這正是我的意思:如果一個 inode 有多個文件指向它,我如何複製該 inode 以便每個文件都指向一個具有相同內容的單獨 inode?
例如:
echo "Example" > one ln one two
如何在不共享 inode 的情況下使文件
two
具有與 相同的內容?one
如果您願意,我想“複製”這些文件。
這可以通過命令來實現
find -samefile filename -exec sed -i ';;' {} \;
或者如果你現在是文件的 inode 號
find -inum inode -exec sed -i ';;' {} \;
請注意,這兩個命令僅在目前工作目錄的子目錄中查找具有匹配 inode 的文件。如果您需要搜尋文件系統上的所有文件,則需要從根目錄執行此命令。
第一部分
find -samefile filename
,查找所有共享相同 inode 的文件。然後它執行sed -i ';;'
將文件複製到具有相同名稱的文件(注意我們使用 sed 腳本';;'
而不是';'
,否則,find
會將參數解釋;
為命令的結尾-exec
)。