Questions tagged «gzip»

数据压缩程序。最初是GNU实用程序,已被大多数Unix变体克隆。


3
如何告诉gzip保留原始文件?
我想使用gzip命令行工具压缩文本文件,同时保留原始文件。默认情况下运行以下命令 gzip file.txt 导致修改此文件并重命名file.txt.gz。除了现有的以外,我还想拥有这个新的压缩文件file.txt。现在,我正在使用以下命令来执行此操作 gzip -c file.txt > file.txt.gz 它有效,但是我想知道为什么没有更简单的解决方案来完成这样的常见任务?也许我错过了这样做的选择?
210 command-line  files  gzip 

4
为什么tar存档格式切换到xz压缩以替换bzip2,而gzip呢?
越来越多的tar档案馆使用xz基于LZMA2 的格式进行压缩,而不是传统的bzip2(bz2)压缩。实际上,kernel.org在2013年12月27日发布了最新的“ 再见bzip2 ” 公告,表示从那时起内核资源将以tar.gz和tar.xz格式发布-并在网站的主页上发布直接提供的是tar.xz。 有什么具体原因可以解释为什么会发生这种情况,以及gzip在这种情况下有什么意义?
202 history  gzip  bzip2  xz 



10
如何在UNIX中解压缩zlib数据?
我已经在Python中创建了zlib压缩的数据,如下所示: import zlib s = '...' z = zlib.compress(s) with open('/tmp/data', 'w') as f: f.write(z) (或单行中壳:echo -n '...' | python2 -c 'import sys,zlib; sys.stdout.write(zlib.compress(sys.stdin.read()))' > /tmp/data) 现在,我想解压缩shell中的数据。既不zcat也不uncompress工作: $ cat /tmp/data | gzip -d - gzip: stdin: not in gzip format $ zcat /tmp/data gzip: /tmp/data.gz: not in gzip format $ …
106 compression  gzip 

4
将文件添加/更新到现有的tar.gz归档文件?
有没有一种方法可以在tar.gz归档文件中添加/更新文件?基本上,我有一个存档,其中包含一个文件,/data/data/com.myapp.backup/./files/settings.txt我想从存档中拉出该文件(已完成),并在完成编辑后将其推回到存档中。我该怎么做?是否因为.路径而有问题?
73 tar  gzip 

10
有没有将zcat和cat透明结合的工具?
处理日志文件时,某些文件最终要归为压缩文件,logrotate而其他文件则不然。因此,当您尝试这样的事情时: $ zcat * 您最终得到如下命令行zcat xyz.log xyz.log.1 xyz.log.2.gz xyz.log.3.gz: gzip: xyz.log: not in gzip format 是否有一个工具可以获取神奇的字节(类似于其file工作原理),并根据结果使用zcat或cat取决于结果,以便grep例如将输出通过管道传输到? 注意:我知道我可以编写脚本,但是我在问是否已经有工具。

5
tar提取取决于文件名吗?
我经常使用wget从sourceforge.net下载tarball。 然后将下载的文件命名,例如 SQliteManager-1.2.4.tar.gz?r=http:%2F%2Fsourceforge.net%2Fprojects%2Fsqlitemanager%2Ffiles%2F&ts=1305711521&use_mirror=switch 当我尝试 tar xzf SQliteManager-1.2.4.tar.gz\?r\=http\:%2F%2Fsourceforge.net%2Fprojects%2Fsqlitemanager%2Ffiles%2F\&ts\=1305711521\&use_mirror\=switch 我收到以下错误消息: tar (child): Cannot connect to SQliteManager-1.2.4.tar.gz?r=http: resolve failed gzip: stdin: unexpected end of file tar: Child returned status 128 tar: Error is not recoverable: exiting now 将文件重命名为foo.tar.gz解压缩后效果完美。 有没有一种方法,在提取之前我不必每次都重新命名目标文件?
33 shell  tar  gzip 

2
为什么文件的gzip版本会产生不同的md5校验和
我有四个文件是使用 svndump test.svn test2.svn test.svn.gz test2.svn.gz 现在当我运行这个 md5sum test2.svn test.svn test.svn.gz test2.svn.gz 这是输出 89fc1d097345b0255825286d9b4d64c3 test2.svn 89fc1d097345b0255825286d9b4d64c3 test.svn 8284ebb8b4f860fbb3e03e63168b9c9e test.svn.gz ab9411efcb74a466ea8e6faea5c0af9d test2.svn.gz 因此我无法理解为什么gzip压缩文件的方式有所不同,是否在压缩之前将时间戳记放置在某个地方?我有一个类似的问题,mysqldump因为它使用顶部的日期字段
28 gzip  hashsum 

4
解决大型GZIPPED文件未压缩大小的最快方法
压缩文件后,有一种方法可以快速查询该文件,以说出未压缩文件的大小(不解压缩),尤其是在未压缩文件的大小> 4GB的情况下。 根据RFC https://tools.ietf.org/html/rfc1952#page-5,您可以查询文件的最后4个字节,但是如果未压缩的文件大于4GB,则该值仅代表uncompressed value modulo 2^32 也可以通过运行检索此值gunzip -l foo.gz,但是“未压缩”列仅包含uncompressed value modulo 2^32一次,大概是因为它如上所述读取了页脚。 我只是想知道是否有一种无需先解压缩即可获取未压缩文件大小的方法,这在压缩文件包含50GB +数据并且使用诸如 gzcat foo.gz | wc -c 编辑: 4GB限制已在OSX()随附man的gzip实用程序页面中公开确认Apple gzip 242 BUGS According to RFC 1952, the recorded file size is stored in a 32-bit integer, therefore, it can not represent files larger than 4GB. This limitation …
24 compression  gzip 

3
压缩目录中的所有.gz文件
我有一个包含大量.txt.gz文件的目录(名称不遵循特定的模式。) 对gunzip他们来说最简单的方法是什么?我想保留原来的名称,让他们从去whatevz.txt.gz到whatevz.txt
24 gzip 

5
即时流压缩不会溢出到硬件资源中吗?
我有200 GB的可用磁盘空间,16 GB的RAM(其中约1 GB被台式机和内核占用)和6 GB的交换空间。 我有一个240 GB的外部SSD,其中70 GB已使用1,其余的则免费,我需要备份到磁盘上。 通常,我会dd if=/dev/sdb of=Desktop/disk.img先将磁盘压缩,然后再压缩它,但首先制作映像不是一个选择,因为这样做会比我需要更多的磁盘空间,即使压缩步骤会导致压缩可用空间,因此最终存档可以轻松放入我的磁盘中。 dd默认情况下会写入STDOUT,并且gzip可以从STDIN读取,因此从理论上讲,我可以进行写入dd if=/dev/sdb | gzip -9 -,但是gzip读取字节所需的时间比dd产生字节的时间长得多。 来自man pipe: 写入管道写入端的数据由内核缓冲,直到从管道读取端读取数据为止。 我将一个|虚拟的管道想象成一个真实的管道-一个应用程序将数据放入管道,另一个应用程序将数据尽快从管道队列中取出。 当左侧的程序比管道的另一端希望更快地写入更多数据时,怎么办?它会导致过多的内存使用或交换使用,还是内核会尝试在磁盘上创建FIFO,从而填满磁盘?还是SIGPIPE Broken pipe如果缓冲区太大会失败? 基本上,这可以归结为两个问题: 将更多数据放入管道中比一次读取更多的含义和结果是什么? 将数据流压缩到磁盘而不将整个未压缩的数据流放在磁盘上的可靠方法是什么? 注意1:由于碎片等原因,我不能完全复制前70个已使用的GB并期望得到一个工作系统或文件系统,这需要完整的内容。
23 pipe  dd  compression  gzip 

4
如何原地压缩文件?
我有一台具有90%硬盘使用率的计算机。我想将其500多个日志文件压缩为一个较小的新文件。但是,硬盘太小,无法保存原始文件和压缩文件。 因此,我需要将所有日志文件一个一个地压缩为一个新文件,并在压缩后删除每个原始文件。 如何在Linux中做到这一点?

1
使用gzip压缩目录中已存在的.gz文件以外的文件
我有一个日志目录,我想设置一个使用gzip压缩的作业。问题是我不想重新压缩已经压缩的日志。 我尝试使用ls | grep -v gz | gzip,但这似乎不起作用。 有没有办法做到这一点?基本上,我想gzip目录中未以.gz结尾的每个文件。
19 gzip 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.