Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida sobre o comando cat -n

Boa tarde, Quando eu vou testar o comando (cat -n) no terminal o ponto de inserção de texto acaba indo direto para a linha de baixo, os comandos ficam invalidos e qualquer coisa que eu digite fica sendo numerado. Ex: Eu digito Casa 1 casa Papel 2 Papel Bola 3 Bola. Pq isso ocorre e como eu saio dessa função?

2 respostas
solução!

Olá, Mayara. Tudo bem?

Os comandos no Linux funcionam baseados em fluxo de dados ou stream. Os dados entram em uma ponta, são processados pelo comando e saem por outra ponta. A entrada padrão desse fluxo é o que você digita no teclado e a saída padrão é a tela do terminal.

Os comandos também permitem que essa entrada, ao invés de ser feita pelo que você escreve, seja feita por arquivos como o que o cat faz quando você passa um arquivo para ele. Na verdade, até mesmo a entrada padrão é implementada como um arquivo, mas esse detalhe é mais avançado e pode ficar pra depois.

Quando você não passa nenhum arquivo para o cat, ele vai ser executado usando a entrada padrão do terminal. Quando você digita algo e pressiona a tecla enter, o cat usa aquilo que você digitou como input para o programa, processa e mostra o resultado. Como você passou a opção -n, ele vai enumerar aquela entrada que você passou. Ele vai fazer isso até identificar que não tem mais entradas para processar. Os arquivos possuem um "caractere" especial que indica que eles acabaram, o EOF - End Of File (fim do arquivo). Mas como não estamos processando um arquivo propriamente dito, temos que dar um jeito de mandar um sinal para indicar o fim.

Esse sinal é mandado pressionando Ctrl + D, é o sinal chamado EOF, que identifica que o arquivo terminou. Quando você mandar o EOF, o cat entende que chegou no fim do arquivo que ele estava lendo e para a execução.

Outra forma de parar é pressionando Ctrl + C, mas nesse caso é um sinal mais geral de interromper a execução do processo que está rodando.

Espero ter ajudado. Se tiver dúvidas é só dizer.

Ajudou sim , deu certo.

Muitooo obrigada pela explicação! :)