欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux壓縮及解壓縮命令tar|zip|rar|xz操作方法

 更新時(shí)間:2024年02月07日 11:06:32   作者:@BangBang  
不管Linux還是其他操作系統(tǒng),數(shù)據(jù)的壓縮和解壓縮操作是經(jīng)常用到的,在windows平臺文件的相關(guān)操作被傻瓜化了,到了Linux平臺讓好多小伙伴感覺有點(diǎn)束手無策,本文為大家講解Linux的常用壓縮包操作,格式包含tar.gz, .tgz, .tar.bz2, .zip, .rar, .tar.xz,感興趣的朋友一起看看吧

作者: 蘇丙榅
原文鏈接: https://subingwen.cn/linux/commpress/

不管是在Linux還是其他操作系統(tǒng)中,關(guān)于數(shù)據(jù)的壓縮和解壓縮操作是經(jīng)常被用到的。由于在windows平臺文件的相關(guān)操作被傻瓜化了,到了Linux平臺讓好多小伙伴感覺有點(diǎn)束手無策,本篇文章中主要為大家講解基于Linux的常用壓縮包操作,格式包含:tar.gz, .tgz, .tar.bz2, .zip, .rar, .tar.xz

1. tar

在Linux操作系統(tǒng)中默認(rèn)自帶兩個(gè)原始的壓縮工具分別是 gzipbzip2, 但是它們都有先天的缺陷, 不能對壓縮文件打包, 每個(gè)文件都會生成一個(gè)單獨(dú)的壓縮包, 并且壓縮之后不會保留原文件, 這是一件叔能忍嬸也不能忍的事情。

Linux中自帶一個(gè)打包工具,叫做tar, 默認(rèn)情況下該工具是不能進(jìn)行壓縮操作的,在這種情況下targzip, bzip2就聯(lián)姻了, 各自發(fā)揮各自的優(yōu)勢, Linux下最強(qiáng)大的打包壓縮工具至此誕生。

我們在使用tar進(jìn)行壓縮和解壓縮的時(shí)候, 只需要指定相對用的參數(shù), 在其內(nèi)部就會調(diào)用對應(yīng)的壓縮工具gzip或者bzip2完成指定的操作。

: tar 由于是linux自帶的,不需要聯(lián)網(wǎng)進(jìn)行下載安裝。 因此一般在板端,基本使用tar命令進(jìn)行解壓縮

1.1 壓縮 (.tar.gz .tar.bz2 .tgz)

如果使用tar完成文件壓縮和打包, 涉及的參數(shù)如下, 在使用過程中參數(shù)沒有先后順序:

  • c: 創(chuàng)建壓縮文件
  • z: 使用gzip的方式進(jìn)行文件壓縮
  • j: 使用bzip2的方式進(jìn)行文件壓縮
  • v: 壓縮過程中顯示壓縮信息, 可以省略不寫
  • f: 指定壓縮包的名字

(1) 壓縮為.tar.gz格式的壓縮命令如下:

tar zcvf xxx.tar.gz ./abc

其中z表示使用gzip的方式進(jìn)行文件壓縮, c表示創(chuàng)建壓縮文件

(2) 壓縮為.tar.bz2格式的壓縮命令如下:

tar jcvf xxx.tar.bz2  abc b.txt c.txt

其中 j表示 使用bzip2的方式進(jìn)行文件壓縮, 將文件夾abc以及文件b.txt, c.txt壓縮為文件xxx.tar.bz2

案例(使用gzip的方式進(jìn)行文件壓縮)

# 查看目錄內(nèi)容
[root@VM-8-14-centos ~/luffy]# ls
get  onepiece.txt  robin.txt
# 壓縮目錄中所有文件, 如果要壓縮某幾個(gè)文件, 直接指定文件名即可
[root@VM-8-14-centos ~/luffy]# tar zcvf all.tar.gz *
get/                     # ....... 壓縮信息
get/link.lnk             # ....... 壓縮信息
get/onepiece/            # ....... 壓縮信息
get/onepiece/haha.txt
get/link.txt
onepiece.txt
robin.txt
# 查看目錄文件, 多了一個(gè)壓縮文件 all.tar.gz
[root@VM-8-14-centos ~/luffy]# ls
all.tar.gz  get  onepiece.txt  robin.txt

案例 使用bz2 的方式進(jìn)行文件壓縮

# 查看目錄內(nèi)容
[root@VM-8-14-centos ~/luffy]# ls
all.tar.gz  get  onepiece.txt  robin.txt
# 壓縮目錄中除 all.tar.gz 的文件和目錄
[root@VM-8-14-centos ~/luffy]# tar jcvf part.tar.bz2 get onepiece.txt robin.txt 
get/                   # ....... 壓縮信息
get/link.lnk           # ....... 壓縮信息
get/onepiece/          # ....... 壓縮信息
get/onepiece/haha.txt
get/link.txt
onepiece.txt
robin.txt
# 查看目錄信息, 多了一個(gè)壓縮文件 part.tar.bz2
[root@VM-8-14-centos ~/luffy]# ls
all.tar.gz  get  onepiece.txt  part.tar.bz2  robin.txt

1.2 解壓縮 (.tar.gz .tar.bz2 .tgz)

如果使用tar進(jìn)行文件的解壓縮, 涉及的參數(shù)如下, 在使用過程中參數(shù)沒有先后順序:

  • x: 釋放壓縮文件內(nèi)容
  • z: 使用gzip的方式進(jìn)行文件壓縮, 壓縮包后綴為.tar.gz
  • j: 使用bzip2的方式進(jìn)行文件壓縮, 壓縮包后綴為.tar.bz2
  • v: 解壓縮過程中顯示解壓縮信息
  • f: 指定壓縮包的名字

使用以上參數(shù)是將壓縮包解壓到當(dāng)前目錄, 如果需要解壓到指定目錄, 需要指定參數(shù) -C。
一般認(rèn)為.tgz文件就等同于 .tar.gz 文件, 解壓縮方式是相同的。解壓的語法格式如下:

# 語法1: 解壓到當(dāng)前目錄中
$ tar 參數(shù) 壓縮包名 
# 語法2: 解壓到指定目錄中
$ tar 參數(shù) 壓縮包名 -C 解壓目錄

(1) 解壓 .tar.gz 格式文件

tar zxvf xxx.tar.gz -C abc

其中x表示解壓縮命令,z表示解壓縮的是帶tar.gz格式的文件, -C指定解壓后存放的目錄

(2) 解壓.tar.bz2格式文件:

tar jxvf xxx.tar.bz2  -C temp

其中x表示解壓縮命令,j表示解壓縮的是帶tar.bz2格式的文件, -C指定解壓后存放的目錄

舉例: 使用gzip的方式進(jìn)行文件解壓縮

# 查看目錄文件信息
[root@VM-8-14-centos ~/luffy]# ls
all.tar.gz  get  onepiece.txt  part.tar.bz2  robin.txt  temp
# 將 all.tar.gz 壓縮包解壓縮到 temp 目錄中
[root@VM-8-14-centos ~/luffy]# tar zxvf all.tar.gz -C temp
get/                      # 解壓縮文件信息
get/link.lnk              # 解壓縮文件信息
get/onepiece/             # 解壓縮文件信息
get/onepiece/haha.txt     # 解壓縮文件信息
get/link.txt
onepiece.txt
robin.txt
# 查看temp目錄內(nèi)容, 都是從壓縮包中釋放出來的
[root@VM-8-14-centos ~/luffy]# ls temp/
get  onepiece.txt  robin.txt

舉例: 使用bzip2的方式進(jìn)行文件解壓縮

# 刪除 temp 目錄中的所有文件
[root@VM-8-14-centos ~/luffy]# rm temp/* -rf
# 查看 luffy 目錄中的文件信息
[root@VM-8-14-centos ~/luffy]# ls
all.tar.gz  get  onepiece.txt  part.tar.bz2  robin.txt  temp
# 將 part.tar.bz2 中的文件加壓縮到 temp 目錄中
[root@VM-8-14-centos ~/luffy]# tar jxvf part.tar.bz2 -C temp
get/                         # 解壓縮文件信息
get/link.lnk                 # 解壓縮文件信息
get/onepiece/                # 解壓縮文件信息
get/onepiece/haha.txt        # 解壓縮文件信息
get/link.txt
onepiece.txt
robin.txt
# 查看 temp 目錄中的文件信息
[root@VM-8-14-centos ~/luffy]# ls temp/
get  onepiece.txt  robin.txt

2. zip

zip格式的壓縮包在Linux中也是很常見的, 在某些版本中需要安裝才能使用

Ubuntu

$ sudo apt install zip    	# 壓縮
$ sudo apt install unzip	# 解壓縮

CentOS

# 因?yàn)?centos 可以使用 root 用戶登錄, 基于 root 用戶安裝軟件, 不需要加 sudo
$ sudo yum install zip    	# 壓縮
$ sudo yum install unzip	# 解壓縮

2.1 壓縮 (.zip)

使用zip壓縮目錄需要注意一點(diǎn), 必須要添加參數(shù) -r, 這樣才能將子目錄中的文件一并壓縮, 如果要壓縮的文件中沒有目錄, 該參數(shù)就可以不寫了。

另外使用zip壓縮文件, 會自動生成文件后綴.zip, 因此就不需要額外指定了。

# 語法: 后自動添加壓縮包后綴 .zip, 如果要壓縮目錄, 需要添加參數(shù) r
$ zip [-r]  壓縮包名 要壓縮的文件

舉例:

# 查看目錄文件信息
[root@VM-8-14-centos ~/luffy]# ls
get  onepiece.txt  robin.txt  temp
# 壓縮目錄 get 和文件 onepiece.txt robin.txt 得到壓縮包 all.zip(不需要指定后綴, 自動添加)
[root@VM-8-14-centos ~/luffy]# zip all onepiece.txt robin.txt get/ -r
  adding: onepiece.txt (stored 0%)
  adding: robin.txt (stored 0%)
  adding: get/ (stored 0%)
  adding: get/link.lnk (stored 0%)             # 子目錄中的文件也被壓縮進(jìn)去了
  adding: get/onepiece/ (stored 0%)            # 子目錄中的文件也被壓縮進(jìn)去了
  adding: get/onepiece/haha.txt (stored 0%)    # 子目錄中的文件也被壓縮進(jìn)去了
  adding: get/link.txt (stored 0%)             # 子目錄中的文件也被壓縮進(jìn)去了
# 查看目錄文件信息, 多了一個(gè)壓縮包文件 all.zip
[root@VM-8-14-centos ~/luffy]# ls
all.zip  get  onepiece.txt  robin.txt  temp

2.2 解壓縮 (.zip)

對應(yīng)zip格式的文件解壓縮, 必須要使用unzip命令, 和壓縮的時(shí)候使用的命令是不一樣的。如果壓縮包中的文件要解壓到指定目錄需要指定參數(shù)-d, 默認(rèn)是解壓縮到當(dāng)前目錄中。

# 語法1: 解壓到當(dāng)前目錄中 
$ unzip 壓縮包名
# 語法: 解壓到指定目錄, 需要添加參數(shù) -d
$ unzip 壓縮包名 -d 解壓目錄

舉例:

# 查看目錄文件信息
[root@VM-8-14-centos ~/luffy]# ls
all.zip  get  onepiece.txt  robin.txt  temp
# 刪除 temp 目錄中的所有文件
[root@VM-8-14-centos ~/luffy]# rm temp/* -rf
# 將 all.zip 解壓縮到 temp 目錄中
[root@VM-8-14-centos ~/luffy]# unzip all.zip -d temp/
Archive:  all.zip
 extracting: temp/onepiece.txt           # 釋放壓縮的子目錄中的文件            
 extracting: temp/robin.txt              # 釋放壓縮的子目錄中的文件            
   creating: temp/get/
 extracting: temp/get/link.lnk       
   creating: temp/get/onepiece/
 extracting: temp/get/onepiece/haha.txt  # 釋放壓縮的子目錄中的文件
 extracting: temp/get/link.txt      
# 查看 temp 目錄中的文件信息 
[root@VM-8-14-centos ~/luffy]# ls temp/
get  onepiece.txt  robin.txt

3. rar

rar這種壓縮格式在Linux中并不常用, 這是Windows常用的壓縮格式, 如果想要在Linux壓縮和解壓這種格式的文件需要額外安裝對應(yīng)的工具, 不同版本的Linux安裝方式也是不同的。

Ubuntu

# 執(zhí)行在線下載命令即可
$ sudo apt install rar

CentOS

# 需要下載安裝包, 官方地址: https://www.rarlab.com/download.htm
# 從下載頁面找到 Linux 版本的下載鏈接并復(fù)制鏈接地址, 使用 wget 下載到本地
$ wget https://www.rarlab.com/rar/rarlinux-x64-6.0.0.tar.gz
# 將下載得到的 rarlinux-x64-6.0.0.tar.gz 壓縮包解壓縮, 得到解壓目錄 rar
$ tar zxvf rarlinux-x64-6.0.0.tar.gz 
# 將得到的解壓目錄移動到 /opt 目錄中 (因?yàn)?opt軟件安裝目錄, 移動是為了方便管理, 不移動也沒事兒)
# 該操作需要管理員權(quán)限, 我是使用 root 用戶操作的
$ mv ./rar /opt
# 給 /opt/rar 目錄中的可執(zhí)行程序添加軟連接, 方便命令解析器可以找到該壓縮命令
$ ln -s /opt/rar/rar /usr/local/bin/rar
$ ln -s /opt/rar/unrar /usr/local/bin/unrar

該方法在任何版本的Linux系統(tǒng)中都適用

3.1 壓縮 (.rar)

使用rar壓縮過程中的注意事項(xiàng)和zip是一樣的, 如果壓縮的是目錄, 需要指定參 -r, 如果只壓縮文件就不需要添加了。壓縮過程中需要使用參數(shù) a (archive), 壓縮歸檔的意思。

rar工具在生成壓縮包的時(shí)候也會自動添加后綴, 名字為.rar, 因此我們只需要指定壓縮包的名字。

語法

# 文件壓縮, 需要使用參數(shù) a, 壓縮包名會自動添加后綴 .rar
# 如果壓縮了目錄, 需要加參數(shù) -r
# 語法: 
$ rar a 壓縮包名 要壓縮的文件 [-r]

舉例

# 查看目錄文件信息
[root@VM-8-14-centos ~/luffy]# ls
get  onepiece.txt  robin.txt  temp
# 壓縮文件 onepiece.txt, robin.txt 和目錄 get/ 到要是文件 all.rar 中
[root@VM-8-14-centos ~/luffy]# rar a all onepiece.txt get/ robin.txt -r 
RAR 6.00   Copyright (c) 1993-2020 Alexander Roshal   1 Dec 2020
Trial version             Type 'rar -?' for help
Evaluation copy. Please register.
Creating archive all.rar
Adding    onepiece.txt                     OK 
Adding    get/link.lnk                     OK        # 子目錄中的文件也被壓縮了 
Adding    get/onepiece/haha.txt            OK        # 子目錄中的文件也被壓縮了
Adding    get/link.txt                     OK        # 子目錄中的文件也被壓縮了  
Adding    robin.txt                        OK 
Adding    get/onepiece                     OK         
Done
[root@VM-8-14-centos ~/luffy]# ls
all.rar  get  onepiece.txt  robin.txt  temp

3.2 解壓縮 (.rar)

解壓縮.rar格式的文件的時(shí)候, 可以使用 rar也可以使用unrar, 操作方式是一樣的, 需要添加參數(shù) x, 默認(rèn)是將壓縮包內(nèi)容釋放到當(dāng)前目錄中, 如果要釋放到指定目錄直接指定解壓目錄名即可, 不需要使用任何參數(shù)。

語法

# 解壓縮: 需要參數(shù) x
# 語法: 解壓縮到當(dāng)前目錄中
$ rar/unrar x 壓縮包名字
# 語法: 解壓縮到指定目錄中
rar/unrar x 壓縮包名字 解壓目錄

舉例:

# 查看目錄文件信息
[root@VM-8-14-centos ~/luffy]# ls
all.rar  get  onepiece.txt  robin.txt  temp
# 刪除 temp 目錄中的所有文件
[root@VM-8-14-centos ~/luffy]# rm temp/* -rf
# 將 all.rar 中的文件解壓縮到 temp 目錄中
[root@VM-8-14-centos ~/luffy]# rar x all.rar temp/ 
RAR 6.00   Copyright (c) 1993-2020 Alexander Roshal   1 Dec 2020
Trial version             Type 'rar -?' for help
Extracting from all.rar
Extracting  temp/onepiece.txt               OK 
Creating    temp/get                        OK
Extracting  temp/get/link.lnk               OK          # 子目錄文件也被釋放出來了
Extracting  temp/get/link.lnk               OK          # 子目錄文件也被釋放出來了
Extracting  temp/get/link.lnk               OK          # 子目錄文件也被釋放出來了
Creating    temp/get/onepiece               OK                    
Extracting  temp/get/link.lnk               OK          # 子目錄文件也被釋放出來了 
Extracting  temp/get/link.lnk               OK          # 子目錄文件也被釋放出來了 
Extracting  temp/get/onepiece/haha.txt      OK
Extracting  temp/get/link.txt               OK 
Extracting  temp/robin.txt                  OK 
All OK
# 查看 temp 目錄中文件信息
[root@VM-8-14-centos ~/luffy]# ls temp/
get  onepiece.txt  robin.txt

4. xz

.xz格式的文件壓縮和解壓縮都相對比較麻煩, 通過一個(gè)命令是完不成對應(yīng)的操作的, 需要通過兩步操作才行。并且操作過程中需要使用tar工具進(jìn)行打包, 壓縮使用的則是 xz工具

4.1 壓縮(.tar.xz)

創(chuàng)建文件的步驟如下, 首先 將需要壓縮的文件打包 tar cvf xxx.tar files, 然后再對打包文件進(jìn)行壓縮 xz -z xxx.tar, 這樣我們就可以得到一個(gè)打包之后的壓縮文件了。

使用 xz工具壓縮文件的時(shí)候需要添加參數(shù) -z

語法

# 第一步
$ tar cvf xxx.tar 要壓縮的文件
# 第二步, 最終得到一個(gè)xxx.tar.xz 格式的壓縮文件
$ xz -z xxx.tar

舉例

# 查看目錄文件信息
[root@VM-8-14-centos ~/luffy]# ls
get  onepiece.txt  robin.txt  temp
# 將文件 onepiece.txt, robin.txt 和目錄 get 打包到 all.tar 中
[root@VM-8-14-centos ~/luffy]# tar cvf all.tar onepiece.txt robin.txt get/
onepiece.txt
robin.txt
get/
get/link.lnk
get/onepiece/
get/onepiece/haha.txt
get/link.txt
# 查看目錄文件信息, 多了一個(gè)打包文件 all.tar
[root@VM-8-14-centos ~/luffy]# ls
all.tar  get  onepiece.txt  robin.txt  temp
# 使用 xz 工具壓縮打包文件 all.tar
[root@VM-8-14-centos ~/luffy]# xz -z all.tar 
# 最終得到了壓縮之后的打包文件 all.tar.xz
[root@VM-8-14-centos ~/luffy]# ls
all.tar.xz  get  onepiece.txt  robin.txt  temp

4.2 解壓縮(.tar.xz)

解壓縮的步驟和壓縮的步驟相反, 需要先解壓縮, 然后將文件包中的文件釋放出來。
使用xz工具解壓需要使用參數(shù)-d。

語法

# 第一步: 壓縮包解壓縮, 得到 xxx.tar
$ xz -d xxx.tar.xz
# 第二步: 將 xxx.tar 中的文件釋放到當(dāng)前目錄
$ tar xvf xxx.tar 

舉例

# 查看目錄中文件信息, 有一個(gè) all.tar.xz
[root@VM-8-14-centos ~/luffy]# ls
all.tar.xz  get  onepiece.txt  robin.txt  temp
# 將 all.tar.xz 解壓縮, 得到 all.tar
[root@VM-8-14-centos ~/luffy]# xz -d all.tar.xz 
# 查看目錄文件, 得到了 all.tar
[root@VM-8-14-centos ~/luffy]# ls
all.tar  get  onepiece.txt  robin.txt  temp
# 釋放 all.tar 到當(dāng)前目錄
[root@VM-8-14-centos ~/luffy]# tar xvf all.tar 
onepiece.txt
robin.txt
get/
get/link.lnk
get/onepiece/
get/onepiece/haha.txt
get/link.txt

到此這篇關(guān)于Linux壓縮及解壓縮命令tar|zip|rar|xz的文章就介紹到這了,更多相關(guān)linux壓縮和解壓縮命令內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一天一個(gè)shell命令 文本操作系列-linux dd使用教程

    一天一個(gè)shell命令 文本操作系列-linux dd使用教程

    dd 是 Linux/UNIX 下的一個(gè)非常有用的命令,作用是用指定大小的塊拷貝一個(gè)文件,并在拷貝的同時(shí)進(jìn)行指定的轉(zhuǎn)換
    2016-05-05
  • linux反彈shell的原理詳解

    linux反彈shell的原理詳解

    這篇文章主要介紹了linux反彈shell的原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • shell腳本中$符號的命令使用匯總

    shell腳本中$符號的命令使用匯總

    這篇文章主要介紹了shell腳本中$符號的使用示例,幫助大家更好的理解和學(xué)習(xí)shell 語言的用法,感興趣的朋友可以了解下
    2020-11-11
  • bash判斷文件或文件夾是否存在的shell代碼

    bash判斷文件或文件夾是否存在的shell代碼

    這篇文章主要介紹了bash判斷文件或文件夾是否存在的shell代碼,需要的朋友可以參考下
    2017-05-05
  • shell?判斷語句腳本用法解析

    shell?判斷語句腳本用法解析

    這篇文章主要為大家介紹了shell判斷語句腳本用法解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • 詳解Linux 操作系統(tǒng)下安裝rpm包的方法步驟

    詳解Linux 操作系統(tǒng)下安裝rpm包的方法步驟

    這篇文章主要介紹了詳解Linux 操作系統(tǒng)下安裝rpm包的方法步驟的相關(guān)資料,需要的朋友可以參考下
    2015-11-11
  • 編寫shell腳本實(shí)現(xiàn)tomcat定時(shí)重啟的方法

    編寫shell腳本實(shí)現(xiàn)tomcat定時(shí)重啟的方法

    這篇文章主要介紹了編寫shell腳本實(shí)現(xiàn)tomcat定時(shí)重啟的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 提高你工作效率的shell命令總結(jié)大全

    提高你工作效率的shell命令總結(jié)大全

    腳本語言可以減少很多手動的操作,作為一個(gè)Linux程序員都應(yīng)該了解簡單的腳本編寫來代替手動的操作,下面這篇文章主要給大家總結(jié)分享了一些提高你工作效率的shell命令,文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),需要的朋友們下面來一起看看吧。
    2017-07-07
  • Shell腳本實(shí)現(xiàn)啟動PHP內(nèi)置FastCGI Server

    Shell腳本實(shí)現(xiàn)啟動PHP內(nèi)置FastCGI Server

    這篇文章主要介紹了Shell腳本實(shí)現(xiàn)啟動PHP內(nèi)置FastCGI Server,本文講解了一些需求過程,并給出了實(shí)現(xiàn)需求的shell腳本,需要的朋友可以參考下
    2015-04-04
  • 判斷輸入的日期是否正確的shell腳本

    判斷輸入的日期是否正確的shell腳本

    這篇文章主要介紹了判斷輸入的日期是否正確的shell腳本,需要的朋友可以參考下
    2016-08-08

最新評論