zzxworld

Linux mv 命令使用指南

Linux mv 命令使用指南

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 总是做简单备份