當你這樣做:內容
cp file1 file2
(file2
已經存在)
實際發生的背後是什麼?
1)file1
的內容是否實際複製到file2
?
2)或者是用名稱file2
創建的新文件(覆蓋舊文件),它具有相同的內容file1
?
當你這樣做:內容
cp file1 file2
(file2
已經存在)
實際發生的背後是什麼?
1)file1
的內容是否實際複製到file2
?
2)或者是用名稱file2
創建的新文件(覆蓋舊文件),它具有相同的內容file1
?
1)由於您使用的「CP」,我認爲操作系統是Linux操作系統。
2)在Linux上,「文件」由「inodes」引用。這裏有兩個示例文件:
$ ls -li 1 2
245728 -rw-r--r-- 1 paulsm users 8 Aug 14 14:52 1
245729 -rw-r--r-- 1 paulsm users 8 Aug 14 14:52 2
$ cat 1
Hello 1
$ cat 2
Hello 2
3)這裏是 「CP」
$ cp 1 2
$ ls -li 1 2
245728 -rw-r--r-- 1 paulsm users 8 Aug 14 14:52 1
245729 -rw-r--r-- 1 paulsm users 8 Aug 14 14:55 2
$ cat 2
Hello 1
你看後的結果:
一)的 「1」 的內容完全取代 「2」
二)沒有「新文件」 - 這個inode爲「2」仍從複製
C)之前保持不變文件日期與文件一起改變內容
「希望幫助.. PSM
通常是第一個。索引條目以及文件的數據都被寫入。
然而,它會幫助你知道你是什麼(文件)系統(猜測linux的味道)。
你可能會意識到,如果你正在創建一個交界點或符號/硬LINK。
像這樣想:
硬鏈接是一個指針/名稱,指向一個數據;即它只是一個替代文件名;它與創建它的文件具有相同的inode編號。
明顯複製,複製數據;指向它被複制的文件的不同方向;具有不同的inode編號。
而且不同的是在系統調用,但有些that`s深潛成問題
你爲什麼不試試呢? – User007 2012-08-14 21:49:43
實際上運行「ls -i」命令來查看inode /之後的inode,也是:) – paulsm4 2012-08-14 21:50:50