Linux命令学习八:gzip、zip、tar
压缩与解压缩:gzip、gunzip
gzip命令
使用gzip命令压缩文件的时候,需要注意以下几点:
1. gzip命令只能压缩文件,而不能压缩目录;
2. gzip压缩完目标文件后,源文件会被删除,只留下压缩后的文件;
3. gzip后面可以跟多个文件,命令会生成多个压缩文件,而不会把多个文件压缩到一个文件;
4. 文件经它压缩过后,其名称后面会多出.gz的扩展名;
基本语法
gzip [参数] 文件 参数说明
| 参数 | 说明 |
|---|---|
| -d | 解开压缩文件 |
| -v | 显示执行过程 |
| -l | 显示压缩文件的信息 |
| -r | 递归压缩 |
实例
将dir1里面的文件全部压缩,这个命令是将dir1下面的文件,每个文件都压缩成独立的压缩文件
gzip -r dir1 gunzip命令
gunzip命令就是用来角压缩gzip命令压缩的文件。跟gzip一样,解压完文件后,源压缩文件就会被自动删除。
基本语法
gunzip [参数] 文件.gz 参数说明
| 参数 | 说明 |
|---|---|
| -r | 递归解压缩 |
| -v | 显示解压缩执行过程 |
实例
解压dir1下面的所有压缩文件
gunzip -r -v dir1 压缩与解压缩:zip、unzip
zip命令
同样是压缩与解压缩,但是zip与gzip不一样的地方有两点:
1. zip压缩文件后,不会把源文件删除
2. zip可以压缩文件夹
3. 压缩后的文件后缀名为 .zip
基本语法
zip [参数] 目标文件名 源文件 参数说明
| 参数 | 说明 |
|---|---|
| -r | 把整个目录压缩成一个文件 |
| -v | 显示执行过程 |
| -d | 从压缩文件中删除指定文件 |
实例
将/home压缩成一个文件
$ zip -r home.zip /home adding: home/ (stored 0%) adding: home/admin/ (stored 0%) adding: home/admin/.bash_logout (stored 0%) adding: home/admin/.bash_profile (deflated 20%) adding: home/admin/.bashrc (deflated 35%) unzip命令
命令用于解压缩zip文件
基本语法
unzip [参数] 文件.zip 参数说明
| 参数 | 说明 |
|---|---|
| -v | 显示解压过程 |
| -d | 解压文件到目标目录 |
实例
将前面压缩的home.zip解压到/tmp目录下
$ unzip -d /tmp home.zip 打包命令:tar
tar命令本来只是一个打包命令,将几个文件或者目录打包成一个文件。tar命令还可以结合一些参数,对打包后的文件进行压缩处理。
基本语法
tar [参数] 打包后的文件 需要打包的文件/目录 参数说明
| 参数 | 说明 |
|---|---|
| -c | 生成打包文件 |
| -v | 显示 执行过程 |
| -f | 指定打包后的文件名 |
| -t | 查看压缩包里面有哪些文件 |
| -x | 拆开打包文件 |
| -C | 大写字母C,拆开打包文件到指定目录 |
| -z | 通过 gzip 的支持进行压缩/解压缩 |
| -j | 通过 bzip2 的支持进行压缩/解压缩 |
| -J | 通过 xz 的支持进行压缩/解压缩 |
需要注意的是,-f参数后面,要马上指定需要处理的文件,应该是tar -xzf tarfile.tar.gz, 而不能是tar -xfz tarfile.tar.gz。
实例
将/home目录打包,并且用zip压缩,生成home.tar.gz文件
tar -czvf home.tar.gz /home 查看home.tar.gz压缩包文件里都有哪些文件
$ tar -ztvf home.tar.gz home/ home/admin/ home/admin/.bash_logout home/admin/.bash_profile home/admin/.bashrc home/admin/f/ home/admin/.bash_history home/ryan/ home/ryan/.bash_logout home/ryan/.bash_profile home/ryan/.bashrc 将home.tar.gz文件,解压拆包至/tmp目录
tar -xzvf home.tar.gz -C /tmp