文章目录

一、命令简介

tar用于将Linux的文件和目录创建为档案或将档案还原为文件和目录。据悉,tar也可以在档案中改变文件,或则向档案中加入新的文件。本程序最初的设计目的是将文件备份到磁带上(TapeARchive),因此得名tar。

tar的工作过程主要分为两个步骤,正向是打包与压缩,反向是解压缩与还原。打包指的是将一大堆文件或目录弄成一个总的文件,压缩则是将一个大的文件通过一些压缩算法弄成一个小文件。反向的解压缩与还原恰好是相反的过程。tar的压缩与解压缩,用到的主要是gzip与bzip2命令

那为何在Linux中甚少见到.zip和.rar这样的压缩包呢?

zip和rar在压缩文件时未能保留文件的属性,所以才有tar指令的压缩,即先归档后压缩。

在Linux系统中,一般更倾向于使用.tar压缩文件格式,由于.tar文件不会进行压缩,只是将文件打包在一起linux修改文件名,更适宜用于归档和文件打包。

在Linux中,常见的压缩包格式有:.tar、.tar.xz、.tar.gz(或.tgz)、.tar.bz2。这儿要注意:.tar文件是一种仅打包不压缩的文件格式。

而.tar.xz、.tar.gz(或.tgz)、.tar.bz2文件才是对.tar文件的压缩。

所以.tar文件本身并不是压缩文件,而是一种归档文件格式。

二、安装与卸载

1.检测linux上是否有tar命令

yum list installed | grep tar

在这里插入图片描述

2.安装tar命令

yum -y install tar

3.扩充命令安装卸载更新

命令1:yum -y install [关键词]
命令2:yum -y remove [关键词]

压缩文件命令linux_linux压缩文件命令_linux命令行压缩文件

命令3:yum -y update [关键词]

三、命令格式

tar [OPTIONS] [FILE]...

选项说明

-A, --catenate, --concatenate
	新增文件到已存在的存档
-c,--create
	建立新的存档
-C, --directory=DIR
	将 tar 的工作目录从当前目录改为指定目录。该选项对顺序敏感,即影响其后的所有选项
-d, --diff, --compare
	对比档案与文件系统的差异
--delete
	从档案中删除制定的文件
-f, --file=ARCHIVE
	指定存档文件
-j, --bzip2
	通过 bzip2 命令压缩或解压缩档案
-k, --keep-old-files

压缩文件命令linux_linux命令行压缩文件_linux压缩文件命令

还原档案时,保留当前目录下的原有文件不被覆盖 -l, --check-links 如果不是所有链接都被转储,则打印一条消息 -m, --touch 还原文件时,不变更文件的更改时间 -N, --newer, --after-date=DATE 只将较指定日期更新的文件保存到档案中 -O, --to-stdout 将提取的文件名和目录名打印到标准输出 -p, --preserve-permissions, --same-permissions 提取文件时保留文件原来的权限 -P, --absolute-names 创建存档时不移除文件名称前的 / 号 -r, --append 追加文件到档案的末尾 -t, --list 列出档案的内容 -u, --update 添加比档案中文件更新的文件到档案中 -v, --verbose 显示指令执行过程 -W, --verify

压缩文件命令linux_linux压缩文件命令_linux命令行压缩文件

向档案写入文件后尝试验证 -x, --extract, --get 从档案提取文件 -z, --gzip, --gunzip, --ungzip 通过 gzip 命令压缩或解压档案 -Z, --compress, --uncompress 通过 compress 指令处理备份文件 --exclude=PATTERN 排除符合指定模式的文件 -?, --help 显示短选项的概要信息并退出 --usage 显示可用选项列表并退出 --version 显示版本和版权信息并退出

四、常用示例

linux上有文件目录结构如下,结合以下文件讲解tar示例

/home/test
├── a.txt
├── b.log
├── test01
    └── c.txt

4.1、打包

linux压缩文件命令_压缩文件命令linux_linux命令行压缩文件

(1)将指定目录下的目录或文件进行打包。

tar -czvf test.tar.gz  /home/test

因为指定了绝对路径/home/test,所以压缩包内将目录也保存出来了

在这里插入图片描述

在这里插入图片描述

(2)将目录/home/test打包成test.tgz,同时使用gzip进行压缩。

tar -czvf test.tgz /home/test

(3)将目录/home/test打包成test.tbz2,同时使用bzip2进行压缩。

tar –cjvf test.tgz2 /home/test

(4)向已存在的tar文件中追加文件

tar -rvf test.tar newfile1 newfile2

4.2、解包

(1)将压缩包test.tar.gz还原为原目录

tar -xzvf test.tar.gz

注意:执行该命令会把文件解压缩到当前目录,若tar.gz压缩包内包含了绝对路径,则会在当前目录下创建该绝对路径。诸如:在当前目录下创建/home/test。若不想再度创建该路径linux压缩文件命令,可以在home的上一级目录下执行tar解压命令

linux命令行压缩文件_压缩文件命令linux_linux压缩文件命令

(2)将压缩包test.tgz还原为原目录,同时使用gzip进行解压缩。

tar -xzvf test.tgz

(3)将test.tgz解包到指定目录,同时使用gzip进行解压缩。

tar -xzvf test.tgz -C DIR

(4)将压缩包test.tbz2还原为原目录,同时使用bzip2进行解压缩。

tar -xjvf test.tbz2

4.3、查看

(1)只查看档案的文件列表,不进行解包。

tar -tzvf test.tar.gz

在这里插入图片描述

五、总结

.tar文件是一种仅打包不压缩的文件格式。

并且有时为了减少文件的大小RAR FOR LINUX,.tar文件与压缩算法结合使用linux压缩文件命令,比如常常使用的gzip和bzip2压缩算法。这样的文件一般被称为tar压缩包或则.tar.gz、.tar.bz2等。这种压缩包是.tar文件的压缩版本,便于减少文件的大小。解压缩这种压缩包会还原成原始的.tar文件。

创作不易,欢迎打赏,你的鼓励将是我创作的最大动力。

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复