当前位置: 主页 > Linux教程 > Linux文件管理

09新手学习:Linux文件管理(3)

  • Linux文件管理
  • 2021-10-14
  • 小编

1、打包压缩与解压缩

① 几个概念

打包:默认情况下,Linux的压缩概念一次只能压缩一个文件。针对多文件或文件夹无法进行直接压缩。所以需要提前对多个文件或文件夹进行打包,这样才可以进行压缩操作。

1.txt 5MB2.txt 10MB3.txt 15MB1.txt + 2.txt + 3.txt = 打包 = 123.tar = 30MB

打包只是把多个文件或文件夹打包放在一个文件中,但是并没有进行压缩,所以其大小还是原来所有文件的总和。

压缩:也是一个文件和目录的集合,且这个集合也被存储在一个文件中,但它们的不同之处在于,压缩文件所占用的磁盘空间比集合中所有文件大小的总和要小。

1.txt 5MB2.txt 10MB3.txt 15MB1.txt + 2.txt + 3.txt = 压缩 = 123.tar.gz = 20MB(体积变小了)

② Linux打包操作

基本语法:

# tar [选项] 打包后的名称.tar 需要打包的文件夹或文件名称
选项说明:	-c:打包  -f:打包后的文件名称 filename
  -v:显示打包的进度  -u:更新打包文件中的文件 update
  -t:查看打包文件内容

实例:打包文件1.txt 2.txt 3.txt,到压缩包名称为1.tar中

# tar -cvf 1.tar 1.txt 2.txt 3.txt

实例:打包文件夹linux,压缩包名为linux.tar

# tar -cvf linux.tar linux

③ tar -tf以及tar -uf 作用

-tf主要作用:查看tar包中的文件信息

# tar -tf 压缩包名称

实例:查看1.tar压缩包中的文件信息

# tar -tf 1.tar
09新手学习:Linux文件管理(3)


-uf主要作用:更新压缩包中文件或追加内容

实例:向1.tar压缩包中添加一个文件为4.txt

# tar -uf 1.tar 4.txt查看是否添加成功命令:tar -tf 1.tar
09新手学习:Linux文件管理(3)


扩展:如何把打包后的压缩包里文件解压出来

打包命令:tar -cvf 1.tar 1.txt 2.txt 3.txt解压命令:tar -xcf 1.tar

注:打包命令'-c',改为’-x‘,即为解压

④ 打包并压缩(学习的重点)

基本语法:

# tar [选项] 压缩后的压缩包名称 要压缩的文件或文件夹
选项说明:-cf:对文件或文件夹进行打包-v:显示压缩进度-z:使用gzip压缩包工具把打包后的文件压缩为.gz结尾-j:使用bzip2压缩包工具把打包后的文件压缩为.bz2结尾-J:使用xz压缩包工具把打包后的文件压缩为.xz结尾

注:压缩速度 gzip > bzip2 > xz

压缩率 gzip< bzip2 < xz

实例:把1.txt 2.txt 3.txt文件打包并压缩为1.tar.gz结尾

# tar -zcvf 1.tar.gz 1.txt 2.txt 3.txt

实例:把文件夹linux打包并压缩为linux.tar.gz

# tar -zcvf linux.tar.gz linux
09新手学习:Linux文件管理(3)


⑤ 对压缩包进行解压

注:解压过程非常简单,就是把压缩的参数中的c换成x就可以实现解压缩了

*.tar.gz格式的压缩包
# tar -zxf 名称.tar.gz*.tar.bz2格式的压缩包
# tar -jxf 名称.tar.bz2*.tar.xz格式的压缩包
# tar -Jxf 名称.tar.xz

实例:把1.tar.gz 压缩包进行解压

# tar -zxcf 1.tar.gz

2、zip压缩与解压缩

① zip压缩

基本语法:

# zip [选项] 压缩后的文件名称.zip  文件或文件夹
选项说明:-r :递归压缩,主要针对的是文件夹

Linux下已经有gzip、bzip2以及xz压缩命令了,为什么还需要使用zip压缩呢?

答:zip格式在Windows以及Linux中都是可以正常使用的。

实例:把linux文件夹压缩为linux.zip

# zip -r linux.zip linux
09新手学习:Linux文件管理(3)


实例:把文件1.txt 2.txt 3.txt压缩为1.zip

# zip 1.zip 1.txt 2.txt 3.txt

② unzip解压缩

基本语法:

# unzip 压缩包名称		=>     解压到当前目录# unzip 压缩包名称 -d 指定路径		=>   解压到指定路径下

案例:对abc.zip文件进行解压缩

# unzip abc.zip

案例:把linux.zip解压到/usr/local/nginx目录下

# unzip linux.zip -d /usr/local/nginx/

总结:

在Linux操作系统中,其拥有很多压缩工具,如gzip、bzip2、xz等等,但是其有一个缺点:

一次只能压缩一个文件(而且无法压缩文件夹)

① 打包,把一个或多个文件打成tar包,并不是压缩,只是把文件合并在一个tar文件中

1.txt 5MB2.txt 10MB3.txt 15MB打包123.tar = 5MB + 10MB + 15MB = 30MB

为什么要打包,就是为了后期的压缩操作。

② 打包并压缩

# tar -zcf 压缩包名称.tar.gz 文件或文件夹名称
# tar -jcf 压缩包名称.tar.bz2 文件或文件夹名称
# tar -Jcf 压缩包名称.tar.xz 文件或文件夹名称

③ 解压缩

# tar 把c参数更换为x,就可以实现解压缩  压缩包名称.tar.gz

扩展:

# tar -zxf 压缩包名称.tar.gz [参数] 指定路径

第一种解决思路:随用随查,百度、Google

# tar -zxf 压缩包名称.tar.gz -C 指定路径

第二种解决思路:可以使用man命令(manual缩写,手册)

# man tar命令# tar -zxf 压缩包名称.tar.gz -C 指定路径

④ zip压缩与解压缩

给我们提供一种既可以在Windows中使用的,也可以提供一种在Linux中使用的通用的压缩格式。

# zip [-r]  压缩包名称.zip  要压缩的文件或文件夹

解压缩:

# unzip 压缩包名称.zip  -d 指定路径


  • 关注微信

猜你喜欢

微信公众号