mv
命令是英文单词 Move 的缩写,顾名思义,该命令在 Linux 中主要用来移动文件。如果在要移动的源文件和目标位置位于同一目录下,此命令的操作就类似于重命名了。
mv 命令格式
mv
常用的格式如下:
mv [选项]... 源文件 目标文件
上面的格式只能操作单个文件或目录,如果要一次移动多个文件或目录,可以使用这种格式:
mv [选项]... --target-directory=DIRECTORY 源文件...
mv 命令示例
把 A 目录中指定的文件移动到 B 目录:
mv ./A/test.txt ./B
把 test-a.txt 文件改名为 test-b.txt:
mv test.a.txt test.-b.txt
一次移动多个文件到 B 目录:
mv --target-directory=./B a.txt b.txt c.txt
当 B 目录中存在 test.txt 文件时,先给其做个备份:
mv -b test.txt ./B
当 B 目录中存在 test.txt 文件时,先给其做个备份:
mv -b test.txt ./B
设置备份文件后缀为 .bak:
mv -b -S .bak test.txt ./B
把当前目录下所有子目录中的 .txt 文件批量修改为 .md 后缀:
for file in **/*.txt; do mv ${file/.txt/.md}; done;
mv 命令选项
缩写 | 完整名称 | 说明 |
---|---|---|
--backup [=CONTROL] |
当移动的文件在目标位置存在时,为目标文件作一个备份。 | |
-b |
和 --backup 选项类似,但是不接受控制参数。 |
|
-f |
--force |
强制执行,目标地址中存在同名文件时会被覆盖且不会有任何提示。 |
-i |
--interactive |
目标地址中存在同名文件时提示是否覆盖。 |
--strip-trailing-slashes |
删除任何“源文件”参数后面跟随的斜杠。 | |
-S |
--suffix= SUFFIX |
指定备份后缀。 |
--target-directory= DIRECTORY |
移动全部“源文件”参数到“目录”中。 | |
-u |
--update |
只移动更老的或者标记新的非目录。 |
-v |
--verbose |
说明完成了什么。 |
--help |
显示帮助且退出程序。 | |
--version |
输出版本信息且退出程序。 |
备份选项有以下可用值:
选项值 | 说明 |
---|---|
none , off |
永不做备份 |
numbered , t |
做备份编号 |
existing , nil |
编号,如果编号备份存在,用其它的简单方法 |
simple , never |
总是做简单备份 |