通常,我取消归档内容,$ mkdir newFolder; $ mv *.zip newFolder; $ cd newFolder; $unzip *.zip但有时我会变得懒惰,只是在任意文件夹中进行操作,$ unzip *.zip因此不时会弄乱其他内容。我将在这里列出一些方法——一些存档版本肯定有蹩脚的标志,而另一些则更加简陋,我对后者更感兴趣。
有些方法可以取消存档,还有其他方法吗?
$ find . -anewer fileThatExistedBeforeUnarchieving -ok rm '{}' \;缺点是它列出了*.zip目录,因此您需要使用 slow -ok、 slow 与许多*.zip匹配项,并且由于某种原因,它似乎并不匹配提取的所有内容。
如果提取的文件量少,一个一个,慢,麻烦,容易出错。
当我想确定存档的内容是否实际上是一个文件夹时,我有时会使用$ unzip -l *.bsd,至少在 obsd 的解压缩版本中工作。
如果您指的是某些存档工具,请在适当的时候说明它们。保持简单——我更感兴趣的是你如何做到这一点,而不是一个单一的工具。
目前,如果我下载压缩文件,它可以是 .tar.gz 存档、tar.bz2 存档、.zip 存档或 .gz 存档中的任何一个。每次这样做时,我都必须记住该程序的命令行选项是什么。
有没有我可以去的 CLI 程序:
解压缩某个文件。?
并让它弄清楚存档的格式是什么?(用于避免与任何真实程序冲突的过长名称)
我必须使用命令 gzip(不是 tar - 这是必需的)创建一个存档,并且存档应该包含来自另一个目录的文件 - 例如,/etc。我尝试使用命令
gzip myetc.gz /etc
Run Code Online (Sandbox Code Playgroud)
但它没有用。
今天我有生以来第一次看到tar.xz下载。我在互联网上搜索并找到了维基百科文章(xz和XZ Utils)
关于用户的有趣报价 xz
xz 在 GNU coreutils 项目、[7] Debian 系列系统 deb(文件格式)、openSUSE、[8] Fedora、[9] Arch Linux、[10] Slackware、[11] FreeBSD、[ 12] Gentoo,[13] GNOME,[14] 和 TeX Live,[15] 以及作为压缩已编译 Linux 内核的选项。 [16] 2013 年 3 月,kernel.org 宣布使用 xz 作为分发内核存档文件的默认压缩文件格式。 [17]
我总是使用tar.gz. 何时以及为什么应该使用tar.xz?用例是什么?
我在第一次评论后发现已经发布了一个类似的问题。我经常压缩 mongodump/mongoexport (BSON/JSON) 和 mysqldump (SQL 文本)。将 tar.xz 用于这些备份是否有优势?
.tar.gz档案的一个问题是,当我尝试只列出档案的内容时,计算机实际上会对其进行解压缩,如果文件很大,这将需要很长时间。
其他文件格式,如.7z, .rar,.zip没有这个问题。列出它们的内容只需一瞬间。
在我天真的看来,这是.tar.gz存档格式的一个巨大缺点。
所以我实际上有两个问题:
.tar.gz尽管有这个缺点,为什么人们使用这么多? 我经常需要在服务器之间或向 aws s3 传输数百万个小文件(小图像、txt、json),平均每个文件 5-50k。
除了 zip/tar -cf 之外,是否有更快的方法将它们合并到单个文件中以优化传输速度?
工作中的海洋学家朋友需要备份数月的数据。她不知所措,所以我自愿去做。有数百个目录需要备份,我们希望将它们 tar/bzip 压缩到与目录同名的文件中。我可以连续轻松地完成此操作 - 但是 - 我想利用我工作站上的数百个内核。
问:使用find与-n -PARGS或GNU并行,我怎么焦油/ bZIP结构的目录,使用尽可能多的内核,同时尽可能的命名最终产品: origonalDirName.tar.bz2?
我已经使用 find 同时 bunzip 100 个文件并且它非常快 - 所以这是解决问题的方法,尽管我不知道如何让每个文件名成为每个目录的文件名。
我正在尝试在 OpenWrt (Pandorabox) 设备上安装 JavaSE。当我跑
tar -xvf ejdk-8u65-linux-arm-sflt.tar.gz
Run Code Online (Sandbox Code Playgroud)
我明白了tar: invalid tar magic。我怎么解决这个问题?
如何生成 tar 文件,因此 tar 文件的内容像原始文件一样按块对齐,因此可以从块级重复数据删除中受益(https://unix.stackexchange.com/a/208847/9689) ?
(我是否正确地认为 tar 格式没有任何内在因素阻止我们获得这样的好处?否则,如果不是 tar,是否可能还有另一个内置了此类功能的归档程序?)
PS 我的意思是“未压缩的 tar” - 不是 tar+gz 或其他东西 - 未压缩的 tar 和问题要求一些允许对齐文件块级别的技巧。AFAIRecall tar 是为与磁带机一起使用而设计的,所以也许在文件格式中添加一些额外的位来对齐是可能的和容易的?我希望它甚至可能有工具;)。据我记得 tar 文件可以连接,所以也许会有填充空间对齐的技巧。
我需要创建文件的压缩档案,并能够从中快速提取单个文件/目录。
问题是,例如,tar.bz2 似乎不是此类任务的最佳选择 - 在我的机器上从 200Mb 存档(50000 个文件)中提取单个 4kb 文件需要 17 秒。
是否有一些存档格式,可以从存档中快速导出单个文件(并在 linux 上工作)?
archive ×10
tar ×6
compression ×3
gzip ×3
zip ×2
btrfs ×1
command-line ×1
files ×1
linux ×1
openwrt ×1
parallelism ×1
rhel ×1
shell-script ×1