我知道mv
将文件从一个地方移动到另一个地方的命令,但是如何将所有文件从一个目录移动到另一个目录(包含一堆其他文件),如果该文件已存在则覆盖?
ken*_*orb 16
也可以通过使用rsync
,例如:
rsync -va --delete-after src/ dst/
Run Code Online (Sandbox Code Playgroud)
在哪里:
-v
, --verbose
: 增加冗长-a
, --archive
: 存档模式;等于-rlptgoD
(否-H,-A,-X
)--delete-after
: 在传输完成后删除接收方的文件如果您拥有 root 权限,请添加前缀sudo
以覆盖潜在的权限问题。
mus*_*iKk 14
这只是mv srcdir/* targetdir/
.
如果文件太多,srcdir
您可能想尝试以下方法:
cd srcdir
find -exec mv {} targetdir/ +
Run Code Online (Sandbox Code Playgroud)
与\;
final 相反+
,以xargs
类似的方式收集参数,而不是mv
为每个文件执行一次.
Dav*_*rks 10
mv -f source target
Run Code Online (Sandbox Code Playgroud)
从手册页:
-f, --force
do not prompt before overwriting
Run Code Online (Sandbox Code Playgroud)
对于移动和覆盖文件,似乎没有该-R
选项(如果有疑问,请通过键入检查您的选项[your_cmd] --help
。此外,此答案取决于您如何移动文件。移动所有文件,文件和目录,替换文件在目的地等
键入时,mv --help
将返回所有选项的描述。
对于mv,语法为 mv [option] [file_source] [file_destination]
要移动简单文件: mv image.jpg folder/image.jpg
将文件夹移到目标位置 mv folder home/folder
要将源中的所有文件移动到目标 mv folder/* home/folder/
-v
如果要查看正在执行的操作,请使用:mv -v
用于-i
在覆盖前提示:mv -i
使用-u
以更新文件的目的地。它只会移动比目标文件新的源文件,并且尚不存在时:mv -u
将选项捆绑在一起,例如mv -viu
,等等。