52AV手機A片王|52AV.ONE
標題:
Linux 各種壓縮與解壓縮指令:tar,gz,tar.gz,bz,tar.bz,bz2,tar.bz2,xz,tar.xz,Z,tar.Z,tgz,tar.t
[打印本頁]
作者:
IT_man
時間:
2016-1-3 13:32
標題:
Linux 各種壓縮與解壓縮指令:tar,gz,tar.gz,bz,tar.bz,bz2,tar.bz2,xz,tar.xz,Z,tar.Z,tgz,tar.t
Linux 各種壓縮與解壓縮指令:
# p" _4 E" Q! G/ Y3 k
.tar
! h8 S1 n* F) A
.gz
) _* I H/ H. F* _7 a+ Z
.tar.gz
; s$ Q! N1 Q9 E
更新tar.gz壓縮檔內某一個檔案或某目錄內幾個檔案:
例如
# |1 y) ?' V' g, Z. o4 q
參考:
https://askubuntu.com/questions/ ... pdate-a-tar-gz-file
q; m) ~6 M1 A% l/ P- b
1.)先將.tar.gz解壓為.tar
% a2 J/ n. G/ j, X# d" a
gunzip filename.tar.gz
1 e5 L% V" K8 @) w. a0 [
2.)更新.tar
$ m3 e! v* U3 i" M, Q
tar -uvf filename.tar new_file 或
3 p6 R$ w4 N2 e% W/ A
tar -uvf filename.tar subdir/*
, d) C7 t4 J- D5 p3 J, l, w2 Q' M
3.)壓縮已更新檔.tar
8 W' S- i$ `# P0 s! ]
gzip filename.tar
9 \8 J( ~' B8 V3 N) W$ f6 F
. G8 U. z- k j0 d3 O* t
排除不想壓縮的目錄或檔案:
例如
% F9 Z! O+ M w# O; D4 P
要備份的目錄是 aaa
* v" B3 Z" E+ |5 X, Q
不想要備份的是 aaa 裡面的 bbb 子目錄
: @* ]4 D/ z; }
tar zpcvf aaa_backup.tar.gz --exclude=./aaa/bbb ./aaa
* I" w- y, {5 s! X: D
' c+ {, u5 f% O+ D! i- k
壓縮不包含路徑資訊(絕對路徑):
例如
, k* T L k7 C3 }7 k* ^3 u8 J
我要壓縮 /home/user1/tmp/* ,(有 a.txt ,b.txt)不管目前工作目錄在哪,都可以去掉目錄資訊,例如 目前工作目錄在 /
9 k. `2 W* ~% T5 Y8 ?
# tar -zcvf tmp.tar.gz -C /home/user1 tmp (tmp前有一個空格)不保留" /home/user1"路徑
( [1 D) z5 `1 D: E4 P& R! x w$ ]
# tar -ztvf tmp.tar.gz
4 x: T: Z5 D1 g( j% T
drwxrwxr-x user1/user1 0 2018-04-07 12:10 tmp/
6 p N, B. T7 ? O' K' z9 I
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/a.txt
- E# f4 |* \7 k9 {
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/b.txt
1 }) Q7 g' ~+ Q" ]
# tar -zcvf tmp.tar.gz -C /home/user1/tmp . (tmp後有一個空格再一點)不保留" /home/user1/tmp"路徑
6 U h& ~0 m& z/ @1 {* P- v" m( n. O
# tar -ztvf tmp.tar.gz
, ^+ o3 ]1 }9 j- d- O' R
drwxrwxr-x user1/user1 0 2018-04-07 12:10 ./
2 H3 E8 Z" e T' e' L5 e
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./a.txt
- T7 ]$ |: J/ Y" i% b! ~
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./b.txt
" ~$ V3 n9 a [2 m) j* s
目前工作目錄在 /home/user1
- T% _4 e; n5 x+ w8 j* g
# tar -zcvf tmp.tar.gz tmp
; l# n: H$ c) S) }- S6 ]& R
# tar -ztvf tmp.tar.gz
! j0 |+ ~# G: g. o8 c
drwxrwxr-x user1/user1 0 2018-04-07 12:10 tmp/
. ^+ Q* c2 s ^. Y' G
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/a.txt
0 n q+ u6 B# W- `) T' J
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/b.txt
2 P) R6 I) }5 o( Q7 s& y4 Y
# tar -zcvf tmp.tar.gz -C tmp . (有一點喔)不保留" tmp"路徑
2 o9 Y' a7 O7 z( L O( ~
# tar -ztvf tmp.tar.gz
) J& o6 r4 b' \: [+ k
drwxrwxr-x user1/user1 0 2018-04-07 12:10 ./
4 q( j" ~4 d# h- a
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./a.txt
7 z& Z( X5 r0 r& s
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./b.txt
+ q0 k+ g9 S! N+ @8 m# K
7 g) z& J# A& d+ b: O6 \4 g
解壓縮到指定的目錄
例如 解壓/home/user1/tmp.tar.gz 到 /home/user1/tmp 工作目錄在/home/user1
# V$ h5 a2 W% u; H; b! \+ B
# tar -C tmp -zxvf tmp.tar.gz 可以使用相對路徑, -C(大寫)一定要接在tar後面,其他位置都不行
6 v- r, y% k9 n% b; g. b, b# p/ J
# tar -C /home/user1/tmp -zxvf tmp.tar.gz 可以使用絕對路徑
3 r' d2 S8 W9 b6 _
如果工作目錄在/home 以外的位置就要使用絕對路徑
/ G& S& l4 N% P* r& V0 x2 J
.bz
! m; V/ D5 W, `; {; U
.tar.bz
P5 t I# S% V$ B1 `2 c! u
.bz2
$ L$ Z8 D% u8 {' f
.tar.bz2
S8 n' Y( Q* a3 w7 \. u' |
.xz
: q$ m: f( S/ E$ F, A9 n0 O b
.tar.xz
# A6 @# Z/ u6 _6 d4 b9 j0 j5 w" i
.Z
$ U" L: V4 u2 ~" c
.tar.Z
$ A8 N& h# ^0 q) Y$ p
.tgz
9 @4 ^ i, V! ]' u3 ^( ?
.tar.tgz
9 d5 Z: W7 Q u9 m; q+ ]
.7z
6 V+ B2 {4 Q: u. y5 T6 Z
.zip
. K h7 I6 ]# F0 u* H: t
.rar
) a2 d2 T8 Z! z
.lha
$ g( Z `0 O4 |, W( h) _
( s# N8 [7 f; [. M; F6 k
split : 大檔分割成小檔例如:
; q& A6 H5 ?7 P& x- L/ l' b- U" R
把一個500MB的檔案(file.tar.gz),分割成每個檔50M的小檔案可以用以下指令
/ L: W1 P& n: q- h1 [
split -b 50m file.tar.gz (m 可以改成G(giga))
: y7 R2 ]! `. B
若要合併 可以用cat 指令把那些小檔案合併成一個大檔案 例如:
% n7 m! `9 |& _9 {! @- _
cat xaa xab xac xad xae xaf > file.tar.gz
" i( S9 W; N$ A, s0 g
2 n# z! u5 F6 D* b1 X
6 i. X' |8 q% A# o q5 D
參考自 :
$ L# O! h( j) u b# L4 Q( G5 E
http://note.drx.tw/2008/04/command.html
5 U o( P1 E3 y- v, F \ Y
! g. V1 Y U) ~1 A7 \2 N
歡迎光臨 52AV手機A片王|52AV.ONE (https://www.52av23.xyz/)
Powered by Discuz! X3.2