Linux基础教程:对文件打包压缩

一、须知

  • 文件数量太多, 如果需要拷来拷去是不是很麻烦?    怎么办?  打包!
  • 文件太大,通过网络下载、传输会不会很费?    怎么办?  压缩!

是的。 文件扩展名对于来说, 并没有任何卵用。 然而、但是, 由于支持的压缩命令很多,而且不同指令所采用的压缩技术不相同,当然彼此之间可能就无法互通(压缩、解压缩)。所以, 当我们下载到某个压缩文件时,自然就需要知道该档案是由哪种压缩指令制作的,好用来对照进行解压缩。

也就是说,虽然文件的扩展名和其属性没有绝对关系,但是为了便于我们易于识别,所以适当的扩展名还是必要的。

打包: 实质将许多文件和目录打包成一个文件。
压缩:把大文件或目录通过压缩变成一个较小的文件。

大多命令仅能针对单一文件来进行压缩,gzip与bzip2也能对目录进行压缩,但是结果为:将目录内的所有文件“分别、单独”进行压缩操作。

一、文件的打包和压缩
tar : 打包、压缩一个命令全搞定。  版本稍高的 tar 命令, 选项前的 – , 是可选的。
解压缩“tar”包非常简单,只需要这样:

12 $  tar  xf  filename
$  tar  xf  filename  -C /tmp    # 解压到/tmp目录

注意: filename 就是需要解压缩”tar”包的文件名,而且使用后一种形式的时候,选项 f 一定要放到最后。
创建“tar”包
1 $  tar -cvf  filename.tar  FILES

指定压缩: z 代表 gz, j 代表 bz2, J 代表 xz。
123 $  tar  -zcvf  filename.tar.gz  FILES
$  tar  -jcvf  filename.tar.bz2  FILES
$  tar  -Jcvf  filename.tar.xz  FILES

注意:其中FILES表示被打包盒压缩的文件或目录名。

仅解开单一文件的方法
1234 ## 首先 –jtvf 查看需要解压的文件名
tar -jtvf filename.tar.bz2    # 查询需要解压的文件名:假设为 etc/abc。
## 解压,指定 etc/abc 文件名
tar –jxvf filename.tar.bz2  etc/abc

记忆: 记住 tar xvf  然后 把 x 位置替换为 c , t 就行了。

  • 压缩(选项:c):tar –jcvf  filename,tar.bz2    要被压缩的文件或目录名称(可多个)
  • 查询(选项:t):tar –jtvf  filename,tar.bz2
  • 解压缩(选项:x):tar –jxvf  filename.tar.bz2 –C  欲解压缩的目录

因为-f参数后必须紧接 “要新创建的文件名”。
 tar默认情况下会把绝对路径前的 / 去掉, 这样在恢复的时候, 如果不用-C / 指定根目录为其相对目录, tar会在把解包后的目录结构放在当前目录。如果需要用绝对路径解压或者压缩呢, 使用-P选项吧

udast

gzip & bzip2命令
gzip 常用选项:
-c    : 将压缩输出到 stdout,可通过重定向处理

-d  : 解压缩

-v  : 详细信息

-#  : 压缩比 1-9

bzip 同gzip的用法一样。-k选项 保留原文件
总结:

  • gzip和bzip2 不会保留原文件,而新生成一个压缩文件
  • 只能对单个文件压缩

zip & unzip 命令:
# zip all.zip *.jpg    #这条命令是将所有.jpg的文件压缩成一个zip包 
# unzip all.zip        #解压缩

转载自:https://www.linuxidc.com/Linux/2016-03/129013.htm

声明: 除非转自他站(如有侵权,请联系处理)外,本文采用 BY-NC-SA 协议进行授权 | 智乐兔
转载请注明:转自《Linux基础教程:对文件打包压缩
本文地址:https://www.zhiletu.com/archives-6262.html
关注公众号:智乐兔

赞赏

wechat pay微信赞赏alipay pay支付宝赞赏

上一篇
下一篇

相关文章

在线留言

你必须 登录后 才能留言!