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 各種壓縮與解壓縮指令:
! P1 [. T" N# e; \
.tar
9 [2 F3 U4 a9 @. T K& U6 n
.gz
: D0 ?+ e) a, M! W9 J3 s
.tar.gz
7 b5 v8 B( X% o# x
更新tar.gz壓縮檔內某一個檔案或某目錄內幾個檔案:
例如
* p, w" I" ^6 R, v5 q0 p
參考:
https://askubuntu.com/questions/ ... pdate-a-tar-gz-file
3 M; K( w Z4 t" D3 N% C' [
1.)先將.tar.gz解壓為.tar
9 u# \5 M3 ]3 Z( ]1 Z6 y4 F
gunzip filename.tar.gz
) J. o G2 x, P3 x2 ~. h
2.)更新.tar
: X: Y; T+ _2 y' I% e
tar -uvf filename.tar new_file 或
3 g, w# U. p3 K1 ~# }0 b( t
tar -uvf filename.tar subdir/*
; C. c7 ^ K* `) q0 |2 ?& M# ]" m6 r
3.)壓縮已更新檔.tar
$ f+ N) L6 C7 V% _( E$ \. w4 r
gzip filename.tar
/ z: v2 S" u8 e' v
1 G( c0 O8 ?& v) v- q9 q4 k8 n
排除不想壓縮的目錄或檔案:
例如
: }5 V/ U6 q6 Q' A- [7 m$ g
要備份的目錄是 aaa
, p' w) ?2 F$ `. X7 {2 x
不想要備份的是 aaa 裡面的 bbb 子目錄
, R; k. a5 R n2 x3 O' w# a
tar zpcvf aaa_backup.tar.gz --exclude=./aaa/bbb ./aaa
3 ]- p' O+ p- P+ Y! G2 r
$ |+ w0 v5 m; V6 n, c9 ~ P- d( h
壓縮不包含路徑資訊(絕對路徑):
例如
5 y$ _$ `6 m" `5 C5 l( v
我要壓縮 /home/user1/tmp/* ,(有 a.txt ,b.txt)不管目前工作目錄在哪,都可以去掉目錄資訊,例如 目前工作目錄在 /
8 k; I* o4 z7 ~, d" U4 W3 [( A
# tar -zcvf tmp.tar.gz -C /home/user1 tmp (tmp前有一個空格)不保留" /home/user1"路徑
# K! d) O% M/ n6 R; T7 p+ _9 R
# tar -ztvf tmp.tar.gz
3 Y4 \6 Z" e% F6 |7 i
drwxrwxr-x user1/user1 0 2018-04-07 12:10 tmp/
* f" x/ W) K4 T4 v
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/a.txt
1 I- j% h H( c
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/b.txt
7 m) M* a6 |1 a' R; I' u
# tar -zcvf tmp.tar.gz -C /home/user1/tmp . (tmp後有一個空格再一點)不保留" /home/user1/tmp"路徑
, a0 q0 S2 u* W/ a5 `5 c# |2 G
# tar -ztvf tmp.tar.gz
9 x" s4 c& R/ l5 j! R
drwxrwxr-x user1/user1 0 2018-04-07 12:10 ./
B: B6 {; g, @! x4 i8 K) s* z! G
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./a.txt
% \- I# ]3 U! W0 ^
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./b.txt
2 }' b' c9 y; P! T; }! K6 Q1 |
目前工作目錄在 /home/user1
. X& [9 z# T4 q( P
# tar -zcvf tmp.tar.gz tmp
. O/ d4 e. c- D8 _# K4 x# c' P* z
# tar -ztvf tmp.tar.gz
3 _- g& b, o+ i) P* E2 f% u- ^! k
drwxrwxr-x user1/user1 0 2018-04-07 12:10 tmp/
* @$ E' U$ x4 K% f9 M9 }
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/a.txt
* z0 R' Q' a% V0 u' F" }: F0 P
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/b.txt
; g4 ?4 {: b2 N, A9 N' {2 c
# tar -zcvf tmp.tar.gz -C tmp . (有一點喔)不保留" tmp"路徑
$ Q# E' T& O( v) P' A0 ~& ~
# tar -ztvf tmp.tar.gz
, a2 v. }! f/ ^$ n. d
drwxrwxr-x user1/user1 0 2018-04-07 12:10 ./
/ L3 V) S) i2 ~& f. b" L" f# l
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./a.txt
- ^$ ] m" d& I" u( ~3 a3 [ W, ~
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./b.txt
& E7 s7 Y1 M n6 W2 e% ~
7 T; k; V2 N8 ^, \
解壓縮到指定的目錄
例如 解壓/home/user1/tmp.tar.gz 到 /home/user1/tmp 工作目錄在/home/user1
" U5 h# [0 C- O/ n
# tar -C tmp -zxvf tmp.tar.gz 可以使用相對路徑, -C(大寫)一定要接在tar後面,其他位置都不行
- B( N# H) z" v4 u6 _
# tar -C /home/user1/tmp -zxvf tmp.tar.gz 可以使用絕對路徑
$ X/ h( u. T5 J' e7 W
如果工作目錄在/home 以外的位置就要使用絕對路徑
0 O: Y$ E2 n8 ^6 R
.bz
. F$ M# t: a# T
.tar.bz
) p( @1 g3 `2 D0 b8 c% d
.bz2
1 q0 \( j/ J5 F
.tar.bz2
y# D8 d J4 x- c8 I5 x, |
.xz
+ L$ H# S! E D& H3 I, Y0 y2 _
.tar.xz
1 N" w' r t& U% \8 l; U P9 S5 {! _
.Z
; `) Y) q% U( b& v6 B
.tar.Z
7 Y! m3 U% q; {8 h0 x
.tgz
4 J; L/ l! }" i. O" f1 O
.tar.tgz
) F3 }7 ]8 O- j: H
.7z
# t% O% _! m& S
.zip
5 y7 @0 W# `& ^7 M# f& @
.rar
; Q* }6 T3 G/ o% i( C _6 K
.lha
, _2 K% g! F3 K! ]3 U2 X
0 M# T0 v' f& U5 B* i& o( [, P# v# U
split : 大檔分割成小檔例如:
, m2 v* g+ C$ {6 Y7 D3 T" x n" F
把一個500MB的檔案(file.tar.gz),分割成每個檔50M的小檔案可以用以下指令
4 L- x2 f: N" ]6 v* d
split -b 50m file.tar.gz (m 可以改成G(giga))
6 W# R: @& {6 D/ `; A
若要合併 可以用cat 指令把那些小檔案合併成一個大檔案 例如:
- j8 p7 y0 I" @0 \/ N9 M9 C
cat xaa xab xac xad xae xaf > file.tar.gz
; O, [: ~) V* ~/ H# ]$ W
. ~3 @ t3 Q% _1 u' G
1 \/ }' J* ?; A6 {2 e
參考自 :
/ U9 u6 [, g9 ^
http://note.drx.tw/2008/04/command.html
! X8 I" k+ g/ g% b
3 R" }$ Y8 T% k! H. Z
歡迎光臨 52AV手機A片王|52AV.ONE (https://www.52av.one/)
Powered by Discuz! X3.2