Como obter e copiar uma saída muito longa completamente no terminal?


8

No terminal, um comando tem uma saída muito longa. Mas quando eu retrocesso, vejo que está truncado e apenas a última parte é exibida. No Gnome-Terminal e no Konsole, tenho esse problema. No xterm não existe esse problema, mas não consigo copiar a saída no xterm.

Como posso obter a saída completa?


Respostas:


5

Eu sei que no xfce4-terminal existe uma opção para aumentar o número de linhas mostradas:

insira a descrição da imagem aqui

Para o ubuntu Terminal insira a descrição da imagem aqui

Além disso, há o que @ Zelda64fan disse.


+1 Cachimbo e teenão são ideais como o trabalho não faça em alguns casos como take em umHROOT 3NVIORTNM3NT
22lk94k943 única

9

Você pode enviar a saída para um arquivo: command > file.txt(onde commandestá o comando que você deseja executar e file.txto arquivo em que deseja salvá-lo) e depois visualizá-lo gedit file.txt.


8

Use xclip

cat long.output | xclip -sel clip

Se não estiver instalado, você pode fazer

sudo apt-get install xclip

Este é o meu favorito pessoal para terminais GUI. Infelizmente, com o TTY não funcionará, apenas o redirecionamento para um arquivo ajudará lá #
Sergiy Kolodyazhnyy

5

Se você não precisa de toda a produção, você poderia canalizá-lo através de menos: command | less. Isso também evitaria a necessidade de excluir o arquivo depois de revisar a saída.


lesssaída é muito difícil de copiar.
Sparhawk

2

No xterm, a autocópia na seleção deve ser o padrão. Tente clicar três vezes e use o botão do meio do mouse (ou o terceiro botão emulado) para colar.

O mesmo deve funcionar com outros terminais, mas você precisa copiar e colar manualmente.

Existem muitas, muitas maneiras de fazer isso. Eu gosto de usar scriptem alguns casos. Digite 'script' em uma linha de comando para iniciá-lo antes de iniciar um comando na linha de comando e pressione Ctrl-D para parar. Se você não especificar um nome de arquivo de captura, 'typescript' é o padrão. Tudo o que é impresso na tela deve ser capturado no arquivo.


2

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 em que 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
    

script -c "rails runner -e development lib/scripts/my_script.rb" report.txtme ajudou a capturar facilmente a saída muito longa de um script de corredor do Rails para um arquivo. Tentei usar o redirecionamento para um arquivo, mas ele foi gravado apenas no final do script. Isso não me ajudou, porque eu tinha poucos comandos interativos no meu script. Então eu usei apenas scriptno meu e, em seguida, executei a rails runnersessão de script, mas não escreveu tudo. Então eu encontrei isso script -c "runner command here" output_filee ele salvou toda a saída conforme desejado. Isso foi no Ubuntu 14.04 LTS
Jignesh Gohel
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.