Nesse caso, significa "entrada padrão". Ele é usado por algum software (por exemplo, tar
) quando um argumento de arquivo é necessário e você precisa usar stdin. Não é uma construção de shell e depende do programa que você está usando. Verifique a manpage em caso de dúvida!
Neste exemplo, a entrada padrão é o argumento para a opção -f
. Nos casos em que -
não é suportado, você pode usar algo como tar xvf /proc/self/fd/0
ou tar xvf /dev/stdin
(o último é amplamente suportado em vários unices).
Não confie nisso para significar "entrada padrão" universalmente. Como não é interpretado pelo shell, todo programa é livre para lidar com isso da maneira que lhe agrada. Em alguns casos, é a saída padrão ou algo totalmente diferente: em su
significa "iniciar uma shell de login". Em outros casos, não é interpretado de forma alguma. A memória muscular fez com que eu criasse alguns arquivos chamados -
, porque alguma versão de algum programa que eu estava acostumada não acelerou o traço.