压缩、解压缩及归档工具-2
解包解压缩
unzip sysconfig.zip
cat /var/log/messages | zip messages –
cat messages | zip m1 –
unzip -p message > message
文件打包工具
tar
tar命令后续可以不用加-比较特殊
基础用法:建立打包文件data.tar
tar -cpvf data.tar /data
创建归档
tar -cpvf FILE.tar FILE…
c代表创建 f代表目录 v代表可看过程 p代表保留原有属性
tar -cpvf data.tar /data
查看文件大小
du -sh /data/
追加文件至归档: 注:不支持对压缩文件追加
tar -r -f 1.tar /data/sudo.conf /data/sudoers
预览已打包文件夹用t
tar tvf data.tar
解打包文件夹用 x
tar xvf data.tar
解压缩直接用以下命令,不用理会后缀名
tar xvf data.tar.gz -C /mnt
结合压缩工具实现:归档并压缩
-j: bzip2, -z: gzip, -J: xz
重要:在打包的同时压缩
tar -zcpvf data.tar.gz /data (打包成gz格式的压缩文件)
tar -jcpvf data.tar.bz2 /data (打包成bzip2格式的压缩文件)
tar -Jcpvf data.tar.xz /data (打包成xz格式的压缩文件)
-T选项指定输入文件,-X选项指定包含要排除的文件列表
tar zcvf mybackup.tgz -T /root/includefilelist -X /root/excludefilelist
(tgz是指tar.gz)
建立文件 list.txt,内容为要打包的文件如
/etc/shadow
/boot/
建立文件exlist.txt,内容为不要打包的文件
/etc/.bashrc
然后执行
tar Jcvf list.tar.xz -T list.txt -X exlist.txt
打包某个目录下的全部子目录和文件并排除某个特定的目录 例如
tar cvpf etc.tar –exclude=/etc/sysconfig –exclude=/etc/skel /etc
分割大的 tar 文件为多份小文件:
split –b Size –d tar-file-name prefix-name
split -b 1M –d mybackup.tgz mybackup-parts
split -b 1M mybackup.tgz mybackup-parts
例:有大小为95M的 list.tar.xz压缩文件包把它切割成10M大小一个
split -b 10M -d list.tar.xz a.tar
生成的是a.tar00 a.tar01 a.tar03…a.tar09
如果不加 -d生成的后缀名会变成a.taraa a.tarab a.tarac…a.taraj
合并:
cat mybackup-parts* > mybackup.tar.gz
例:
cat a.tar0* > a.tar.xz
cpio
功能:复制文件从或到归档
cpio命令是通过重定向的方式将文件进行打包备份,还原恢复的工具,它可以
解压以“.cpio” 或者“.tar” 结尾的文件
cpio 选项 > 文件名或者设备名
cpio 选项 < 文件名或者设备名
选项
-o 将文件拷贝打包成文件或者将文件输出到设备上
-i 解包,将打包文件解压或将设备上的备份还原到系统
-t 预览,查看文件内容或者输出到设备上的文件内容
-v 显示打包过程中的文件名称。
-d 解包生成目录,在cpio还原时,自动的建立目录
-c 一种较新的存储方式
学员评价