Jargão arquivo definitionEdit
O Jargão do Arquivo versão 4.4.7 lista esta como a definição de cat
:
- Para vomitar um arquivo inteiro para a tela ou algum outro de saída do coletor, sem pausa (syn. explosao).
- por extensão, para despejar grandes quantidades de dados em um alvo não preparado ou sem intenção de navegar com cuidado. Uso: considerado tolo. Raros fora dos sites Unix. Ver também dd, BLT.,
Entre Unix fãs, gato(1) é considerada um excelente exemplo de interface do usuário de design, porque ele oferece o conteúdo do arquivo sem verbosidade como espaçamento ou cabeçalhos de entre os arquivos, e porque ele não requer que os arquivos consistem em linhas de texto, mas funciona com qualquer tipo de dados.
entre os críticos do Unix, cat (1) é considerado o exemplo canônico de mau design de interface de usuário, por causa de seu nome lamentavelmente invejoso. É muito mais usado para explodir um único arquivo para a saída padrão do que para concatenar dois ou mais arquivos., O nome cat para a operação anterior é tão pouco intuitivo como, por exemplo, o cdr de LISP.
uso inútil de catEdit
Uso inútil de cat (UUOC) é um jargão Unix comum para construções de linhas de comando que apenas fornecem uma função de conveniência ao usuário. Isto também é referido como”abuso de gato”. A atividade de fixação de instâncias de UUOC às vezes é chamada de desmoggificação., Exemplo de um comum cat
abuso é dada em prêmio:
cat filename | command arg1 arg2 argn
Isto pode ser reescrito usando o redirecionamento de stdin em vez disso, em uma das seguintes formas (a primeira é mais tradicional):
command arg1 arg2 argn < filename <filename command arg1 arg2 argn
Além de outros benefícios, o redirecionamento de entrada formulários permitem comando para executar de acesso aleatório sobre o arquivo, considerando que o cat
exemplos não., Isto porque a forma de redirecionamento Abre o arquivo como o descritor de arquivo stdin que o comando pode acessar completamente, enquanto o cat
forma simplesmente fornece os dados como um fluxo de bytes.
outro caso comum em que cat
é desnecessário é onde um comando por omissão funciona em stdin, mas será lido a partir de um arquivo, se o nome do arquivo for dado como um argumento., Este é o caso de muitos comandos comuns; os seguintes exemplos
cat "$file" | grep "$pattern" cat "$file" | less
podem ser escritos como
grep "$pattern" "$file" less "$file"
a common interactive use of cat
for a single file is to output the content of a file to standard output. No entanto, se a saída for encaminhada ou redirecionada, cat
é desnecessária.
acat
escrito com UUOC pode ainda ser preferido por razões de legibilidade, uma vez que a leitura de um fluxo encanado da esquerda para a direita pode ser mais fácil de conceituar., Além disso, um mau uso do símbolo de redirecionamento “>” em vez de “<” (muitas vezes adjacentes no teclado) pode excluir permanentemente o conteúdo de um arquivo, em outras palavras clobbering, e uma maneira de evitar isso é usar cat
com os tubos. Compare:
command < in | command2 > out <in command | command2 > out
com:
cat in | command | command2 > out