精华内容
下载资源
问答
  • 1.打包:linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的。...命令参数:必要参数如下:-A新增压缩文件到已存在的压缩-B设置区块大小...

    1.打包:

    linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的。生成tar包后,就可以用其它的程序来进行压缩。

    1.命令格式:

    tar[必要参数][选择参数][文件]

    2.命令功能:

    用来压缩和解压文件。tar本身不具有压缩功能。他是调用压缩功能实现的

    3.命令参数:

    必要参数有如下:

    -A 新增压缩文件到已存在的压缩

    -B 设置区块大小

    -c 建立新的压缩文件

    -d 记录文件的差别

    -r 添加文件到已经压缩的文件

    -u 添加改变了和现有的文件到已经存在的压缩文件

    -x 从压缩的文件中提取文件

    -t 显示压缩文件的内容

    -z 支持gzip解压文件

    -j 支持bzip2解压文件

    -Z 支持compress解压文件

    -v 显示操作过程

    -l 文件系统边界设置

    -k 保留原有文件不覆盖

    -m 保留文件不被覆盖

    -W 确认压缩文件的正确性

    可选参数如下:

    -b 设置区块数目

    -C 切换到指定目录

    -f 指定压缩文件

    --help 显示帮助信息

    --version 显示版本信息

    2.压缩

    gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。

    语法:gzip [选项] 压缩(解压缩)的文件名

    各选项的含义:

    -c 将输出写到标准输出上,并保留原有文件。

    -d 将压缩文件解压。

    -l 对每个压缩文件,显示下列字段: 压缩文件的大小 未压缩文件的大小 压缩比 未压缩文件的名字

    -r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。

    -t 测试,检查压缩文件是否完整。

    -v 对每一个压缩和解压的文件,显示文件名和压缩比。

    -num 用指定的数字num调整压缩的速度,

    -1或--fast表示最快压缩方法(低压缩比),

    -9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6。

    3.实例

    解包:tar xvf FileName.tar

    打包:tar cvf FileName.tar DirName

    (注:tar是打包,不是压缩!)

    .gz

    gunzip是gzip的硬链接,目的在于解压.等同gzip -d

    解压1:gunzip FileName.gz

    解压2:gzip -d FileName.gz

    压缩:gzip FileName

    解压:tar zxvf FileName.tar.gz

    压缩:tar zcvf FileName.tar.gz DirName

    保留原文件压缩:

    将tar.tar压缩成tar.tar.gz

    gzip -c tar.tar > tar.tar.gz

    tar和gzip一起使用

    解压:tar Zxvf FileName.tar.Z

    压缩:tar Zcvf FileName.tar.Z DirName

    linux 打包和压缩文件

    打包成tar文件 tar -cf mydir.tar mydir/ 打包tar压缩成gz tar -czf mydir.tar.gz mydir/ 解压mydirtar文件 tar -xvf mydi ...

    Linux下的压缩文件剖析 (tar/gzip的区别)

    Linux下的压缩文件剖析 对于刚刚接触Linux的人来说,一定会给Linux下一大堆各式各样的文件名给搞晕.别个不说,单单就压缩文件为例,我们知道在Windows下最常见的压缩文件就只有两种,一是, ...

    Linux下查看压缩文件内容的 10 种方法

    Linux下查看压缩文件内容的 10 种方法 通常来说,我们查看归档或压缩文件的内容,需要先进行解压缩,然后再查看,比较麻烦.今天给大家介绍 10 不同方法,能够让你轻松地在未解压缩的情况下查看归档或 ...

    Linux打包和压缩——管理打包和压缩的命令

    Linux打包和压缩——管理打包和压缩的命令 摘要:本文主要学习了Linux的打包命令和压缩命令. tar命令 tar命令可以用来进行打包和解打包,压缩和解压缩. 基本语法 打包和压缩的语法: tar ...

    Linux如何复制,打包,压缩文件

    (1)复制文件 cp -r  要copy的文件/("/"指的是包括里面的内容)   newfile_name(要命名的文件名) eg:cp -r webapps_zero/   f ...

    Linux下各类压缩文件命令小结

    .tar 解包:tar xvf FileName.tar    解包后原始文件仍存在 打包:tar cvf FileName.tar DirName1 Filename1 - 列出内容:tar tvf ...

    linux zip,tar压缩文件夹 忽略 .git 文件夾

    linux zip 忽略 .git 文件夾 # zip 命令 zip -r bitvolution.zip bitvolution -x *.git* # tar命令压缩文件夹忽略 .git文件夹 t ...

    Linux中各种压缩文件

    .gz格式 压缩: gzip 文件名 解压: gzip -d 欲解压文件名 gunzip 欲解压文件名 说明: 1.只能压缩文件,不能压缩目录 2.压缩和解压的时候不保留原文件 .bz2格式 压缩: ...

    Linux打包与压缩及tar命令详解

    打包和压缩   在linux中,打包和压缩可以说是两个不同的概念,弄清这两个概念对于我们理解复杂的文件后缀有非常大的帮助 打包 将若干个文件和目录打包在一起变成一个大的文件,这时只是简单的打包,所以一 ...

    随机推荐

    Linux文件系统介绍(转)

    文章转自:http://www.iteye.com/topic/816268 文件系统是linux的一个十分基础的知识,同时也是学习linux的必备知识. 本文将站在一个较高的视图来了解linux的文 ...

    JDK源码分析(11)之 BlockingQueue 相关

    本文将主要结合源码对 JDK 中的阻塞队列进行分析,并比较其各自的特点: 一.BlockingQueue 概述 说到阻塞队列想到的第一个应用场景可能就是生产者消费者模式了,如图所示: 根据上图所示,明 ...

    swagger.core的使用方法

    Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务,那么如何在abp中使用呢,已经有大牛为我们实现了一个swagger.core的组件而作为菜鸟 ...

    Object 中 equals()使用

    详细看: https://www.cnblogs.com/naihuangbao/p/9445027.html 1. ==是判断两个变量或实例是不是指向同一个内存空间equals是判断两个变量或实例所 ...

    MySQL基础概述

    MySQL基础 1.目前属于Oracle 2.MySQL开源的关系型数据库管理系统 3.分为社区版和企业版 MySQL安装与配置 1.MSI安装 2.zip安装 MySQL目录结构 1.bin目录,存 ...

    OOP⑶

    /** * 学生类 * ctrl+o 查询本类的所有属性 和方法 */ public class Student { int age; // 年龄 String name; // 姓名 // 自己创建 ...

    python django字段类型

    <1> CharField #字符串字段, 用于较短的字符串. #CharField 要求必须有一个参数 maxlength, 用于从数据库层和Django校验层限制该字段所允许的最大字符 ...

    vlan交换机的端口模式有哪几种

    一 端口类型1 ,Access用户模式2 ,Trunk链路模式3 ,Hybrid模式(跟Trunk很类似但比trunk高级)二 端口介绍2.1 ,Access类型端口:只允许默认vlan的以太网帧,也 ...

    Qt在线&sol;离线安装包下载网址和说明

    截至到2018年3月27日,Qt最新版本的安装需要使用在线安装工具:qt-unified-windows-x86-3.0.2-online.exe,该安装个工具的下载地址为: http://downl ...

    展开全文
  • try { if (log.isDebugEnabled()) { log.debug("压缩开始:待压缩文件()为 " + inputFile); } zip(inputFile, out, ""); } catch (IOException e) { log.error("压缩失败"); } finally { out.close(); if (log....

    package com.app.common.util;

    import java.io.File;

    import java.io.FileInputStream;

    import java.io.FileOutputStream;

    import java.io.IOException;

    import java.io.InputStream;

    import java.util.Enumeration;

    import org.apache.commons.logging.Log;

    import org.apache.commons.logging.LogFactory;

    import org.apache.tools.zip.ZipEntry;

    import org.apache.tools.zip.ZipFile;

    import org.apache.tools.zip.ZipOutputStream;

    public class ZipUtil {

    private static ZipUtil instance = new ZipUtil();

    private static final int BUFFEREDSIZE = 1024;

    private static Log log = LogFactory.getLog(ZipUtil.class);

    private ZipUtil() {

    }

    public static ZipUtil getInstance() {

    return instance;

    }

    public static void zip(String inputFilename, String zipFilename)

    throws IOException {

    zip(new File(inputFilename), zipFilename);

    }

    public static void zip(File inputFile, String zipFilename)

    throws IOException {

    ZipOutputStream out = new ZipOutputStream(new FileOutputStream(

    zipFilename));

    out.setEncoding("GBK");

    try {

    if (log.isDebugEnabled()) {

    log.debug("压缩开始:待压缩文件(夹)为 " + inputFile);

    }

    zip(inputFile, out, "");

    } catch (IOException e) {

    log.error("压缩失败");

    } finally {

    out.close();

    if (log.isDebugEnabled()) {

    log.debug("压缩成功");

    }

    }

    }

    private static void zip(File inputFile, ZipOutputStream out, String base)

    throws IOException {

    if (inputFile.isDirectory()) {

    if (inputFile.listFiles().length == 0) {

    ZipEntry zipEntry = new ZipEntry(base + inputFile.getName()

    + "/");

    out.putNextEntry(zipEntry);

    out.closeEntry();

    } else {

    base += inputFile.getName() + inputFile.separator;

    for (File f : inputFile.listFiles()) {

    zip(f, out, base);

    }

    }

    } else {

    ZipEntry zipEntry = new ZipEntry(base + inputFile.getName());

    out.putNextEntry(zipEntry);

    FileInputStream in = new FileInputStream(inputFile);

    try {

    int c;

    byte[] by = new byte[BUFFEREDSIZE];

    while ((c = in.read(by)) != -1) {

    out.write(by, 0, c);

    }

    } catch (IOException e) {

    throw e;

    } finally {

    in.close();

    }

    }

    }

    public static void multiZip(String[] inputFilelist, String zipFilename)

    throws IOException {

    File[] files = new File[inputFilelist.length];

    for (int i = 0; i < inputFilelist.length; i++) {

    files[i] = new File(inputFilelist[i]);

    }

    multiZip(files, zipFilename);

    }

    public static void multiZip(File[] files, String zipFilename)

    throws IOException {

    ZipOutputStream out = new ZipOutputStream(new FileOutputStream(

    zipFilename));

    out.setEncoding("GBK");

    try {

    if (log.isDebugEnabled()) {

    log.debug("压缩开始:待压缩文件(夹)共 " + files.length + "个");

    }

    for (File f : files) {

    zip(f, out, "");

    }

    } catch (Exception e) {

    log.error("压缩失败");

    } finally {

    out.close();

    if (log.isDebugEnabled()) {

    log.debug("压缩成功");

    }

    }

    }

    }

    展开全文
  • js压缩文件或文件夹

    2021-10-22 11:14:25
    JS压缩文件/文件夹 首先说一下,这里的 JS压缩文件/文件夹 不是各位想的那么美好????,想着接下来博主写个js的压缩方法,我拷贝走直接用就万事大吉的同志,很遗憾告诉你们,这篇博客说的不是这样的。 文章有点长,...

    JS压缩文件/文件夹

    首先说一下,这里的 JS压缩文件/文件夹 不是各位想的那么美好🤣,想着接下来博主写个js的压缩方法,我拷贝走直接用就万事大吉的同志,很遗憾告诉你们,这篇博客说的不是这样的。

    文章有点长,耐心看完文章的,基本应该大概率都能搞定。

    前置解释

    1. js 不是原生JavaScript,我说的这个一般是用来集成到用JavaScript框架写的项目中,或者是node也行。
    2. 压缩需要用到一个压缩软件7-zip,当然,对这个软件不了解的人可以去了解一下,网上一搜,一大堆解释,当然7-zip也可以集成到项目中,这个不用担心只能在本机用的问题。
    3. 接下来有些地方可能会需要用到一些文件的绝对路径,获取一个文件的绝对路径也不是一个麻烦事,各位可以自行寻找一个方法即可。【注:本人用的是 electron 框架,所以,,,就很方便。😁】

    • 注:这里是我天真了, 我初始以为获取一个用户选择文件的绝对路径是个很简单的事😂,没想到对于前端来说根本没得搞。所以,我又写了一篇曲线救国的策略,这是传送门:js获取用户选择的文件路径[曲线救国]

    7-zip 下载地址

    英文官网 中文官网

    大家自行下载一个就行了,也不大,整个程序装下来也就 几M左右,而且,我们需要集成的只是安装后程序中的两个文件而已,所以那些担心会大幅增加项目打包体积的同志,可以放宽心啦。

    7-zip 安装文件解释

    这个还是必要解释一下的,毕竟这也算使用前的了解,过了这一步,我们就可以简单了解 7-zip的使用方式了。

    7-zip安装完毕后,安装目录一般是这样的:

    --- Lang 文件夹
    ------- *.txt 各种txt文件
    --- 7z.dll dll文件
    --- 7z.exe exe文件
    --- ... 剩下的就看自己文件目录吧。
    

    这些文件分别是啥意思呢?解释如下【不想看的可以跳过👀】:

    • 7zFM.exe7-Zip 文件管理器的主 UI,直接从开始菜单打开 7-Zip 时的 UI 界面。依赖 7z.dll
    • 7zG.exe7-ZipGUI 模块,需要通过命令行指定参数调用。依赖 7z.dll
    • 7-zip.dll:与 Windows Shell 以及 7zFM.exe 集成。
    • 7z.exe7-Zip 的命令行版本,需要通过命令行指定参数调用。
    • 7z.dll7-Zip 的核心执行引擎。
    • 7z.sfxSFX 模块(Windows 版本)。
    • 7zCon.sfxSFX 模块(控制台版本)。
    • 7-zip.chm7-Zip 的帮助说明文件。

    这些文件意思呢,我也是翻阅了一些文章,为大家收集的。

    给大家贴一下人家其中一篇写的解释的博客链接:文件解释博客链接

    7-zip 命令解释与集成

    前面我也说了,我们是要把 7-zip 集成到项目里面的,所以我们肯定要用命令行的方式去调用 7-zip的, 命令行版本文件是 7z.exe

    所以我们将 7z.exe7-zip的核心执行引擎文件 7z.dll文件拷到项目里即可使用完整的命令行版本的 7-zip 去压缩文件了。

    接下来,我主要说一下7-zip压缩命令解压命令

    首先有一个大前提和一个注意:

    • 前提:命令的使用必须在7-zip的环境下。通俗的讲:必须在存放 7-zip 命令行文件的根目录下执行命令才行。

      就比如,在项目 src/plugin/7z/下存放的命令行文件,那么我们压缩命令的执行,必须要定位到 7z 这个目录去执行才可以。

    • 注意:7-zip貌似不支持 相对路径,所以如果是一个压缩文件路径是一个相对路径,估计是不行的。

      就比如:7z a -tzip E:/compress.zip temp/ 【大家先不用理解命令啥意思,一会我会解释】,这里的 temp/ 我的本意思压缩根目录下 temp文件夹,但是 7-zip 会直接报错,所以建议使用时,路径最好使用绝对路径

    压缩命令

    命令:7z a -tzip -p123456 E:/compress.zip E:/temp/

    命令解释:

    将 E盘 temp文件夹 下的所有文件压缩成 zip 格式,压缩的位置在 E 盘,文件名称是 compress.zip

    命令拆开解释:

    • 7z是缩写 就是指 7z.exe,所以命令中的 7z 也可以替换成 7z.exe,就是 7-zip 的命令行版本
    • a7-zip 的命令关键字,意思是添加,即将文件添加到存档,具体解释或者其他命令关键字可看 7-zip.chm手册。
    • -t 指定压缩的格式,-tzip指定压缩格式为zip-t7z指定压缩格式为7z,压缩格式必须为7-zip支持的格式才行。
    • -p设置压缩密码,123456是设置的密码,这样我们压缩的文件就是一个加密文件,当然命令行提取时也需要 -p指定解压密码。
    • E:/compress.zip 指定压缩到的路径,7-zip为自动为我们创建zip文件,所以压缩路径要具体到文件名,E:/temp/ 指定的是被压缩文件的路径。
    解压命令

    命令:7z x E:/compress.zip -p123456 -oE:/temp/ -aoa

    命令解释:

    将 E盘下的 compress.zip 解压到 E盘下的temp文件夹

    • x是命令关键字,指以完整路径提取,就是压缩的时候文件夹是个怎样的嵌套格式,提取出来文件就是怎样的嵌套格式。
      • 7-zip 还有一个 e 关键字也是提取,上面的命令,将 x 替换成 e 完全OK,区别就是 e 提取的文件进行了扁平化处理,会把所有文件以及文件夹提取到一个目录里。
    • -p指定的是解压密码。讲解压缩命令时有过解释。
    • -o指定的是输出目录,解压到那个文件夹。
    • -aoa指在静默【没有提示】的情况下 会用解压的文件 覆盖现有的与解压文件冲突的文件。[冲突就是文件已经存在了。]

    OK,最简单的解释已经解释完毕了,当然7-zip还有好多其他用法,比如:

    我们还可以指定提取的文件,比如将 *.txt 的文件从 compress.zip 压缩包里提取出来:

    7z x E:/compress.zip -oE:/temp/ *.txt -r

    这里的-r是递归子目录的开关,可以指定在命令行上处理通配符和文件名的方法,写一个-r,默认就是开启递归子目录。

    用法多多,各位还是要看 7-zip.chm 手册啊


    7-zip 命令行调用方式

    上面我乌拉乌拉说了那么多,最重要的一步没说,那就是怎么调用命令。

    其实我本来是没想说的,但是呢,怕有些同学不知道,所以这里在说一下。

    命令行,命令行,那最简单的调用方式在哪里,毫无疑问:CMD ,对吧:

    • 打开CMD
    • 定位到7-zip命令行文件所在的文件夹
    • 然后后面写上解压缩命令
    • 回车执行就完事了

    当然,这种方式适合自己玩,放在项目里,不太适合,还得写bat文件,麻烦。

    所以,项目里怎么执行命令行?那当然首选 exec方法:

    • execnode子进程的一个方法

    • 使用时,我们只需要引入它:

      const { exec } = require('child_process');
      
    • 然后:

      const command = "7z x E:/compress.zip -p123456 -oE:/temp/ -aoa";
      exec(cmmand, {cwd: "plugin/7z"}, (err, _)=>{
          if(err) {
              console.log('解压出错');
              return;
          }
          console.log('解压成功');
      });
      

      那么有人该问了? {cwd: "plugin/7z"} 是啥意思?

      • 阿西吧,兄弟怕是忘了我前面说的 一个大前提
      • cwd 配置指定的就是 当前子进程的工作目录,所以我们此目录指定到存放 7-zip 命令文件的目录下,那么就刚好满足了我说的那一个大前提。

    来个传送门:node 中的 exec 解释


    所以:开发环境下使用是搞定了,那么生产环境呢?各位同学要记得瞅一眼呐,打包后的目录和开发环境下可能是有所不同的,所以,怎么办?

    各位可以自己写一个开发/生产,不同环境下的路径的处理方法,也可以去百度,一搜一堆呢。

    啊,到此2139词,我为各位操碎了心。继续。。。🤷‍♂️


    7-zip.chm 说明文件翻译

    为了照顾与我一样,英语小渣渣,所以这里也提供一个对 7-zip.chm 的翻译方法,毕竟全英文的 chm 手册,对我这种中国人不太友好呢。。。

    【注:此方法网上有,我只是搬运功,不过此方法我测试过,好用,够用,为大家踩坑。】

    1. 打开cmd,输入命令

      hh.exe -decompile D:/7-zip-chinese D:/7-zip.chm
      
      # 解释如下
      # D:/7-zip-chinese 是 7-zip.chm 进行转义后生成的文件目录,可以自己设置想把转义的目录位置
      # D:/7-zip.chm 是 chm 文件所在的目录
      
      # 这不仅可以编辑 7-zip.chm 其他任何 chm 基本也可以,如果有不行的。。[当我没说前面的话]
      
    2. 生成后7-zip-chinese 文件夹下会生成一个htm 文件,这个可以在 Chrome 浏览器或者其他浏览器中运行的网页文件。

    3. 使用浏览器的翻译,进行翻译即可。

    网上也有人把翻译贴出来了,就是看着费劲点,不如自己翻译,我给大家贴一篇参考一下:7z命令中文文档博客


    OK,结束😎。

    展开全文
  • 在Linux上不少用于压缩文件的命令。最新最有效的一个方法是xz,但是所有的方法都节省磁盘空间和维护备份文件供以后使用的优点。在这篇文章中,我们将比较这些压缩命令并指出显著的不同。tartar命令不是专门的...

    在 Linux 上有不少用于压缩文件的命令。最新最有效的一个方法是

    xz,但是所有的方法都有节省磁盘空间和维护备份文件供以后使用的优点。在这篇文章中,我们将比较这些压缩命令并指出显著的不同。

    tar

    tar

    命令不是专门的压缩命令。它通常用于将多个文件拉入一个单个的文件中,以便容易地传输到另一个系统,或者将文件作为一个相关的组进行备份。它也提供压缩的功能,这就很有意义了,附加一个

    z 压缩选项能够实现压缩文件。

    当使用 z 选项为 tar 命令附加压缩过程时,tar 使用 gzip 来进行压缩。

    就像压缩一组文件一样,你可以使用 tar 来压缩单个文件,尽管这种操作与直接使用 gzip 相比没有特别的优势。要使用 tar 这样做,只需要使用

    tar cfz newtarfile filename 命令来标识要压缩的文件,就像标识一组文件一样,像这样:

    1.$ tar cfz bigfile.tgz bigfile

    2. ^ ^

    3. | |

    4. ± 新的文件 ± 将被压缩的文件

    5.

    6.$ ls -l bigfile*

    7.-rw-rw-r-- 1 shs shs 103270400 Apr 16 16:09 bigfile

    8.-rw-rw-r-- 1 shs shs 21608325 Apr 16 16:08 bigfile.tgz

    注意,文件的大小显著减少了。

    如果你愿意,你可以使用 tar.gz 扩展名,这可能会使文件的特征更加明显,但是大多数的 Linux 用户将很可能会意识到与 tgz 的意思是一样的

    – tar 和 gz 的组合来显示文件是一个压缩的 tar 文件。在压缩完成后,你将同时得到原始文件和压缩文件。

    要将很多文件收集在一起并在一个命令中压缩出 “tar ball”,使用相同的语法,但要指定要包含的文件为一组,而不是单个文件。这里有一个示例:

    1.$ tar cfz bin.tgz bin/*

    2. ^ ^

    3. | ±- 将被包含的文件

    4. + 新的文件

    zip

    zip 命令创建一个压缩文件,与此同时保留原始文件的完整性。语法像使用 tar

    一样简单,只是你必需记住,你的原始文件名称应该是命令行上的最后一个参数。

    1.$ zip ./bigfile.zip bigfile

    2.updating: bigfile (deflated 79%)

    3.$ ls -l bigfile bigfile.zip

    4.-rw-rw-r-- 1 shs shs 103270400 Apr 16 11:18 bigfile

    5.-rw-rw-r-- 1 shs shs 21606889 Apr 16 11:19 bigfile.zip

    gzip

    gzip 命令非常容易使用。你只需要键入 gzip,紧随其后的是你想要压缩的文件名称。不像上述描述的命令,gzip

    将“就地”加密文件。换句话说,原始文件将被加密文件替换。

    1.$ gzip bigfile

    2.$ ls -l bigfile*

    3.-rw-rw-r-- 1 shs shs 21606751 Apr 15 17:57 bigfile.gz

    bzip2

    像使用 gzip 命令一样,bzip2 将在你选择的文件“就地”压缩,不留下原始文件。

    1.$ bzip bigfile

    2.$ ls -l bigfile*

    3.-rw-rw-r-- 1 shs shs 18115234 Apr 15 17:57 bigfile.bz2

    xz

    xz

    是压缩命令团队中的一个相对较新的成员,在压缩文件的能力方面,它是一个领跑者。像先前的两个命令一样,你只需要将文件名称提供给命令。再强调一次,原始文件被就地压缩。

    1.$ xz bigfile

    2.$ ls -l bigfile*

    3.-rw-rw-r-- 1 shs shs 13427236 Apr 15 17:30 bigfile.xz

    对于大文件来说,你可能会注意到 xz 将比其它的压缩命令花费更多的运行时间,但是压缩的结果却是非常令人赞叹的。

    对比

    大多数人都听说过“大小不是一切”。所以,让我们比较一下文件大小以及一些当你计划如何压缩文件时的问题。

    下面显示的统计数据都与压缩单个文件相关,在上面显示的示例中使用

    bigfile。这个文件是一个大的且相当随机的文本文件。压缩率在一定程度上取决于文件的内容。

    大小减缩率

    当比较时,上面显示的各种压缩命产生下面的结果。百分比表示压缩文件与原始文件的比较效果。

    1.-rw-rw-r-- 1 shs shs 103270400 Apr 16 14:01 bigfile

    2.------------------------------------------------------

    3.-rw-rw-r-- 1 shs shs 18115234 Apr 16 13:59 bigfile.bz2 ~17%

    4.-rw-rw-r-- 1 shs shs 21606751 Apr 16 14:00 bigfile.gz ~21%

    5.-rw-rw-r-- 1 shs shs 21608322 Apr 16 13:59 bigfile.tgz ~21%

    6.-rw-rw-r-- 1 shs shs 13427236 Apr 16 14:00 bigfile.xz ~13%

    7.-rw-rw-r-- 1 shs shs 21606889 Apr 16 13:59 bigfile.zip ~21%

    xz 命令获胜,最终只有压缩文件 13% 的大小,但是所有这些压缩命令都相当显著地减少原始文件的大小。

    是否替换原始文件

    bzip2、gzip 和 xz 命令都用压缩文件替换原始文件。tar 和 zip 命令不替换。

    运行时间

    xz 命令似乎比其它命令需要花费更多的时间来加密文件。对于 bigfile 来说,大概的时间是:

    1.命令 运行时间

    2.tar 4.9 秒

    3.zip 5.2 秒

    4.bzip2 22.8 秒

    5.gzip 4.8 秒

    6.xz 50.4 秒

    解压缩文件很可能比压缩时间要短得多。

    文件权限

    不管你对压缩文件设置什么权限,压缩文件的权限将基于你的 umask 设置,但 bzip2 除外,它保留了原始文件的权限。

    与 Windows 的兼容性

    zip 命令创建的文件可以在 Windows 系统以及 Linux 和其他 Unix

    系统上使用(即解压),而无需安装其他工具,无论这些工具可能是可用还是不可用的。

    解压缩文件

    解压文件的命令与压缩文件的命令类似。在我们运行上述压缩命令后,这些命令用于解压缩 bigfile:

    ◈ tar: tar xf bigfile.tgz◈ zip: unzip bigfile.zip◈ gzip: gunzip bigfile.gz◈

    bzip2: bunzip2 bigfile.gz2◈ xz: xz -d bigfile.xz 或 unxz bigfile.xz

    自己运行压缩对比

    如果你想自己运行一些测试,抓取一个大的且可以替换的文件,并使用上面显示的每个命令来压缩它 —— 最好使用一个新的子目录。你可能需要先安装

    xz,如果你想在测试中包含它的话。这个脚本可能更容易地进行压缩,但是可能需要花费几分钟完成。

    1.#!/bin/bash

    2.

    3.# 询问用户文件名称

    4.echo -n "filename> "

    5.read filename

    6.

    7.# 你需要这个,因为一些命令将替换原始文件

    8.cp $filename $filename-2

    9.

    10.# 先清理(以免先前的结果仍然可用)

    11.rm filename.∗  12.  13.tarcvfz./filename.*  12.  13.tar cvfz

    ./filename.∗  12.  13.tarcvfz./filename.tgz $filename > /dev/null

    14.zip $filename.zip $filename > /dev/null

    15.bzip2 $filename

    16.# 恢复原始文件

    17.cp $filename-2 $filename

    18.gzip $filename

    19.# 恢复原始文件

    20.cp $filename-2 $filename

    21.xz $filename

    22.

    23.# 显示结果

    24.ls -l $filename.*

    25.

    26.# 替换原始文件

    27.mv $filename-2 $filename

    最后分享一些相关资料交流裙:1126743406

    展开全文
  • 读写文件首先看一个例子: f = open('thefile.txt','w') #以写方式打开,try:f.write('wokao')finally:f.close()文件的打开方式: f = open(‘文件','mode')‘r':只读(缺省。如果文件不存在,则抛出错误)‘w':只写...
  • 在 Linux 上不少用于压缩文件的命令。最新最有效的一个方法是 xz,但是所有的方法都节省磁盘空间和维护备份文件供以后使用的优点。在这篇文章中,我们将比较这些压缩命令并指出显著的不同。tartar 命令不是专门...
  • 《==打包与压缩tar[-j|-z][tv][-f建立的档案名]《==查看4102档案tar[-j|-z][xv][-f建立的档案名][-C目录1653]《==解压缩选项与参数:-c:建立打包档案,可搭配-v来观察过程中被打包的档案名(filename)-t:查看打包档案...
  • 你可以写入该流,然后将其写入压缩文件.BufferedInputStream origin = null;FileOutputStream dest = newFileOutputStream("c:\\zip\\myfigs.zip");ZipOutputStream out = new ZipOutputStream(newBufferedOut...
  • 压缩文件 :toZip(String srcDir, OutputStream out,boolean KeepDirStructure)删除文件:deleteFolder(File folder)/*** 压缩成ZIP 方法1** @param srcDir* 压缩文件夹路径* @param out* 压缩文件输出流* @param ...
  • import org.apache.tools.zip.ZipEntry;import org.apache.tools.zip.ZipOutputStream;import java.io.*;import java.util.zip.CheckedOutputStream;.../*** @author chenssy** 将指定文件/文件夹压缩...
  • 正如老徐所说,实际使用linux工作中,我们经常需要用到移动文件,但是这里的文件移动指的是多文件移动到test/mov目录下在移动文件之前,因为我没有相对应的文件,需要查看一下我们想要的文件,结果如下[prodreamer@...
  • 初学的我们开始总是摸不清头脑,我们知道在Linux下的后缀名是没有什么很特殊的意义的,不过,为了方便记忆,针对这些压缩命令所做出来的压缩文件,还是会一些特殊的命名方式,Linux下常见的压缩文件有*.tar,*.tar....
  • linux下压缩文件

    2021-05-09 00:53:44
    9月30日任务6.1 压缩打包介绍6.2 gzip压缩工具6.3 bzip2压缩工具6.4 xz压缩工具压缩打包压缩文件是为了传输时节省带宽流量。windows常见的压缩格式:rar、zip、7z、zip,linux下zip、gz、bz2、xz、7z、tar.gz、...
  • 满意答案judykissy2013.10.14采纳率:53%...《==打包与压缩tar [-j|-z] [tv] [-f 建立的档案名] 《==查看档案tar [-j|-z] [xv] [-f 建立的档案名] [-C 目录] 《==解压缩选项与参数:-c:建立打包档案,可搭配-v来观察...
  • java 压缩zip文件

    千次阅读 2021-03-17 12:58:07
    } } /** *//** * 压缩文件 * * @param zos * 压缩输出流 * @param file * 文件对象 * @param relativePath * 相对路径 * @throws IOException * @author * @date */ private static void zipFile(ZipOutputStream ...
  • 原标题:如何在 Linux 中压缩和解压缩文件 编译自: https://www.ostechnix.com/how-to-compress-and-decompress-files-in-linux/作者: Sk译者: Lv Feng当在备份重要文件和通过网络发送大文件的时候,对文件进行...
  • java实现文件压缩

    2021-03-15 17:40:33
    java实现文件压缩:主要是流与流之间的传递代码如下:package com.cst.klocwork.service.zip;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;...
  • 使用linux的zip命令压缩文件发布时间:2020-07-22 10:07:26来源:亿速云阅读:97作者:清晨栏目:服务器这篇文章主要介绍使用linux的zip命令压缩文件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们...
  • php下载压缩文件

    2021-03-28 08:12:55
    压缩文件是正常的,但是下载到本地就提示损坏,打不开,但是随便创建一个压缩文件下载又是正常的$froot = dirname($_SERVER['DOCUMENT_ROOT']) . '/upzip/' . $id . '.zip';if(!file_exists($froot)){exit("无法找到...
  • 使用本软件可以轻松对电脑中的压缩文件进行解压,也可以将电脑中的文件添加到压缩文件中;进入下载BandiZip 6.21 多国语言版大小:6.2 MB日期:2019/2/25 8:52:30环境:WinXP,Win7解压文件极速小编就给大家演示一下...
  • 请慎重使用固实压缩文件

    千次阅读 2021-01-12 07:03:39
    装机员为您提供请慎重使用固实压缩文件的文章咨询供您阅读,如何使用请慎重使用固实压缩文件的方法对您帮助也请您举手之劳分享给您身边的人。一种用以运行从压缩文件解压文件的模块,RAR和7z 的压缩文件可由用户...
  • 什么是压缩文件?原理是什么?简单的说,就是经过压缩软件压缩文件压缩文件,压缩的原理是把文件的二进制代码压缩,把相邻的...常见的压缩文件有*.tar,*.tar.gz,*.tgz,*.gz,*.Z,*.bz2,为啥这么多种压缩文件?这是...
  • 统计(文件|压缩文件)的行数zcat file.gz | sed -n '$=' #迅速。直接打印出多少行。-n取消默认的输出,使用安静(silent)模式 '$=' 不知道是什么意思zcat file.gz |awk ‘END{print NR}’ # 迅...
  • 简单来说,经过压缩软件压缩的文件叫压缩文件,压缩的原理是把文件的二进制代码压缩,把相邻的0,1代码减少,比如000000,可以把它变成6个0的写法60,来减少该文件的空间。压缩文件的基本原理是查找文件内的重复...
  • } //构建压缩文件File File zipFile = new File(zipFileName); //初期化ZIP流 ZipOutputStream out = null; try { //构建ZIP流对象 out = new ZipOutputStream(new FileOutputStream(zipFile)); //循环处理传过来的...
  • 博主:实际上,很多相关的博客,但我测试了很多都 会出现两个问题,为避免新手踩坑而写问题:1、压缩完成.../*** 压缩多文件** @param files 多个文件* @param basePath 压缩文件内的相对路径* @param zipFile 压缩...
  • 一下代码实现的是将多个文件进行压缩,采用的是边压缩边下载的方式/*** 压缩文件* @param exportFilePathList* @param response*/public static void downloadPictureZip(List exportFilePathList, ...
  • #压缩文件def Zip_files(): datapath = filepath# 证据路径file_newname = datapath + '.zip'# 压缩文件的名字log.debug(file_newname) z = zipfile.ZipFile(file_newname,'w',zipfile.ZIP_DEFLATED) for dirpath,...
  • 它可以把多个文件压缩成一个文件。这在网络上传输时很有用,而且节省硬盘空间。接下来,我们使用Python实现压缩和解压。1、读取ZIP文件信息要读取ZIP文件的内容,首先必须创建一个ZipFile对象。ZipFile对象在概念...
  • 如何压缩css文件

    2021-06-12 05:17:19
    CSS代码压缩原因CSS代码压缩最主要因素是,压缩后的CSS代码所占用字节数减少(文件大小减小),如果访问量比较小的网站这点压缩后代码的优势不是很明显。但对于比较大的网站,访问量大网站来说节约就显得很必要,一...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,109,357
精华内容 443,742
关键字:

压缩文件里有其他文件