压缩和解压缩
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 :只解开指定的文件名