Come faccio a smistare l'output standard del terminale (stdout) negli appunti?

70

Ad esempio,

Dire che voglio elencare il contenuto di una cartella e incollarlo direttamente in una finestra di chat affinché un amico possa vederlo.

Mi rendo conto che potrei fare ls > filename.txt per creare un file (filename.txt) con quei contenuti; Dovrei quindi aprire o stampare il file e selezionare e copiare manualmente il blocco di testo ( che può essere noioso / noioso .) Posso chiaramente selezionare e copiare anche il uscita di ls direttamente dalla finestra del terminale.

Sarebbe molto più veloce / più facile semplicemente convogliare l'output standard negli appunti .

Quale comando terminale mi consente di fare questo?

    
posta Insperatus 05.09.2012 - 17:28

1 risposta

86

Questo può essere fatto con entrambi xsel o xclip utilità della riga di comando. Poiché nessuno dei due programmi viene fornito con Ubuntu per impostazione predefinita, è necessario prima installarli tramite Software Center o il terminale. Ecco come nel terminale (ma ricorda che hai solo bisogno di uno di questi due.)

sudo apt install xsel
sudo apt install xclip

Ora alcuni esempi. Se vuoi copiare l'output di ls negli appunti, ecco cosa faresti:

Con xsel:

ls | xsel -ib

Con xclip:

ls | xclip -sel clip

Ovviamente può essere utilizzato anche per altri comandi del terminale . Diciamo che vuoi incollare le informazioni di rete in un forum di assistenza.

Con xsel:

sudo lshw -C network | xsel -ib

Con xclip:

sudo lshw -C network | xclip -sel clip

Rendilo ancora più semplice con un nuovo alias di bash!

Modifica il tuo file ~/.bash_aliases (se non esiste ancora crealo prima con touch ~/.bash_aliases )

Quindi aggiungi uno (a seconda del programma con cui hai deciso di andare) di quanto segue:

alias copy='xclip -sel clip'

o

alias copy='xsel -ib'

Quindi salva e chiudi.

Ora (dopo aver riavviato il terminale) puoi inviare l'output standard agli Appunti semplicemente collegandolo a "copia" (o qualsiasi altra cosa decidi di nominare il tuo nuovo alias)

Ad esempio:

ls | copy
    
risposta data Insperatus 05.09.2012 - 17:28

Leggi altre domande sui tag