Para acompanhar a resposta do @ schily, para adicionar o diretório de nível superior abc
ao arquivo, sem adicionar nenhum subdiretório além de def
, com o GNU tar
, você faria:
tar -zcf file.tgz --no-recursion abc --recursion abc/def
Com o bsdtar
ou pax
da libarchive, você sempre pode reverter para ter find
gerando a lista exata de arquivos que deseja:
(printf 'abctar -zcf file.tgz --no-recursion abc --recursion abc/def
'; find abc/def -print0) | bsdtar -zcnf file.tgz --null -T -