一、基础选项
**-i / --interactive**
功能:覆盖前提示用户确认,防止误操作。
示例:
bash
mv -i file.txt new_file.txt # 若 new_file.txt
已存在,会提示 overwrite?
1,2,3,4,5,6,7
**-f / --force**
功能:强制覆盖目标文件,不提示确认(优先级高于 -i)。
示例:
bash
mv -f file.txt new_file.txt # 直接覆盖,无提示 1,2,4,5,6,7
**-v / --verbose**
功能:显示详细操作信息,如移动的文件名。
示例:
bash
mv -v .log backup/ # 输出每个移动的日志文件名 3,5,6,7
*-n / --no-clobber**
功能:禁止覆盖已存在的目标文件。
示例:
bash
mv -n old.txt new.txt # 若 new.txt
存在,跳过操作 4,5,6,7
**-u / --update**
功能:仅当源文件比目标新或目标不存在时才移动。
示例:
bash
mv -u updated.log logs/ # 仅当 logs/updated.log
旧时覆盖 1,4,5,6,7
二、备份与覆盖控制
**-b / --backup**
功能:覆盖前自动备份目标文件,默认后缀为 ~。
示例:
bash
mv -b file.txt new_file.txt # 备份为 new_file.txt~
1,4,6,7
**–backup=策略**
策略:
numbered(默认):备份文件名后加 ~数字。
existing:仅当备份文件存在时添加后缀。
simple:固定后缀 ~。
示例:
bash
mv --backup=simple file.txt new_file.txt # 备份为 new_file.txt~
7
**–suffix=后缀**
功能:自定义备份文件后缀。
示例:
bash
mv --suffix=.bak old.txt new.txt # 备份为 new.txt.bak
7
三、目标目录操作
**-t / --target-directory=目录**
功能:显式指定目标目录,适合批量移动。
示例:
bash
mv -t backup/ file1.txt file2.txt # 等效于 mv file1.txt file2.txt backup/
1,6,7
**-T / --no-target-directory**
功能:将目标路径视为普通文件而非目录,防止误操作。
示例:
bash
mv -T file.txt dir/ # 报错 target is not a directory
1
四、其他实用选项
**-S / --suffix**
功能:自定义备份文件后缀(旧版语法,已被 --suffix 替代)。
示例:
bash
mv -S .bak file.txt new.txt # 备份为 new.txt.bak
1
**-h / --help**
功能:显示帮助信息。
示例:
bash
mv --help # 输出命令语法和选项说明 2,5
**–version**
功能:显示命令版本信息。
示例:
bash
mv --version # 输出类似 mv (GNU coreutils) 8.23...
1,5
五、组合使用示例
强制覆盖并显示详细信息
bash
mv -fv file.txt new_file.txt # 覆盖并输出操作细节 3,5,7
批量移动并备份旧文件
bash
mv -uv *.log -t logs/ --backup=numbered # 仅移动更新的日志并备份旧文件 6,7
重命名目录
bash
mv old_dir new_dir # 直接修改目录名 5,7
六、注意事项
覆盖风险:重要文件操作建议加 -i 或 --backup。
跨文件系统移动:mv 实质是“复制+删除”,大文件耗时较长。
权限问题:需对源文件有读权限,目标目录有写权限。
符号链接处理:默认移动链接本身而非目标文件(需 -L 选项解析)。
引用说明
选项功能与示例:
备份策略与后缀自定义:
注意事项与权限问题:如需查看完整手册,可通过 man mv 或 mv --help 获取详细信息