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