我有两个目录,如下所示,但包含更多文件。
folder1/pic1.png
folder1/test/readme.txt
folder2/guest.html
folder2/backup/notes.txt
我想“合并”这两个,以便folder2的所有内容最终都在folder1中,而folder2被删除。它们位于相同的文件系统和磁盘 (ext4) 上。我知道所有文件都是唯一的,mv 在这里可以正常工作吗?
答案1
是的,mv
在这里工作。
$ mv -i folder2/* folder1/
注意该-i
标志是为了增加一些安全性。
答案2
“rsync”命令对此很有用。我做了这样的事情:
rsync -PHACcviuma --copy-unsafe-links --exclude="*~" folder2/ folder1/ && rm -fr folder2
所有标志都记录在 rsync 手册页中;基本上 rsync 不会用旧文件替换新文件,并且不会费心复制目标中重复的任何文件。否则,它将复制内容并保留原始元数据(时间戳、权限等)。
rsync 程序还将包括“隐藏文件”(名称以“.”开头)、备份(以“~”结尾等),因此我使用 --exclude 选项来跳过某些无趣的文件模式。