在 Newham 和 Rosenblatt 撰写的第三版“学习 Bash shell”中,第 19 页提到了解压缩名为gcc.tar.Z
.
类型
uncompress gcc.tar &
(您可以省略 Z)。
为什么作者说“你可以省略 Z”?为什么不留着呢?...
在man uncompress
Ubuntu 16.04 中,我找到了 Gunzip(“Gzip”)手册,上面写着:
如果压缩文件名对其文件系统来说太长,gzip 会截断它。Gzip 尝试仅截断文件名中超过 3 个字符的部分。
gunzip 在其命令行上获取文件列表,并用未压缩的文件替换名称以 .gz、-gz、.z、-z 或 _z(忽略大小写)结尾且以正确幻数开头的每个文件原始扩展。gunzip 还将特殊扩展名 .tgz 和 .taz 分别识别为 .tar.gz 和 .tar.Z 的简写。压缩时,gzip 会在必要时使用 .tgz 扩展名,而不是截断具有 .tar 扩展名的文件。
gunzip 有时能够检测到错误的 .Z
我承认我并不完全清楚为什么该程序具有上述行为。
我不会说“应该”,但你当然可以,因为
uncompress
实用程序的file
参数是这样指定的,为了方便:(我还没有检查过,但这很可能是预先存在的行为,延续到规范中。)
gzip
至少在其默认.gz
扩展名中也支持这一点: