Linux命令mv批量备份文件
Linux命令mv批量备份文件详细介绍
在 Linux 中使用 mv 批量备份文件时,通常结合重命名或移动到备份目录两种场景。以下是两种安全且常用的方案:
场景 1:同一目录下添加备份后缀(安全重命名)
需求:将当前目录下所有 .log 文件备份为 原文件名_备份时间.log.bak
命令:
bash
+%Y%m%d%H%M*.log
"
" .*}_.bak"
效果:app.log → app_202504121530.bakerror.log → error_202504121530.bak
场景 2:移动到备份目录并保留结构(适合批量迁移)
需求:将 ./data/ 下所有文件备份到 ./backup/,保留目录结构
命令:
bash
./backup./data/* ./backup/
./data/ ./backup/data_bak/
注意:mv 会删除原文件,建议先用 cp -r 测试,确认无误后再用 mv。
安全建议(必看!)
- 优先用
cp备份:若需保留原文件,用cp -n替代mv,避免误删。 - 添加时间戳:防止覆盖,如
mv file.txt file_$(date +%Y%m%d).txt。 - 检查文件类型:通过
[ -f "$file" ]跳过目录,避免误操作。 - 交互式确认:加
-i参数(如mv -i *.log backup/),手动确认每一步。
示例:备份当前目录下所有
.conf 文件(含时间戳)
bash
*.conf,.bak_ +%Y%m%d
~/config_backup
*.conf ~/config_backup/
91234567 *.conf{,.bak_}
~/config_backup *.conf ~/config_backup/
根据需求选择方案,mv 适合确定不需要保留原文件的场景,备份前建议先用 ls 确认文件列表!