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 -