|
|
tid=26349&Linux 各種壓縮與解壓縮指令:' |6 v3 c8 p) N, R5 M, T6 M
.tar( q0 t. [4 @. g0 s
.gz E0 Z) c3 O2 L6 D" W3 O! }6 W- B
.tar.gz
, U+ }) T" }9 a, L5 U$ B8 S7 `排除不想壓縮的目錄或檔案: 例如
. V! e; o+ R6 u: d) @ 要備份的目錄是 aaa/ v( }9 c& _2 V& J
不想要備份的是 aaa 裡面的 bbb 子目錄 7 i& a0 q: N1 ~1 C/ A% b, s
tar zpcvf aaa_backup.tar.gz --exclude=./aaa/bbb ./aaa
/ H* Q# a; d4 p7 k( N壓縮不包含路徑資訊(絕對路徑): 例如+ e" A! w4 z- n: q1 @7 M" }( Z" r
我要壓縮 /home/user1/tmp/* ,(有 a.txt ,b.txt)不管目前工作目錄在哪,都可以去掉目錄資訊,例如 目前工作目錄在 /
& w; g; N2 ]$ x _, k( t # tar -zcvf tmp.tar.gz -C /home/user1 tmp (tmp前有一個空格)不保留" /home/user1"路徑
. H, ^/ f" u# _ # tar -ztvf tmp.tar.gz
M9 ^0 o" B+ D; u7 v% \6 Y drwxrwxr-x user1/user1 0 2018-04-07 12:10 tmp/( c9 R3 m1 X! N
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/a.txt+ ~- O" |/ [' m4 F$ B V
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/b.txt
! l+ V) ~% E9 |# _9 s2 Z/ p # tar -zcvf tmp.tar.gz -C /home/user1/tmp . (tmp後有一個空格再一點)不保留" /home/user1/tmp"路徑
3 V) | g6 {5 w: E0 w # tar -ztvf tmp.tar.gz
0 m ]/ ^+ X: M/ E drwxrwxr-x user1/user1 0 2018-04-07 12:10 ./
" k0 D3 V$ R% a. f -rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./a.txt$ L' g3 _3 _# y# \3 b: M
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./b.txt& M2 f; ]: k- ]+ }9 R" t
目前工作目錄在 /home/user1+ G" A, Y, L9 X, [9 f. O# e8 y7 H
# tar -zcvf tmp.tar.gz tmp# o. h4 b2 w2 z# W- g
# tar -ztvf tmp.tar.gz
6 S% M( C+ G- _$ n B drwxrwxr-x user1/user1 0 2018-04-07 12:10 tmp/
" a% d% w$ b5 _ -rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/a.txt
' q) N+ ]4 d( x -rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/b.txt5 s* p" L/ C, m3 {
# tar -zcvf tmp.tar.gz -C tmp . (有一點喔)不保留" tmp"路徑+ z/ I- Y" O2 K1 o V
# tar -ztvf tmp.tar.gz3 k& J) O$ P" C
drwxrwxr-x user1/user1 0 2018-04-07 12:10 ./: |* }9 e7 H: F9 G
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./a.txt
7 E8 U8 F- j6 k- O -rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./b.txt" P$ M$ v9 F. u' d8 m
解壓縮到指定的目錄 例如 解壓/home/user1/tmp.tar.gz 到 /home/user1/tmp 工作目錄在/home/user1 V* o8 }1 T) }' N
# tar -C tmp -zxvf tmp.tar.gz 可以使用相對路徑, -C(大寫)一定要接在tar後面,其他位置都不行8 G/ C- D: s6 q0 W
# tar -C /home/user1/tmp -zxvf tmp.tar.gz 可以使用絕對路徑4 t( t; Z5 R* J# Q3 z/ n1 z
如果工作目錄在/home 以外的位置就要使用絕對路徑7 T r J7 `. M0 l" \9 ^& r
.bz
) y- V8 F/ Z% e* }8 D.tar.bz+ ^( X8 O) G" Y% @
.bz2
- F" \. r, I0 ?.tar.bz28 _" C1 h6 b# q& x" V6 w6 L
.xz& G+ c; d* Y- \2 x5 x+ u
.tar.xz y. g' v" k8 Z- }+ ?
.Z9 P8 m. c0 v) H- d0 w& V& |
.tar.Z
# ] ]. F, n+ b- W' B.tgz" \: Z$ c) F" O! h
.tar.tgz" p" ^( r5 [+ N3 D
.7z& c* X \8 ]+ ~% e2 d
.zip
8 K2 B7 c4 B& [# ~.rar
5 t# a9 m$ | S9 T) v.lha
6 R/ ?' ]; v% ~" ~" J% [/ p
6 b$ P- @5 M3 t: J: I; e- Gsplit : 大檔分割成小檔例如:( ]- X4 N) Z4 D. S4 b& c
把一個500MB的檔案(file.tar.gz),分割成每個檔50M的小檔案可以用以下指令 ' i# b" ^) _" e0 G( q1 v. l
split -b 50m file.tar.gz (m 可以改成G(giga))+ \* g8 n! x o. g" `/ [
若要合併 可以用cat 指令把那些小檔案合併成一個大檔案 例如:! ]" U( z J# L# T- k: i5 ^% m
cat xaa xab xac xad xae xaf > file.tar.gz
; N$ ~" w7 ]" s2 K/ s
! f0 @/ J* F: v4 I6 M6 d
1 h2 G9 H3 p' }+ e參考自 :
i& r: _# x. Q' i* n: B8 h+ u/ ehttp://note.drx.tw/2008/04/command.html
, B+ o) j/ e2 z$ i( H
: t( b; A% l4 `( u
/ [: u4 Q4 N0 B3 ?+ B8 w# C
. x9 M5 E# b+ \! G3 N
+ v. z% o- G/ G; q- Z8 N; n) A! ~: `/ U* Z) l' |# Q
+ P/ A2 L/ f K3 U3 x7 H
9 {. E( J- u7 R4 X5 q
+ E& J7 W# {. Y& h1 } |
) P9 L1 I2 x9 g" J" j& t |
|