Como posso executar um comando e copiar sua saída?

8

Fui solicitado a executar um comando, copiar e colar a saída, mas não tenho ideia de por onde começar.

O que eu faço?

    
por Oli 22.08.2013 / 13:12

1 resposta

10

Espero que você tenha acesso a uma área de trabalho gráfica. É com isso que a primeira parte desta resposta trata. Se você não fizer isso, pule as três primeiras etapas e leia a parte inferior da resposta.

Etapa 1: carregue um terminal ...

O primeiro passo é abrir um terminal. Há uma infinidade de diferentes opções de terminal, mas a maioria dos usuários do Ubuntu terá gnome-terminal , os usuários do KDE tendem a ter konsole e os usuários do XFCE devem ter xfce4-terminal .

Depois de identificar qual comando você deseja executar, é apenas um caso de executá-lo.

  • Pressione Ctrl + Alt + T .
  • Os usuários do Unity e do Gnome Shell podem pesquisar pelo Terminal.
  • Os usuários do KDE podem encontrar o Konsole em Aplicativos → Sistema.
  • Todos os desktops podem pressionar Alt + F2 e digitar o nome binário do terminal (como acima) manualmente.

Etapa 2: executando seu comando

Este é o bit simples. Você deve estar olhando para algo como o seguinte:

Você pode digitar o comando ou copiá-lo (selecione o texto, clique com o botão direito, "Copiar" e, em seguida, clique com o botão direito no terminal, "Colar"). Copiar & amp; Colar é recomendado para comandos longos. Queremos evitar erros na transcrição!

Quando você digitou ou colou o comando nesta janela, pressione Return . A saída deve aparecer agora na tela como abaixo:

Etapa 3: copiando o conteúdo

A cópia é semelhante à maioria dos outros aplicativos, exceto pela maioria dos consoles que só sabem copiar "blocos". Para copiar, basta usar o mouse para arrastar a saída até que seja destacada, assim:

Clique com o botão direito no terminal (para ir ao menu Editar) e selecione "Copiar". Então você pode voltar para o seu navegador ou editor e colá-lo. Nós terminamos.

Etapa 3.5: alternativa para cópia:

Veja como você está aprendendo a linha de comando agora, você também pode usar um comando chamado xclip para inserir diretamente coisas na área de transferência do X. Isso só funcionará se uma GUI estiver sendo executada.

lspci -nnk | grep VGA -A1 | xclip -selection clip

Nota: você pode omitir -selection clip , mas os dados estarão em sua prancheta de clique do meio - sim, há duas pranchetas ... Uma história para outro dia, talvez:)

Adendo: extrair dados da linha de comando sem Copiar & amp; Colar

Se você precisar obter a saída de um computador que, por exemplo, as configurações de exibição estão tão quebradas que você não pode entrar em um desktop utilizável, temos que encontrar outro método para extrair a saída. Você poderia fazer isso manualmente, mas muitas vezes (no caso de registros) isso é impraticável.

No mínimo, precisamos entrar em um terminal que você pode fazer pressionando: Controle + Alt + F1 .

Você pode precisar fazer login.

A partir daqui, podemos executar nosso comando, mas a saída só será mostrada no visor. Agora temos duas opções:

Eu tenho uma conexão com a internet

Se você tiver acesso à internet, você pode simplesmente "canalizar" a saída em um comando chamado pastebinit . Isso faz o upload do conteúdo para o link e retorna uma URL curta e fácil de ser transcrita, que você pode acessar de outro computador ou apenas para as pessoas.

pastebinit não está instalado por padrão, então a primeira coisa que executamos é:

sudo apt-get install pastebinit

Em seguida, executamos nosso comando, seguido por | pastebinit :

lspci -nnk | grep VGA -A1 | pastebinit

E você verá algo como o seguinte (embora obviamente não em uma janela):

Anote o URL e você pode compartilhar isso com quem quiser.

Eu não tenho uma conexão com a internet

Isso é mais problemático, mas não insuperável. Vamos precisar de algum tipo de armazenamento externo. Um pendrive é um exemplo popular. Conecte-o. Em uma configuração não gráfica, as unidades USB não são montadas automaticamente. Como eu disse, problemático.

Execute lsblk e você verá algo assim:

NAME              MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                 8:16   0 111,8G  0 disk  
├─sda1              8:17   0   100M  0 part  /boot
├─sda2              8:18   0     1G  0 part  /
├─sda3              8:19   0    20G  0 part  /usr
├─sda4              8:20   0     1K  0 part  
├─sda5              8:21   0  58,7G  0 part  
└─sda6              8:22   0    32G  0 part  [SWAP]
sdb                 8:96   1  14,5G  0 disk  
└─sdb1              8:97   1  14,4G  0 part
sr0                11:0    1   4,4G  0 rom   
sr1                11:1    1  1024M  0 rom   

No meu caso, o novo disco que eu conectei é o segundo (sdb) e tem uma partição (sdb1). Precisamos montar isso para podermos escrever para ele. Simplesmente:

sudo mount -o umask=0000 /dev/sdb1 /mnt

Em seguida, podemos canalizar nossos comandos para novos arquivos no disco externo:

lspci -nnk | grep VGA -A1 > /mnt/lspci
cat /var/log/Xorg.0.log >/mnt/xorg.log

Isso criará dois novos arquivos na unidade externa. Você também pode copiar coisas para ele com cp . Quando terminar, você deseja desmontar a unidade:

cd /  # just in case you cd'd into /mnt
sudo umount /mnt

Em seguida, você pode desconectar sua unidade e levá-la para outro computador e fazer o upload das informações conforme solicitado.

    
por Oli 22.08.2013 / 13:12