压缩和解压
压缩文件的格式
常见的 Shell 压缩文件格式包括以下几种:
-
.tar:tar 是将多个文件或目录打包成一个文件的命令,常用于备份。打包后的文件没有被压缩,只是将多个文件打包在一起。例如:
tar -cvf file.tar /path/to/dir
。 -
.gz:gzip 是将文件压缩成 .gz 格式的命令,压缩后会生成一个新的 .gz 文件,原始文件被删除。例如:
gzip file.txt
。 -
.tar.gz 或 .tgz:将多个文件或目录先打包成 .tar 文件,再用 gzip 压缩生成 .tar.gz 或 .tgz 文件。例如:
tar -czvf file.tar.gz /path/to/dir
。 -
.bz2:bzip2 是将文件压缩成 .bz2 格式的命令,压缩后会生成一个新的 .bz2 文件,原始文件被删除。例如:
bzip2 file.txt
。 -
.tar.bz2:将多个文件或目录先打包成 .tar 文件,再用 bzip2 压缩生成 .tar.bz2 文件。例如:
tar -cjvf file.tar.bz2 /path/to/dir
。 -
.xz:xz 是将文件压缩成 .xz 格式的命令,压缩后会生成一个新的 .xz 文件,原始文件被删除。例如:
xz file.txt
。 -
.tar.xz:将多个文件或目录先打包成 .tar 文件,再用 xz 压缩生成 .tar.xz 文件。例如:
tar -cJvf file.tar.xz /path/to/dir
。
需要注意的是,以上压缩命令都是在 Linux 系统中使用的命令,如果在 Windows 系统中使用需要安装相应的软件。
tar
tar
是一个常用的归档工具,可以将多个文件或目录打包成一个文件。tar
命令的基本语法如下:
tar [选项] 目标文件名 源文件
其中,选项
表示要对归档进行的操作,可以是以下几种:
-c
:创建一个新的归档文件。-x
:从归档文件中提取文件。-f
:指定归档文件的名称。-v
:显示在归档文件中添加或提取的文件列表。-z
:使用 gzip 压缩/解压缩。-j
:使用 bzip2 压缩/解压缩。-J
:使用 xz 压缩或解压-d
:解压文件
下面是一些常用的 tar
命令示例:
-
创建一个压缩文件:
.tar 归档到tar
.gz 使用gz打包-czf .tar.gz
-cJf .tar.xz
-cjf .tar.bz2tar -czvf 文件名.tar.gz 源文件 ``` 这个命令将会对 `源文件` 进行 gzip 压缩,并将压缩后的文件保存为 `文件名.tar.gz`。
[root@localhost 4-10]# tar czvf passwd.tar.gz passwd passwd #这是选项中加了v的缘故 [root@localhost 4-10]# ls passwd passwd.tar.gz pem pem2
压缩成 .xz格式的文件
[root@localhost 4-10]# tar fJc passwd.tar.xz passwd [root@localhost 4-10]# ls passwd passwd.tar.gz passwd.tar.xz pem pem2
-
解压一个压缩文件:
tar -xzvf 文件名.tar.gz ``` 这个命令将会解压缩 `文件名.tar.gz` 文件,并将其中的文件提取到当前目录下。
[root@localhost 3-14]# tar xf boot.tar.gz [root@localhost 3-14]# tar xf boot.tar.gz -C /lianx/3-13 (-C 指定路径)
-
2.查看压缩
[root@localhost 3-14]# tar -tf boot.tar.gz [root@localhost xiaoli]# tar tf passwd_host_boot.tar.gz
gzip和bzip2
gzip
和 bzip2
命令是用于对单个文件进行压缩和解压缩的工具。这两个命令的使用方法非常简单,只需要指定要压缩/解压缩的文件名即可。
-
使用
gzip
压缩/解压缩:gzip 文件名 gzip -d 文件名.gz ```
[root@localhost lianxi]# gzip hello.c zcat可以直接看压缩包的内容(需要gzip压缩的) [root@localhost lianxi]# zcat hello.c.gz #include<stdio.h> int main() { printf("hello,world\n"); printf("i am ydh\n"); return 0; }
-
使用
bzip2
压缩/解压缩:bzip2 文件名 bzip2 -d 文件名.bz2 ```
需要注意的是,使用这两个命令压缩文件时,原始文件会被删除,只保留压缩后的文件。
zip和unzip
zip
和 unzip
命令是用于对多个文件或目录进行压缩和解压缩的工具。这两个命令的使用方法也非常简单。
-
创建一个 zip 压缩文件:
zip 文件名.zip 源文件 ```
[root@localhost lianxi]# zip hl.zip hello.c zip 文件名(压缩后的文件名) 文件名2(需要压缩的文件名) adding: hello.c (deflated 14%)
-
解压一个 zip 压缩文件:
unzip 文件名.zip ```
需要注意的是,在使用 zip
命令创建压缩文件时,如果要包含多个文件或目录,可以使用通配符 *
。例如,要压缩当前目录下的所有文件和子目录,可以使用以下命令:
zip 文件名.zip *
这将会将当前目录下的所有文件和子目录打包成一个 文件名.zip
文件。
zip
zip
命令是一个用于对多个文件或目录进行压缩的工具,它可以创建一个包含多个文件或目录的压缩文件。zip
命令的语法如下:
zip [选项] 压缩文件名 源文件
以下是一些常用的 zip
命令示例:
-
创建一个压缩文件:
zip 压缩文件名.zip 源文件 ``` 这个命令将会对 `源文件` 进行压缩,并将压缩后的文件保存为 `压缩文件名.zip`。
-
解压一个压缩文件:
unzip 压缩文件名.zip
这个命令将会解压缩
压缩文件名.zip
文件,并将其中的文件提取到当前目录下。
需要注意的是,zip
命令并不会保留文件权限和元数据(例如文件所有者和修改时间)。
7zip
7zip
命令是一个用于对多个文件或目录进行压缩和解压缩的工具,它支持多种压缩格式,包括 7z、zip、tar、gzip、bzip2 等等。7zip
命令的语法如下:
7z [选项] 目标文件名 源文件
以下是一些常用的 7zip
命令示例:
-
创建一个压缩文件:
7z a 压缩文件名.7z 源文件
这个命令将会对
源文件
进行压缩,并将压缩后的文件保存为压缩文件名.7z
。 -
解压一个压缩文件:
7z x 压缩文件名.7z
这个命令将会解压缩
压缩文件名.7z
文件,并将其中的文件提取到当前目录下。
xz
xz
命令是一个用于对单个文件进行压缩和解压缩的工具,它使用的压缩算法是 LZMA2。xz
命令的语法如下:
xz [选项] 文件名
以下是一些常用的 xz
命令示例:
-
压缩一个文件:
xz 文件名
这个命令将会对
文件名
进行 xz 压缩,并将压缩后的文件保存为文件名.xz
。[root@localhost lianxi]# xz hello
-
解压一个文件:
xz -d 文件名.xz
这个命令将会解压缩
文件名.xz
文件,并将其中的内容提取到当前目录下。