文件与目录 / 命令文档
Linux mv命令
概述
文件移动与重命名的艺术
命令概述
mv (move) 是Linux系统中最常用的文件操作命令之一,主要用于移动文件/目录和重命名文件/目录。在日常运维工作中,mv命令是不可或缺的工具,我们必须掌握它!
mv [选项] 源文件 目标文件
常用选项参数
交互式模式-i
覆盖文件前进行确认提示强制模式-f
强制覆盖,不进行任何提示不覆盖-n
不覆盖已存在的文件详细模式-v
显示详细的移动过程信息备份模式-b
覆盖前创建备份文件更新模式-u
仅当源文件较新时才移动文件重命名
# 将 oldfile.txt 重命名为 newfile.txt
mv oldfile.txt newfile.txt移动文件到目录
# 将 newfile.txt 移动到 /root/Dir_D/ 目录
mv newfile.txt /root/Dir_D/移动多个文件
# 将所有 .txt 和 .log 文件移动到 backup 目录
mv *.txt *.log /backup/目录重命名
# 将目录重命名,Dir_D 命名为 Dir_D_new
mv Dir_D Dir_D_new安全移动(交互式)
# 如果目标文件存在,会提示是否覆盖
mv -i source.txt target.txt重要注意事项
数据安全警告 mv命令执行后原文件将不复存在!移动操作是不可逆的,请谨慎操作,特别是在生产环境中。
运维建议 在生产环境中建议使用 -i 参数进行交互式操作,或者先使用 cp 命令备份重要文件。
跨文件系统移动 当跨不同文件系统移动大文件时,mv实际上会执行复制+删除操作,可能需要较长时间。
批量重命名
for file in *.log; do
mv "$file" "${file%.log}.bak"
done
# 批量将 .log 文件重命名为 .bak权限保护移动
sudo mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup
# 移动系统配置文件需要管理员权限按时间戳移动
mv logfile.txt "logfile_$(date +%Y%m%d).txt"
# 按当前日期重命名日志文件