Por que o comando ls requer um traço antes de seus parâmetros, mas para o comando tar, o traço é opcional?

4

Eu sou novo no Ubuntu e estou tentando entender a linha de comando.

Quando eu quero ver o conteúdo de um arquivo tar, eu uso:

tar tf tarfile.tar

Mas quando eu quiser ver uma listagem de todos os arquivos, se eu usar:

ls a filename

Diz:

ls: cannot access a: No such file or directory

Por que isso?

Por que o sinal de menos "-" é necessário para um comando e não para o outro?

    
por Dianne 25.11.2014 / 22:36

1 resposta

8

O comando tar é um dos comandos mais antigos do * nix. Foi criado há muito tempo para fazer arquivos de fita onde os dados eram armazenados em unidades de fita.

Quando o utilitário foi escrito, o padrão atual de colocar um traço para indicar um parâmetro ainda não foi inventado.

É opcional para o tar, mas obrigatório para quase todos os outros comandos.

    
por 25.11.2014 / 22:39