压缩文件拓展名:
-
*.z compress程序压缩的文件(陈旧,现在已经不用了)
-
*.gz gzip程序压缩的文件
-
*.bz2 bzip2程序压缩的文件
-
*.tar tar程序打包的数据,并没有经过压缩
-
*.tar.gz tar程序打包的文件,其中经过gzip的压缩
-
*.tar.bz2 tar程序打包的文件,其中经过bzip2的压缩
gzip,zcat:
gzip可以解开compress,zip,gzip等软件所压缩的文件。
-
gzip [-cdtv#] 文件名 默认状态下原本的文件会被压缩成为.gz的文件名,原文件就不复存在了。
参数:
-c:将压缩的数据输出到屏幕上,可通过数据流重定向来出来
-d:解压缩的参数
-t:可以用来检验一个压缩文件的一致性,看看文件有无错误
-v:可以显示出原文件/压缩文件的压缩比等信息
-#:压缩等级,-1最快,压缩比最差,-9最慢,压缩比最好是默认的-6
-
zcat 文件名.gz 可以显示*.gz文件解压缩之后的内容
-
gzip -d *.gz 进行文件的解压缩
bzip2,bzcat:
bzip2是为了取代gzip并提供更佳的压缩比而来的,后缀名为*.bz2
-
bzip2 [-cdkzv#] 文件名
参数:
-c:将压缩过程中产生的数据输出到屏幕上
-d:解压缩的参数
-k:保留原文件,而不会删除原文件
-z:压缩的参数
-v:可以显示出原文件/压缩文件的压缩比等信息
-#:与gzip同样,压缩比参数
-
bzcat 文件名.bz2 同上,读取解压缩之后的文件内容
-
bzip2 -d 文件名.bz2
tar
-
tar [-j|-z] [cv] [-f 压缩后的文件名字.tar.bz2(gz)] filename 打包与压缩(filename是要被压缩的文件名)
-
tar [-j|-z] [tv] [-f 被查询的文件名] 查看文件名
-
tar [-j|-z] [xv] [-f 要被解压缩的文件名] [-C 目录] 解压缩
参数:
-c:新建打包文件,可搭配-v来查看过程中被打包的文件名
-t:查看打包文件的内容含有哪些文件名,重点在查看文件名
-x:解打包或解压缩的功能,可以搭配-C在特定目录解开 PS:-c,-t,-x不可以同时出现在一串命令行中
-j:通过bzip2的支持进行压缩/解压缩,此时文件名最好为*.tar.bz2
-z:通过gzip的支持进行压缩/解压缩,此时文件名最好为*.tar.gz
-v:在压缩/加压缩的过程中,将正在处理的文件名显示出来
-f filename:-f后面要接被处理的文件名。建议-f单独写一个参数
-C 目录:这个参数用在解压缩时,若要在特定目录解压缩,用这个参数
其他后续连续会使用到的参数介绍:
-p:保留备份数据的原本权限与属性,常用于备份(-c)重要的配置文件
-P:保留绝对路径,即允许备份数据中含有根目录存在之意
--exclude=FILE:在压缩过程中,不要将FILE打包
最简单的记忆方式:
-
压缩:tar -jcv -f 压缩后的文件名字.tar.bz2(gz) 要被压缩的文件或目录名
tar -zcv -f 压缩后的文件名字.tar.bz2(gz) 要被压缩的文件或目录名
-
查询 :tar -jtv -f *.tar.bz2(被查询的文件名) tar -ztv -f *.tar.gz(被查询的文件名)
-
解压缩:tar -jxv -f *.tar.bz2(要被解压缩的文件名) tar -zxv -f *.tar.bz2(要被解压缩的文件名)
例子:如果我们想打包/etc /root 这几个重要的目录,但却不想要打包/root/etc*开头的文件,假设打包好的文件放置在/root/system.tar.bz2,可以使用--exclude==file 命令来进行
tar -jcv -f /root/system.tar.bz2 --exclude=/root/etc* /etc /root