摘要:学习 Linux tar
命令参数和基本实例,实现命令行压缩和解压操作。
一、解压缩命令总结
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar 是打包,不是压缩) ———————————————
.gz 解压-1:gunzip FileName.gz 解压-2:gzip -d FileName.gz 压缩-1:gzip FileName (会删除源文件) 压缩-2:gzip -c FileName (保留源文件) ———————————————
.tar.gz 和 .tgz 解压:tar zxvf FileName.tar.gz 压缩:tar zcvf FileName.tar.gz DirName ———————————————
.bz2 解压 1:bzip2 -d FileName.bz2 解压 2:bunzip2 FileName.bz2 压缩: bzip2 -z FileName ———————————————
.tar.bz2 解压:tar jxvf FileName.tar.bz2 压缩:tar jcvf FileName.tar.bz2 DirName ———————————————
.bz 解压 1:bzip2 -d FileName.bz 解压 2:bunzip2 FileName.bz 压缩:未知 ———————————————
.tar.bz 解压:tar jxvf FileName.tar.bz 压缩:未知 ———————————————
.Z 解压:uncompress FileName.Z 压缩:compress FileName ———————————————
.tar.Z 解压:tar Zxvf FileName.tar.Z 压缩:tar Zcvf FileName.tar.Z DirName ———————————————
.zip 解压:unzip FileName.zip 压缩:zip FileName.zip DirName ———————————————
|
二、gzip 命令详解
简介
gzip 在 Linux 系统中是一个经常使用的压缩命令,既方便又好用。gzip 不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,若考虑安全性,通常配合 tar 命令使用。如今通常和 tar 命令一起构成 Linux 操作系统中比较流行的压缩文件格式。
gzip 命令对文本文件的压缩率足有 60%~ 70% 之多。
减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。
其压缩的文件后缀为: *.gz
语法
gzip 【选项】 【参数】
注:不加选项直接使用,压缩文件将把原文件删除
1 2 3 4 5
| [root@linus test]# ls one three two [root@linus test]# gzip one [root@linus test]# ls one.gz three two
|
注:gzip 可以分别将当前目录下所有文件进行压缩
1 2 3 4 5
| [root@linus test]# ls one three two [root@linus test]# gzip * [root@linus test]# ls one.gz three.gz two.gz
|
选项
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| -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 显示版本信息。 -6 压缩效率是一个介于 1-9 的数值,预设值为”6″,指定愈大的数值,压缩效率就会愈高。 –best 此参数的效果和指定”-9″参数相同。 –fast 此参数的效果和指定”-1″参数相同。
|
简单实例
1 2
| [root@linus test]# ls one three two
|
压缩工具的简单使用,只需要了解压缩及解压即可。
例 1:强制压缩文件 one 并显示执行过程
1 2 3 4
| [root@linus test]# gzip -v -f one one: 0.0% -- replaced with one.gz [root@linus test]# ls one.gz three two
|
例 2:使用高压缩率压缩 two 并不显示警告信息
1 2 3
| [root@linus test]# gzip -9 -q two [root@linus test]# ls one.gz three two.gz
|
例 3:保存名称和时间戳强制压缩 three
1 2 3 4 5 6
| [root@linus test]# gzip -f -N three [root@linus test]# ll 总用量 12 -rw-r--r-- 1 root root 24 2月 12 01:12 one.gz -rw-r--r-- 1 root root 26 2月 12 01:22 three.gz -rw-r--r-- 1 root root 24 2月 12 01:12 two.gz
|
例 4:将压缩的文件解压
1 2 3
| [root@linus test]# gzip -d * [root@linus test]# ls one three two
|
三、tar 命令详解
语法
1 2 3 4 5
| -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件
|
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。
下面的参数是根据需要在压缩或解压档案时可选的。
1 2 3 4 5 6
| -z:有gzip属性的 -j:有bz2属性的 -Z:有compress属性的 -v:显示所有过程 -O:将文件解开到标准输出 -f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
|
实例
批量处理
1 2 3 4 5 6 7 8 9 10
| 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是解开的意思
|
查看
1
| tar -tf aaa.tar.gz //在不解压的情况下查看压缩包的内容
|
压缩
1 2 3 4 5 6 7 8 9 10 11
| 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
|
解压
1 2 3 4 5 6 7
| 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
|