语法:tar [主选项+辅选项] 文件或者目录
使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。
主选项:
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。
辅助选项:
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩或解压? 一般格式为xx.tar.gz或xx. tgz
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩或解压?一般格式为xx.tar.bz2
-Z:有compress属性的
-v :压缩的过程中显示文件!这个常用
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加其他参数!
-p :使用原文件的原来属性(属性不会依据使用者而变)
-O:将文件解开到标准输出
--exclude FILE:在压缩的过程中,不要将 FILE 打包!
下面的参数-f是必须的
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
# tar -cf all.tar *.jpg
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。# tar -rf all.tar *.gif
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。# tar -uf all.tar logo.gif
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。# tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思# tar -xf all.tar
这条命令是解出all.tar包中所有文件,-x是解开的意思
压缩
- tar –cvf jpg.tar *.jpg 将目录里所有jpg文件打包成tar.jpg
- tar –czf jpg.tar.gz *.jpg 将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
- tar –cjf jpg.tar.bz2 *.jpg 将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
- tar –cZf jpg.tar.Z *.jpg 将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
- rar a jpg.rar *.jpg rar格式的压缩,需要先下载rar for linux
- zip jpg.zip *.jpg zip格式的压缩,需要先下载zip for linux
解压
- tar –xvf file.tar 解压 tar包
- tar -xzvf file.tar.gz 解压tar.gz
- tar -xjvf file.tar.bz2 解压 tar.bz2
- tar –xZvf file.tar.Z 解压tar.Z
- unrar e file.rar 解压rar
- unzip file.zip 解压zip
总结
- *.tar 用 tar –xvf 解压
- *.gz 用 gzip -d或者gunzip 解压
- *.tar.gz和*.tgz 用 tar –xzf 解压
- *.bz2 用 bzip2 -d或者用bunzip2 解压
- *.tar.bz2用tar –xjf 解压
- *.Z 用 uncompress 解压
- *.tar.Z 用tar –xZf 解压
- *.rar 用 unrar e解压
- *.zip 用 unzip 解压
更加详细一点的,参考tar命令
gzip / gunzip
Linux gzip 命令用于压缩文件。
gzip 是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出 ".gz" 的扩展名。
语法
gzip [-acdfhlLnNqrtvV][-S <压缩字尾字符串>][-<压缩效率>][--best/fast][文件...] 或 gzip [-acdfhlLnNqrtvV][-S <压缩字尾字符串>][-<压缩效率>][--best/fast][目录]
参数:
- -a 或 --ascii 使用 ASCII 文字模式。
- -c 或 --stdout 或 --to-stdout 把压缩后的文件输出到标准输出设备,不去更动原始文件。
- -d 或 --decompress 或 ----uncompress 解开压缩文件。
- -f 或 --force 强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接。
- -h 或 --help 在线帮助。
- -l 或 --list 列出压缩文件的相关信息。
- -L 或 --license 显示版本与版权信息。
- -n 或 --no-name 压缩文件时,不保存原来的文件名称及时间戳记。
- -N 或 --name 压缩文件时,保存原来的文件名称及时间戳记。
- -q 或 --quiet 不显示警告信息。
- -r 或 --recursive 递归处理,将指定目录下的所有文件及子目录一并处理。
- -S <压缩字尾字符串> 或 ----suffix < 压缩字尾字符串 > 更改压缩字尾字符串。
- -t 或 --test 测试压缩文件是否正确无误。
- -v 或 --verbose 显示指令执行过程。
- -V 或 --version 显示版本信息。
- -<压缩效率> 压缩效率是一个介于 1-9 的数值,预设值为 "6",指定愈大的数值,压缩效率就会愈高。
- --best 此参数的效果和指定 "-9" 参数相同。
- --fast 此参数的效果和指定 "-1" 参数相同。
实例
压缩文件
[root@w3cschool.cc a]# ls //显示当前目录文件
a.c b.h d.cpp
[root@w3cschool.cc a]# gzip * //压缩目录下的所有文件
[root@w3cschool.cc a]# ls //显示当前目录文件
a.c.gz b.h.gz d.cpp.gz
[root@w3cschool.cc a]#
接范例 1, 列出详细的信息
[root@w3cschool.cc a]# gzip -dv * //解压文件,并列出详细信息
a.c.gz: 0.0% -- replaced with a.c
b.h.gz: 0.0% -- replaced with b.h
d.cpp.gz: 0.0% -- replaced with d.cpp
[root@w3cschool.cc a]#
接范例 1,显示压缩文件的信息
[root@w3cschool.cc a]# gzip -l *
compressed uncompressed ratio uncompressed_name
24 0 0.0% a.c
24 0 0.0% b.h
26 0 0.0% d.cpp
Linux gunzip 命令用于解压文件。
gunzip 是个使用广泛的解压缩程序,它用于解开被 gzip 压缩过的文件,这些压缩文件预设最后的扩展名为 ".gz"。事实上 gunzip 就是 gzip 的硬连接,因此不论是压缩或解压缩,都可通过 gzip 指令单独完成。
语法
参数:
gunzip [-acfhlLnNqrtvV][-s <压缩字尾字符串>][文件...] 或 gunzip [-acfhlLnNqrtvV][-s <压缩字尾字符串>][目录]
- -a 或 --ascii 使用 ASCII 文字模式。
- -c 或 --stdout 或 --to-stdout 把解压后的文件输出到标准输出设备。
- -f 或 - force 强行解开压缩文件,不理会文件名称或硬连接是否存在以及该文件是否为符号连接。
- -h 或 --help 在线帮助。
- -l 或 --list 列出压缩文件的相关信息。
- -L 或 --license 显示版本与版权信息。
- -n 或 --no-name 解压缩时,若压缩文件内含有远来的文件名称及时间戳记,则将其忽略不予处理。
- -N 或 --name 解压缩时,若压缩文件内含有原来的文件名称及时间戳记,则将其回存到解开的文件上。
- -q 或 --quiet 不显示警告信息。
- -r 或 --recursive 递归处理,将指定目录下的所有文件及子目录一并处理。
- -S <压缩字尾字符串> 或 --suffix < 压缩字尾字符串 > 更改压缩字尾字符串。
- -t 或 --test 测试压缩文件是否正确无误。
- -v 或 --verbose 显示指令执行过程。
- -V 或 --version 显示版本信息。
实例
<p>解压文件
</p>
<pre>
# gunzip ab.gz