在使用Linux系統時,一些新手會遇到Linux文件打包、壓縮和解壓的問題,具體該怎麼解決呢?接下來為你提供詳細教程,具體如下。
Linux文件打包、壓縮和解壓方法
Linux 系統中,最常用的歸檔(打包)命令就是 tar,該命令可以將許多文件一起保存到一個單獨的磁帶或磁碟中進行歸檔。不僅如此,該命令還可以從歸檔文件中還原所需文件,也就是打包的反過程,稱為解打包。
使用 tar 命令歸檔的包通常稱為 tar 包(tar 包文件都是以「.tar」結尾的)。
一、tar命令做打包操作
當 tar 命令用於打包操作時,該命令的基本格式為:
[root@localhost ~]#tar [選項] 源文件或目錄
此命令常用的選項及各自的含義如圖所示。
需要注意的是,在使用 tar 命令指定選項時可以不在選項前面輸入「-」。例如,使用「cvf」選項和 「-cvf」起到的作用一樣。
下面給大家舉幾個例子,一起看看如何使用 tar 命令打包文件和目錄。
【例 1】打包文件和目錄。
[root@localhost ~]# tar -cvf anaconda-ks.cfg.tar anaconda-ks.cfg #把anacondehks.cfg打包為 anacondehks.cfg.tar文件
選項 -cvf 一般是習慣用法,記住打包時需要指定打包之後的文件名,而且要用 .tar 作為擴展名。打包目錄也是如此:
[root@localhost ~]# ll -d test/drwxr-xr-x 2 root root 4096 6月 17 21:09 test/#test是我們之前的測試目錄[root@localhost ~]# tar -cvf test.tar test/test/test/test3test/test2test/test1#把目錄打包為test.tar文件
tar命令也可以打包多個文件或目錄,只要用空格分開即可。例如:
[root@localhost ~]# tar -cvf ana.tar anaconda-ks.cfg /tmp/#把anaconda-ks.cfg文件和/tmp目錄打包成ana.tar文件包
【例 2】打包並壓縮目錄。
首先聲明一點,壓縮命令不能直接壓縮目錄,必須先用 tar 命令將目錄打包,然後才能用 gzip 命令或 bzip2 命令對打包文件進行壓縮。例如:
[root@localhost ~]#ll -d test test.tardrwxr-xr-x 2 root root 4096 6月 17 21:09 test-rw-rr 1 root root 10240 6月 18 01:06 test.tar#我們之前已經把test目錄打包成test.tar文件[root@localhost ~]# gzip test.tar[root@localhost ~]# ll test.tar.gz-rw-rr 1 root root 176 6月 18 01:06 test.tar.gz#gzip命令會把test.tar壓縮成test.tar.gz
二、tar命令做解打包操作
當 tar 命令用於對 tar 包做解打包操作時,該命令的基本格式如下:
[root@localhost ~]#tar [選項] 壓縮包
當用於解打包時,常用的選項與含義如圖所示。
其實解打包和打包相比,只是把打包選項 -cvf 更換為 -xvf。我們來試試:[root@localhost ~]# tar -xvf anaconda-ks.cfg. tar#解打包到當前目錄下如果使用 -xvf 選項,則會把包中的文件解壓到當前目錄下。如果想要指定解壓位置,則需要使用 -C(大寫) 選項。例如:[root@localhost ~]# tar -xvf test.tar -C /tmp#把文件包test.tar解打包到/tmp/目錄下如果只想查看文件包中有哪些文件,則可以把解打包選項 -x 更換為測試選項 -t。例如:[root@localhost ~]# tar -tvf test.tardrwxr-xr-x root/root 0 2016-06-17 21:09 test/-rw-r-r- root/root 0 2016-06-17 17:51 test/test3-rw-r-r- root/root 0 2016-06-17 17:51 test/test2-rw-r-r- root/root 0 2016-06-17 17:51 test/test1#會用長格式顯示test.tar文件包中文件的詳細信息
三、tar命令做打包壓縮(解壓縮解打包)操作
你可能會覺得 Linux 實在太不智能了,一個打包壓縮,居然還要先打包成 .tar 格式,再壓縮成 .tar.gz 或 .tar.bz2 格式。其實 tar 命令是可以同時打包壓縮的,前面的講解之所打包和壓縮分開,是為了讓大家了解在 Linux 中打包和壓縮的不同。
當 tar 命令同時做打包壓縮的操作時,其基本格式如下:[root@localhost ~]#tar [選項] 壓縮包 源文件或目錄此處常用的選項有以下 2 個,分別是:
-z:壓縮和解壓縮 .tar.gz 格式; -j:壓縮和解壓縮 .tar.bz2格式。【例 1】壓縮與解壓縮 .tar.gz格式。[root@localhost ~]# tar -zcvf tmp.tar.gz /tmp/#把/temp/目錄直接打包壓縮為.tar.gz格式,通過-z來識別格式,-cvf和打包選項一致解壓縮也只是在解打包選項 -xvf 前面加了一個 -z 選項。[root@localhost ~]# tar -zxvf tmp.tar.gz#解壓縮與解打包.tar.gz格式前面講的選項 -C 用於指定解壓位置、-t 用於查看壓縮包內容,在這里同樣適用。【例 2】壓縮與解壓縮 .tar.bz2 格式。和.tar.gz格式唯一的不同就是-zcvf選項換成了 -jcvf,如下所示:[root@localhost ~]# tar -jcvf tmp.tar.bz2 /tmp/#打包壓縮為.tar.bz2格式,注意壓縮包文件名[root@localhost ~]# tar -jxvf tmp.tar.bz2#解壓縮與解打包.tar.bz2格式把文件直接壓縮成.tar.gz和.tar.bz2格式,才是 Linux 中最常用的壓縮方式,這是大家一定要掌握的壓縮和解壓縮方法。
tar 命令最初被用來在磁帶上創建備份,現在可以在任何設備上創建備份。利用 tar 命令可以把一大堆的文件和目錄打包成一個文件,這對於備份文件或是將幾個文件組合成為一個文件進行網路傳輸是非常有用的。
以上就是Linux文件打包、壓縮和解壓方法的全部內容了, 希望能夠幫助到各位小夥伴。更多系統相關的內容各位小夥伴們可以關注沃生活,會一直給各位小夥伴們帶來系統的教程!如果你對此文章存在爭議,可在評論區留言和小夥伴們一起討論。
『貳』 linux zip壓縮。壓縮當前文件夾下所有文件,壓縮為a.zip。命令行的方法是怎樣。
linux zip壓縮。壓縮當前文抄件夾下所有文件,壓襲縮為a.zip。可以使用命令zip -r mydata.zip dir。例如:
要壓縮/home/data這個目錄,則壓縮命令為zip -q -r mydata.zip /home/data;
如果現在在/home 這個目錄下,則命令是zip -q -r data.zip data;
如果在/home/data 這個目錄下,則命令是zip -q -r data.zip * 。
(2)linux所有文件打包壓縮擴展閱讀
linux zip壓縮命令主要參數介紹:
1、-c:將解壓縮的結果。
2、-l:顯示壓縮文件內所包含的文件。
3、-p:與-c參數類似,會將解壓縮的結果顯示到屏幕上,但不會執行任何的轉換。
4、-t:檢查壓縮文件是否正確。
5、-u:與-f參數類似,但是除了更新現有的文件外,也會將壓縮文件中的其它文件解壓縮到目錄中。
6、-v:執行是時顯示詳細的信息。
7、-z:僅顯示壓縮文件的備注文字。
8、-a:對文本文件進行必要的字元轉換。
9、-b:不要對文本文件進行字元轉換。
10、-C:壓縮文件中的文件名稱區分大小寫。
『叄』 linux下如何用zip打包某個目錄下所有文件夾為獨立的壓縮包
特別感謝【埃及大猩猩 】的答案,我又完善下
註:必須在對應目錄下執行版,這里沒有判斷在對應權路徑下執行壓縮,
這個會把自身也壓縮下,本人也在學習中
#!/bin/bash
FILE=`ls`
for i in $FILE
do
## 循環遍歷靜默壓縮
zip -rq $i.zip $i
## 壓縮完成顯示一個
echo $i.zip
done