壓縮和解壓縮 compresss/uncompress/zcat gzip/gunzip/zcat bzip2/bunzip2/bzcat xz/unxz/xzcat zip/unzip tar split cpio cpio copy files to and from archives cpio ...
壓縮和解壓縮
compresss/uncompress/zcat
compress [-dfvcVr] [-b maxbits] [file ...]
-d: 解壓縮,相當於uncompress
-c: 結果輸出至標準輸出, 不刪除原文件
-v: 顯示詳情
uncompress 解壓縮
zcat :不解壓縮的前提下查看文本文件內容
zcat file.Z >file
compresss壓縮生成的是 .Z 文件
gzip/gunzip/zcat
gzip [OPTION]... FILE ...
-d: 解壓縮,相當於gunzip
-c: 將壓縮或解壓縮的結果輸出至標準輸出
-# :1-9 ,指定壓縮比,值越大壓縮比越大
gunzip解壓縮
zcat :不解壓縮的前提下查看文本文件內容
zcat file.Z >file
gzip壓縮生成的是 .gz 文件
實例:
gzip -c messages >messages.gz
gzip -c -d messages.gz > messages
zcat messages.gz > messages
bzip2/bunzip2/bzcat
bzip2 [OPTION]... FILE …
-k: keep, 保留原文件
-d :解壓縮= bunzip
-# :1-9 ,壓縮比,預設為6
bunzip解壓縮
bzcat :不解壓縮的前提下查看文本文件內容
bzip2壓縮生成 的是.bz2 文件
xz/unxz/xzcat
xz [OPTION]... FILE ...
-k: keep, 保留 原文件
-d :解壓縮=unxz
-# :1-9 ,壓縮比,預設為6
unxz解壓縮
xzcat: 不顯式解壓縮的前提下查看 文本文件內容
xz壓縮生成的是 .xz 文件
zip/unzip
zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]
zipfile可以隨便命名,以.zip為尾碼
-r recurse(遞歸) into directories
unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]
-p extract(提取) files to pipe, no messages
打包壓縮:zip
zip –r /testdir/sysconfig /etc/sysconfig/
解包解壓縮:unzip
unzip sysconfig.zip
cat /var/log/messages | zip messages
unzip -p message > message
zip打包壓縮生成的是 .zip 文件
tar
tar [OPTION...] [壓縮文件] [文件]
-c 建立一個壓縮檔案的參數指令(create 的意思)
-x 解開一個壓縮檔案的參數指令
-t 查看 tarfile 裡面的檔案
-z 採用 gzip 壓縮
-j 採用 bzip2 壓縮
-v 顯示壓縮過程
-f 使用檔名,請留意,在 f 之後要立即接檔名喔,不要再加參數
-p 使用原檔案的原來屬性(屬性不會依據使用者而變)
-P 可以使用絕對路徑來壓縮
-r 追加文件到壓縮文件包
-T 指定輸入文件
-X 指定要排除的文件
壓縮文件 尾碼帶有.tar
文件 被壓縮的文件
壓縮:
tar -zcvf : 以 .tar.gz 或 .tgz 來結尾
tar -jcvf : 以.tar.bz2來結尾
tar -Jcvf: 以.tar.xz來結尾
解壓縮:
tar -(z)xvf : 解壓以.tar.gz 或 .tgz 來結尾的
tar -(j)xvf : 解壓以.tar.bz2來結尾的
tar -(J)xvf: 解壓以.tar.xz來結尾的
示例
(1) 創建歸檔
tar -c -f /PATH/TO/SOMEFILE.tar FILE...
(2) 追加文件至歸檔: 註:不支持對壓縮文件追加
tar -r -f /PATH/TO/SOMEFILE.tar FILE...
(3) 查看歸檔文件中的文件列表
tar -t -f /PATH/TO/SOMEFILE.tar
(4) 展開歸檔
tar -x -f /PATH/TO/SOMEFILE.tar
tar -x -f /PATH/TO/SOMEFILE.tar -C /PATH/
(5) 結合壓縮工具實現:歸檔並壓縮
-z: gzip, ______.gz
-j: bzip2, ———.tar.bz2
-J: xz____.xz
(6)-T 選項指定輸入文件, -X 選項指定包含要排除的文件列表
tar -zcvf mybackup.tgz -T /root/includefilelist -X /root/excludefilelist
split
split - split a file into pieces,切分
split [OPTION]... [INPUT [PREFIX]]
-a, --suffix-length=N 使用長度為N的尾碼(default 2)
--additional-suffix=SUFFIX 添加一個附加的尾碼suffix給文件名use ramdom replicated server selection
-b, --bytes=SIZE 分割每份SIZE bytes,可以使用單位
-C, --line-bytes=SIZE 在每個輸出文件中放置最多大小的行位元組
-d, --numeric-suffixes[=FROM] 使用數字類尾碼取代字元型,FROM changes the start value (default 0)
-e, --elide-empty-files 配合-n,不產生空的輸出文件
--filter=COMMAND 寫人到shell命令,文件名是$FILE
-l, --lines=NUMBER 設置每個文件NUMBER行
-n, --number=CHUNKS 產生CHUNKS輸出文件
-u, --unbuffered 配合-n r /...,立即複製輸入到輸出
--verbose 在每個輸出文件產生前列印診斷信息
INPUT 大的文件
PREFIX 小文件的首碼名
合併
用split來分割,用cat和重定向>來合併,名字可以隨便取,註意原來是什麼格式最好合併後也是什麼格式
示例
split -b 1M mybackup.tgz mybackup-parts
cat mybackup-parts* > mybackup.tar.gz
cpio
cpio - copy files to and from archives
cpio [OPTION...] [destination-directory]
示例:
# Copy files named in name-list to the archive
cpio -o < name-list [> archive]
# Extract files from the archive
cpio -i [< archive]
# Copy files named in name-list to destination-directory
cpio -p destination-directory < name-list
採用copy-out模式,cpio複製文件到一個文檔中。
cpio命令是通過重定向的方式將文件進行打包備份和還原恢復的工具,它可以解壓以“.cpio” 或者“.tar” 結尾的文件。
cpio [ 選項] > 文檔名
cpio [ 選項] < 文檔名
選項
-o 將文件拷貝打包成文件或者將文件輸出到設備上
-i 解包,將打包文件解壓或將設備上的備份還原到系統
-t 預覽,查看文件內容或者輸出到設備上的文件內容
-v 顯示打包過程中的文件名稱。
-d 解包生成目錄,在cpio 還原時,自動的建立目錄
-p 採用copy-pass模式
例:
將etc目錄備份:
find ./etc -print |cpio -ov >etc.cpio
ls /etc |cpio -ov > etc.cpio
內容預覽
cpio –tv < etc.cpio
要解包文件
cpio –idv < etc.cpio
cpio -idv 文件名 < etc.cpio :只解開指定的文件名