Para que serve 'gato'?

Para que serve 'gato'?

Eu vi o comando cat aparecer em algumas coisas on-line e fiquei curioso para saber o que catfazia e para que serve no contexto de alguém que está apenas fazendo algumas coisas simples de linha de comando.

Responder1

catO objetivo principal do é congatoenate arquivos. cat file1 file2 ...irá mostrar o conteúdo de file, file2e os demais um após o outro, como se o conteúdo estivesse em um único arquivo. Veja opágina de manual:

NAME
       cat - concatenate and print files

Destina-se ao uso onde:

  • um comando de destino não pode ler arquivos e você precisa passar vários arquivos para ele. Um exemplo é otrUtilitário. Normalmente, com um arquivo, você faria:

    tr < file
    

    Mas com vários arquivos, o redirecionamento não pode ser usado, então você precisa fazer:

    cat file1 file2 ... | tr
    
  • um comando de destinopodelê vários arquivos, mas seu comportamento pode mudar quando recebe vários arquivos. Um exemplo éwc, que imprime as contagens de cada arquivo, junto com os nomes dos arquivos, onde você poderia querer apenas o total, sem um nome de arquivo.

Lembre-se de que a maioria dos comandos que você encontra ( grep, sed, awk, sort, ...) podem ler arquivos perfeitamente.

Se você quiservisualizaro conteúdo de um arquivo,use umpager-lessemoreambos são eminentemente capazes de apresentar arquivos para visualização e são muito mais convenientes de usar.

Responder2

caté um dos comandos usados ​​com mais frequência em sistemas operacionais do tipo Unix. Possui três funções relacionadas em relação aos arquivos de texto:

  1. exibindo-os
  2. combinando cópias deles
  3. criando novos.
  4. Copiar arquivos

a sintaxe geral do gato é:

cat [options] [filenames] [-] [filenames]

Lendo arquivos

O uso mais comum de cat é ler o conteúdo de arquivos, e cat costuma ser o programa mais conveniente para essa finalidade. Tudo o que é necessário para abrir um arquivo de texto para visualização no monitor é digitar a palavra cat seguida de um espaço e o nome do arquivo e a seguir pressionar a tecla ENTER. Por exemplo, o seguinte exibirá o conteúdo de um arquivo chamado file1:

cat file1

Concatenação

A segunda função do gato é a concatenação. (Esta é a fonte do curioso nome do gato.) Não há efeito nos arquivos originais.

Por exemplo, o comando a seguir concatenará cópias do conteúdo dos três arquivos arquivo1, arquivo2 e arquivo3:

cat file1 file2 file3

O conteúdo de cada arquivo será exibido na tela do monitor. Essa saída poderia ser facilmente redirecionada usando o operador de redirecionamento de saída para outro arquivo, como file4, usando o seguinte:

cat file1 file2 file3 > file4

Criação de arquivo

Graças a@muruComente :cat é capaz de criar novos arquivos dependendo do recurso de redirecionamento do shell e não dele mesmo

Para arquivos pequenos, isso geralmente é mais fácil do que usar o vi, o gedit ou outros editores de texto. Isso é feito digitando cat seguido do operador de redirecionamento de saída e do nome do arquivo a ser criado, pressionando ENTERe finalmente pressionando simultaneamente as teclas Ctrl& .d

Por exemplo, um novo arquivo chamado file1 pode ser criado digitando

cat > file1

em seguida, pressione ENTERe pressione simultaneamente as teclas Ctrl& d.

PS1: Se um arquivo chamado file1 já existir, ele será sobrescrito

PS2: você pode anexar ao arquivo encerrado usando >>o exemplo do operador de acréscimo cat >> arquivo1

Copiar arquivos

O comando cat também pode ser usado (dependendono recurso de redirecionamento de shell) para criar um novo arquivo e transferir para ele os dados de um arquivo existente. Exemplo: faça uma cópia do arquivo oldfile.txt:

cat oldfile.txt > newfile.txt

Referências:

Responder3

Pode ser usado para mostrar o conteúdo de um arquivo. Por exemplo: cat "my file.txt". Você também pode fazer isso man catpara mostrar os detalhes sobre o que catpode ser usado.

Responder4

Aqui estáoutra maneirapara criação de arquivos usando redirecionamento de shell (ou tubulação) e cat:

cat << EOF > foo.sh
#!/bin/sh
echo 'Hello World!'
EOF

cat << EOFproduzirá as seguintes linhas até que a string EOFseja encontrada novamente. Então >( >>) redirecionará a saída para o arquivo foo.sh. Alternativamente, se você precisar criar um arquivo como root, você pode canalizar a saída para o comando tee( tee -a), executado pelo comando sudo:

cat << EOF | sudo tee foo.sh && sudo chmod +x foo.sh
#!/bin/sh
HELLO='Hello World!'
echo "\$HELLO"
EOF
  • O procedimento acima tornará o arquivo executável ( chmod +x) se for criado com sucesso ( &&).
  • O significado especial de alguns caracteres (como $) deve ser escapado (com \) na saída de cat.

informação relacionada