欢迎访问宙启技术站
智能推送

Linux归档和压缩命令介绍

发布时间:2023-05-16 04:48:19

Linux系统中,归档和压缩是很常见的操作,由于Linux系统中有很多的文本文件,代码和配置文件,为了保护数据的安全,方便数据的迁移,就需要使用归档和压缩命令对文件进行打包和压缩,下面我们就来介绍一下在Linux中常用的归档和压缩命令。

一、归档命令

1. tar命令

tar是一种用来打包归档文件的命令。它的名称来源于普通话中的“打电话”之意。tar 支持多种压缩格式,例如:gzip (压缩率较高), bzip2 (压缩率更高), xz (压缩率最高),在使用时需要-gz,-bz2等标志指出压缩格式。

语法示例:

tar [选项] [归档文件名] [待归档文件或目录列表]

选项:

-c:创建归档文件。

-v:显示所有归档的文件。

-f:指定归档文件名。

-x:解归档。

-z:使用gzip进行压缩和解压缩。

-j:使用bzip2进行压缩和解压缩。

例子:

tar -cvf abc.tar file1.txt file2.txt file3.txt

解释:

-c 表示创建归档文件, -v 表示详细显示所有归档的文件,-f 表示指定归档文件名, abc.tar 是归档文件名, file1.txt file2.txt file3.txt 是待归档文件。

整个操作表示将file1.txt,file2.txt,file3.txt这3个文件归档成一个名为abc.tar的压缩文件。

2. cpio 命令

cpio 命令可以将文件压缩成.cpio后缀的文件形式,压缩率不高,但可以将文件压缩成一种比较特殊的备份文件格式。cpio 默认使用的是ASCII字符集,不能直接压缩成tar.gz的形式。

语法示例:

cpio [选项] [c(d)umpl] < 目录1 > 文件名

选项:

-i:解归档。

-O:输出文件名。

-v:显示详细信息。

-d:建立目录。

-m:保留文件属性。

-f:指定输出文件的名称。

例子:

find /home/linux -depth | cpio -ov > abc.cpio

解释: 

find /home/linux -depth 表示查找/home/linux目录下的所有文件,-depth 表示从上到下查找,-o 表示将文件压缩成.cpio后缀的文件形式,-v 表示显示详细信息,> abc.cpio 表示将结果输出到名为abc.cpio的文件中。

二、压缩命令

1. gzip 命令

gzip 命令是一种压缩归档命令,支持单文件和多文件压缩,压缩率一般,但是速度比较快,带有gunzip解压缩工具。

语法示例:

gzip [选项] [待压缩文件列表]

选项:

-r:递归地压缩目录。

-c:将压缩的数据输入到标准输出中。

-d:解压缩。

-v:输出压缩信息。

-k:保留原文件。

例子:

gzip file1.txt

解释:

gzip命令后面跟着带压缩的文件,该命令的操作是将file1.txt压缩成一个gzip格式的文件file1.txt.gz。

2. bzip2 命令

bzip2 命令又称为 BurrZip,是Linux系统中一种流行的文件压缩和归档命令,相对于gzip来说压缩率更高,但速度较慢,是大文件压缩首选。

语法示例:

bzip2 [选项] [待压缩文件列表]

选项:

-r:递归地压缩目录。

-k:保留原文件。

-d:解压缩。

-v:输出压缩信息。

z:指定使用bzip2进行压缩和解压缩。

例子:

bzip2 file1.txt

解释:

该命令将file1.txt压缩成一个.bz2格式的文件。

3. xz 命令

xz命令是一种压缩和归档命令,在Linux系统中压缩率最高,速度较慢。压缩文件格式一般为.xz。

语法示例:

xz [选项] [待压缩文件列表]

选项:

-z:指定使用bz2进行压缩和解压缩。

-k:保留原文件。

-d:解压缩。

-l:输出压缩信息。

例子:

xz file1.txt

解释:

该命令将file1.txt压缩成一个.xz格式的文件。

三、归档和压缩文件的常用命令组合

1. tar + gzip

tar -czvf abc.tar.gz file1.txt file2.txt file3.txt

解释:

该命令将file1.txt,file2.txt,file3.txt这3个文件归档成一个名为abc.tar并用gzip算法压缩,最终生成的文件为abc.tar.gz。

2. tar + bzip2

tar -cjvf abc.tar.bz2 file1.txt file2.txt file3.txt

解释:

该命令将file1.txt,file2.txt,file3.txt这3个文件归档成一个名为abc.tar并用bzip2算法压缩,最终生成的文件为abc.tar.bz2。

3. tar + xz

tar -cJvf abc.tar.xz file1.txt file2.txt file3.txt

解释:

该命令将file1.txt,file2.txt,file3.txt这3个文件归档成一个名为abc.tar并用xz算法压缩,最终生成的文件为abc.tar.xz。