42
Linux mv 命令教程 – 移动或重命名文件/目录

一、命令简介

mv(全称 ‌move‌)是 Linux/Unix 系统中用于 ‌移动文件或目录‌ 或 ‌重命名文件或目录‌ 的核心命令。
本质区别‌:

  • 移动:将文件/目录从 ‌原路径‌ 迁移到 ‌新路径‌。
  • 重命名:在 ‌同一目录‌ 下修改文件/目录的名称(路径不变,仅修改名称)。

二、基本语法

bash
mv [选项] 源文件或目录 目标路径或名称

三、核心功能详解

1. 移动文件或目录

场景‌:将文件/目录从一个位置移动到另一个位置。
示例‌:

bash
# 移动单个文件到指定目录mv file.txt /home/user/documents/# 移动多个文件到目录(目标必须为目录)mv file1.txt file2.txt /backup/# 移动整个目录到新路径mv old_dir/ /new/location/

2. 重命名文件或目录

场景‌:在同一路径下修改文件/目录名称。
示例‌:

bash
# 重命名文件mv old_name.txt new_name.txt# 重命名目录mv old_dir/ new_dir/

四、常用选项

选项说明示例
-i交互模式‌:覆盖前询问确认mv -i file.txt existing_file.txt
-v显示操作详情‌(Verbose)mv -v *.log /var/log/
-n禁止覆盖‌ 已存在的文件mv -n file.txt backup/
-u仅移动较新的文件‌(根据修改时间)mv -u *.png images/
--backup覆盖前创建备份文件(备份文件名末尾加~mv --backup=numbered file.txt existing.txt

五、注意事项

  1. 覆盖风险‌:

    • 如果目标路径存在同名文件,默认直接覆盖(‌无警告‌),建议使用 -i 选项避免误操作。
    bash
  2. # 覆盖前提示确认mv -i important_data.txt /tmp/
  3. 权限问题‌:

    • 需要拥有对 ‌源文件‌ 的读取权限和对 ‌目标目录‌ 的写入权限。
  4. 跨文件系统移动‌:

    • 如果源和目标位于不同磁盘或分区,mv 实际执行的是“复制+删除”操作,可能耗时较长。
  5. 系统文件风险‌:

    • 避免移动 /bin//etc/ 等系统目录下的文件,可能导致系统故障。

六、实际应用案例

案例 1:批量移动文件并重命名

bash
# 将当前目录下所有 .txt 文件移动到 docs 目录,并添加前缀 "2024_"for file in *.txt; do
  mv "$file" "docs/2024_$file"done

案例 2:重命名日志文件(按日期归档)

bash
# 将 access.log 重命名为 access_2024-07-18.logmv access.log access_$(date +%Y-%m-%d).log

案例 3:安全覆盖文件(备份旧文件)

bash
# 覆盖前备份旧文件为 existing.txt~mv --backup=simple existing.txt existing.txt.bakmv new_data.txt existing.txt

七、补充技巧

  • 结合通配符‌:使用 * 或 ? 批量操作文件。

    bash
  • # 移动所有以 .jpg 结尾的文件到 images 目录mv *.jpg images/
  • Tab 键自动补全‌:输入路径时按 Tab 键减少输入错误。


通过掌握 mv 命令,你可以高效管理 Linux 系统中的文件和目录。建议先在测试环境中练习,避免误操作关键数据!


这条帮助是否解决了您的问题? 已解决 未解决

提交成功!非常感谢您的反馈,我们会继续努力做到更好! 很抱歉未能解决您的疑问。我们已收到您的反馈意见,同时会及时作出反馈处理!