Linux tar 命令 5 大进阶用法:从排除文件到增量备份实战
Linux tar 命令 5 大进阶用法从排除文件到增量备份实战在 Linux 系统管理中文件打包和压缩是最基础也是最重要的技能之一。虽然大多数用户都熟悉基本的 tar 命令用法但真正的高手往往掌握着那些能够显著提升工作效率的进阶技巧。本文将深入探讨五个实用场景帮助你在日常工作中游刃有余。1. 使用 --exclude 精准排除特定文件/目录在实际工作中我们经常需要打包整个目录但又不希望某些特定文件或子目录被打包进去。这时候--exclude参数就派上用场了。1.1 基础排除语法tar --excludepattern -czvf archive.tar.gz directory/这个命令会在打包 directory 目录时排除所有匹配 pattern 的文件或目录。注意 pattern 可以使用通配符# 排除所有 .log 文件 tar --exclude*.log -czvf logs_backup.tar.gz /var/log/ # 排除特定目录 tar --excludecache/ -czvf web_backup.tar.gz /var/www/1.2 多条件排除技巧当需要排除多个模式时可以重复使用--exclude参数tar --exclude*.tmp --excludetemp/ --exclude.git -czvf project.tar.gz project/更高效的方式是使用--exclude-from参数从一个文件中读取排除规则# 创建排除规则文件 echo *.log exclude.txt echo temp/ exclude.txt echo cache/ exclude.txt # 使用排除文件 tar --exclude-fromexclude.txt -czvf backup.tar.gz /data/1.3 排除隐藏文件以点开头的文件tar --exclude.* -czvf clean_backup.tar.gz directory/1.4 排除版本控制目录对于开发项目我们经常需要排除版本控制目录tar --exclude-vcs -czvf project_src.tar.gz project/这个参数会自动排除常见的版本控制目录如 .git, .svn, .hg 等。2. 使用 -N 实现基于时间的增量备份增量备份是系统管理员的重要工具它可以显著减少备份所需的时间和存储空间。tar 的-N参数让我们能够轻松实现这一功能。2.1 增量备份基础tar -N 2023-01-01 -czvf incremental_backup.tar.gz /data/这个命令只会打包 /data/ 目录中在 2023-01-01 之后被修改过的文件。2.2 结合 find 命令实现自动化我们可以结合 find 命令找出最近修改的文件然后进行备份# 查找过去24小时内修改过的文件并打包 find /data/ -type f -mtime -1 -print0 | tar -czvf daily_backup.tar.gz --null -T -2.3 创建完整的备份方案一个完整的增量备份方案通常包括完整备份每周一次差异备份每日备份自上次完整备份以来的变化增量备份每日备份自上次任何备份以来的变化示例脚本#!/bin/bash BACKUP_DIR/backups DATA_DIR/data DATE$(date %Y-%m-%d) # 每周日做完整备份 if [ $(date %u) -eq 7 ]; then tar -czvf $BACKUP_DIR/full_backup_$DATE.tar.gz $DATA_DIR else # 其他日子做增量备份 LAST_FULL$(ls -t $BACKUP_DIR/full_backup_* | head -1) tar -N $(date -r $LAST_FULL %Y-%m-%d) -czvf $BACKUP_DIR/incr_backup_$DATE.tar.gz $DATA_DIR fi3. 使用 -C 灵活指定解压目录默认情况下tar 会在当前目录解压文件但使用-C参数可以指定解压目录这在脚本中特别有用。3.1 基本用法tar -xzvf archive.tar.gz -C /target/directory3.2 实际应用场景安装软件将软件包解压到 /opt 目录恢复备份将备份文件恢复到特定目录而非当前目录多环境部署同一包文件部署到不同环境的不同目录# 部署应用到测试环境 tar -xzvf app_release.tar.gz -C /var/www/test/ # 部署应用到生产环境 tar -xzvf app_release.tar.gz -C /var/www/prod/3.3 结合其他参数的高级用法# 解压到指定目录并保留原始权限 tar -xzvpf archive.tar.gz -C /target/directory # 解压特定文件到指定目录 tar -xzvf archive.tar.gz path/to/file -C /target/directory4. 结合 find 命令进行条件打包find 和 tar 的组合是 Linux 下最强大的文件管理组合之一可以实现高度定制化的打包操作。4.1 按文件类型打包# 只打包 .php 文件 find /var/www/ -type f -name *.php -print0 | tar -czvf php_files.tar.gz --null -T -4.2 按文件大小打包# 打包大于1MB的文件 find /data/ -type f -size 1M -print0 | tar -czvf large_files.tar.gz --null -T -4.3 按修改时间打包# 打包过去7天内修改过的文件 find /home/user/ -type f -mtime -7 -print0 | tar -czvf recent_files.tar.gz --null -T -4.4 排除特定文件后的打包# 排除所有临时文件后打包 find /data/ -type f ! -name *.tmp -print0 | tar -czvf clean_data.tar.gz --null -T -5. 创建带权限保留的备份包在备份系统文件或网站时保留原始文件权限至关重要。tar 的-p参数可以完美解决这个问题。5.1 保留文件权限tar -czvpf backup.tar.gz /etc/-p参数会保留文件的原始权限信息包括文件所有者文件组权限位rwx时间戳5.2 系统备份实战一个完整的系统备份应该保留所有权限排除不必要的临时文件记录备份元信息#!/bin/bash BACKUP_FILE/backups/full_system_$(date %Y%m%d).tar.gz EXCLUDE_FILE/backups/exclude.list # 创建排除列表 cat $EXCLUDE_FILE EOF /proc/* /sys/* /tmp/* /run/* /mnt/* /media/* /lostfound /backups/* EOF # 执行备份 tar --exclude-from$EXCLUDE_FILE -czvpf $BACKUP_FILE /5.3 恢复带权限的备份# 恢复整个系统备份 tar -xzvpf full_system_backup.tar.gz -C /注意恢复系统备份通常需要在救援模式下进行且要确保目标目录结构与备份时一致。总结掌握这些 tar 的进阶用法可以显著提升你在 Linux 系统下的工作效率。无论是日常文件管理还是系统维护这些技巧都能让你更加游刃有余。记住好的系统管理员不是知道所有命令的人而是知道如何组合使用命令来解决实际问题的人。

相关新闻

Linux文本处理三剑客:grep、wc与管道符实战指南

Linux文本处理三剑客:grep、wc与管道符实战指南

1. Linux文本处理三剑客:grep、wc与管道符 在Linux系统日常操作中,文本处理占据了80%以上的命令行工作场景。作为从业15年的系统管理员,我见过太多新手因为不熟悉基础文本工具而浪费大量时间在重复操作上。今天我们就来深入剖析grep、wc这两个…

2026/7/5 11:57:08阅读更多 →
IT疑难杂症诊疗室:常见技术问题分析与解决方案

IT疑难杂症诊疗室:常见技术问题分析与解决方案

引言简要说明IT问题对企业和个人的影响,提出系统化诊断与解决的必要性,概述文章结构。常见IT疑难杂症分类硬件类问题:设备故障、兼容性问题、外设异常等。软件类问题:系统崩溃、程序冲突、更新失败等。网络类问题:连接…

2026/7/5 11:52:08阅读更多 →
牛哇!输入需求,这几款AI写作辅助软件就能帮你搞定毕业论文

牛哇!输入需求,这几款AI写作辅助软件就能帮你搞定毕业论文

毕业季论文焦虑?关键词输入,一键自动生成图文并茂的毕业论文,从选题到定稿全流程搞定!千笔AI、ThouPen、豆包、DeepSeek、元宝这五款AI论文工具实测上线,自动配图、智能排版、真实文献引用、低AI率生成,操作…

2026/7/5 11:52:08阅读更多 →
Scala类与对象:从Java思维到工程契约的范式跃迁

Scala类与对象:从Java思维到工程契约的范式跃迁

1. 为什么 Scala 的类与对象不是“Java 换个名字”那么简单?你刚接触 Scala,看到class Car和new Car(),第一反应可能是:“哦,和 Java 差不多嘛”。我试过——在带第一个 Scala 小组做电商后台时,也是这么想…

2026/7/5 13:02:27阅读更多 →
MC6470与PIC18F24K50实现6DoF运动控制方案

MC6470与PIC18F24K50实现6DoF运动控制方案

1. 项目概述:MC6470与PIC18F24K50的6DoF控制方案在嵌入式运动控制领域,6自由度(6DoF)姿态追踪一直是核心技术挑战。我们采用TDK InvenSense的MC6470 6轴IMU传感器与Microchip的PIC18F24K50微控制器构建了一套高性价比的嵌入式运动…

2026/7/5 13:02:27阅读更多 →
专为外企IT人设计的免费英语学习系统

专为外企IT人设计的免费英语学习系统

作为在外企工作的IT人,你是否经历过这样的时刻:站会上听不清同事的英文发言、写邮件时不确定表达是否专业、遇到冲突时不知如何用英语得体地“Push Back”? 如果你正在寻找一套真正为外企IT人量身定制的英语学习方案,那么 IT Eng…

2026/7/5 13:02:27阅读更多 →
2026年GEO贴牌代理源码解构:核心状态机深度拆解

2026年GEO贴牌代理源码解构:核心状态机深度拆解

一、引言与生产环境痛点在2026年的高并发分布式生产环境下,GEO系统的代理与贴牌功能面临着严峻的数据一致性与状态同步挑战。随着多租户、多代理架构的普及,如何在高吞吐场景下保证代理开通、权限下发、积分扣减等核心操作的原子性,成为架构师…

2026/7/5 13:02:27阅读更多 →
AI专著写作秘籍大公开!AI写专著工具一键生成20万字专著,高效无忧

AI专著写作秘籍大公开!AI写专著工具一键生成20万字专著,高效无忧

撰写学术专著,不仅考验了学术水平,也对心理素质提出了挑衅。与依赖团队协作的论文写作不同,专著的创作往往是一个“单打独斗”的过程。从选题开始,经过框架搭建到内容的逐步撰写与修改,研究者几乎要独自应对每个环节。…

2026/7/5 13:02:27阅读更多 →
BLDC300W24V 驱动器 PID 调参:麦轮小车 4 电机同步与遥控响应优化

BLDC300W24V 驱动器 PID 调参:麦轮小车 4 电机同步与遥控响应优化

BLDC300W24V 驱动器 PID 调参:麦轮小车 4 电机同步与遥控响应优化1. 多电机协同控制的核心挑战麦轮小车的运动控制本质上是一个多自由度系统解耦问题。当四个无刷电机需要同时响应遥控指令时,任何单个电机的响应延迟或速度偏差都会导致整车运动轨迹偏离预…

2026/7/5 12:57:26阅读更多 →
从GitHub安全案例解析常见漏洞与防护实践

从GitHub安全案例解析常见漏洞与防护实践

1. 项目概述:从GitHub Trending看安全实战 最近在GitHub Trending上看到一个项目,叫 skills4/skills ,它因为一些安全漏洞案例被大家讨论。这其实是一个挺典型的场景:一个旨在展示或教授某种技能的仓库,本身却成了安…

2026/7/5 0:01:08阅读更多 →
MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

# MLT 2026启示:因果推理与概率建模驱动下一代LLM应用## 一、背景与挑战:从“黑箱预测”到“可信推理”2026年6月,第7届机器学习与趋势国际会议(MLT 2026)将在悉尼召开。会议议程中,“因果与可解释机器学习…

2026/7/5 0:01:08阅读更多 →
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时,通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中,是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

2026/7/5 0:01:08阅读更多 →
从GitHub安全案例解析常见漏洞与防护实践

从GitHub安全案例解析常见漏洞与防护实践

1. 项目概述:从GitHub Trending看安全实战 最近在GitHub Trending上看到一个项目,叫 skills4/skills ,它因为一些安全漏洞案例被大家讨论。这其实是一个挺典型的场景:一个旨在展示或教授某种技能的仓库,本身却成了安…

2026/7/5 0:01:08阅读更多 →
MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

# MLT 2026启示:因果推理与概率建模驱动下一代LLM应用## 一、背景与挑战:从“黑箱预测”到“可信推理”2026年6月,第7届机器学习与趋势国际会议(MLT 2026)将在悉尼召开。会议议程中,“因果与可解释机器学习…

2026/7/5 0:01:08阅读更多 →
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时,通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中,是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

2026/7/5 0:01:08阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/5 1:30:27阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/5 3:48:10阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/5 3:48:09阅读更多 →