首页 > 代码库 > 文件压缩 gzip/gunzip/bzip2/bunzip2/tar
文件压缩 gzip/gunzip/bzip2/bunzip2/tar
gzip gunzip 比较通用的压缩文件
简单的命令-简单的操作。Linux压缩工具
[root@lab huxiaoming]# gzip 123.txt #gzip 是直接把源文件压缩之后 不保留源文件的#
[root@lab huxiaoming]# ls
123.txt.gz 2.txt shuzu.sh software_list.log
[root@lab huxiaoming]# gunzip 123.txt.gz #反之亦然#
[root@lab huxiaoming]# ls
1 123.txt 2.txt shuzu.sh software_list.log
bzip bunzip -压缩率更高,新版linux有
[root@lab huxiaoming]# bzip2 123.txt
[root@lab huxiaoming]# ls
1 123.txt.bz2 2.txt shuzu.sh software_list.log
[root@lab huxiaoming]# bunzip2 123.txt.bz2
[root@lab huxiaoming]# ls
1 123.txt 2.txt shuzu.sh software_list.log
tar-文件归档
Examples:
tar -cf archive.tar foo bar # Create archive.tar from files foo and bar.
tar -tvf archive.tar # List all files in archive.tar verbosely.
tar -xf archive.tar # Extract all files from archive.tar.
选项与参数: -c :建立打包档案,可搭配 -v 来察看过程中被打包的档名(filename) -t :察看打包档案的内容含有哪些档名,重点在察看‘档名’就是了; -x :解打包或解压缩的功能,可以搭配 -C (大写) 在特定目录解开 特别留意的是, -c, -t, -x 不可同时出现在一串指令列中。 -j :透过 bzip2 的支援进行压缩/解压缩:此时档名最好为 *.tar.bz2 -z :透过 gzip 的支援进行压缩/解压缩:此时档名最好为 *.tar.gz -v :在压缩/解压缩的过程中,将正在处理的档名显示出来! -f filename:-f 后面要立刻接要被处理的档名!建议 -f 单独写一个选项啰! -C 目录 :这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。 -p :保留备份资料的原本权限与属性,常用于备份(-c)重要的设定档 -P :保留绝对路径,亦即允许备份资料中含有根目录存在之意; --exclude=FILE:在压缩的过程中,不要将 FILE 打包!
例如我想把/etc下的所有文件打成一个etc.tar的包,使用高压缩工具bzip2来压缩,后缀名为.bz2 放在/home/huxiaoming中那个
root@lab huxiaoming]# tar cvfj /home/huxiaoming/etc.tar.bz2 /etc
这里可以看到使用j参数的好处,压缩比率几乎是默认的4倍
压 缩:tar -jcv -f filename.tar.bz2 要被压缩的档案或目录名称
查 询:tar -jtv -f filename.tar.bz2
解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录
三板斧
解压缩命令 tar 建议将-f参数单独的列出来
[root@lab huxiaoming]# tar -jxv -f /home/huxiaoming/etc.tar.bz2 -C /home/huxiaoming/backupetc
复习一下前面的find 命令 删除刚才建立的tar文件
[root@lab huxiaoming]# find /home/huxiaoming/ -name "*tar*" -ok rm {} \;
< rm ... /home/huxiaoming/etc.tar.bz2 > ? yes
< rm ... /home/huxiaoming/etc.tar > ? yes
< rm ... /home/huxiaoming/backupetc/etc/init/start-ttys.conf > ? n
< rm ... /home/huxiaoming/backupetc/etc/redhat-lsb/lsb_start_daemon > ? n
< rm ... /home/huxiaoming/backupetc/etc/xdg/autostart > ? n
< rm ... /home/huxiaoming/backupetc/etc/dbus-1/system.d/Upstart.conf > ? n
< rm ... /home/huxiaoming/backupetc/etc/selinux/targeted > ? n
< rm ... /home/huxiaoming/backupetc/etc/event.d/ck-log-system-restart > ? n
< rm ... /home/huxiaoming/backupetc/etc/event.d/ck-log-system-start > ? n
< rm ... /home/huxiaoming/backupetc/etc/libreport/events.d/tarball_event.conf > ? n