压缩数据或者解压数据:
-P --absolute-paths 不要从文件名中去除 '/'
格式
compress Options [file ...]
常用选项
范例:
zcat file.Z >file
格式:
gzip [OPTION]... FILE ...
常用选项:
范例:
gzip -c messages >messages.gz
gzip -c -d messages.gz > messages
zcat messages.gz > messages
cat messages | gzip > m.gz
格式:
bzip2 [OPTION]... FILE ...
常用选项
格式
xz [OPTION]... FILE ...
常用选项
-k keep, 保留原文件
-d 解压缩
-c 结果输出至标准输出,保留原文件不改变
-# 压缩比,取值1-9,默认为6
unxz fifile.xz 解压缩
xzcat fifile.xz 不显式解压缩的前提下查看文本文件内容
zip 可以实现打包目录并压缩
范例:
#打包并压缩
zip –r /backup/sysconfig.zip /etc/sysconfig/
#默认解压缩至当前目录
unzip /backup/sysconfig.zip
#解压缩至指定目录
unzip /backup/sysconfig.zip -d /tmp
cat /var/log/messages | zip messages -
unzip -p message.gz > message #-p 表示管道
tar 即 Tape ARchive,磁带归档,经常用于备份
格式
tar [OPTION]...
(1) 创建归档,保留权限
tar -cpvf /PATH/FILE.tar FILE...
(2) 追加文件至归档: 注:不支持对压缩文件追加
tar -rf /PATH/FILE.tar FILE...
(3) 查看归档文件中的文件列表
tar -t -f /PATH/FILE.tar
(4) 展开归档
tar xf /PATH/FILE.tar
tar xf /PATH/FILE.tar -C /PATH/
(5) 结合压缩工具实现:归档并压缩
范例:
[root@naWang day21]# tar zcvf 1.txt.tar.gz 1.txt
1.txt
[root@naWang day21]# ll
总用量 8
-rw-r--r-- 1 root root 14 12月 9 20:05 1.txt
-rw-r--r-- 1 root root 121 12月 9 20:05 1.txt.tar.gz
[root@naWang day21]# tar jcvf 1.txt.tar.bz2 1.txt
1.txt
[root@naWang day21]# ll
总用量 12
-rw-r--r-- 1 root root 14 12月 9 20:05 1.txt
-rw-r--r-- 1 root root 125 12月 9 20:06 1.txt.tar.bz2
-rw-r--r-- 1 root root 125 12月 9 20:05 1.txt.tar.gz
[root@naWang day21]# tar Jcvf 1.txt.tar.xz 1.txt
1.txt
[root@naWang day21]# ll
总用量 16
-rw-r--r-- 1 root root 14 12月 9 20:05 1.txt
-rw-r--r-- 1 root root 125 12月 9 20:06 1.txt.tar.bz2
-rw-r--r-- 1 root root 125 12月 9 20:05 1.txt.tar.gz
-rw-r--r-- 1 root root 180 12月 9 20:09 1.txt.tar.xz
–exclude 排除文件
范例:
tar zcvf /root/a.tgz --exclude=/app/host1 --exclude=/app/host2 /app
-T 选项指定输入文件
-X 选项指定包含要排除的文件列表
范例:
tar zcvf mybackup.tar.gz -T /root/includefilelist -X /root/excludefilelist
split 命令可以分割一个文件为多个文件
范例:
#分割大的 tar 文件为多份小文件
split -b Size –d tar-file-name
prefix-name split -b 1M mybackup.tgz mybackup-parts
#切换成的多个小分文件使用数字后缀
split -b 1M –d mybackup.tgz mybackup-parts
将多个切割的小文件合并成一个大文件
cat mybackup-parts* > mybackup.tar.gz
cpio 是历史悠久的打包和解包工具,不过目前也已较少使用
cpio命令是通过重定向的方式将文件进行打包备份,还原恢复的工具,它可以解压以“.cpio”或者“.tar”结
尾的文件
格式:
cpio [选项] > 文件名或者设备名
cpio [选项] < 文件名或者设备名
常用选项
范例:
#将etc目录备份:
find ./etc -print | cpio -ov > bak.cpio
#将/data内容追加bak.cpio
find /data | cpio -oA -F bak.cpio
#内容预览
cpio –tv < etc.cpio
#解包文件
cpio –idv < etc.cpio
一个压缩包生成之后,如何向这个压缩包中追加新的压缩数据
如何实现批量压缩不同的数据信息
eg:将/etc目录中以h开头的文件,进行压缩保存
find /etc/ -maxdepth 1 -type f -name "h*" |xargs tar -zcvf /backup/etc.tar.gz