如何压缩目录自动使用目录名?

如何压缩目录自动使用目录名?

当我使用 tar 时,我必须指定文件名

tar -zcvf xxx.tar.gz /home/xxx

我总是使用历史命令,并更改目录名称和 tar 文件名。有时我会错误地输入一个存在的 tar 文件名,然后该文件将被覆盖......

windows 下 Winrar 右键菜单有个选项‘压缩到 XXX’,可以自动生成一个以目录名命名的 rar 文件,
在 ubuntu 下怎么实现?

答案1

.bashrc使用编辑器打开文件并添加以下行:

   function tardir() {
        tar -zcvf $1.tar.gz $1
        return $?
   }
   export -f tardir

保存.bashrc并运行此命令:

  source .bashrc

现在您应该将函数作为命令调用:

  tardir XXX

您可以根据需要添加更多 bash 代码来检查 tar 文件是否已存在或 XXX 是否存在等等。

答案2

提取 tar 文件的目录应该存在:

mkdir foo
tar -xzf bar.tar.gz -C foo

相关内容