Como copiar a saída do terminal?

5

Eu executei comandos no terminal e há saídas mostradas no terminal. Eu quero selecionar toda a tela mostrada. Como conseguir isso?

Andy Frédéric ANDRIANIAINA
fonte
11
Selecioná-lo com o mouse e copiar ( Ctrl-Shift-C) não é uma opção?
Slhck
Ok, está certo! torná-lo como uma resposta para que eu possa lembrar e para que possa ganhar na pontuação
Andy Frédéric ANDRIANIAINA

Respostas:

8

Existem 2 opções,

  1. Você pode copiar e colar o texto selecionado usando Ctrl + Shift + Ce Ctrl + Shift + Vno qual você tem liberdade o que copiar OU
  2. Redirecionar o texto para um arquivo usando o redirecionamento

    program1> outputfile.txt 2> errorfile.txt

    aqui, todo o stdout irá para outputfile.txt enquanto todo o stderr irá para errorfile.txt.

PS a partir dos comentários abaixo,

  1. Selecione o texto a ser colado e use o botão do meio do mouse (botão de rolagem) para colá-lo no local desejado.
Vineet Menon
fonte
2
Há também o buffer. Na maioria dos emuladores de terminal que usei, se você copiar algum texto, poderá colá-lo em outro lugar com um clique na roda de rolagem.
Rob
@ Rob: não apenas em terminais, em qualquer lugar. Esse truque é pouco conhecido, mesmo para alguns usuários antigos do Linux.
m0skit0
Eu poderia jurar que não estava funcionando corretamente no meu navegador, não tenho meu netbook comigo para verificar.
Rob
6

Salve a saída do console em um arquivo:

  1. tee comando

comando tee - leia da entrada padrão e grave na saída e nos arquivos padrão.

Ele cria automaticamente o arquivo e salva, toda a saída do cmd ps -axem um arquivo nomeado como processes_infona mesma pasta de onde o cmd foi executado.

user@admin:~$ ps -ax | tee processes_info
  1. script comando

comando de script - crie texto datilografado da sessão do terminal.

user@admin:~$ script my_console_output.txt

Isso cria um arquivo nomeado como my_console_output.txte abrirá um subshell e registrará todas as informações nesta sessão. Depois disso, o script é iniciado e, independentemente da saída do console, ele será armazenado no arquivo my_console_output.txt; a menos e até o script terminar quando o shell bifurcado sair. (por exemplo, quando o usuário digita exitou quando CTRLDé digitado.)

user@admin:~$ script -c "ps ax" processes_info.txt
  • inicia o script;
  • cria o arquivo processes_info.txt;
  • armazena a saída do console no arquivo;
  • finalize (feche) o script.

    Outro exemplo:

    script -c 'echo "Hello, World!"' hello.txt
    
akD
fonte
1

Ao contrário das soluções sugeridas acima, você pode entrar em uma situação em que a saída foi impressa e não era inteligente o suficiente para saber de antemão que gostaria de registrá-la de alguma forma.

Nesse caso, você pode pelo menos salvar em um arquivo o texto que pode ser visto no momento no seu TTY usando o backlog via /dev/vcs#. Por exemplo, se você estivesse usando /dev/tty1, a lista de pendências deste terminal está disponível em /dev/vcs1, por exemplo:

# cat /dev/vcs1 > tty1.log

Os créditos são reservados para o The Arch Wiki: https://wiki.archlinux.org/index.php/Copying_text_from_a_terminal#Accessing_Linux_terminal_backlog

Doron Behar
fonte