用tar怎么打包,解压?

tar命令使用 压缩:tar cvfz 目标文档 源文档1 [源文档2...]

tar解压覆盖原文件吗_解压tar包中的某个文件tar解压覆盖原文件吗_解压tar包中的某个文件


tar解压覆盖原文件吗_解压tar包中的某个文件


tar解压覆盖原文件吗_解压tar包中的某个文件


例如:tar cvfz m.tar.gz hello.cpp hello.h //m.tar.gz是目标文档,hello.cpp和hello.h是源文档

解压:tar xvfz 目标文档

例如:tar xvfz m.tar.gz //在当前目录下将压缩包文档m.tar.gz解压缩

上面的简单用法基本够用了,以下是从别的地方转来的其他一些用法,但我从来没用过,暂时存放一下。1.文档或目录打包:tar -cvf /u0/temp2.tar /usr/lib将/usr/lib目录下的文档和子目录打包成一个文档库为/u0/temp2.tar。tar -cvf /u0/temp2.tar /usr/lib *.c *.f将/usr/lib目录下的*.c *.f等文档(不含子目录)打包。注意:如指定文档如*.c *.f或*.*,则打包时均不含子目录。如指定为.或*,则含子目录。2.压缩:compress /u0/temp2.tar压缩为/u0/temp2.tar.z3.解压:uncompress /u0/temp2.tar.Z则还原为/u0/temp2.tar4.解包展开:tar -xvf /u0/temp2.tar若以相对路径打包的,解包时,以相对路径存放展开的文档数据;若以路径打包的,解包时,以路径存放展开的文档数据。若指定展开的文档名,须注意文档的目录路径。5.显示:tar -tvf /u0/temp2.tar 显示文档库内的文档名称。当指定文档名时,亦须注意文档的路径。

tar命令

tar能够为文档和目录创建档案。利用tar,用户能够为某一特定文档创建档案(备份文档),也能够在档案中改变文档,或向 档案中加入新的文档。tar初被用来在磁带上创建档案,现在,用户能够在任何设备上创建档案,如软盘。利用tar命令,能够把一大堆的文档和目录全部打 包成一个文档,这对于备份文档或将几个文档组合成为一个文档以便于网络传输是很有用的。Linux上的tar是GNU版本的。

语法:tar [主选项 辅选项] 文档或目录

使用该命令时,主选项是必须要有的,他告诉tar要做什么事情,辅选项是辅助使用的,能够选用。

主选项:

c 创建新的档案文档。如用户想备份一个目录或是一些文档,就要选择这个选项。

r 把要存档的文档追加到档案文档的未尾。例如用户已作好备份文档,又发现更有一个目录或是一些文档忘记备份了,这时能够使用该选项,将忘记的目录或文档追加到备份文档中。

t 列出档案文档的内容,查看已备份了哪些文档。

u 更新文档。就是说,用新增的文档取代原备份文档,如在备份文档中很难找到要更新的文档,则把他追加到备份文档的。

x 从档案文档中释放文档。

辅助选项:

b 该选项是为磁带机设定的。其后跟一数字,用来说明区块的大小,系统预设值为20(20512 bytes)。

f 使用档案文档或设备,这个选项通常是必选的。

k 保存已存在的文档。例如我们把某个文档还原,在还原的过程中,碰到相同的文档,不会进行覆盖。

m 在还原文档时,把任何文档的修改时间设定为现在。

M 创建多卷的档案文档,以便在几个磁盘中存放。

v 周详报告tar处理的文档信息。如无此选项,tar不报告文档信息。

w 每一步都需要确认。

z 用gzip来压缩/解压缩文档,加上该选项后能够将档案文档进行压缩,但还原时也一定要使用该选项进行解压缩。

例1:把/home目录下包括他的子目录全部做备份文档,备份文档名为usr.tar。

$ tar cvf usr.tar /home

例2:把/home目录下包括他的子目录全部做备份文档,并进行压缩,备份文档名为usr.tar.gz 。

$ tar czvf usr.tar.gz /home

例3:把usr.tar.gz这个备份文档还原并解压缩。

$ tar xzvf usr.tar.gz

例4:查看usr.tar备份文档的内容,并以分屏方式显示在显示器上。

$ tar tvf usr.tar | more

要将文档备份到一个特定的设备,只需把设备名作为备份文档名。

例5:用户在/dev/fd0设备的软盘中创建一个备份文档,并将/home 目录中任何的文档都拷贝到备份文档中。

$ tar cf /dev/fd0 /home

要恢复设备磁盘中的文档,可使用xf选项:

$ tar xf /dev/fd0

如 果用户备份的文档大小超过设备可用的存贮空间,如软盘,您能够创建一个多卷的tar备份文档。M选项指示tar命令提示您使用一个新的存贮设备,当使用M 选项向一个软驱进行存档时,tar命令在一张软盘已满的时候会提醒您再放入一张新的软盘。这样您就能够把tar档案存入几张磁盘中。

$ tar cMf /dev/fd0 /home

要恢复几张盘中的档案,只要将张放入软驱,然后输入有x和M选项的tar命令。在必要时您会被提醒放入另外一张软盘。

$ tar xMf /dev/fd0

linux tar命令

tar命令可以为linux的文件和目录创建档案。利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。

首先要弄清两个概念:打包和压缩。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。

为什么要区分这两个概念呢?这源于Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令)。

linux下常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的。生成tar包后,就可以用其它的程序来进行压缩。

1.命令格式:

tar[必要参数][选择参数][文件]

2.命令功能:

用来压缩和解压文件。tar本身不具有压缩功能。他是调用压缩功能实现的

3.命令参数:

必要参数有如下:

-A 新增压缩文件到已存在的压缩

-B 设置区块大小

-c 建立新的压缩文件

-d 记录文件的别

-r 添加文件到已经压缩的文件

-u 添加改变了和现有的文件到已经存在的压缩文件

-x 从压缩的文件中提取文件

-t 显示压缩文件的内容

-z 支持gzip解压文件

-j 支持bzip2解压文件

-Z 支持compress解压文件

-v 显示作过程

-l 文件系统边界设置

-k 保留原有文件不覆盖

-m 保留文件不被覆盖

-W 确认压缩文件的正确性

可选参数如下:

-b 设置区块数目

-C 切换到指定目录

-f 指定压缩文件

-- 显示帮助信息

--version 显示版本信息

常见文件的解压/压缩命令及参数:

tar

解包:tar xvf FileName.tar

打包:tar cvf FileName.tar DirName

(注:tar是打包,不是压缩!)

.gz

解压1:gunzip FileName.gz

解压2:gzip -d FileName.gz

压缩:gzip FileName

.tar.gz 和 .tgz

解压:tar zxvf FileName.tar.gz

压缩:tar zcvf FileName.tar.gz DirName

.bz2

解压1:bzip2 -d FileName.bz2

解压2:bunzip2 FileName.bz2

压缩: bzip2 -z FileName

.tar.bz2

解压:tar jxvf FileName.tar.bz2

压缩:tar jcvf FileName.tar.bz2 DirName

.bz

解压1:bzip2 -d FileName.bz

解压2:bunzip2 FileName.bz

压缩:未知

.tar.bz

解压:tar jxvf FileName.tar.bz

压缩:未知

.Z

解压:uncompress FileName.Z

压缩:compress FileName

.tar.Z

解压:tar Zxvf FileName.tar.Z

压缩:tar Zcvf FileName.tar.Z DirName

.zip

解压:unzip FileName.zip

压缩:zip FileName.zip DirName

.rar

解压:rar x FileName.rar

压缩:rar a FileName.rar DirName

如何在Linux上使用tar命令解压和压缩文件

步:

首先给出系统例子:

Examples:

作演示:

[root@flybing ~]# touch 1.txt 2.txt

第三步:

解释说明:

-c 压缩

讨论:1473131333

在linux中可以通过tar命令来进行文件的压缩和解压的作

tar主要参数

-c: 建立压缩档案

-x:解压

-t:查看内容

-z:有gzip属性的

-v:显示所有过程

-f: 使用档案名字,切记,这个参数是一个参数,后面只能接档案名。

举例

打包文件tar: tar -cvf filename.tar folder

打包并压缩文件tar.gz: tar -cvf filename.tar.gz folder

解压文件tar: tar -xvf filename.tar

解压文件tar.gz: tar -zxvf filename.tar.gz

总结

在linux中,tar命令是一个非常实用的压缩和解压的命令,通过灵活的运用这个命令可以让你在文件备份和数据传输中起到事倍功半的效果

解压

语法:tar [主选项+辅选项] 文件或者目录

使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。

主选项:

c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。相当于打包。

x 从档案文件中释放文件。相当于拆包。

t 列出档案文件的内容,查看已经备份了哪些文件。

特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。

辅助选项:

-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩或解压? 一般格式为xx.tar.gz或xx. tgz

-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩或解压?一般格式为xx.tar.bz2

-v :压缩的过程中显示文件!这个常用

-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加其他参数!

-p :使用原文件的原来属性(属性不会依据使用者而变)

--exclude FILE:在压缩的过程中,不要将 FILE 打包!

范例:

范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar

[root@linux ~]# tar -cvf /tmp/etc.tar /etc<==仅打包,不压缩!

[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc<==打包后,以 gzip 压缩

[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc<==打包后,以 bzip2 压缩

# 特别注意,在参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。

# 如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file ~

# 如果加 j 参数,则以 .tar.bz2 来作为附档名啊~

# 上述指令在执行的时候,会显示一个讯息:

# 『tar: Removing leading `/" from member names』那是关於路径的特殊设定。

范例二:查阅上述 /tmp/etc.tar.gz 文件内有哪些文件?

[root@linux ~]# tar -ztvf /tmp/etc.tar.gz

# 由於我们使用 gzip 压缩,所以要查阅该 tar file 内的文件时,

# 就得要加上 z 这个参数了!这很重要的!

范例三:将 /tmp/etc.tar.gz 文件解压缩在 /usr/local/src 底下

[root@linux ~]# cd /usr/local/src

[root@linux src]# tar -zxvf /tmp/etc.tar.gz

# 在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说

# 我先将工作目录变换到 /usr/local/src 底下,并且解开 /tmp/etc.tar.gz

# 则解开的目录会在 /usr/local/src/etc ,另外,如果您进入 /usr/local/src/etc

# 则会发现,该目录下的文件属性与 /etc/ 可能会有所不同喔!

范例四:在 /tmp 底下,我只想要将 /tmp/etc.tar.gz 内的 etc/passwd 解开而已

[root@linux ~]# cd /tmp

[root@linux tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd

# 我可以透过 tar -ztvf 来查阅 tarfile 内的文件名称,如果单只要一个文件,

# 就可以透过这个方式来下达!注意到! etc.tar.gz 内的根目录 / 是被拿掉了!

范例五:我要备份 /home, /etc ,但不要 /home/dmtsai

[root@linux ~]# tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/ /etc

1. 解压:tar xf 文件名

2.压缩:tar zcf 压缩后的文件名 源文件名

说明:有的人习惯加上-v参数,这个意思是将解压或者压缩过程输出到屏幕,个人觉得不用加

解压 tar xvzf wcd.tar.gz

打包 tar cvzf wcd.tar.gz file

解压 打包一个是 x 一个c(可以理解为create)z是gz 格式

解压.tar.gz包文件:tar -zxvf file.tar.gz

解压.tar.bz2包文件:tar -jxvf file.tar.bz2

打包文件为.tar.gz:tar -czvf file.tar.gz file_to_compress

打包文件为.tar.bz2: tar -jcvf file.tar.bz2 file_to_compress

tar怎么解压?

tar文件解压方法如下:

作环境:华为P40、EMUI10.1.0、ES文件浏览器4.2.4等。

1、打开软件,点击三角形箭头处。

请点击输入描述

2、点击压缩管理。

请点击输入描述

3、选择tar文件,点击解压。

请点击输入描述

4、选择解压存储位置后,点击确定。

请点击输入描述

TAR格式的优点介绍:

1、实现文件归档:TAR格式可以将多个文件和目录归档成一个单个的文件,有利于在文件传输、备份和存储等方面的管理。

2、维持文件属性:TAR格式能够保留原始文件的元数据信息,如文件权限、所有者、修改时间等属性,保证了归档后相关信息的完整性。

3、易于扩展和修改:TAR格式比较简单,易于扩展和修改,例如在归档文件中添加或删除文件和目录,也方便进行后续的数据处理和分发。

4、可以递归解包:TAR可以在打包时将文件夹及其下面的文件一并打包,解包时也可以进行递归解包,方便展开。

linux系统中tar命令的使用详解

Linux系统中,常用的归档命令就是tar,该命令可以将许多文件一起保存到一个单独的磁带或磁盘中进行归档。不仅如此,该命令还可以从归档文件中还原所需文件,也就是打包的反过程,称为解打包。

使用tar命令归档的包通常称为tar包。

tar命令做打包作

当tar命令用于打包作时,该命令的基本格式为:

[root@localhost ~]#tar [选项] 源文件或目录

选项:

-c 将多个文件或目录进行打包

-A 追加tar文件到归档文件

-f包名 指定包的文件名。包的扩展名是用来给识别格式的,所以一定要正确指定扩展名

-v 显示打包文件过程

需要注意的是,在使用tar命令指定选项时可以不在选项前面输入"-"。例如,使用"cvf"选项和"-cvf"起到的作用一样。

示例:打包文件和目录

[root@localhost ~]# tar -cvf anaconda-ks.cfg.tar anaconda-ks.cfg

#把anacondehks.cfg打包为 anacondehks.cfg.tar文件

选项"-cvf"一般是习惯用法,记住打包时需要指定打包之后的文件名,而且要使用".tar"作为扩展名。打包目录也是如此:

[root@localhost ~]# ll -d test/

drwxr-xr-x 2 root root 4096 6月 17 21:29 test/

#test是我们之前的测试目录

[root@localhost ~]# tar -cvf test.tar test/

test/

test/test3

test/test2

test/test1

#把目录打包为test.tar文件

tar命令也可以打包多个文件或目录,只要用空格分开即可。例如:

[root@localhost ~]# tar -cvf ana.tar anaconda-ks.cfg /tmp/

#把anaconda-ks.cfg文件和/tmp目录打包成ana.tar文件包

说说 Linux 中的压缩与解压缩指令(tar)

tar 的功能类似于 Windows 中的 WinRAR。它可以将多个目录或文件打包成一个大文件,在打包的过程中还可以透过 gzip/bzip2/xz 的支持,对文件进行压缩 1 。

tar 的选项参数很多,主要用到的有以下这些:

还是太多,记不住怎么办? 记住下面这些常用的命令即可:

总结一下:z 为gzip;j 为bzip2;J 为xz。c 为压缩;t 为查询;x 为解压缩。跟着 vf。f 一定要是一个,如果放在其他选项之前,tar 就会把文件名搞错。比如 tar -zcfv xxx 命令,tar 指令就会认为压缩文件名为 v!

压缩的文件名称要根据压缩算法加上响应的后缀:

只有知道了压缩算法,我们才能解的出来,你说是吗?所以文件名规范很重要。

设我们需要备份 /etc 文件夹,把它打成一个压缩包 1 。这在实际应用中很常见,因为 /etc 文件夹存放了系统主要配置文件。在英文中完整单词是etc.,也就是后面会带上一个句点,表示“等等”之意。

接下来,我们分别使用 gzip、bzip2与 xz 算法对 /etc 文件夹进行打包压缩。

gzip 压缩指令: time tar -zpcvf /root/etc.tar.gz /etc

bzip2压缩指令: time tar -jpcvf /root/etc.tar.bz2 /etc

xz 压缩指令: time tar -Jpcvf /root/etc.tar.xz /etc

从 real 中可以看出: gzip 的压缩速度快,而 xz 的压缩速度慢。

从大小上来看,xz 的压缩率,而gzip 压缩率。

压缩率高,自然需要时间成本。因此需要压缩的文件夹很大,那么就要多多考虑时间成本咯。因为 gzip 压缩速度快,这也是 .tar.gz 比较流行的原因之一。

设有这样一种场景:我们需要打包某个文件夹(/root),但这个文件夹中的某个文件或者子文件夹不想打包进去(带 etc 前缀)。也就是希望这个文件夹部分打包,部分不打包。可以执行以下指令:

tar -zcvf /root/test.tar.gz --exclude=/root/etc --exclude=/root/test.tar.gz /root

加了 --exclude=/root/test.tar.gz 是为了排除自身,否则压缩包中会包含一个大小为 0 的自身文件,这恐怕不是我们希望看到的:

通过 tar -ztvf test.tar.gz 就可以查看刚刚新打的压缩包中所包含的文件列表:

使用命令 tar -ztvf etc.tar.gz 查看刚刚打好的压缩包。注意要使用匹配的解压缩算法才能正确解压,比如示例中是 gz 作为后缀,所以加了 -z 选项表示使用 gzip 算法进行解压。

部分输出内容:

可以看到该命令把文件的权限、账户以及归属组也一并打印出来了。

而且还有一点很关键,这些文件都没有根目录。如果没有拿掉根目录,解压缩后的文件名就会是路径, 亦即解压缩后的数据一定会被放置 到 /etc/xxx 去 1 !这样系统的 /etc 文件夹就会被覆盖,后果很。所以,tar 打包指令默认都会去除放入包中文件的根目录。除非通过 -P 显示要求保留这些文件的根目录。

(1)完全解压

利用 tar -zxvf etc.tar.gz -C /tmp 命令把 etc.tar.gz 解压到 /tmp。解压成功后,就会在 /tmp 下看到 /etc 文件夹。

如果需要在本地路径下直接解开,那直接执行 tar -zxvf etc.tar.gz 即可。

(2)部分解压

设我们需要把压缩包(etc.tar.gz)中的 vconsole.conf 解压出来。可以先执行以下命令,查询出该文件所对应的相对路径:

tar -ztvf etc.tar.gz | grep ‘console’

拿到需要解压的文件路径之后,就可以执行 tar -zxvf etc.tar.gz etc/vconsole.conf

进入当前目录的 etc 文件夹,就可以看到 vconsole.conf 已经被解压出来了:

【1】 鸟哥. 鸟哥的Linux私房菜 基础学习篇[M]. 第四版. : 邮电出版社,2018:359-362.