長久來的疑問

歡喜聊天區!除了有關暴力、血腥、色情與測試項目以外,都可聊!

Moderator: Forums Team

Post Reply
betaparticle
Posts: 312
Joined: Thu Jan 01, 2004 12:46 pm

長久來的疑問

Post by betaparticle »

很久很久之前,我剛開始用 linux。
有些東西要從別顆硬碟搬過來。
當然最直覺的方法,就是開視窗,然後整個目錄mv過來。
例如,A目錄裡,有三個檔案,叫做A1, A2, A3

只是有時候,目的地的空間不足,mv到一半就會停下來。
例如,mv A2裡發現空間不夠,目的地目錄A,有A1,而原目錄有A2, A3。

當然,我就會把空間清一清,然後,再繼續。也就是重覆原來的動作。
在windows底下,這個動作沒有問題,它會說,有個同名的目錄,底下若是有同名的檔案,問你是不是要把原來的檔案覆蓋。
當然是選「要」。它就會繼續把A2, A3放到目的地目錄A去,然後就結束。

但是在 linux 下,同樣的動作,就會把目的地目錄A會覆蓋過去,
結果,目的地目錄A就會只剩下A2, A3,而A1就會不見。
我曾經這樣失去許多資料。

我可以理解,這也是一個覆蓋的方法。
所以,長久以來,我要是遇到這種情況,就會一層層去打開,一層層去copy。在資料少的時候,還可以負擔。
最近我要整理6顆硬碟中的許多資料,加起來有500G。一定會搬來搬去。目錄深度也不少。我很怕這種情況發生。

請問大家都不會遇到我的問題嗎?是怎麼辦到的?
Last edited by betaparticle on Fri Jan 19, 2007 1:38 am, edited 1 time in total.
失去網路的電腦==折斷翅膀的天使。

太難的我不會,不要問我。
scsi
Posts: 1326
Joined: Tue Oct 14, 2003 7:49 am
Contact:

Post by scsi »

應該不會這樣吧,你只是用cp,原目錄裡應該還是A1, A2, A3才是吧

還是你是使用mv :roll:
世界再大,不過是妳我之間的事
:111.gif: 欲使用GOT的ebuild請看Gentoo 台灣中文 Ebuild 使用指南
Image  我的部落格
betaparticle
Posts: 312
Joined: Thu Jan 01, 2004 12:46 pm

Post by betaparticle »

scsi wrote:應該不會這樣吧,你只是用cp,原目錄裡應該還是A1, A2, A3才是吧

還是你是使用mv :roll:
應該是mv,sorry,我上面打錯了,我改一下。
失去網路的電腦==折斷翅膀的天使。

太難的我不會,不要問我。
scsi
Posts: 1326
Joined: Tue Oct 14, 2003 7:49 am
Contact:

Post by scsi »

我剛試了一下mv

Code: Select all

scsi@scsihome tmp $ mv ../A .
mv:是否覆寫 ‘./A’? y
mv: 無法進行跨裝置的移動 (‘../A’至‘./A’);無法移除目標檔案或目錄: 是個目錄
scsi@scsihome tmp $ mv -f ../A .
mv: 無法進行跨裝置的移動 (‘../A’至‘./A’);無法移除目標檔案或目錄: 是個目錄
如果要mv的目錄已經存在,似乎就無法mv了 :shock:
世界再大,不過是妳我之間的事
:111.gif: 欲使用GOT的ebuild請看Gentoo 台灣中文 Ebuild 使用指南
Image  我的部落格
Si
Posts: 333
Joined: Sun Apr 20, 2003 12:15 pm
Location: New Zealand

Post by Si »

如果是 KDE 話,一樣會問你是否要覆蓋。
betaparticle
Posts: 312
Joined: Thu Jan 01, 2004 12:46 pm

Post by betaparticle »

Si wrote:如果是 KDE 話,一樣會問你是否要覆蓋。
嗯,我是用gnome的,會問要不要覆蓋,然後就蓋下去,就慘劇發生。
後來改用mv的,我那時以為是怕我下錯,所以我又再下一次 mv -f,
然後也是慘劇發生。

雖然只要不用 mv -f,單純用 mv 可以讓我不致於把東西搞丟,卻也讓我只能一層層進去,慢慢mv。很累。

那你們都怎麼做的?都不用搬動檔案嗎?
願聞其詳。
失去網路的電腦==折斷翅膀的天使。

太難的我不會,不要問我。
ranma37
Posts: 106
Joined: Sat Feb 22, 2003 11:24 am
Location: 風城購物袋中心
Contact:

Post by ranma37 »

沒想到 mv 會有這種問題呀
如果是 mv src/A/* dst/A/ 不知道會不會好一點?
我建議你先用 cp 確定沒問題後再 rm
scsi
Posts: 1326
Joined: Tue Oct 14, 2003 7:49 am
Contact:

Post by scsi »

ranma37 wrote:沒想到 mv 會有這種問題呀
如果是 mv src/A/* dst/A/ 不知道會不會好一點?
我建議你先用 cp 確定沒問題後再 rm
我試過,如果src/A/B跟 dst/A/B這個目都已存在

mv /src/A/* dst/A

會發生mv /src/A/B 失敗,不知道有沒有人跟我是一樣的?
世界再大,不過是妳我之間的事
:111.gif: 欲使用GOT的ebuild請看Gentoo 台灣中文 Ebuild 使用指南
Image  我的部落格
Si
Posts: 333
Joined: Sun Apr 20, 2003 12:15 pm
Location: New Zealand

Post by Si »

betaparticle wrote:嗯,我是用gnome的,會問要不要覆蓋,然後就蓋下去,就慘劇發生。
後來改用mv的,我那時以為是怕我下錯,所以我又再下一次 mv -f,
然後也是慘劇發生。

雖然只要不用 mv -f,單純用 mv 可以讓我不致於把東西搞丟,卻也讓我只能一層層進去,慢慢mv。很累。

那你們都怎麼做的?都不用搬動檔案嗎?
願聞其詳。
我就用 KDE 覆蓋,也沒問題...

例如

Code: Select all

mkdir dir1 dir1/dir2 dir2
touch dir1/dir2/test
touch dir2/test2
然後用 KDE 把 dir1/dir2 移過來覆蓋 ./dir2
$ ls dir2
test test2
User avatar
MengC
Posts: 47
Joined: Wed Jan 19, 2005 9:53 am
Location: Hong Kong
Contact:

Post by MengC »

我不知道有沒有會錯意..但如果情況是這樣的話..何不試一下以下的軟件呢?

Unison File Synchronizer
http://www.cis.upenn.edu/~bcpierce/unison/

希望對閣下有用[/url]
Java is not platform-independent, it is the platform.
Post Reply