使用gzip
命令压缩文件的时候,需要注意以下几点:
1. gzip
命令只能压缩文件,而不能压缩目录;
2. gzip
压缩完目标文件后,源文件会被删除,只留下压缩后的文件;
3. gzip
后面可以跟多个文件,命令会生成多个压缩文件,而不会把多个文件压缩到一个文件;
4. 文件经它压缩过后,其名称后面会多出".gz"的扩展名;
gzip [参数] 文件
参数 | 说明 |
---|---|
-d | 解开压缩文件 |
-v | 显示执行过程 |
-l | 显示压缩文件的信息 |
-r | 递归压缩 |
将dir1里面的文件全部压缩,这个命令是将dir1下面的文件,每个文件都压缩成独立的压缩文件
gzip -r dir1
gunzip
命令就是用来角压缩gzip
命令压缩的文件。跟gzip
一样,解压完文件后,源压缩文件就会被自动删除。
gunzip [参数] 文件.gz
参数 | 说明 |
---|---|
-r | 递归解压缩 |
-v | 显示解压缩执行过程 |
解压dir1下面的所有压缩文件
gunzip -r -v dir1
同样是压缩与解压缩,但是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%)
命令用于解压缩zip文件
unzip [参数] 文件.zip
参数 | 说明 |
---|---|
-v | 显示解压过程 |
-d | 解压文件到目标目录 |
将前面压缩的home.zip
解压到/tmp
目录下
$ unzip -d /tmp home.zip
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