gunzip 的默认行为是在解压后删除 .gz 文件。
如何防止它删除文件?
如果不包括此功能,那么是否有替代程序允许这样做?
我正在使用 Ubuntu 9.04
我需要打开一个文件,但遗憾的是,该.tar.gz
文件仅在文件格式中可用,并且我使用的是 Windows 7。我可以使用7-zip解压缩该文件,但之后我仍然有一个.tar
无法在 Windows 中打开的文件。
有没有办法.tar.gz
在 Windows上打开文件?
我很确定我不是唯一一个遇到以下问题的人:每次我需要在 *nix 中解压缩文件时,我都不记得所有的开关,最终在谷歌上搜索它,考虑到我需要多久解压一次,这令人惊讶做这个。
你有一个好的压缩备忘单吗?或者 tar 中所有那些讨厌的开关的助记符怎么样?
我正在将这篇文章变成一个 wiki,以便我们可以在这里创建一个不错的备忘单。
哦,关于手册页:有没有一件事他们没有帮助,它是为了弄清楚如何解压缩文件。
请找到我的操作系统详细信息:
$ uname -a
AIX xxyy 1 6 000145364C00
Run Code Online (Sandbox Code Playgroud)
我尝试了以下命令来获取 gzip 存档中文件的大小:
$ gzip -l mycontent.DAT.Gz
compressed uncompr. ratio uncompressed_name
-1223644243 1751372002 -75.3% mycontent.DAT.Gz
Run Code Online (Sandbox Code Playgroud)
不知道如何解释解压后的大小。压缩文件大小接近 4 GB。
因此,我尝试了此选项以捕获正确的数据:
$ zcat mycontent.DAT.Gz | wc -c
Run Code Online (Sandbox Code Playgroud)
它给了我这个错误:
mycontent.DAT.Gz.Z:A file or directory in the path name does not exist.
0
Run Code Online (Sandbox Code Playgroud)
你能告诉我如何在不解压源文件的情况下从 shell 脚本中捕获这个值吗?
我正在使用此命令来归档以g
Java 代码命名的目录:
tar czf /a/b/c.tar.gz /e/f/g
Run Code Online (Sandbox Code Playgroud)
c.tar.gz
创建tar 文件后,我找到了一个完整的路径,e/f/g
然后找到了其中g
文件夹的所有文件。但是我只想g
在打开压缩包时看到该文件夹下的文件。如何删除/e/f/
.tar.gz 文件中的文件夹?
所以我试图对我的整个目录结构进行 gzip 备份,但我无意中发出了命令gzip -r ./
,希望将所有文件和文件夹添加到单个 gzip 存档中。
这显然是非常错误的,但在我有时间退出之前,它单独(递归地)压缩了我的每个文件并删除了原始文件。现在我有一个完全由 gzip 文件组成的文件结构。有谁知道撤消我所做的操作的命令(即,将 gzip 文件解压缩到位,然后删除 gzip 文件)?
编辑:归功于格雷格,gunzip -r ./'
解决了它!
我有一堆 tar.gz 文件,我想做一个“grep something * -Rin”,就像如果它们不是 tar.gzed 一样。我想将它们按原样保留 tar.gzed,但在运行时对它们进行 grep 并找到带有前缀文件和行号的 grep 出现。
就像是:
grep mytoken1 *.tar.gz -Rin
并得到类似的东西:
my1.tar.gz,dir1/file2:123:mytoken1 在这一行 my2.tar.gz,dir2/file3:233:mytoken1 也在另一行 [...]
有没有办法做到这一点?
我想存档 3 个文件夹,在 Ubuntu 命令提示符下给出它们的名称。
当我使用tar -c abc tt zz
-> 时,它什么也不做。
我有一些当前已被 gzip 压缩的大文件,我想对它们进行 xz。我想设置一个脚本来执行此操作,但我要小心不要丢失数据,即我永远不应该删除 gzipped 版本,除非 xz 版本确实创建正确。由于这些是大文件,我也不想先将文件解压缩到磁盘。我在想一个管道set -o pipefail; gzip -dc file.gz | xz > file.xz && rm file.gz
可能接近我想要的。这样做的正确方法是什么?这是否保证可以捕获在删除最终文件之前发生的任何故障?
据我所知,这种类型的文件是一个存档,就像 RAR 文件一样。为什么没有简单明了的 .targz 扩展名?是否有不止一个程序在创建这种文件,并且每个程序都将其扩展名添加到生成的文件中?
有没有其他等同于这种类型的文件?这是迄今为止我看到的唯一的“双重扩展”。有没有其他类似的文件?
有谁知道任何支持 64 位 Windows 的 Gzip 版本?我找不到任何东西。
我正在使用以下内容来创建 tgz 文件:
tar zcf - /usr/folder | split -b 30720m - /usr/archive.tgz
Run Code Online (Sandbox Code Playgroud)
现在我得到三个文件:archive.tgzaa、archive.tgzab 和 archive.tgzac
所以我想再次将这三个档案组合成一个 tgz 文件......
cat archive.tgza* | (tar x)
tar: Archive is compressed. Use -z option
tar: Error is not recoverable: exiting now
Run Code Online (Sandbox Code Playgroud)
然后我做了:
cat archive.tgza* | (tar z)
tar: You must specify one of the `-Acdtrux' options
Try `tar --help' or `tar --usage' for more information.
Run Code Online (Sandbox Code Playgroud)
然后最后:
cat archive.tgza* | (tar xz)
Run Code Online (Sandbox Code Playgroud)
工作,但它开始解压缩档案......我怎样才能简单地将它重新加入一个档案?
谢谢 !