可访问网站查看,视觉品味拉满: http://www.616vip.cn/18/index.html
每天学一个 Linux 命令(18):mv
命令功能
mv
(全称:move)用于移动文件/目录或重命名文件/目录,是 Linux 文件管理中的核心命令。
命令语法
mv [选项] <源文件/目录> <目标路径/新名称>
常用选项
选项 | 说明 |
---|---|
-i | 交互模式,覆盖前询问确认 |
-v | 显示详细操作过程 |
-n | 禁止覆盖已存在的文件 |
-f | 强制覆盖,不提示任何警告 |
-b | 覆盖前为原文件创建备份(备份文件名为 原文件名~ ) |
使用示例
-
重命名文件
mv old.txt new.txt # 将 old.txt 重命名为 new.txt
-
移动文件到目录
mv file.txt /home/user/documents/ # 移动 file.txt 到指定目录
-
移动多个文件
mv file1.txt file2.txt ~/backup/ # 移动多个文件到备份目录
-
强制覆盖文件(慎用!)
mv -f new_data.txt existing.txt # 强制用 new_data.txt 覆盖 existing.txt
-
移动目录
mv old_dir/ new_dir/ # 将 old_dir 目录重命名为 new_dir
-
交互模式(防止误操作)
mv -i *.log /var/logs/ # 移动所有日志文件时询问确认
-
移动隐藏文件
mv .config .backup_config # 移动隐藏文件或目录
注意事项
-
覆盖风险
- 默认情况下,
mv
会直接覆盖目标路径中的同名文件,无警告!建议结合-i
或-b
使用。 - 示例:
mv -b important.txt backup/
会在覆盖前生成important.txt~
备份。
- 默认情况下,
-
跨文件系统移动
- 如果目标路径位于不同磁盘或分区,
mv
实际是“复制+删除”操作,大文件可能耗时较长。
- 如果目标路径位于不同磁盘或分区,
-
权限问题
- 移动文件到系统目录(如
/usr/bin
)可能需要sudo
权限:sudo mv myapp /usr/bin/
- 移动文件到系统目录(如
-
通配符技巧
- 使用通配符批量移动文件时,确保路径正确:
mv *.jpg ~/Pictures/ # 移动所有 jpg 文件到图片目录
- 使用通配符批量移动文件时,确保路径正确:
扩展用法
-
结合
find
命令:批量移动特定类型的文件find . -name "*.tmp" -exec mv {} /tmp/ \; # 将当前目录所有 .tmp 文件移动到 /tmp
-
保留文件属性:使用
-p
选项(保留权限、时间戳等)mv -p source_file /backup/
总结
mv
是文件管理的瑞士军刀,灵活但需谨慎操作。- 优先使用
-i
或-b
避免误覆盖,敏感操作前养成备份习惯!
动手试试:
# 创建一个测试文件并重命名
touch testfile
mv testfile renamedfile
ls