|
|
tid=26349&Linux 各種壓縮與解壓縮指令:
7 a) d$ R1 E+ { d# B) l.tar
( x% Q4 i8 h4 |& }8 ^0 m.gz
5 R6 C* m$ {5 @- L0 n: @.tar.gz
8 H! o$ q ^( h/ C" l" ?排除不想壓縮的目錄或檔案: 例如
3 j1 G; i3 l. U. L( y 要備份的目錄是 aaa
" G7 j3 L5 E/ \ 不想要備份的是 aaa 裡面的 bbb 子目錄
S' z4 f: `# o8 R" D% | tar zpcvf aaa_backup.tar.gz --exclude=./aaa/bbb ./aaa
& F- i% L3 q$ v& n壓縮不包含路徑資訊(絕對路徑): 例如7 P' R! U8 f8 J( [$ }9 x( C$ y
我要壓縮 /home/user1/tmp/* ,(有 a.txt ,b.txt)不管目前工作目錄在哪,都可以去掉目錄資訊,例如 目前工作目錄在 /
3 g& g: s( @6 r/ a8 T8 h # tar -zcvf tmp.tar.gz -C /home/user1 tmp (tmp前有一個空格)不保留" /home/user1"路徑
; j3 V+ i) ?% `& |9 w H8 m # tar -ztvf tmp.tar.gz # p+ A* d2 R7 c! x2 \% U( `- P6 f
drwxrwxr-x user1/user1 0 2018-04-07 12:10 tmp/, P- j" K, x/ R1 H9 {- O
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/a.txt
4 [5 [+ N% X. N -rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/b.txt
) H0 r$ ^: ~: G! D; O B # tar -zcvf tmp.tar.gz -C /home/user1/tmp . (tmp後有一個空格再一點)不保留" /home/user1/tmp"路徑! ^6 Q* j' d+ C
# tar -ztvf tmp.tar.gz + d) C" Y$ b+ ?
drwxrwxr-x user1/user1 0 2018-04-07 12:10 ./
4 {% A: B: O5 u4 V1 O- Q# L -rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./a.txt
L5 g! ? b) l6 } -rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./b.txt' x+ B" i( O9 {4 j
目前工作目錄在 /home/user1
5 s. I4 ?* G, r # tar -zcvf tmp.tar.gz tmp
: T$ A5 m! a8 y" z P # tar -ztvf tmp.tar.gz
3 P. C3 i4 V# s7 U0 V/ o4 b drwxrwxr-x user1/user1 0 2018-04-07 12:10 tmp/2 L6 ]! r+ ?3 w8 ]
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/a.txt
& n; d y" w( q9 K! K2 S$ K -rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/b.txt
; I3 x3 [: N! B # tar -zcvf tmp.tar.gz -C tmp . (有一點喔)不保留" tmp"路徑/ n. v: [5 f' U9 e1 y/ M/ c
# tar -ztvf tmp.tar.gz/ S" i2 S. e, h3 f. E3 P4 V u; O
drwxrwxr-x user1/user1 0 2018-04-07 12:10 ./* t w& q% i) k7 x# k4 x/ R
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./a.txt
! n/ u- n: x! N -rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./b.txt+ n; O7 K; r6 `3 U2 {7 I
解壓縮到指定的目錄 例如 解壓/home/user1/tmp.tar.gz 到 /home/user1/tmp 工作目錄在/home/user1- f$ [- m( R( j2 f6 W
# tar -C tmp -zxvf tmp.tar.gz 可以使用相對路徑, -C(大寫)一定要接在tar後面,其他位置都不行; _& u7 S" G1 Y' @+ L! S- U& Y' x
# tar -C /home/user1/tmp -zxvf tmp.tar.gz 可以使用絕對路徑+ o/ _. r# s9 }
如果工作目錄在/home 以外的位置就要使用絕對路徑
* j" W2 x% k4 O$ D( X.bz" r* {' y: z/ M! c6 E
.tar.bz
+ B9 }$ O2 B" c; |" B.bz2" D* b! |: b" E! {1 v2 Z! b4 t
.tar.bz2& R6 u) ] J, H( ] v- D; | E
.xz4 p- m1 z6 Y; y5 l2 C! a
.tar.xz
4 T& d) {7 {7 k( `6 ].Z
# n7 X* H" R( l& Z0 ~.tar.Z( u9 ~- Z1 A& ?
.tgz! r8 C4 B9 e% G3 w; _
.tar.tgz
, J$ z1 B: l2 [) h N.7z2 g2 \5 [, o/ q/ m/ w1 q! q. _: I
.zip
2 u0 A' f+ ~- U- m.rar
& b% {8 v0 x: M4 w.lha! N% m8 y& h6 j% o$ ?
- P h! n+ D8 M0 g: Jsplit : 大檔分割成小檔例如:: S5 |; Z7 m, q) [
把一個500MB的檔案(file.tar.gz),分割成每個檔50M的小檔案可以用以下指令
5 \; P+ g. d8 U9 w! y0 ~split -b 50m file.tar.gz (m 可以改成G(giga))
! N0 O( I# U. e若要合併 可以用cat 指令把那些小檔案合併成一個大檔案 例如:
+ i* p& y/ f/ p$ Acat xaa xab xac xad xae xaf > file.tar.gz
! d8 r( K( m6 m7 M5 l* V
, x* a- v7 }1 b; H. _4 K( j4 s+ V. I
4 G% u- [7 D! Z: Q1 ?參考自 : ) W6 C4 y" b: }4 {5 i/ X
http://note.drx.tw/2008/04/command.html8 A0 f; {$ W$ s/ H1 z8 L( c
8 Q4 e5 z1 c1 [& r* Y
, J" {8 _, u5 P6 ^: T) Z. F" q3 e/ ?# b' k1 p3 `! r
& C G$ A H* x" ^8 Q
& @# C; i! x# j
% R+ ]( p2 I% h5 f, j! L& G/ [( q% _$ U, S: N% s# [& ~5 U
; H9 r6 p- b! A/ W
5 t( x- O {7 d0 d. L# S* @ |
|