Este comando irá colocar os arquivos tar no diretório atual sem o primeiro ./ :
tar cf /some/tarfile.tar *
Claro, não incluirá nomes de arquivos que começam com um período, o que provavelmente não é o que você deseja. Você pode adicionar curingas adicionais para captá-los:
tar cf /some/tarfile.tar * .[a-zA-Z]*
Mas esta não é uma solução de propósito geral; você precisa saber quais nomes de arquivos estão no diretório para criar curingas apropriados.
O GNU tar - que é o que a maioria das distribuições Linux usa - tem um recurso para transformar nomes de arquivos usando expressões sed . Isso removerá o ./ dos arquivos durante a criação do arquivo:
tar cf /some/tarfile.tar --transform 's,^\./,,' .
O arquivo resultante ainda terá uma entrada para o "." próprio diretório.
Algumas versões do tar podem ler os nomes dos arquivos a serem tarados de um arquivo. Você pode explorar esse recurso para fazer isso:
ls -a | egrep -v '^\.\.?$' | tar cf - -T /dev/stdin
Este pipeline constrói uma lista de todos os arquivos no diretório atual, remove as entradas . e .. e canaliza o restante dos nomes para tar . tar faz o arquivo de nomes de arquivos ler /dev/stdin (sua entrada padrão).