Linux常用命令之压缩解压命令详解(gzip、gunzip、bzip2、bunzip2、tar)

一、压缩和解压:gzip(gunzip)和bzip2(bunzip)

  • 单纯的归档,只是把若干个文件整理到一个归档文件中,但是并不压缩;
  • 而压缩,通常只是对单个文件进行操作的;
  • 如果要对多个文件同时进行压缩,就必须先其归档,再对归档文件进行压缩。

1、gzip命令:压缩文件或目录

“ .gz ” 格式是Linux中最常用的压缩格式,使用 gzip 命令进行压缩,其基本信息如下:

  • 命令名称:gzip
  • 所在路径:/bin/gzip
  • 执行权限:所有用户
  • 功能描述:压缩文件或目录

将/etc/services 复制到 /tmp 目录中进行压缩,不保留原文件,并查看压缩前后文件的大小;
如果需要压缩目录的话,需要使用 “gzip -r”

[root@root tmp]# cp /etc/services .
[root@root tmp]# ls
 services   
 [root@root tmp]# ls -l
-rw-r--r--. 1 root root 641020 7月   2 20:32 services
[root@root tmp]# gzip services
[root@root tmp]# ls
 services.gz 
 [root@root tmp]# ls -l 
-rw-r--r--. 1 root root 127223 7月   2 20:32 services.gz

2、gunzip命令:解压缩文件或目录

“ .gz ”格式是Linux中最常用的压缩格式,如果要解压缩“ .gz ”格式,那么使用“ gzip -d”和“ gunzip ”命令都可以。

gunzip 命令的基本信息:

  • 命令名称:gunzip
  • 所在路径:/bin/gunzip
  • 执行权限:所有用户
  • 功能描述:解压缩文件或目录

使用 gunzip 命令进行解压缩,如果需要解压缩目录的话,需要使用“ gunzip -r”;

[root@root tmp]# ls
 services.gz 
 [root@root tmp]# gunzip services.gz
[root@root tmp]# ls
services

** bzip2(bunzip2)命令的用法和gzip(gunzip)命令的用法类似;**

二、文件的归档、压缩操作(tar)

1、tar命令:打包目录或解打包目录

“ .tar ”格式的打包和解打包都使用 tar 命令,区别只是选项不同。tar 命令的基本信息:

  • 命令名称:tar
  • 所在路径:/bin/tar
  • 执行权限:所有用户
  • 功能描述:打包与解打命令

tar命令常见选项如下:

  • -c:创建归档
  • -x:解归档
  • -v:显示过程
  • -f:指定文件名
  • -C:指定解归档的目录路径
  • -z:将打包文件压缩成 gzip 格式
  • -j:将打包文件压缩成 bzip2 格式
(1)归档:即打包,常用于备份某个重要的目录

1.1>只归档不压缩:

格式:tar -cvf 创建的归档文件及路径 要归档目录

[root@root 桌面]# cd /tmp
[root@root tmp]# mkdir /tmp/backup
[root@root tmp]# ls
auto.net~           orbit-gdm            virtual-root.voBtBK
backup              orbit-root           vmware-config-8182.0
......
[root@root tmp]# tar -cvf /tmp/backup/yum.tar /etc/yum.repos.d
tar: 从成员名中删除开头的“/”
/etc/yum.repos.d/
/etc/yum.repos.d/rhel-source.repo
/etc/yum.repos.d/packagekit-media.repo
[root@root tmp]# ls ./backup
yum.tar

注:
[root@root tmp]# ls ./backup——>其中 / 号前面的 . 号的用法,是指默认当前路径下。

1.2> 即归档、又压缩(gzip、bzip2压缩格式)

压缩成gzip格式:tar -cvf 创建的归档文件名及路径 要归档目录

[root@root tmp]# tar -czvf /tmp/backup/yum.tar.gz /etc/yum.repos.d
tar: 从成员名中删除开头的“/”
/etc/yum.repos.d/
/etc/yum.repos.d/rhel-source.repo
/etc/yum.repos.d/packagekit-media.repo
[root@root tmp]# ls ./backup
yum.tar  yum.tar.gz
[root@root tmp]# 

压缩成bzip格式:tar -cjvf 创建的归档压缩文件名及路径 要归档的目录

[root@root tmp]# tar -cjvf /tmp/backup/yum.tar.bz2 /etc/yum.repos.d
tar: 从成员名中删除开头的“/”
/etc/yum.repos.d/
/etc/yum.repos.d/rhel-source.repo
/etc/yum.repos.d/packagekit-media.repo
[root@root tmp]# ls ./backup
yum.tar  yum.tar.bz2  yum.tar.gz

2、解归档

(1) 解归档的原路径

格式:tar -xvf 归档文件名及路径

[root@root tmp]# tar -xvf /tmp/backup/yum.tar
etc/yum.repos.d/
etc/yum.repos.d/rhel-source.repo
etc/yum.repos.d/packagekit-media.repo
(2) 解归档到指定路径

格式:tar -xvf 归档文件名及路径 -C 指定解归档的目录路径

[root@root tmp]# tar -xvf /tmp/backup/yum.tar -C /tmp/backup/
etc/yum.repos.d/
etc/yum.repos.d/rhel-source.repo
etc/yum.repos.d/packagekit-media.repo
[root@root tmp]# ls ./backup/
etc  yum.tar  yum.tar.bz2  yum.tar.gz

3、解压缩、解归档

(1) 解压缩、解归档到原路径

1.1> gzip格式

格式:tar -xzvf 归档压缩文件名及路径

[root@root tmp]# tar -xzvf /tmp/backup/yum.tar.gz
etc/yum.repos.d/
etc/yum.repos.d/rhel-source.repo
etc/yum.repos.d/packagekit-media.repo
You have new mail in /var/spool/mail/root
[root@root tmp]# 

1.2> bzip2格式

格式:tar -xjvf 归档压缩文件名及路径

[root@root tmp]# tar -xjvf /tmp/backup/yum.tar.bz2
etc/yum.repos.d/
etc/yum.repos.d/rhel-source.repo
etc/yum.repos.d/packagekit-media.repo
(2)解压缩、解归档到指定路径

2.1> gzip格式

格式:tar -xzvf 归档压缩文件名及路径 -C 指定解归档的目录路径

[root@root tmp]# tar -xzvf /tmp/backup/yum.tar.gz -C /tmp/backup/
etc/yum.repos.d/
etc/yum.repos.d/rhel-source.repo
etc/yum.repos.d/packagekit-media.repo

2.2> bzip2格式

格式:tar -xjvf 归档压缩文件名及路径 -C 指定解归档的目录路径

[root@root tmp]# tar -xjvf /tmp/backup/yum.tar.bz2 -C /tmp/backup/
etc/yum.repos.d/
etc/yum.repos.d/rhel-source.repo
etc/yum.repos.d/packagekit-media.repo
[root@root tmp]# ls ./backup/

猜你喜欢

转载自blog.csdn.net/weixin_45116657/article/details/94476903
今日推荐