內容

2012-08-14 56 views
1

當你這樣做:內容

cp file1 file2 

file2已經存在)

實際發生的背後是什麼?

1)file1的內容是否實際複製到file2

2)或者是用名稱file2創建的新文件(覆蓋舊文件),它具有相同的內容file1

+0

你爲什麼不試試呢? – User007 2012-08-14 21:49:43

+0

實際上運行「ls -i」命令來查看inode /之後的inode,也是:) – paulsm4 2012-08-14 21:50:50

回答

0

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

0

通常是第一個。索引條目以及文件的數據都被寫入。
然而,它會幫助你知道你是什麼(文件)系統(猜測linux的味道)。

你可能會意識到,如果你正在創建一個交界點或符號/硬LINK。

像這樣想:
硬鏈接是一個指針/名稱,指向一個數據;即它只是一個替代文件名;它與創建它的文件具有相同的inode編號。

明顯複製,複製數據;指向它被複制的文件的不同方向;具有不同的inode編號。

而且不同的是在系統調用,但有些that`s深潛成問題