之前说过,在Linux系统下,文件是不分辨扩充名的。并且Linux系统支持好多种压缩格式,假若压缩文件不写上扩充名,你自己创建的压缩文件可能你自己晓得,而且过一阵你可能也忘掉了。其他管理员也很难晓得该文件是一个压缩文件。同时每一种压缩文件的解压缩格式也是不同的,假如你没有写压缩文件的扩充名,解压缩的时侯才会很麻烦,你需要先手动查询一下该压缩文件的类型,再进行解压缩。所以压缩文件一定要写上扩充名,这个扩充名不是给系统看的linux 常见文件打包压缩命令,是便捷管理员操作的。

在Linux中可以辨识的、常见的压缩格式有十几种,譬如“.zip”“.gz”“.bz2”“.tar”“tar.gz”“tar.bz2”等。下边说一些常见的压缩格式。

目录

一、“.zip”格式

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

注意:windows系统下还有一些压缩包如.rar、.7z,这种压缩格式的文件在Linux系统就不能使用了。“.zip”我们在Linux系统中不常用,主要是用于和windows系统的压缩文件通用。1、“.zip”格式的压缩命令

压缩命令就是zip,其基本信息如下。

命令格式如下:
[root@localhost ~ ] #zip [选项] 压缩包名 源文件或源目录
选项:
-r:指定要压缩的目录
例如:
[root@localhost ~] #zip ana.zip anaconda-ks.cfg
# 把多个文件压缩到一个压缩文件中
[root@localhost ~] # zip test.zip abc abcd
adding:abc (deflated 56%)
adding:abcd(stored 0%)
# 把多个文件和目录压缩到一个压缩文件中
[root@DevOps test] #zip  123.zip abc def -r /root/

2、“.zip”格式的解压缩命令

“.zip”格式的解压缩命令是unzip,其基本信息如下。

命令格式如下:
[root@localhost ~ ] # unzip [选项] 压缩包名
选项:
-d:指定解压缩位置
例如:
#把压缩包解压到指定位置
[root@DevOps test] # unzip 123.zip -d /root/test/

linux打包压缩文件的命令_linux中打包压缩命令_linux 常见文件打包压缩命令

“.zip”格式在Linux下不常用,记住会用就好。二、“.gz”格式1、“.gz”格式的压缩命令

“.gz”格式是Linux中最常用的压缩格式,使用gzip命令进行压缩,其基本信息如下。

命令的格式如下:
[root@localhost ~ ] # gzip [选项] 源文件
选项:
-c:将压缩数据输出到标准输出中,可以用于保留源文件
-d:解压缩
-r:压缩目录(不会把目录打包,只会把目录中的文件单独压缩)

练习:

# ”.gz”格式压缩
[root@DevOps test] # ll
-rw-r--r--. 1 root root     0 1月   9 18:17 abc
-rw-------. 1 root root     0 1月   9 18:17 def
[root@DevOps test]# gzip abc
[root@DevOps test]# ll
总用量 4
-rw-r--r--. 1 root root 24 1月   9 18:17 abc.gz
-rw-------. 1 root root  0 1月   9 18:17 def
# 压缩目录
[root@DevOps test ] # ll
总用量 0
-rw-r--r--. 1 root root 0 1月  12 00:40 abc
-rw-------. 1 root root 0 1月   9 18:17 def
[root@DevOps test ] # cd ..
[root@DevOps ~ ] # gzip -r test/
[root@DevOps ~ ] # ll /root/test/
总用量 8
-rw-r--r--. 1 root root 24 1月  12 00:40 abc.gz
-rw-------. 1 root root 24 1月   9 18:17 def.gz
注意:不会把目录打包,只会把目录中的文件单独压缩。
#解压目录
[root@DevOps ~ ]# gzip -dr test/
[root@DevOps ~ ]# ll /root/test/
总用量 0
-rw-r--r--. 1 root root 0 1月  12 00:40 abc
-rw-------. 1 root root 0 1月   9 18:17 def
# ”.gz”格式压缩,并保留源文件(非常规操作,知道就好)
[root@localhost ~ ] #gzip -c anaconda-ks.cfg >> anaconda-ks.cfg.gz
提示:>为覆盖内容,>>为追加内容。

注意:

使用.gz”格式压缩文件后,源文件会被删掉掉。

使用-c选项,会把文件内容压缩以后的二补码数据,输出到屏幕上。而我们不让压缩数据输出到屏幕上,而是重定向到压缩文件中,这样可以在压缩文件的同时不删掉源文件2、“gz”格式的解压缩命令

假如要解压缩“gz”格式linux deepin,这么使用“gzip-d压缩包”和“gunzip压缩包”命令都可以。我们先瞧瞧gunzip命令的基本信息。

 例如:两个命令都可以解压缩“.gz”格式的压缩文件
[root@localhost ~ ]#gunzip install.1og.gz
[root@localhost ~ ]#gzip -d anaconda-ks.cfg.gz

三、“.bz2”格式1、“.bz2”格式的压缩命令

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

“.bz2”格式的压缩命令是bzip2linux ftp,命令的基本信息如下。

bzip2命令的格式。
[rootelocalhost~ ] #bzip2 [选项] 源文件
选项:
-d:解压缩
-k:压缩时,保留源文件
-v:显示压缩的详细信息(意义不大,知道就行)
例如:
#压缩成.bz2格式(不保留源文件)
[root@localhost ~] #bzip2 anaconda-ks.cfg
#保留源文件压缩
[root@localhost ~] #bzip2 -k install.log.syslog

注意:“.bz2”压缩格式不能否压缩目录。

# 压缩目录
[root@DevOps ~]# bzip2 test/
bzip2: Input file test/ is a directory.
[root@DevOps ~]# ll /root/test/
总用量 0
-rw-r--r--. 1 root root 0 1月  12 00:40 abc
-rw-------. 1 root root 0 1月   9 18:17 def
发现目录中的文件并没有被压缩。
# 加入-r选项,则会直接报错,并提示你bzip2 命令都有哪些选项,这些选项中也没有压缩文件夹的选项。
[root@DevOps ~]# bzip2 -r test/
说明“.bz2”压缩格式,不能压缩目录。

2、“.bz2”格式的解压缩命令

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

#两个命合都可以解压缩
[root@localhost ~ ] #bunzip2 anaconda-ks.cfg.bz2
[root@localhost ~ ] #bzip2 -d install.1og.syslog.bz2
#如果解压后文件存在冲突,会有提示。可删除冲突文件,在进行解压。
[root@localhost ~]# bzip2 -d bed.bz2
bzip2:Output file bcd already exists.

四、“.tar”格式1、“.tar”格式的打包命令

“.tar”格式的打包和解打包都使用tar命令,区别只是选项不同。我们先瞧瞧tar命令的基本信息。

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

练习

# 打包123目录、abc文件、bcd文件。
[root@localhost ~ ]# tar -cvf test.tar 123 abc bcd
123/
123/hjk
123/yui 
abc
bcd
注意:打包后源文件不会被删除。

2、“.tar”格式的解打包命令

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

命令格式如下:
[root@localhost ~ ] # tar [选项] 压缩包
选项:
-x:解打包
-f:指定压缩包的文件名-V:显示解打包文件过程
-t:测试,就是不解打包,只是查看包中有哪些文件
-C(大)目录:指定解打包位置

练习

# 解打包
[root@localhost ~ ] # rm -rf 123 abc bcd
[root@localhost ~ ]# tar -xvf test.tar
123/
123/hjk
123/yui 
abc
bcd

五、打包和压缩的关系

先把须要的文件进行打包,之后把打好的包再进行压缩。

# 把上边打好的test.tar包,在进行压缩。
[root@localhost ~ ] # gzip test.tar
得到test.tar.gz文件,是一个即压缩也打包的文件。
在用test.tar.gz文件的时候,先解压缩在解打包。
[root@localhost ]# gzip -d test.tar.gz
[root@localhost ~]# tar -xvf test.tar
123/
123/hjk
123/yui 
abc
bcd

这样是不是用着很麻烦,虽然不用害怕linux 常见文件打包压缩命令,我们下面会有直接压缩打包和解压缩解打包的命令。

这儿主要是告诉Linux系统中压缩和打包是两个命令。

六、“.tar.gz”和“.tar.bz2”格式1、使用tar命令直接打包压缩。

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

2、练习:”.tar.bz2“格式

#把123目录、abc文件、bcd文件,直接打包压缩为”.tar.bz2“格式文件
[root@localhost ~] # tar -jcvf test.tar.bz2 123 abc bcd
123/
123/hjk
123/yui 
abc
bed
得到test.tar.bz2文件。
解压缩,先把源文件删除掉,再解压
[root@localhost ~ ] # rm -rf 123 abc bcd
[root@localhost ~ ] # tar -jxvf test.tar.bz2
123/
123/hjk
123/yui 
abc
bcd

3、“tar.gz”格式

#把123目录、abc文件、bcd文件,直接打包压缩为“tar.gz”格式文件
[root@localhost ~] # tar -zcvf test.tar.gz 123 abc bcd
123/
123/hjk
123/yui 
abc
bed
得到test.tar.gz文件。
解压缩,先把源文件删除掉,再解压
[root@localhost ~ ] # rm -rf 123 abc bcd
[root@localhost ~ ] # tar -zxvf test.tar.gz
123/
123/hjk
123/yui 
abc
bcd

4、扩展常用方法

只查看不解压

[root@localhost ~] # tar -ztvf test.tar.gz
drwxr-xr-x root/root 02017-02-1714:44123/
-rw-r--r--root/root 02017-02-1714:41123/hjk
-rw-r--r--root/root02017-02-1714:41123/yui
-rw-r--r--root/root 1122017-02-17 09:16 abc
-rw-r--r--root/root 02017-02-17 14:44 bcd

用长格式显示了包中所有的文件和文件夹。

也就是把选项中的c弄成t。-jtvf同理。

解压缩到指定位置

[root@linuxcool~]#tar-zxvftest.tar.gz-C/tmp

注意:-C/tmp一定要跟在解压缩包的前面,不然会保存。

只解压压缩包中的特定文件,到指定位置

[root@linuxcool~]#tar-zxvftest.tar.gz-C/tmp123/hjk

我们工作中常用的压缩和解压缩命令,主要是六中所讲的。

重点:配套学习资料和视频教学

这么在这儿我也悉心打算了上述大纲的详尽资料在下方链接如下

Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复