簡體   English   中英

Ubuntu mv 命令只復制了,但源文件仍然存在

[英]Ubuntu mv command only copied, but the source files still exist

我不小心為我的源文件夾執行了沒有 ./ 的 mv 。 它從根文件夾復制文件,但沒有刪除它們。

我檢查了一些從根目錄復制到新文件夾中的文件,它們似乎仍在根目錄和新文件夾中。 所以我認為命令沒有移動,而是復制了文件。 我只是想了解這里到底發生了什么。 有任何想法嗎?

這是我執行的命令:bla:my/current/folder$ mv -v /* sub_folder/

如您所見,您正在從根目錄進行復制,您正在使用從/*進行的復制,這意味着從根文件系統復制至該子文件夾。 對於沒有特權的用戶,您將無法執行此操作,因為默認情況下您無法在主文件夾之外寫入文件。

只需刪除*之前的/然后重試。 或在/之前添加點,例如: mv -v ./* sub_folder/

我測試了命令,這些是我的發現。

  1. mv 有兩個階段“復制”和“刪除”。

  2. 當用戶具有讀訪問權限但無法在沒有寫訪問權限的情況下刪除時,mv 會復制。

  3. 如果 mv 進程在其“復制”階段終止,則不會刪除任何已復制的文件。

  4. mv 在遞歸刪除目錄之前復制目錄中的所有文件。 但如果目標是文件列表(可能是外殼擴展),則“刪除”階段會在每次“復制”之后運行,而不是在所有列出的文件都已復制之后運行。

暫無
暫無

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

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