mv
命令功能
移动文件。
命令格式
mv [-fivn] SOURCE... DEST
参数说明
表1 参数说明
参数 | 参数说明 | 取值范围 |
---|---|---|
-help | 使用帮助。 | N/A |
-f | 通过删除目标文件强制复制。 | N/A |
-i | 若指定移动的源目录或文件与目标中目录或文件同名,则会先询问是否覆盖旧文件,输入 y 直接覆盖,输入 n 取消该操作。 | N/A |
-n | 不要覆盖任何已存在的文件或目录。 | N/A |
-v | 目前本参数toybox官方最新代码虽然支持,但同样也不生效。 | N/A |
SOURCE | 源文件路径。 | 目前只支持文件,不支持目录;支持多文件同时移动。 |
DEST | 目的文件路径。 | 支持目录以及文件。 |
使用指南
-
源文件路径支持“*”和“?”通配符,“*”代表任意多个字符,“?”代表任意单个字符。目的路径不支持通配符。当源路径可匹配多个文件时,目的路径必须为目录。
-
目的路径为目录时,该目录必须存在。此时目的文件以源文件命名。
-
目的路径为文件时,所在目录必须存在。
-
目的文件已存在则会覆盖。
特殊说明
shell端暂不支持。切换mksh版本可全支持,方法:cd bin; ./mksh。
使用实例
举例:
-
mv -i test.txt testpath/
-
mv test?.txt testpath/ (移动 test3.txt testA.txt test_.txt)
输出说明
示例1 显示结果如下
OHOS:/$ touch test.txt
OHOS:/$ mkdir testpath
OHOS:/$ touch testpath/test.txt
OHOS:/$ mv -i test.txt testpath/
mv: overwrite 'testpath//test.txt' (Y/n):y
OHOS:/$ ls
bin etc proc storage testpath usr
dev lib sdcard system userdata vendor
OHOS:/$ cp testpath/test.txt ./
OHOS:/$ ls
bin etc proc storage test.txt userdata vendor
dev lib sdcard system testpath usr
OHOS:/$ mv -i test.txt testpath/
mv: overwrite 'testpath//test.txt' (Y/n):n
OHOS:/$ ls
bin etc proc storage test.txt userdata vendor
dev lib sdcard system testpath usr
示例2 通配符使用
OHOS:/$ ls
bin etc proc storage test.txt testA.txt testpath usr
dev lib sdcard system test3.txt test_.txt userdata vendor
OHOS:/$ mv test?.txt testpath/
OHOS:/$ ls
bin etc proc storage test.txt userdata vendor
dev lib sdcard system testpath usr
OHOS:/$ ls testpath/
test.txt test3.txt testA.txt test_.txt