1. 命令概述
- 命令名称:
mv(英文全拼:move) - 核心功能:移动文件或目录,也可用于重命名文件或目录
- 主要用途:文件移动、重命名、批量文件操作
2. 语法格式
mv [选项] 源文件 目标文件
mv [选项] 源文件... 目标目录
3. 常用选项
| 选项 | 说明 |
|---|---|
-b | 若需覆盖文件,则覆盖前先进行备份 |
-f | 强制移动,不提示确认 |
-i | 若目标文件已存在,则询问是否覆盖 |
-n | 不覆盖已存在的文件 |
-u | 只在源文件比目标文件新,或目标文件不存在时才移动 |
-v | 显示详细操作信息 |
-t | 指定目标目录 |
--help | 显示帮助信息 |
--version | 显示版本信息 |
4. 常用实例详解
(1) 移动单个文件
# 将文件移动到目标目录
mv file.txt /path/to/dir/
# 移动并重命名文件
mv file.txt newname.txt
# 将文件移动到目标目录并重命名
mv file.txt /path/to/dir/newname.txt
(2) 移动多个文件
# 移动多个文件到目标目录
mv file1.txt file2.txt file3.txt /path/to/dir/
# 使用通配符移动多个文件
mv *.txt /path/to/dir/
# 移动多个文件到目标目录并重命名(最后一个参数必须是目录)
mv file1.txt file2.txt /path/to/dir/
(3) 移动目录
# 移动目录到目标位置
mv dir1 /path/to/dir2/
# 重命名目录
mv old_dir new_dir
# 移动目录到目标位置并重命名
mv dir1 /path/to/dir2/new_dir
(4) 使用选项
# 强制移动,不提示确认
mv -f file.txt /path/to/dir/
# 交互模式,覆盖前询问
mv -i file.txt /path/to/dir/
# 显示详细操作信息
mv -v file.txt /path/to/dir/
# 若目标文件存在则不覆盖
mv -n file.txt /path/to/dir/
# 只在源文件更新时才移动
mv -u file.txt /path/to/dir/
# 覆盖前备份目标文件(备份文件会添加 ~ 后缀)
mv -b file.txt /path/to/dir/
(5) 使用 -t 选项指定目标目录
# 使用 -t 选项指定目标目录
mv -t /path/to/dir/ file1.txt file2.txt
# 结合其他选项使用
mv -ivt /path/to/dir/ *.txt
5. 实际应用场景
场景一:文件重命名
# 重命名文件
mv oldname.txt newname.txt
# 重命名目录
mv old_dir new_dir
# 批量重命名文件(结合其他命令)
for file in *.txt; do mv "$file" "prefix_$file"; done
场景二:文件整理
# 将文件移动到指定目录
mv *.log /var/log/
# 将图片文件移动到图片目录
mv *.jpg *.png ~/Pictures/
# 将配置文件移动到备份目录
mv *.conf /backup/config/
场景三:备份文件
# 移动文件并备份已存在的目标文件
mv -b file.txt /path/to/dir/
# 移动文件并强制覆盖
mv -f file.txt /path/to/dir/
# 移动文件,若目标存在则不覆盖
mv -n file.txt /path/to/dir/
场景四:批量操作
# 批量移动文件
mv file{1..10}.txt /path/to/dir/
# 移动所有隐藏文件
mv .* /path/to/dir/
# 移动除指定文件外的所有文件
mv !(exclude.txt) /path/to/dir/
6. 注意事项
- 覆盖风险:
mv命令会覆盖已存在的目标文件,使用-i选项避免误操作 - 权限问题:移动文件需要源文件的读权限和目标目录的写权限
- 跨文件系统:移动文件到不同文件系统时,实际是复制+删除操作
- 符号链接:移动符号链接时,会移动链接本身,而不是指向的文件
- 硬链接:移动硬链接时,硬链接关系会保留
7. 常见问题解决
(1) 权限不足
# 使用 sudo 提升权限
sudo mv file.txt /root/
(2) 目标文件已存在
# 使用 -i 选项交互确认
mv -i file.txt /path/to/dir/
# 使用 -n 选项不覆盖
mv -n file.txt /path/to/dir/
# 使用 -b 选项备份目标文件
mv -b file.txt /path/to/dir/
(3) 移动失败
# 检查目标目录是否存在
ls -ld /path/to/dir/
# 检查目标目录权限
ls -ld /path/to/dir/
# 检查源文件权限
ls -l file.txt
(4) 批量移动出错
# 使用 -v 选项查看详细操作
mv -v *.txt /path/to/dir/
# 使用 -t 选项避免参数过多
mv -t /path/to/dir/ *.txt
核心要点总结:
mv命令用于移动或重命名文件和目录- 常用选项:
-i(交互确认)、-f(强制)、-v(详细)、-n(不覆盖) - 移动操作:移动文件到目录、移动并重命名、移动多个文件
- 重命名操作:重命名文件、重命名目录
- 安全操作:使用
-i避免误覆盖,使用-b备份目标文件 - 批量操作:使用通配符、
-t选项、循环等方式批量移动文件 - 权限要求:需要源文件的读权限和目标目录的写权限
- 实际应用:文件整理、重命名、备份、系统管理
mv 命令是日常文件操作中最常用的命令之一,熟练掌握可以大大提高工作效率。