Modelo | Utilitário UNIX ( d ) |
---|
cat , que vem do inglês catenate , sinônimo de concatenate (ie: " concatenate "), é um comando padrão do Unix que permite concatenar arquivos e também exibir seu conteúdo na saída padrão - geralmente um terminal Unix ; na maioria das vezes " shells ", em particular Bash , zsh , Csh , etc.
tac (en) é o equivalente a cat, mas imprime o conteúdo de um arquivo do início ao fim .
Em sistemas Microsoft , seu equivalente é o comando type (en) .
Para visualizar um arquivo:
cat fichier.txtPara visualizar dois arquivos concatenados:
cat fichier1.txt fichier2.txtA " Especificação Única do UNIX " (especificação padrão do UNIX ) determinou que o comportamento do comando exibiria o conteúdo de cada arquivo fornecido no argumento na saída padrão em uma única sequência. Quando usado com a opção " -u " (não usado pelo GNU), este comando exibe cada octeto (byte em inglês) assim que é lido sem usar um buffer (buffer).
Se a opção " - " for aplicada, cat lerá a entrada padrão (exemplo: teclado) e a exibirá na sequência de saída. Se não houver nenhum arquivo como argumento, o cat lerá a entrada padrão.
cat, portanto, permite a exibição rápida e passiva do conteúdo de um arquivo.
Diferentes erros podem ser encontrados:
- Permissão negada (se o usuário não tiver o direito de ler o arquivo)
- É um diretório (se o usuário tentar ler uma pasta)
- Operação não suportada (se a ação não for possível por qualquer outro motivo)
Ambas as versões BSD e a versão GNU coreutils de cat suportam as seguintes opções:
O “ Jargão do Arquivo ”, na versão 4.3.3, define o comando cat da seguinte forma:
Para os fãs de Unix, cat é considerado um excelente exemplo do que é um design de " interface de usuário " porque, por um lado, ele fornece o conteúdo do arquivo sem quaisquer caracteres suplementares inesperados, como espaços ou separadores. Entre arquivos e, por por outro lado, não exige que o arquivo consista em linhas de texto, mas funciona com qualquer tipo de dado.
Para os críticos do Unix, cat é considerado o arquétipo do mau design de " interface do usuário " porque seu nome é particularmente mal escolhido. Na verdade, esse comando é usado muito mais para exibir um único arquivo na saída padrão do que para concatenar vários arquivos. Na verdade, o nome cat é, portanto, tão não intuitivo quanto o nome do comando cdr no Lisp, por exemplo, que visa extrair um ponteiro.
UUOC , extrair comp.unix.shell na Usenet , significa "Uso inútil de gato " (ou seja: uso desnecessário de gato ). Como alguns dos comp.unix.shell apontaram, o objetivo do comando cat é concatenar arquivos. Se for usado em apenas um arquivo, é uma perda de tempo e uma sobrecarga desnecessária de recursos: “O objetivo do cat é concatenar (ou 'catenar') os arquivos. Se for apenas um arquivo, concatená-lo com nada é uma perda de tempo e custará um processo »
Exemplos de UUOC
Vemos fazer:
cat file | autres_commandes avec leurs argumentsem vez de :
<file autres_commandes avec leurs argumentsou mais classicamente:
autres_commandes avec leurs arguments <fileque fazem a mesma coisa, mas são mais baratos em termos de recursos.
Desde 1995 , prêmios foram dados ocasionalmente para Best Useless Cat Uses (UUOC). Muitas vezes acontece que Randal L. Schwartz (en) , autor de vários livros sobre Perl e consultor de programação, apresenta esses prêmios. Há também um site dedicado exclusivamente ao Prêmio UUOC e outros prêmios semelhantes.
Para hackers , a exclusão de atividade UUOC é às vezes chamada de demoggificação ("Moggy" é um termo em inglês da Comunidade Britânica que designa afetuosamente um gato doméstico, "um gato").