Linux 系统中提供了多种文件压缩和归档命令,可以将多个文件合并为一个文件,或将文件压缩成更小的文件。允许用户高效地处理文件和目录。该命令对于进行文件管理、备份和数据传输在 Linux 系统上至关重要。

1、tar 命令

tar(Tape Archive)是用于归档多个文件和目录到单个文件的命令。它本身不进行压缩,但常与其他压缩命令结合使用。

选项说明:

选项

说明

-c

创建一个新的档案文件。

-x

从档案文件中提取文件。

-t

列出档案文件中的内容。

-f

指定档案文件的名称。

-v

在处理文件时显示详细信息。

-z

通过gzip压缩或解压。

-j

通过bzip2压缩或解压。

-J

通过xz压缩或解压。

--lzma

通过lzma压缩或解压。

-W

验证档案文件的完整性。

--exclude

在压缩或解压时排除特定文件。

-r

向现有档案文件追加文件。

-u

更新档案文件中的现有文件。

--delete

从档案文件中删除文件。

-p

保留文件权限。

--numeric-owner

使用数字形式的文件所有者。

--no-same-permissions

不使用和原文件相同的权限。

--preserve-permissions

保留原文件的权限。

1)创建归档

tar -cvf archive.tar file1 file2 dir

2)解压归档

tar -xvf archive.tar

3)创建并压缩归档

说明

命令

使用 gzip

tar -czvf archive.tar.gz file1 file2 dir1

使用 bzip2

tar -cjvf archive.tar.bz2 file1 file2 dir1

使用 xz

tar -cJvf archive.tar.xz file1 file2 dir1

4)解压缩归档

使用 gzip

tar -xzvf archive.tar.gz

使用 bzip2

tar -xjvf archive.tar.bz2

使用 xz

tar -xJvf archive.tar.xz

2、gzip 命令

gzip 是一个流行的数据压缩程序,它通常用于压缩单个文件。

1)压缩文件

gzip filename

2)解压文件

gzip -d filename.gz

gunzip filename.gz

3、bzip2 命令

bzip2 提供比 gzip 更高的压缩率,但压缩和解压速度较慢。

1)压缩文件

bzip2 filename

2)解压文件

bzip2 -d filename.bz2

bunzip2 filename.bz2

4、xz 命令

xz 是一个高效的压缩工具,提供比 gzip 和 bzip2 更高的压缩率。

1)压缩文件

xz filename

2)解压文件

xz -d filename.xz

unxz filename.xz

5、zip 和 unzip 命令

zip 是另一种常用的压缩工具,特别在与 Windows 系统交互时。

1)压缩文件

zip archive.zip file1 file2 dir1

2)解压文件

unzip archive.zip

6、7z 命令

7z(7-Zip)是一个文件压缩程序,支持多种压缩算法,提供高压缩比。

1)压缩文件

7z a archive.7z file1 file2 dir1

2)解压文件

7z x archive.7z

注意:当使用 tar 命令进行归档和压缩时,文件扩展名(如 .tar.gz.tar.bz2.tar.xz)通常用于指示使用的压缩方法。对于归档大量文件或目录,推荐使用 tar 结合压缩命令(如 gzipbzip2xz)。对于单个文件,可以直接使用 gzipbzip2xzzip

推荐文档