mv(move)是 Linux/Unix 系统中用于移动或重命名文件和目录的基本命令。它不仅可以改变文件的位置(移动),还可以修改文件名(重命名),是日常文件管理中最常用的命令之一。mv 的操作本质上是将源文件或目录的链接指向新的位置或名称,如果目标路径已存在同名文件,mv 会直接覆盖(除非使用 -i 或 -n 选项)。该命令高效且灵活,适用于终端操作、脚本自动化及系统管理任务。
mv 命令的基本语法
mv [选项] 源文件 目标文件
源文件:要移动或重命名的文件或目录。
目标文件:移动后的新位置或新名称。
选项:控制 mv 的行为(如交互式覆盖、递归移动等)。
常用选项
-i 覆盖前提示确认(交互模式)。
-f 强制覆盖目标文件(不提示)。
-n 不覆盖已存在的文件(默认行为)。
-v 显示详细操作过程(verbose)。
-u 仅当源文件比目标新时才覆盖。
-t 指定目标目录(与 mv 文件1 文件2 目标目录 语法配合)。
-r 或 -R 递归移动目录及其内容(用于目录操作)。
使用案例分解
1. 基本文件重命名
mv old_name.txt new_name.txt
将 old_name.txt 重命名为 new_name.txt(同一目录下)。
2. 移动文件到其他目录
mv file.txt /home/user/documents/
将 file.txt 移动到 /home/user/documents/ 目录。
3. 批量移动多个文件
mv *.jpg /backup/images/
将当前目录下所有 .jpg 文件移动到 /backup/images/。
4. 递归移动目录
mv -r old_dir/ new_dir/
将 old_dir 及其所有子目录和文件移动到 new_dir(若 new_dir 不存在,则 old_dir 被重命名为 new_dir)。
5. 交互式覆盖(避免误操作)
mv -i file1.txt /target/
如果 /target/file1.txt 已存在,mv 会提示确认是否覆盖。
6. 显示详细操作过程
mv -v *.log /logs/
移动所有 .log 文件到 /logs/,并显示每个文件的移动状态。
7. 仅覆盖更新的文件
mv -u file.txt /backup/
仅当 file.txt 比 /backup/file.txt 新时才覆盖(常用于备份场景)。
本文出处:老蒋部落 » Linux mv 命令详解和常见的mv命令的案例 | 欢迎分享( 公众号:老蒋朋友圈 )