首页 > 系统相关 >在Linux中,如何进行备份或归档文件(tar 命令)?

在Linux中,如何进行备份或归档文件(tar 命令)?

时间:2024-06-12 10:58:00浏览次数:26  
标签:name tar 压缩 Linux 归档 归档文件 archive

在Linux中,tar 命令是用来打包和压缩文件的常用工具。它可以将多个文件和目录合并成一个单一的归档文件,并且可以选择性地对其进行压缩。以下是使用 tar 命令进行备份或归档文件的一些基本用法:

1. 创建归档文件
  1. 基本命令格式

    tar [选项] [归档后的文件名] [要归档的文件或目录]
    
  2. 创建归档

    • 使用 -c 选项来创建一个新的归档文件:

      tar -cvf archive_name.tar /path/to/directory_or_file
      

      这里,-c 表示创建归档,-v 表示在归档过程中显示详细信息,-f 指定归档文件的名称。

2. 压缩归档文件
  1. 使用 gzip 压缩

    • 添加 -z 选项来使用 gzip 进行压缩:

      tar -czvf archive_name.tar.gz /path/to/directory_or_file
      

      -z 表示用 gzip 压缩。

  2. 使用 bzip2 压缩

    • 添加 -j 选项来使用 bzip2 进行压缩:

      tar -cjvf archive_name.tar.bz2 /path/to/directory_or_file
      
  3. 使用 xz 压缩

    • 添加 -J-I 选项来使用 xz 进行压缩:

      tar -cJvf archive_name.tar.xz /path/to/directory_or_file
      # 或者
      tar -cIvf archive_name.tar.xz /path/to/directory_or_file
      
3. 解压归档文件
  1. 解压 gzip 压缩的归档

    tar -xzvf archive_name.tar.gz
    
  2. 解压 bzip2 压缩的归档

    tar -xjvf archive_name.tar.bz2
    
  3. 解压 xz 压缩的归档

    tar -xJvf archive_name.tar.xz
    
  4. 解压未压缩的归档

    tar -xvf archive_name.tar
    

    这里,-x 表示从归档中提取文件。

4. 其他选项
  • -p--preserve-permissions:保留文件的权限。
  • -g--ignore-磁带-errors:忽略磁带错误。
  • -k--keep-old-files:不覆盖已存在的文件。
  • -u--update:只添加比归档中文件更新的文件。
  • -m--touch:不修改文件的修改时间。
  • -C:解压时指定解压的目录。
5. 示例
  • 创建一个包含当前目录所有文件和目录的归档,并保留权限:

    tar -cpvf backup.tar .
    
  • 压缩当前目录到一个名为 backup.tar.gz 的 gzip 压缩归档,并保留文件的修改时间:

    tar -czvf -m backup.tar.gz .
    
  • 解压 backup.tar.gz 到当前目录:

    tar -xzvf backup.tar.gz
    

综上所述,使用 tar 命令时,可以结合管道和其它命令来实现更复杂的操作,例如使用 find 命令来选择性地归档文件,或者使用 xargs 来处理大量文件。

标签:name,tar,压缩,Linux,归档,归档文件,archive
From: https://www.cnblogs.com/huangjiabobk/p/18243499

相关文章

  • 在Linux中,如何将二进制文件添加到 $PATH 变量中?
    在Linux系统中,$PATH是一个环境变量,它定义了操作系统在执行命令时搜索可执行文件的目录。要将一个二进制文件添加到$PATH中,你可以按照以下步骤操作:找到二进制文件的路径:首先,你需要知道二进制文件的确切位置。使用which命令或者find命令来查找文件的位置。例如:whichyou......
  • 在Linux中,有哪些基本的 Vim 命令?
    Vim(ViImproved)是一个强大的文本编辑器,广泛应用于Linux和其他类Unix系统中。它拥有两种主要的工作模式:命令模式(Normalmode)和插入模式(Insertmode),以及一些辅助模式,如底行模式(Command-linemode)和可视模式(Visualmode)。以下是一些基本的Vim命令,涵盖在这些模式下的常见操作:1.基础......
  • 在Linux中,umask 和 ulimit有什么区别?
    在Linux系统中,umask和ulimit是两个不同的命令,它们分别用于设置不同的系统属性:1.umask(用户文件创建掩码)umask(userfilecreationmask)是一个命令,用于设置新创建文件和目录的默认权限。umask定义了文件系统创建文件和目录时默认应该屏蔽掉的权限位。用途:控制新创建的文件和......
  • ssh的远程连接(Linux篇)
    这里用到的虚拟机时centos7记得提前先把网络连接好,这里选择的是桥接模式1.启动ssh服务#在centos中启动sshd服务sudosystemctlstartsshd2.在windows的cmd命令界面内输入以下内容#sshcentos中的登录用户名@centos中的IP地址[email protected]然后cmd中会出现以......
  • star 最多的 Go 语言本地化库|GitHub 2.8K
    ......
  • 【Linux系列】掌握jq:高效处理JSON数据的命令行利器
    jq是一个强大的命令行工具,以其简洁的语法和丰富的功能,成为处理JSON数据的首选。本文旨在通过实战示例,让你迅速上手jq,掌握提取信息、美化输出和数据压缩的核心技能。一、安装jq:开启高效之旅首先,确保你的系统中安装了jq。在大多数Linux发行版中,可以通过包管理器安装,例如:#Ubun......
  • Linux 蜂鸣器实验
    Linux蜂鸣器实验1、修改设备树文件I.MX6U-ALPHA开发板上的BEEP使用了SNVS_TAMPER1这个PIN,打开imx6ull-alientekemmc.dts,在iomuxc节点的imx6ul-evk子节点下创建一个名为“pinctrl_beep”的子节点,节点内容如下所示:pinctrl_beep:beepgrp{ fsl,pins=< MX6ULL_PAD_SNVS_TA......
  • 酷游网址:如何在Linux 上安装Python、pip 和EB CLI
    由酷游网址вт989点сс编译,要如何在Linux上安装Python、pip和EBCLI呢?EBCLI需要Python2.7、3.4或更新版本。如果您的发行版本没有随附Python,或者随附了旧版本,请在安装pip和EBCLI之前先安装Python。在Linux上安装Python3.7判断是否已安装Python。$python--ve......
  • LINUX系统优化
    LINUX系统优化企业生产场景中Linux系统的分区方案及内核企业生产场景中Linux系统的分区方案常规的分区方案如下:方案1:针对网站集群架构中的某个节点服务器分区,该服务器上的数据有多份(其他节点也有)且数据不太重要,建议的分区方案如下。/boot:设置为100~200MB。swap:物理内......
  • Linux——线程池
    目录一、什么是线程池二、线程池的优点三、线程池的应用四、实现一个简单的线程池五、单例模式5.1、饿汉实现方式5.2、 懒汉实现方式5.3、 单例模式实现线程池(懒汉方式)六、其他常见的各种锁一、什么是线程池        线程池是线程的一种使用模式。在前面......