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 各種壓縮與解壓縮指令:
2 X5 e0 s/ t5 @' v
.tar
& @1 t% X' V+ @1 g; R
.gz
& e% u' {' M7 J8 F! R2 x( ^/ L" d
.tar.gz
; h, R9 O' n! F( R' o3 M# N
更新tar.gz壓縮檔內某一個檔案或某目錄內幾個檔案:
例如
, k4 s- L2 n6 Y" u
參考:
https://askubuntu.com/questions/ ... pdate-a-tar-gz-file
$ h! o! P* `: a9 w B- F; i
1.)先將.tar.gz解壓為.tar
g9 P3 ?9 |$ S+ G6 X% C( E) E% R/ ~
gunzip filename.tar.gz
2 A7 H' w* O6 A, ~( L
2.)更新.tar
+ o# q; c) q( G% d
tar -uvf filename.tar new_file 或
3 B; @' a9 ^% ?5 t/ I3 ^' g; _
tar -uvf filename.tar subdir/*
( ~) O0 [3 V1 y0 A7 |
3.)壓縮已更新檔.tar
7 ^9 Q- B7 `, h6 u
gzip filename.tar
* N" o K+ m( U0 [1 P" B" P
0 x$ z& `: |7 w' N3 v4 K
排除不想壓縮的目錄或檔案:
例如
# A2 K3 h& s- U% s8 A U
要備份的目錄是 aaa
+ U, j7 e) h7 N7 u7 v; i
不想要備份的是 aaa 裡面的 bbb 子目錄
1 k8 A( d% e" \
tar zpcvf aaa_backup.tar.gz --exclude=./aaa/bbb ./aaa
0 d4 n: X' J( M8 U7 O5 F0 @
, J8 k% M& v v& J
壓縮不包含路徑資訊(絕對路徑):
例如
- i; N7 h0 d& Q6 l F' M1 I9 g# d
我要壓縮 /home/user1/tmp/* ,(有 a.txt ,b.txt)不管目前工作目錄在哪,都可以去掉目錄資訊,例如 目前工作目錄在 /
2 }8 m( ?7 b. n# J( U
# tar -zcvf tmp.tar.gz -C /home/user1 tmp (tmp前有一個空格)不保留" /home/user1"路徑
9 |0 a) P9 h, f' P1 g4 q
# tar -ztvf tmp.tar.gz
0 T( K- Q" K8 r! u$ x! N
drwxrwxr-x user1/user1 0 2018-04-07 12:10 tmp/
( r. ~' Z: y: x
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/a.txt
7 k$ V& `" Z" x+ d! @4 l) R
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/b.txt
0 X! x: Y, F3 ]0 e. I/ s
# tar -zcvf tmp.tar.gz -C /home/user1/tmp . (tmp後有一個空格再一點)不保留" /home/user1/tmp"路徑
+ l( w2 p) K, ^# j6 ^
# tar -ztvf tmp.tar.gz
) i! Q+ w C( F
drwxrwxr-x user1/user1 0 2018-04-07 12:10 ./
! b. @" N/ x1 x
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./a.txt
5 L+ G2 r+ R, f# q
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./b.txt
7 |2 Y& z; F3 W4 h& b o
目前工作目錄在 /home/user1
7 v V1 l C6 V: @5 p6 I8 c8 Q
# tar -zcvf tmp.tar.gz tmp
6 v5 ^1 `3 G; |" J( F& ]6 s) T
# tar -ztvf tmp.tar.gz
% d# {- ]7 g9 U$ C
drwxrwxr-x user1/user1 0 2018-04-07 12:10 tmp/
4 n) l" \' E$ k) O
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/a.txt
# T m2 L; Y+ R0 I/ C
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/b.txt
9 e3 u; r6 p" d4 |- W6 D
# tar -zcvf tmp.tar.gz -C tmp . (有一點喔)不保留" tmp"路徑
: y. j. u. j, m& [: r: i
# tar -ztvf tmp.tar.gz
# H( ?0 I1 N Y1 ]
drwxrwxr-x user1/user1 0 2018-04-07 12:10 ./
# ]" `- U2 S- c7 W$ F' }
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./a.txt
; u1 G3 c" s9 Q6 k% }" V7 Q, S
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./b.txt
7 L2 k" P; B3 k% E6 k6 D$ {
9 N d" O$ B4 c* Z! r
解壓縮到指定的目錄
例如 解壓/home/user1/tmp.tar.gz 到 /home/user1/tmp 工作目錄在/home/user1
9 k+ X5 ~0 i1 G3 \
# tar -C tmp -zxvf tmp.tar.gz 可以使用相對路徑, -C(大寫)一定要接在tar後面,其他位置都不行
; j y5 Y" f6 D4 y) ~* m
# tar -C /home/user1/tmp -zxvf tmp.tar.gz 可以使用絕對路徑
5 v9 K* Z- P0 E9 `4 h' a, A
如果工作目錄在/home 以外的位置就要使用絕對路徑
* e. x T6 W$ H7 y. c
.bz
, Q% ^. S/ R4 [2 g8 S
.tar.bz
0 y' {, f3 n5 ^( ^% A
.bz2
3 y' U" Q2 g5 M3 V9 _, m+ Q$ M+ J
.tar.bz2
- z( h$ w; G3 S; W" b5 e1 | K
.xz
7 u1 p/ X% q; C4 V/ Q2 s: c
.tar.xz
" \" J) v% I c% ]) Q7 R5 f
.Z
4 C3 j" Z6 t7 E6 F# R
.tar.Z
8 U" ^6 ?. l9 j+ D% v
.tgz
3 M" ]/ R. V: i+ }
.tar.tgz
* _' A- J$ u; D, R) Y9 I
.7z
* W4 P C+ |) c0 G( P
.zip
8 \+ z @* ^- A9 d; ^4 @) s
.rar
& r2 t% v; h* |
.lha
0 E" Q# v5 e6 H4 [* ^- q2 @' T
* Z/ c. i# H/ C' U9 h! c) T0 K
split : 大檔分割成小檔例如:
9 {9 w9 a. q. U$ R1 R! u' F) r' o) a
把一個500MB的檔案(file.tar.gz),分割成每個檔50M的小檔案可以用以下指令
' ?% B1 Y3 C* K* N8 G6 \3 Y
split -b 50m file.tar.gz (m 可以改成G(giga))
4 r3 g* k/ z# i7 o9 w$ \# _
若要合併 可以用cat 指令把那些小檔案合併成一個大檔案 例如:
5 I+ S2 V. X8 P4 A* s2 t
cat xaa xab xac xad xae xaf > file.tar.gz
4 C& g4 Q ?( m
/ m# U; o% d8 G( f x0 F
- y9 E Z: l) }0 J
參考自 :
9 c: N# g7 N" ~" X1 h
http://note.drx.tw/2008/04/command.html
! v1 m+ i4 K. |- n: ?$ Q
& V" ]$ y& o' ?& l9 p
歡迎光臨 52AV手機A片王|52AV.ONE (https://www.52av.one/)
Powered by Discuz! X3.2