tar 压缩文件夹而不指定文件名

Mar*_*son 5 command-line bash tar

是否可以使用 tar 压缩文件夹而不提供要存储的存档文件名?

通常你使用:

tar -zcvf prog-1-jan-2005.tar.gz /home/jerry/prog
Run Code Online (Sandbox Code Playgroud)

我想做类似的事情

tar -zcvf /home/jerry/prog
Run Code Online (Sandbox Code Playgroud)

并让它创建 prog.tar.gz

lge*_*get 5

你不能用tar这种方式。或者你需要修补它。

如果你不给文件(你不使用-f选项),tar将默认使用标准输出,即终端并最终失败,因为它会拒绝在终端上写入压缩数据。

因此,您必须以tar正确的方式调用: tar -zcvf prog.tag.gz /home/jerry/prog


Lau*_* C. 2

据我所知,这是不可能的,主要是因为“目的地名称”参数排在第一位。如果省略它,则会放置“源”参数而不是目标参数,这会使 tar 感到困惑。

如果您需要一个不知道要创建的存档名称的脚本,您可以考虑解析您的路径并创建一个名称以提供给 tar 命令。