A convenção nos comandos Unix é que os nomes dos arquivos vêm por último (porque muitos comandos podem ter um número quase ilimitado de nomes de arquivos). Em outras palavras, a primeira coisa que não se parece com uma flag / opção é interpretada como um nome de arquivo [1] e assim é tudo o que se segue.
[1] Se você usar um arquivo que comece com um traço, poderá desambiguá-lo de duas maneiras:
- usando
./-foo
em vez de -foo
: rm ./-foobar
- usando um '-' no final das opções true, pois muitos comandos interpretam isso como o fim das opções e o início dos nomes dos arquivos:
rm -- -foobar
. Boas práticas de codificação de script recomendam o uso do --
"fence" em comandos em que os nomes dos arquivos não são predeterminados.