2020-01-24 16:04:38 sinat_32366329 阅读数 187

Linux压缩和解压缩

zip格式

“.zip”是 Windows 中最常用的压缩格式,Linux 也可以正确识别“.zip”格式,这可以方便地和Windows 系统通用压缩文件。

压缩

功能描述:压缩文件或目录。

[root@localhost ~]# zip [选项] 压缩包名 源文件或源目录
选项:
-r: 压缩目录
例如:
[root@localhost ~]# zip ana.zip anaconda-ks.cfg

解压缩

功能描述:列表、测试和提取压缩文件中的文件。

[root@localhost ~]# unzip [选项] 压缩包名
选项:
-d: 指定解压缩位置
例如:
[root@localhost ~]# unzip -d /tmp/ ana.zip
# 把压缩包解压到指定位置

gz格式

“.gz”格式是 Linux 中最常用的压缩格式,但是该命令不会将文件打包,只会压缩。

压缩

功能描述:压缩文件或目录。只压缩单个文件,如果是目录,那么就将目录的所有文件单独压缩。

[root@localhost ~]# gzip [选项] 源文件
选项:
-c: 将压缩数据输出到标准输出中,可以用于保留源文件
-d: 解压缩
-r: 压缩目录
[root@localhost ~]# gzip -c anaconda-ks.cfg > anaconda-ks.cfg.gz
# 使用 -c 选项,但是不让压缩数据输出到屏幕上,而是重定向到压缩文件中
# 这样可以在压缩文件的同时不删除源文件

解压缩

如果要解压缩“.gz”格式,那么使用“gzip -d 压缩包”和“gunzip 压缩包”命令都可以。

功能描述:解压缩文件或目录。

例如:
[root@localhost ~]# gunzip install.log.gz
[root@localhost ~]# gzip -d anaconda-ks.cfg.gz

bz2格式

压缩

“.bz2”格式是 Linux 的另一种压缩格式,从理论上来讲,“.bz2”格式的算法更先进、压缩比更好;而“.gz”格式相对来讲压缩的时间更快。

功能描述:.bz2 格式的压缩命令。

[root@localhost ~]# bzip2 [选项] 源文件
选项:
-d: 解压缩
-k: 压缩时,保留源文件
-v: 显示压缩的详细信息
例如:
[root@localhost ~]# bzip2 anaconda-ks.cfg
#压缩成.bz2 格式
[root@localhost ~]# bzip2 -k install.log.syslog
#保留源文件压缩

解压缩

“.bz2”格式可以使用“bzip2 -d 压缩包”命令来进行解压缩,也可以使用“bunzip2 压缩包”命令来进行解压缩。先看看 bunzip2 命令的基本信息。

[root@localhost ~]# bunzip2 anaconda-ks.cfg.bz2
[root@localhost ~]# bzip2 -d install.log.syslog.bz2
#两个命令都可以解压缩

tar格式

“tar”格式只会打包文件,不会压缩。

打包

“.tar”格式的打包和解打包都使用 tar 命令,区别只是选项不同。

[root@localhost ~]# tar [选项] [-f 压缩包名] 源文件或目录
选项:
-c: 打包
-f: 指定压缩包的文件名。压缩包的扩展名是用来给管理员识别格式的,所以一定
要正确指定扩展名
-v: 显示打包文件过程
[root@localhost ~]# tar -cvf anaconda-ks.cfg.tar anaconda-ks.cfg
#打包,不会压缩

解打包

“.tar”格式的解打包也需要使用 tar 命令,但是选项不太一样。

[root@localhost ~]# tar [选项] 压缩包
选项:
-x: 解打包
-f: 指定压缩包的文件名
-v: 显示解打包文件过程
-t: 测试,就是不解打包,只是查看包中有哪些文件
-C(大) 目录: 指定解打包位置
例如
[root@localhost ~]# tar -xvf anaconda-ks.cfg.tar
# 解打包到当前目录下

tar.gz与tar.bz2格式

命令格式

[root@localhost ~]# tar [选项] 压缩包 源文件或目录
选项:
-z: 压缩和解压缩“.tar.gz”格式
-j: 压缩和解压缩“.tar.bz2”格式

.tar.gz格式

例如:.tar.gz 格式
[root@localhost ~]# tar -zcvf tmp.tar.gz /tmp/
# 把 /tmp/ 目录直接打包压缩为“ .tar.gz ”格式
[root@localhost ~]# tar -zxvf tmp.tar.gz
# 解压缩与解打包“ .tar.gz ”格式

.tar.bz2格式

例如:.tar.bz2 格式
[root@localhost ~]# tar -jcvf tmp.tar.bz2 /tmp/
# 打包压缩为“ .tar.bz2 ”格式,注意压缩包文件名
[root@localhost ~]# tar -jxvf tmp.tar.bz2
# 解压缩与解打包“ .tar.bz2 ”格式

其他例子

[root@localhost ~]# mkdir test
[root@localhost ~]# touch test/a
[root@localhost ~]# touch test/b
[root@localhost ~]# touch test/c
#建立测试目录和测试文件
[root@localhost ~]# tar -zcvf test.tar.gz test/
#压缩
[root@localhost ~]# tar -ztvf test.tar.gz
#只查看,不解压
[root@localhost ~]# tar -zxvf test.tar.gz -C /tmp
#解压缩到指定位置
[root@localhost ~]# tar -zxvf test.tar.gz -C /tmp test/c
#只解压压缩包中的特定文件,到指定位置
2017-11-16 10:56:47 capecape 阅读数 42709

gzip

  • 压缩后的格式为:*.gz

  • 这种压缩方式不能保存原文件;且不能压缩目录

  • 命令举例:
#压缩
[root@localhost tmp]# gzip buodo
[root@localhost tmp]# ls
buodo.gz
#解压
[root@localhost tmp]# gunzip buodo.gz 
[root@localhost tmp]# ls
buodo

tar

  • 命令选项:
    -z(gzip)      用gzip来压缩/解压缩文件
    -j(bzip2)     用bzip2来压缩/解压缩文件
    -v(verbose)   详细报告tar处理的文件信息
    -c(create)    创建新的档案文件
    -x(extract)   解压缩文件或目录
    -f(file)      使用档案文件或设备,这个选项通常是必选的。
  • 命令举例:
#压缩
[root@localhost tmp]# tar -zvcf buodo.tar.gz buodo
[root@localhost tmp]# tar -jvcf buodo.tar.bz2 buodo 

#解压
[root@localhost tmp]# tar -zvxf buodo.tar.gz 
[root@localhost tmp]# tar -jvxf buodo.tar.bz2

zip

  • 与gzip相比:1)可以压缩目录; 2)可以保留原文件;

  • 选项:

    -r(recursive)    递归压缩目录内的所有文件和目录
  • 命令举例:
#压缩和解压文件
[root@localhost tmp]# zip boduo.zip boduo
[root@localhost tmp]# unzip boduo.zip

#压缩和解压目录
[root@localhost tmp]# zip -r Demo.zip Demo
  adding: Demo/ (stored 0%)
  adding: Demo/Test2/ (stored 0%)
  adding: Demo/Test1/ (stored 0%)
  adding: Demo/Test1/test4 (stored 0%)
  adding: Demo/test3 (stored 0%)
[root@localhost tmp]# unzip Demo.zip 
Archive:  Demo.zip
   creating: Demo/
   creating: Demo/Test2/
   creating: Demo/Test1/
 extracting: Demo/Test1/test4        
 extracting: Demo/test3  

bzip2

  • 压缩后的格式:.bz2
  • 参数
    -k    产生压缩文件后保留原文件
  • 命令举例
#压缩
[root@localhost tmp]# bzip2 boduo
[root@localhost tmp]# bzip2 -k boduo

#解压
[root@localhost tmp]# bunzip2 boduo.bz2 
2017-08-21 23:41:47 qingsong3333 阅读数 117174
gzip 是linux中常见的压缩/解压工具,最常见的使用对象是*.gz格式的文件,这里简单介绍下它最常见的用法,

GZIP(1) General Commands Manual GZIP(1)

NAME
     gzip, gunzip, zcat - compress or expand files

SYNOPSIS
     gzip [ -acdfhklLnNrtvV19 ] [--rsyncable] [-S suffix] [ name ... ]
     gunzip [ -acfhklLnNrtvV ] [-S suffix] [ name ... ]
     zcat [ -fhLV ] [ name ... ]

OPTIONS
     -c --stdout --to-stdout 结果写到标准输出,原文件保持不变
     -d --decompress --uncompress 解压
     -k --keep 压缩或者解压过程中,保留原文件
     -r --recursive
     -t --test 检查压缩文件的完整性
     -v --verbose 显示每个文件的名子和压缩率
     -# --fast --best 取值从-1(最快)到-9(最好),默认是-6

示例1,压缩文件
原文件名为file1.txt,压缩后原文件消失,压缩后文件名为file1.txt.gz
root@ubuntu:/tmp# ls -l file1.*
-rw-r--r-- 1 root root 12383865 Aug 21 08:08 file1.txt
root@ubuntu:/tmp# gzip file1.txt
root@ubuntu:/tmp# ls -l file1.*
-rw-r--r-- 1 root root 134416 Aug 21 08:08 file1.txt.gz

示例2,解压文件
root@ubuntu:/tmp# gzip -d file1.txt.gz
root@ubuntu:/tmp# ls -lh file1.*
-rw-r--r-- 1 root root 12M Aug 21 08:08 file1.txt

示例3,压缩的时候,显示压缩率
root@ubuntu:/tmp# gzip -v file1.txt
file1.txt: 98.9% -- replaced with file1.txt.gz

示例4,一条命令压缩多个文件,压缩之后,是各自分开的:
root@ubuntu:/tmp# gzip file1.txt file2.txt
root@ubuntu:/tmp# ls -l
total 1348
-rw-r--r-- 1 root root 134416 Aug 21 08:08 file1.txt.gz
-rw-r--r-- 1 root root 392 Aug 21 08:15 file2.txt.gz

示例5,压缩过程中,保留原文件
root@ubuntu:/tmp# gzip -k file1.txt
root@ubuntu:/tmp# ls file1.*
file1.txt file1.txt.gz

示例6,压缩到标准输出中
可以连接两个文件
root@ubuntu:/tmp# cat file1.txt file2.txt | gzip > foo.gz
或者
root@ubuntu:/tmp# gzip -c file1.txt file2.txt > foo.gz

2016-05-02 17:32:03 master_yao 阅读数 1540

tar
-c    建立压缩档案  归档文件
-x   解压
-t  查看内容
-r   向压缩归档文件末尾追加文件
-u   更新原压缩包中的文件

这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

-z    有gzip属性的    gzip压缩文件
-j   有bz2属性的     bzip2压缩文件
-Z   有compress属性的
-v    显示所有过程    显示压缩或解压缩过程 v(view)
-O   将文件解开到标准输出

下面的参数 -f是必须的

-f   使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。




# tar -cfall.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 -xfall.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 –cjfjpg.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 –xvffile.tar //解压 tar包
tar -xzvffile.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






总结
1、*.tartar –xvf解压
2、*.gzgzip -d或者gunzip 解压
3、*.tar.gz*.tgztar –xzf解压
4、*.bz2 bzip2 -d或者用bunzip2 解压
5、*.tar.bz2tar –xjf解压
6、*.Zuncompress解压
7、*.tar.Ztar –xZf解压
8、*.rarunrar e解压
9、*.zip unzip 解压

例:
tar -cvf /home/abc.tar /home/abc 只打包,不压缩
tar -zcvf /home/abc.tar.gz /home/abc 打包,并用gzip压缩
tar -jcvf /home/abc.tar.bz2 /home/abc 打包,并用bzip2压缩


当然,如果想解压缩,就直接替换上面的命令  tar -cvf  / tar -zcvf  / tar -jcvf 中的“c” 换成“x” 就可以了。


tar xvf filename.tar  或 tar -xvf filename.tar  或tar -zxf filename.tar.gz-C ./file



解压到指定的目录
tar -zxf 
filename.tar.gz  -C ./file


#tar zxvf  /bbs.tar.zip-C /zzz/bbs 

//把根目录下的bbs.tar.zip解压到/zzz/bbs下,前提要保证存在/zzz/bbs这个目录
这个和cp命令有点不同,cp命令如果不存在这个目录就会自动创建这个目录!




用tar命令打包到指定的目录


例:将当前目录下的zzz文件打包到根目录下并命名为zzz.tar.gz
#tar zcvf  /zzz.tar.gz  ./zzz







Linux中的gz格式压缩

阅读数 4592

Linux压缩工具

阅读数 475

没有更多推荐了,返回首页