Linux打包文件如何备份传输?

Linux打包整合文件/目录为单个归档,便于传输存储,常用tar工具配合压缩命令(如gzip/bzip2),需注意路径、权限及保留原始属性。

核心工具:tar命令

tar(Tape Archive)是Linux最基础的打包工具,可将多个文件/目录合并为.tar归档文件。
基本语法

tar [选项] 输出文件名.tar 输入文件/目录

常用场景示例

  1. 打包目录(保留原始权限):

    tar -cvf backup.tar /path/to/directory
    • -c:创建新归档
    • -v:显示打包过程(可选)
    • -f:指定输出文件名
  2. 打包多个文件

    tar -cvf documents.tar file1.txt file2.jpg /home/user/docs
  3. 排除特定文件

    tar -cvf backup.tar --exclude="*.tmp" /path/to/directory

打包与压缩的区别

  • 打包.tar):仅合并文件,不减小体积。
  • 压缩:通过算法减小文件大小,需配合压缩工具(如gzip、bzip2)。
    通常两者结合使用:先打包再压缩,生成如.tar.gz.tar.bz2等文件。

打包并压缩(一步操作)

tar支持直接调用压缩工具,通过不同选项实现:

压缩类型 命令示例 输出文件扩展名 特点
gzip tar -czvf archive.tar.gz /path .tar.gz 速度快,通用性强
bzip2 tar -cjvf archive.tar.bz2 /path .tar.bz2 压缩率高,速度较慢
xz tar -cJvf archive.tar.xz /path .tar.xz 最高压缩率,耗时较长

选项说明

  • -z:调用gzip
  • -j:调用bzip2
  • -J:调用xz

查看归档内容

不解压直接列出包内文件:

tar -tvf archive.tar.gz      # 查看.tar.gz内容
tar -tvf archive.tar.bz2     # 查看.tar.bz2内容

解包与解压

解压到当前目录

tar -xvf archive.tar          # 解包.tar文件
tar -xzvf archive.tar.gz      # 解压.tar.gz
tar -xjvf archive.tar.bz2     # 解压.tar.bz2
tar -xJvf archive.tar.xz      # 解压.tar.xz
  • -x:解包/解压
  • -v-f作用同打包时

解压到指定目录

tar -xzvf archive.tar.gz -C /target/directory

高级技巧

  1. 增量备份(仅备份新文件):

    tar -g snapshot.snar -czvf backup-incremental.tar.gz /path
  2. 保留文件权限与属性
    添加-p选项(如tar -cpzvf),适用于系统备份。

  3. 分卷压缩(大文件分割):

    tar -czvf - /large_dir | split -b 2G - backup_part.tar.gz.

    合并分卷:cat backup_part.tar.gz.* | tar -xzvf -


安全注意事项

  1. 验证文件来源:解压前检查归档文件完整性(如通过sha256sum校验)。
  2. 避免覆盖文件:解压时使用-k选项防止覆盖现有文件(tar -xkzvf)。
  3. 防范恶意包:切勿解压来源不明的归档文件,可能包含隐藏路径(如/etc/passwd覆盖攻击)。

  • 基础打包:tar -cvf
  • 打包+压缩:tar -czvf(gzip)、tar -cjvf(bzip2)、tar -cJvf(xz)
  • 解压:tar -xzvf(对应压缩格式)
  • 关键选项:-c(创建)、-x(解压)、-v(详情)、-f(文件名)、-C(指定目录)

提示:更多参数可通过man tar查看官方手册,或访问GNU Tar文档。


引用说明

  • Linux tar命令手册页(man tar
  • GNU Tar官方文档:https://www.gnu.org/software/tar/
  • 文件压缩算法对比参考:https://linuxhandbook.com/tar-commands/

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8151.html

(0)
酷番叔酷番叔
上一篇 2025年7月21日 03:12
下一篇 2025年7月21日 03:28

相关推荐

  • Windows系统中如何具体实现FTP登录Linux服务器的详细操作步骤?

    在Windows系统中通过FTP协议登录Linux服务器进行文件传输是常见的跨平台操作需求,广泛应用于服务器管理、文件备份、数据共享等场景,FTP(File Transfer Protocol)是一种基于TCP/IP协议的应用层协议,支持客户端与服务器之间的文件上传、下载、删除等操作,本文将详细介绍从Windo……

    2025年9月29日
    9600
  • 在Linux系统中如何彻底卸载Oracle数据库并清理所有残留?

    在Linux系统中卸载Oracle数据库需要谨慎操作,涉及服务停止、文件清理、用户组删除等多个步骤,不同版本的Oracle(如11g、12c、19c等)和Linux发行版(如RHEL、Ubuntu等)可能存在差异,但核心流程基本一致,以下是详细的卸载步骤及注意事项,确保彻底清理Oracle相关组件,避免残留文件……

    2025年8月30日
    11800
  • 如何检查80端口被占用?

    在Linux系统中,端口被占用可能导致服务启动失败或网络连接异常,以下是释放端口的专业方法,操作前请确保您有sudo权限:第一步:定位占用端口的进程方法1:使用 lsof 命令sudo lsof -i :端口号sudo lsof -i :80输出示例:COMMAND PID USER FD TYPE DEVIC……

    2025年7月24日
    12200
  • 如何确保SSH服务器安全配置?

    Linux系统安全防护与黑客入侵防御策略在网络安全领域,”入侵”一词常被误解,作为负责任的平台,我们必须明确指出:未经授权访问任何计算机系统(包括Linux系统)是非法行为,违反《网络安全法》和《刑法》第285条,将面临严厉法律制裁,本文旨在揭示常见攻击手法,帮助管理员加固系统安全,攻击者视角:常见Linux入……

    2025年6月24日
    10800
  • Linux如何启动SSH远程服务?

    SSH(Secure Shell)是远程管理 Linux 系统的核心工具,通过加密通道实现安全登录和文件传输,以下是专业、安全且适用于主流 Linux 发行版的 SSH 启动方法,涵盖安装、配置、防火墙设置及安全加固,检查与安装 SSH 服务确认 SSH 状态终端执行:systemctl status ssh……

    2025年7月9日
    15500

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信