Linux下 tar 命令详解

这篇具有很好参考价值的文章主要介绍了Linux下 tar 命令详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、tar 命令概述

Tar(Tape ARchive,磁带归档的缩写,LCTT 译注:最初设计用于将文件打包到磁带上,现在我们大都使用它来实现备份某个分区或者某些重要的目录)。
tar 是类 Unix 系统中广泛使用的命令,用于归档多个文件或目录到单个归档文件中,并且归档文件可以进一步使用 gzip 或者 bzip2 等技术进行压缩。换言之,tar 命令也可以用于备份:先是归档多个文件和目录到一个单独的 tar 文件或归档文件,然后在需要之时将 tar 文件中的文件和目录释放出来。

tar 命令语法如下:

# tar <选项> <文件>

下面详细介绍 tar 命令的选项。

tar 命令选项划分成不同的操作,其中包括一般选项和压缩选项。下表列出了常用选项、选项的长版本及说明:

tar 操作选项
tar 命令需要以下三个选项之一:

选项 描述
- c 、-- create 创建一个新存档
- x、-- extract 从现有存档提取
- t 、-- list 列出存档的目录

所选的 tar 一般选项

选项 描述
- v 、-- verbose 详细信息,显示存档或提取的文件有哪些
- f、-- file= 文件名,此选项必须后接要使用或创建的存档的文件名
- p、-- preserve-permissions 在提取存档是保留文件和目录的权限,而不去除umask

tar 压缩选项

选项 描述
- z 、-- gzip 使用gzip压缩方式(.tar.gz)
- j、-- bzip2 使用bzip2压缩方式(.tar.bzip2), bzip2的压缩率通常比gzip高
- J 、-- xz 使用xz压缩方式(.tar.xz),xz的压缩率通常比bzip2更高

二、归档文件和目录

创建新归档语法:

create -cf 要创建的存档文件名  要添加到该归档文件的文件和目录列表

举例如下:

-- 将file1、 file2、 file3归档到 archive.tar
# tar -cf archive.tar file1 file2 file3  

--查看归档文件
# ls archive.tar

以上tar命令也可以使用长版本选项执行:

# tar --file=archive.tar --create  file1 file2 file3

要使tar能够归档选定的文件,执行tar命令的用户必须要可以读取这些文件。

注意:
在创建tar存档之前,请先验证目录中没有其他存档与要创建的新存档名称相同。
tar命令将覆盖现有的存档而不是提供警告。

三、列出存档的内容

列出存档内容语法:

# tar -tf  存档名称

举例如下:

--查看 /root目录下归档文件etc.tar包含的内容
# tar -tf  /root/etc.tar

四、从存档中提取文件

tar命令相对于当前目录提取文件,举例如下:

--将 /root/etc.tar文档中的文件恢复到/root/etcbackup目录
# mkdir /root/etcbackup
# cd /root/etcbackup
# tar -xf  /root/etc.tar

说明:
tar存档通常应当提取到空目录中,以确保不会覆盖任何现有的文件。
当root提取存档时,tar命令会保留文件的原始用户和组所有权。
如果普通用户使用tar提取文件,文件所有权将属于从存档中提取文件的用户。

默认情况下,从存档提取文件时,将从存档内容的权限中去除umask。要保留存档文件的权限,可在提取存档时使用p选项。
在上例中,若要在提取 /root/etc.tar文档内容时保留所提取文件的权限,可执行如下命令:

# tar -xpf  /root/etc.tar

五、创建压缩存档

tar命令支持三种压缩方式:gzip、bzip2、xz ,下面将依次举例。

示例1:创建gzip压缩存档/root/etcbackup.tar.gz ,其内容来自host上的/etc目录

# tar -czf  /root/etcbackup.tar.gz /etc

示例2:创建bzip2压缩存档/root/logbackup.tar.bz2 ,其内容来自host上的/var/log目录

# tar -cjf  /root/logbackup.tar.bzip2 /var/log

示例3:创建xz压缩存档/root/sshbackup.tar.xz ,其内容来自host上的/etc/ssh目录

# tar -cJf  /root/sshbackup.tar.xz /etc/ssh

六、提取压缩的存档

tar命令会判断之前使用的压缩方式。因此通常不需要使用在创建文档时所用的同一压缩选项。
可以在tar命令中添加解压缩方式,但必须使用正确的解压缩类型选项,否则tar会生成错误来指出选项中指定的解压缩类型与文件的解压缩类型不匹配。

示例1:将gzip压缩存档/root/etcbackup.tar.gz 的内容提取到/tmp/etcbackup目录

# mkdir /tmp/etcbackup
# cd /tmp/etcbackup
# tar -xzf  /root/etcbackup.tar.gz /etc

示例2:将bzip2压缩存档/root/logbackup.tar.bz2 的内容提取到/tmp/logbackup目录

# mkdir /tmp/logbackup
# cd /tmp/logbackup
# tar -xjf  /root/logbackup.tar.bzip2 /tmp/logbackup

示例3:将xz压缩存档/root/sshbackup.tar.xz 的内容提取到/tmp/sshbackup目录

# tar -xJf  /root/sshbackup.tar.xz /tmp/sshbackup

七、单个文档的压缩与解压缩

gzip、bzip2、xz可单独用于压缩单个文件,举例如下:

--以gzip方式压缩文件etc.tar,会生成压缩文件 etc.tar.gz
# gzip etc.tar

--以bzip2方式压缩文件abc.tar,会生成压缩文件 abc.tar.bz2
# bzip2 abc.tar

--以xz方式压缩文件log.tar,会生成压缩文件 log.tar.xz
# xz log.tar

对应的解压缩命令如下:文章来源地址https://www.toymoban.com/news/detail-844510.html

-- 将生成解压缩文件etc.tar
# gunzip etc.tar.gz

--将生成解压缩文件abc.tar
# bunzip2 abc.tar.bz2

--将生成解压缩文件 log.tar
# unxz log.tar.zx

到了这里,关于Linux下 tar 命令详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux 中常用的压缩和解压缩命令详解(tar zip)

    在工作中,涉及到文件传输,为了减少文件的体积和传输的时间,经常会对文件进行压缩,本文介绍了linux系统中常用的压缩和解压缩命令 .tar :简单封装,被称为归档文件,只是简单的将文件组装到一个.tar的文件内,并没有太多文件体积的减少,仅仅是简单的封装 .gz :压

    2024年02月06日
    浏览(39)
  • 【linux】tar指令压缩解压缩文件夹、文件命令详解

    压缩当前目录下文件夹/文件test到test.tar.gz: 解压缩当前目录下的file.tar.gz到file: -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 -z:有gzip属性的 -j:有bz2属性的 -Z:有compress属性的 -v:显示所有过程 -O:将文件解开到标准输

    2024年02月16日
    浏览(69)
  • linux下tar、gz、zip等常用解压缩命令详解

    tar是Unix和类Unix系统上的归档打包工具,可以将多个文件合并为一个文件,打包后尾缀.tar。目前,tar文件格式已经成为POSIX标准,最初是POSIX.1-1988,目前是POSIX.1-2001。本程序最初的设计目的是将文件备份到磁带上(tape archive 磁带存档),因而得名tar。 tar的命令格式: tar[必要

    2024年02月15日
    浏览(51)
  • 【Linux实践室】Linux文件打包和解压缩实战指南:tar打包命令操作详解(文末送书)

    🌈个人主页: 聆风吟_ 🔥系列专栏: Linux实践室、网络奇遇记 🔖少年有梦不应止于心动,更要付诸行动。 有时,我们会在Linux系统中将多个文件打包成一个单独的文件,通过本节的学习,我们将学会如何在Linux系统中将多个文件/目录打包生成一个文件。 本节任务:使用

    2024年04月29日
    浏览(49)
  • Linux tar命令教程:文件打包和压缩的神器(附案例详解和注意事项)

    tar(Tape ARchive),用于在linux中打包和备份文件。它可以将多个文件和目录打包成一个tar文件,也可以从tar文件中提取文件和目录。此外,它还可以与gz,bzip2,xz等压缩工具结合使用,进行文件和目录的压缩和解压。 tar命令在各个Linux发行版中均通用。包括但不限于 Ubuntu、

    2024年01月17日
    浏览(59)
  • Linux系统运维:性能监视和分析工具sar命令详解

    目          录 一、sar工具介绍 二、sar工作原理 (一)原理概述 (二)sar数据收集器 三、sar命令语法 四、sar主要功能介绍 (一)功能概述 (二)CPU统计数据 (三)磁盘I/O统计数据 (四)网络统计数据 1、是使用-n DEV选项的sar输出 2、关于网络错误的信息可以用sar -n EDE

    2024年02月21日
    浏览(73)
  • tar 打包压缩命令(linux压缩命令)

    ​ tar命令位于/bin目录下,它能够将用户所指定的文件或目录打包成一个文件,但不做压缩。一般Linux上常用的压缩方式是选用tar将许多文件打包成一个文件,再以gzip压缩命令压缩成xxx.tar.gz(或称为xxx.tgz)的文件。 1、打包 案例:将app目录打包 案例:将microboom目录打包并压缩

    2024年02月12日
    浏览(53)
  • Linux - tar命令使用方法记录

    (存档指tarball) -c, --create                     创建新存档 -x                                   从存档中提取文件 -z                                   通过gzip过滤存档 -v                                   显示详情,详细列出已处理文件 -f             

    2024年02月16日
    浏览(42)
  • Linux 压缩解压(归档管理):tar命令

    计算机中的数据经常需要备份,tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。 tar使用格式 tar [参数] 打包文件名 文件 tar命令很特殊,其参数前面可以使用“-”,也可以不使用。 tar -c 压缩 tar -x 解压

    2024年02月11日
    浏览(40)
  • Linux基础命令-tar打包压缩文件

    Linux基础命令-echo输出信息_Linux学习中的博客-CSDN博客 Linux三剑客-grep命令_Linux学习中的博客-CSDN博客 Linux文件管理命令(3)-mv改动文件_Linux学习中的博客-CSDN博客 文章目录 前言 一、tar命令介绍 二、命令语法及常用参数 三、 参考案例 总结 在工作上,有同事需要用到程序或一

    2024年02月13日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包