|
|
tid=26349&Linux 各種壓縮與解壓縮指令:* e' |4 I* K! b* u* @5 q# U8 [
.tar
5 }( Y* I/ y* u.gz+ g6 g; X. Y0 E
.tar.gz
8 K* A$ Z/ p8 E* \" q/ F排除不想壓縮的目錄或檔案: 例如
& Z! G9 W% m" T, H 要備份的目錄是 aaa
& V( z: j( Z, e1 ] k 不想要備份的是 aaa 裡面的 bbb 子目錄
, ]3 k9 k4 m7 i tar zpcvf aaa_backup.tar.gz --exclude=./aaa/bbb ./aaa5 }& G% n- ^; o- p
壓縮不包含路徑資訊(絕對路徑): 例如9 W; @; _, Q( D0 o6 y
我要壓縮 /home/user1/tmp/* ,(有 a.txt ,b.txt)不管目前工作目錄在哪,都可以去掉目錄資訊,例如 目前工作目錄在 /
3 d/ N+ N% q# T # tar -zcvf tmp.tar.gz -C /home/user1 tmp (tmp前有一個空格)不保留" /home/user1"路徑
- |: J0 c) [" t/ { # tar -ztvf tmp.tar.gz
) G/ E' H" o* Q4 O drwxrwxr-x user1/user1 0 2018-04-07 12:10 tmp/6 k! z/ I6 g9 q0 Q/ |; a) Q
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/a.txt
4 R4 Z6 f" @7 C* x3 @ -rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/b.txt. ~7 [! S0 w; D4 V4 h
# tar -zcvf tmp.tar.gz -C /home/user1/tmp . (tmp後有一個空格再一點)不保留" /home/user1/tmp"路徑$ U- q7 U# T y" X4 \
# tar -ztvf tmp.tar.gz - j8 R; l% c6 O/ I* S
drwxrwxr-x user1/user1 0 2018-04-07 12:10 ./
m# B* S2 }% K X O -rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./a.txt9 H, h5 W1 S; A9 {
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./b.txt4 l8 e3 I7 g" f6 M
目前工作目錄在 /home/user1
( O. D$ ^1 W. A) } P # tar -zcvf tmp.tar.gz tmp
4 K* y7 V$ T9 M5 e( M # tar -ztvf tmp.tar.gz3 ?! C1 X; J' P
drwxrwxr-x user1/user1 0 2018-04-07 12:10 tmp/, \* U& U5 f* Y) V- s
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/a.txt
( o% u# U3 N/ e5 m3 m -rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/b.txt
5 N) i, x; f, s4 e" ~, s # tar -zcvf tmp.tar.gz -C tmp . (有一點喔)不保留" tmp"路徑5 b. v) u; r; b+ v6 D( [
# tar -ztvf tmp.tar.gz2 {+ t( z4 |% E/ ^9 C8 ?# z
drwxrwxr-x user1/user1 0 2018-04-07 12:10 ./5 B. i- `$ b1 p# S
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./a.txt; [0 D5 ]9 L4 Z# r( d
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./b.txt
. q) Z& `* A5 F+ ?- O: ~解壓縮到指定的目錄 例如 解壓/home/user1/tmp.tar.gz 到 /home/user1/tmp 工作目錄在/home/user1
7 w! q3 @; R: k4 X; w # tar -C tmp -zxvf tmp.tar.gz 可以使用相對路徑, -C(大寫)一定要接在tar後面,其他位置都不行7 e) I( a7 y7 O; Z Y4 Z+ f
# tar -C /home/user1/tmp -zxvf tmp.tar.gz 可以使用絕對路徑7 o! [! [& l' H$ h
如果工作目錄在/home 以外的位置就要使用絕對路徑
/ F' u( _' }: r! F# I! p3 r! p.bz4 A; ]2 O3 l$ d
.tar.bz
3 w& A4 P8 D! I! N.bz2, j6 q; \/ S* q# q" Q1 m
.tar.bz20 b9 r7 L+ X3 t) E. ~- W6 |
.xz& m' F( k8 s& ?+ P$ W% e. r
.tar.xz
& J$ [2 D, K; r& e.Z( p3 N: P* h! l ?8 s3 I' y: W' e
.tar.Z9 I& m9 S2 P9 y$ `9 D
.tgz
4 h3 _9 ~& c$ j: R.tar.tgz
# }/ |. D& H {0 D.7z2 \+ p, U& q5 o7 F; i) T1 ~
.zip) m3 j" R' N" S% t
.rar
1 T* J4 O$ A# M.lha
+ V2 c3 V2 q) A5 f6 B" A! R$ u i" o& b0 h/ P1 ]
split : 大檔分割成小檔例如:
3 Q6 M. T6 K0 K3 D把一個500MB的檔案(file.tar.gz),分割成每個檔50M的小檔案可以用以下指令
( L5 E# [- [: L- n: Zsplit -b 50m file.tar.gz (m 可以改成G(giga))
& L8 _2 H) ^: l$ |- X9 _若要合併 可以用cat 指令把那些小檔案合併成一個大檔案 例如:+ z; `7 \' R- I9 X C
cat xaa xab xac xad xae xaf > file.tar.gz, E2 e) _8 ]3 g% |. n
S1 v1 o1 A' I- Z" x
4 ~: s5 o+ i0 {參考自 :
& h; b; H0 k; r/ v4 K7 t) ~http://note.drx.tw/2008/04/command.html
5 ]$ s' k# {3 d2 Q6 ~, C4 N8 n! W$ D) ^! h3 ?6 @
" Y1 P1 M3 h/ \' @& O' j% u4 Q
z/ O$ p8 C4 a: q( h; M
/ {# L. q5 t5 R1 _
2 Z9 U' X2 y' K/ o" k0 r% j4 @5 k
0 b1 F `, B/ b( L
& V: ~) k9 X8 L( v( l' ~) U
, z9 j- k# {: f4 I3 n
6 u3 t) Y% w* l" B |
|