Qual è l'equivalente della riga di comando di copiare un file negli appunti? [duplicare]

78

Qual è la riga di comando equivalente alla pressione di CTRL + C su un file nel file manager in modo che il file (non il nome file) venga copiato negli appunti?

Una situazione in cui questo può essere utile e veloce, ad esempio, è quando si desidera copiare negli appunti un file dalla directory che si trova nel terminale per incollare rapidamente il file nella directory in cui si trova il file manager. Ce ne sono altri.

    
posta Strapakowsky 01.11.2012 - 08:46

2 risposte

90

Quando premi Ctrl-C su un file nel file manager, il contenuto del file NON viene copiato negli appunti. Un semplice test: seleziona un file nel file manager, premi Ctrl-C, apri un editor di testo, premi Ctrl-V. Il risultato non è il contenuto del file ma il suo percorso completo.

In realtà la situazione è un po 'più complicata perché non puoi fare il contrario: copia un elenco di nomi di file da un editor di testo e incollali nel file manager.

Per copiare alcuni dati dalla riga di comando agli appunti X11 puoi usare il comando xclip , che può essere installato con

sudo apt-get install xclip

per copiare il contenuto di un file o l'output di qualche comando negli appunti usa

cat ./myfile.txt|xclip -i

il testo può essere incollato da qualche parte usando il pulsante centrale del mouse (questo è chiamato "buffer di selezione primario").

Se vuoi copiare i dati nella selezione "Appunti", in modo che possa essere incollato in un'applicazione con Ctrl-V, puoi fare

cat ./myfile.txt|xclip -i -selection clipboard

Per poter copiare file dalla riga di comando e incollarli in un file manager, devi specificare un "atomo di destinazione" corretto in modo che il gestore di file riconosca i dati negli appunti e anche fornire i dati nel formato corretto - fortunatamente, in caso di copia dei file in un file manager è solo una lista di nomi di file assoluti, ognuno su una nuova riga, qualcosa che è facile da generare usando il comando find :

find ${PWD} -name "*.pdf"| xclip -i -selection clipboard -t text/uri-list

(almeno questo funziona per me in KDE). Ora puoi inserire un piccolo script che puoi chiamare, ad esempio, cb :

#!/bin/sh
xclip -i -selection clipboard -t text/uri-list

quindi lo metti in ~/bin , imposta il bit eseguibile su di esso e usalo in questo modo:

find ${PWD} -name "*.txt"| cb

Bello, non è vero?

    
risposta data Sergey 01.11.2012 - 09:29
8

Ho sentito che xclip supporta anche la copia di file con xclip-copyfile e xclip-pastefile . Non l'ho davvero usato, ma potrebbe essere una soluzione.

    
risposta data Gladen 01.11.2012 - 11:03

Leggi altre domande sui tag