簡體   English   中英

Linux命令移動目錄

[英]Linux command to move a directory

我的舊目錄和新目錄中包含相同的文件夾和文件。

我嘗試:

mv -if old/* new/*

並得到錯誤

mv:無法將./xxxxxx'移動到自身的子目錄中

我該怎么移動它?

您應該使用mv -if old/* new/而不使用尾隨*

這是因為它展開了

mv -if old/foo old/bar old/baz new/foo new/bar new/baz

即把一切都變成新的/巴茲

這不是你想要的。

reef@localhost:/tmp/experiment$ ls a
11  22  33
reef@localhost:/tmp/experiment$ ls b
22  33
reef@localhost:/tmp/experiment$ ls
a  b
reef@localhost:/tmp/experiment$ mv a/* b
reef@localhost:/tmp/experiment$ ls a
reef@localhost:/tmp/experiment$ ls b
11  22  33

有用。 你想要實現什么目標? 您能否寫一個簡短的例子來說明輸入數據應該是什么樣的以及輸出數據應該是什么樣的? 事實是我不知道你想要做什么:)幫助我幫助你。

注意mv a / * b /不要移動文件。*(文件名以'。'開頭)在/ to b /

例如:

$ mkdir -p a/d b && touch a/f a/.f a/d/.f
$ mv a/* b/
$ ls -a a/
.  ..  .f

你可能得到了答案,但上面的答案對我不起作用......最后大量的研究我得到了答案。 (問題歸因於文件所有權)
並在命令及其工作之前放置sudo .... :)同樣的事情為cp和mv命令。

sudo mv -if old/* new/

如果從ext2 / 3/4文件系統復制到FAT32文件系統,並且文件名具有FAT32命名約定的無效字符,則會出現這種非常煩人且不正確的地獄錯誤消息。 我怎么知道? 我對這個錯誤進行了摔跤 - 是的,它是一個KERNEL BUG--在它突然出現之前已經有6個小時了。 我認為這是一個shell解釋器錯誤,我認為這是一個“mv”錯誤 - 我嘗試了多個不同的shell,一切。 試試這個實驗:在一個ext文件系統上,“觸摸'a:b'”將它們“mv”到FAT32文件系統。 嘗試一下,你會喜歡(討厭)結果。 “<”和“>”(\\ 074和\\ 076)也是如此。

感謝“男人mv” - 這是一個真正的大幫助,不要放棄你的日常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM