gzp解压命令 linux_linux_解压命令

首先我们应还先要明白一点,压缩打包其实是两个步骤,打包/解包and压缩/解压。打包只是将所有的文件打包成一个文件,他们的内存相对而言是比较大的,占用空间。而压缩是再打包的基础上对目录或文件进行的文件大小的压缩。

打包就好比将羽绒服装进的衣服服装袋里,他的大小是不会变小的,而压缩就好比将装进羽绒服的袋子密封并且抽出其中的空气,这样这个袋子就会变得小。

准备工作:

# 清空指定目录内容

cd /export/ && rm -rf *

# 创建测试文件

touch 1.txt 2.txt 3.txt

# 创建有内容的测试目录

mkdir -p /export/aaa/

touch /export/aaa/4.txt /export/aaa/5.txt

# 查看结果

tree /export

3.1.1 打包类似将 冬天的衣服 放到 袋

打包之后的大文件 需要以 .tar 结尾.

tar 打包命令格式

# 将 一系列文件 打包成 一个大文件

tar -cvf 打包名.tar 被打包的目录

tar -cvf 打包名.tar 被打包的文件1 被打包的文件2 被打包的文件3

| 命令 | 英文 | 含义 |

| ---- | ----------------- | ------------------------------------------------------------ |

| c | create | 生成档案文件, 创建打包文件 |

| v | verbosely(啰嗦的) | 像 '唐僧' 一样报告进度 |

| f | file | 指定档案的文件名称, f后面一定是 `.tar` 文件, 所以必须放到左后 |

练习1: 将1.txt、2.txt、3.txt 打包成 123.tar文件

练习2: 将有内容的aaa目录 打包成 aaa.tar 文件

[root@node01 export]# tar -cvf 123.tar 1.txt 2.txt 3.txt

1.txt

2.txt

3.txt

[root@node01 export]# ll

total 16

-rw-r--r--. 1 root root 10240 Jul 31 06:04 123.tar

-rw-r--r--. 1 root root 0 Jul 31 06:03 1.txt

-rw-r--r--. 1 root root 0 Jul 31 06:03 2.txt

-rw-r--r--. 1 root root 0 Jul 31 06:03 3.txt

drwxr-xr-x. 2 root root 4096 Jul 31 06:03 aaa

[root@node01 export]# tar -cvf aaa.tar aaa/

aaa/

aaa/4.txt

aaa/5.txt

[root@node01 export]# ll

total 28

-rw-r--r--. 1 root root 10240 Jul 31 06:04 123.tar

-rw-r--r--. 1 root root 0 Jul 31 06:03 1.txt

-rw-r--r--. 1 root root 0 Jul 31 06:03 2.txt

-rw-r--r--. 1 root root 0 Jul 31 06:03 3.txt

drwxr-xr-x. 2 root root 4096 Jul 31 06:03 aaa

-rw-r--r--. 1 root root 10240 Jul 31 06:04 aaa.tar

[root@node01 export]# rm -rf *.txt aaa

[root@node01 export]# ll

total 24

-rw-r--r--. 1 root root 10240 Jul 31 06:04 123.tar

-rw-r--r--. 1 root root 10240 Jul 31 06:04 aaa.tar

[root@node01 export]#

[root@node01 export]# tree

.

├── 123.tar

└── aaa.tar

3.1.2 解包类似将 冬天的衣服 从 袋子里取出来

tar 解包命令格式

# 将一个打包后的 分解成 一系列小文件, 分解位置为 当前目录

tar -xvf 打包名.tar

# 将一个打包后的 分解成 一系列小文件, 分解位置为 指定目录

tar -xvf 打包名.tar -C 解包路径位置

命令 英文 含义

x extract (提取) 解包

C (大写C) directory (目录) 默认保存到当前目录, 通过`-C` 更改解压目录, 注意: 解压目录必须存在

练习1: 将 123.tar 解压到 当前目录中

练习2: 将 aaa.tar 解包到 /export/test/a1/b1/c1/ 目录中

[root@node01 export]# ll

total 24

-rw-r--r--. 1 root root 10240 Jul 31 06:04 123.tar

-rw-r--r--. 1 root root 10240 Jul 31 06:04 aaa.tar

[root@node01 export]# tar -xvf 123.tar

1.txt

2.txt

3.txt

[root@node01 export]# ll

total 24

-rw-r--r--. 1 root root 10240 Jul 31 06:04 123.tar

-rw-r--r--. 1 root root 0 Jul 31 06:03 1.txt

-rw-r--r--. 1 root root 0 Jul 31 06:03 2.txt

-rw-r--r--. 1 root root 0 Jul 31 06:03 3.txt

-rw-r--r--. 1 root root 10240 Jul 31 06:04 aaa.tar

[root@node01 export]# mkdir -p /export/test/a1/b1/c1

[root@node01 export]# tree

.

├── 123.tar

├── 1.txt

├── 2.txt

├── 3.txt

├── aaa.tar

└── test

└── a1

└── b1

└── c1

4 directories, 5 files

[root@node01 export]# tar -xvf aaa.tar -C /export/test/a1/b1/c1

aaa/

aaa/4.txt

aaa/5.txt

[root@node01 export]# tree

.

├── 123.tar

├── 1.txt

├── 2.txt

├── 3.txt

├── aaa.tar

└── test

└── a1

└── b1

└── c1

└── aaa

├── 4.txt

└── 5.txt

3.2 第二步: 使用gzip格式 压缩 和 解压缩打包 和 压缩 是两件事

类似与 先将冬天衣服放到压缩袋, 再抽取里面的空气

在 Linux 中, 最常用的压缩文件格式是 xxx.tar.gz

在 tar 命令中有一个选项 -z 可以调用 gzip , 从而可以方便的实现压缩和解压缩的功能

命令格式如下:

# 压缩文件

tar -zcvf 打包压缩文件名.tar.gz 被压缩的文件/目录

# 解压缩文件(记忆敲门: 至孝潍坊)

tar -zxvf 打包文件.tar.gz

# 解压缩到指定路径

tar -zxvf 打包文件.tar.gz -C 目录路径

tar 的选项说明

| 命令 | 英文 | 含义 |

| ---- | ----- | --------------------- |

| z | gzip | 使用gzip压缩和解压缩 |

| j | bzip2 | 使用bzip2压缩和解压缩 |

需求1: 将1.txt、2.txt、3.txt 打包压缩成 123.tar.gz文件(gzip压缩格式)

需求2: 将有内容的aaa目录 打包成 aaa.tar.gz 文件(gzip压缩格式)

需求3: 将 123.tar.gz 解压到 当前目录中(gzip压缩格式)

需求4: 将 aaa.tar.gz 解包到 /export/bbb 目录中(gzip压缩格式)

需求1和需求2答案

```

[root@node01 export]# tree

.

├── 1.txt

├── 2.txt

├── 3.txt

└── aaa

├── 4.txt

└── 5.txt

1 directory, 5 files

[root@node01 export]# tar -zcvf 123.tar.gz 1.txt 2.txt 3.txt

1.txt

2.txt

3.txt

[root@node01 export]# tar -zcvf aaa.tar.gz aaa/

aaa/

aaa/4.txt

aaa/5.txt

[root@node01 export]# ll

total 12

-rw-r--r--. 1 root root 122 Jul 31 06:11 123.tar.gz

-rw-r--r--. 1 root root 0 Jul 31 06:10 1.txt

-rw-r--r--. 1 root root 0 Jul 31 06:10 2.txt

-rw-r--r--. 1 root root 0 Jul 31 06:10 3.txt

drwxr-xr-x. 2 root root 4096 Jul 31 06:10 aaa

-rw-r--r--. 1 root root 142 Jul 31 06:11 aaa.tar.gz

```

清空无用内容

```

[root@node01 export]# tree

.

├── 123.tar.gz

├── 1.txt

├── 2.txt

├── 3.txt

├── aaa

│ ├── 4.txt

│ └── 5.txt

└── aaa.tar.gz

1 directory, 7 files

[root@node01 export]# rm -rf *.txt aaa/

[root@node01 export]# tree

.

├── 123.tar.gz

└── aaa.tar.gz

```

需求3和需求4 答案

```shell

[root@node01 export]# tree

.

├── 123.tar.gz

├── 1.txt

├── 2.txt

├── 3.txt

└── aaa.tar.gz

0 directories, 5 files

[root@node01 export]# mkdir -p /export/bbb

[root@node01 export]# tar -zxvf aaa.tar.gz -C /export/bbb/

aaa/

aaa/4.txt

aaa/5.txt

[root@node01 export]# tree

.

├── 123.tar.gz

├── 1.txt

├── 2.txt

├── 3.txt

├── aaa.tar.gz

└── bbb

└── aaa

├── 4.txt

└── 5.txt

``

小结:

打包压缩: tar -zcvf 打包之后的文件名.tar.gz 被打包压缩的目录或文件名

解包解压缩: tar -zxvf 打包之后的文件名.tar.gz [ -C 指定解包位置 ]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值