tar gz壓縮文件為指定大小


tar

-c: 建立壓縮檔案
-x:解壓
-t:查看內容
-r:向壓縮歸檔文件末尾追加文件
-u:更新原壓縮包中的文件

這五個是獨立的命令,壓縮解壓都要用到其中一個,可以和別的命令連用但只能用其中一個。下面的參數是根據需要在壓縮或解壓檔案時可選的。

-z:有gzip屬性的
-j:有bz2屬性的
-Z:有compress屬性的
-v:顯示所有過程
-O:將文件解開到標准輸出

下面的參數-f是必須的

-f: 使用檔案名字,切記,這個參數是最后一個參數,后面只能接檔案名。

# tar -cf all.tar *.jpg
這條命令是將所有.jpg的文件打成一個名為all.tar的包。-c是表示產生新的包,-f指定包的文件名。

# tar -rf all.tar *.gif
這條命令是將所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。

# tar -uf all.tar logo.gif
這條命令是更新原來tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

# tar -tf all.tar
這條命令是列出all.tar包中所有文件,-t是列出文件的意思

# tar -xf all.tar
這條命令是解出all.tar包中所有文件,-t是解開的意思

壓縮

tar -cvf jpg.tar *.jpg //將目錄里所有jpg文件打包成jpg.tar 

tar -czf jpg.tar.gz *.jpg   //將目錄里所有jpg文件打包成jpg.tar后,並且將其用gzip壓縮,生成一個gzip壓縮過的包,命名為jpg.tar.gz

 tar -cjf jpg.tar.bz2 *.jpg //將目錄里所有jpg文件打包成jpg.tar后,並且將其用bzip2壓縮,生成一個bzip2壓縮過的包,命名為jpg.tar.bz2

tar -cZf jpg.tar.Z *.jpg   //將目錄里所有jpg文件打包成jpg.tar后,並且將其用compress壓縮,生成一個umcompress壓縮過的包,命名為jpg.tar.Z

rar a jpg.rar *.jpg //rar格式的壓縮,需要先下載rar for linux

zip jpg.zip *.jpg //zip格式的壓縮,需要先下載zip for linux

解壓

tar -xvf file.tar //解壓 tar包

tar -xzvf file.tar.gz //解壓tar.gz

tar -xjvf file.tar.bz2   //解壓 tar.bz2

tar -xZvf file.tar.Z   //解壓tar.Z

unrar e file.rar //解壓rar

unzip file.zip //解壓zip

總結

1、*.tar 用 tar -xvf 解壓

2、*.gz 用 gzip -d或者gunzip 解壓

3、*.tar.gz和*.tgz 用 tar -xzf 解壓

4、*.bz2 用 bzip2 -d或者用bunzip2 解壓

5、*.tar.bz2用tar -xjf 解壓

6、*.Z 用 uncompress 解壓

7、*.tar.Z 用tar -xZf 解壓

8、*.rar 用 unrar e解壓

9、*.zip 用 unzip 解壓

參考: https://www.cnblogs.com/lhm166/articles/6604852.html

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1、普通tar壓縮命令

tar -zcvf cm-11.tar.gz cm-11

//將cm-11文件夾壓縮成cm-11.tar.gz

 

2、壓縮后的文件太大,需要將cm-11.tar.gz分割成N個指定大小的文件,怎么辦?一條命令搞定

split -b 4000M -d -a 1 cm-11.tar.gz cm-11.tar.gz.

//使用split命令,-b 4000M 表示設置每個分割包的大小,單位還是可以k

// -d "參數指定生成的分割包后綴為數字的形式

//-a x來設定序列的長度(默認值是2),這里設定序列的長度為1

 執行命令后,生成壓縮包如下:

-rw-r--r--  1 root     root      4194304000 May 20 14:00 cm-11.tar.gz.0
-rw-r--r--  1 root     root      4194304000 May 20 14:02 cm-11.tar.gz.1
-rw-r--r--  1 root     root      4194304000 May 20 14:03 cm-11.tar.gz.2
-rw-r--r--  1 root     root      4194304000 May 20 14:05 cm-11.tar.gz.3
-rw-r--r--  1 root     root      4194304000 May 20 14:06 cm-11.tar.gz.4
-rw-r--r--  1 root     root      4194304000 May 20 14:08 cm-11.tar.gz.5
-rw-r--r--  1 root     root      4194304000 May 20 14:09 cm-11.tar.gz.6
-rw-r--r--  1 root     root      2256379886 May 20 14:10 cm-11.tar.gz.7

 

3、其實以上兩步也可以合並成一步來執行

tar -zcvf cm-11.tar.gz cm-11 | split -b 4000M -d -a 1 - cm-11.tar.gz.

//采用管道,其中 - 參數表示將所創建的文件輸出到標准輸出上

 

4、普通解壓命令

tar -zxvf cm-11.tar.gz

 

5、分割后的壓縮包解壓命令如下

cat cm-11.tar.gz.* | tar -zxv

 

    將兩個文件a.txt b.txt 合並成c.txt:   cat a.txt b.txt > c.txt 

 

6、附上tar命令的參數解釋

 

tar可以用來壓縮打包單文件、多個文件、單個目錄、多個目錄。

Linux打包命令 tar

tar命令可以用來壓縮打包單文件、多個文件、單個目錄、多個目錄。

常用格式:

單個文件壓縮打包 tar -czvf my.tar.gz file1

多個文件壓縮打包 tar -czvf my.tar.gz file1 file2,...(file*)(也可以給file*文件mv 目錄在壓縮)

單個目錄壓縮打包 tar -czvf my.tar.gz dir1

多個目錄壓縮打包 tar -czvf my.tar.gz dir1 dir2

解包至當前目錄:tar -xzvf my.tar.gz

cpio

含子目錄find x* | cpio -o > /y/z.cpio

不含子目錄ls x* | cpio -o > /y/z.cpio

解包: cpio -i < /y/z.cpio

[root@linux ~]# tar [-cxtzjvfpPN] 文件與目錄 ....

參數:

-c :建立一個壓縮文件的參數指令(create 的意思);

-x :解開一個壓縮文件的參數指令!

-t :查看 tarfile 里面的文件!

特別注意,在參數的下達中, c/x/t 僅能存在一個!不可同時存在!

因為不可能同時壓縮與解壓縮。

-z :是否同時具有 gzip 的屬性?亦即是否需要用 gzip 壓縮?

-j :是否同時具有 bzip2 的屬性?亦即是否需要用 bzip2 壓縮?

-v :壓縮的過程中顯示文件!這個常用,但不建議用在背景執行過程!

-f :使用檔名,請留意,在 f 之后要立即接檔名喔!不要再加參數!

   例如使用『 tar -zcvfP tfile sfile』就是錯誤的寫法,要寫成

   『 tar -zcvPf tfile sfile』才對喔!

-p :使用原文件的原來屬性(屬性不會依據使用者而變)

-P :可以使用絕對路徑來壓縮!

-N :比后面接的日期(yyyy/mm/dd)還要新的才會被打包進新建的文件中!

--exclude FILE:在壓縮的過程中,不要將 FILE 打包!

 

參考:https://www.cnblogs.com/wang--lei/p/9046643.html

 

對於超大文件,使用bz格式壓縮

tar.bz

Linux下壓縮比率較tgz大,即壓縮后占用更小的空間,使得壓縮包看起來更小。
但同時在壓縮,解壓的過程卻是非常耗費CPU時間。

(1)打包壓縮格式:

復制代碼
tar -jcvf examples.tar.bz2 examples   (examples為當前執行路徑下的目錄)

說明:
-j, --bzip2 filter the archive through bzip2 通過bzip2壓縮的形式對文件進行歸檔

舉例:
tar -jcvf file.tar.bz2 dir #dir目錄
復制代碼

 

(2)釋放解壓:

tar -jxvf examples.tar.bz2 (解壓至當前執行目錄下)
tar -jxvf examples.tar.bz2  -C /path (/path 解壓至其它路徑)

舉例:
tar -jxvf file.tar.bz2
tar -jxvf file.tar.bz2 -C /temp


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM