¿Cuál es la línea de comando equivalente a copiar un archivo al portapapeles? [duplicar]

78

¿Cuál es la línea de comando equivalente a presionar CTRL + C sobre un archivo en el administrador de archivos para que el archivo (no el nombre de archivo) se copie en el portapapeles?

Una situación en la que esto puede ser útil y rápido, por ejemplo, es cuando desea copiar al portapapeles un archivo del directorio que está en el terminal para pegar rápidamente el archivo en el directorio en el que se encuentra en el administrador de archivos. Hay otros.

    
pregunta Strapakowsky 01.11.2012 - 08:46

2 respuestas

90

Cuando presiona Ctrl-C sobre un archivo en el administrador de archivos, el contenido del archivo NO se copia en el portapapeles. Una prueba simple: seleccione un archivo en el administrador de archivos, presione Ctrl-C, abra un editor de texto, presione Ctrl-V. El resultado no es el contenido del archivo, sino su ruta completa.

En realidad, la situación es un poco más complicada porque no se puede hacer lo contrario: copiar una lista de nombres de archivo de un editor de texto y pegarlos en el administrador de archivos.

Para copiar algunos datos de la línea de comandos al portapapeles X11, puede usar el comando xclip , que se puede instalar con

sudo apt-get install xclip

para copiar contenido de un archivo o la salida de algún comando al uso del portapapeles

cat ./myfile.txt|xclip -i

el texto se puede pegar en algún lugar usando el botón central del mouse (esto se llama "buffer de selección primaria").

Si desea copiar datos a la selección "Portapapeles", para que se puedan pegar en una aplicación con Ctrl-V, puede hacer

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

Para poder copiar archivos desde la línea de comandos y pegarlos en un administrador de archivos, debe especificar un "átomo de destino" correcto para que el administrador de archivos reconozca los datos en el portapapeles, y también proporcionamos los datos en el formato correcto - afortunadamente, en el caso de copiar archivos en un administrador de archivos, es solo una lista de nombres de archivos absolutos, cada uno en una línea nueva, algo que es fácil de generar usando el comando find :

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

(al menos esto funciona para mí en KDE). Ahora puede ajustar un pequeño script al que puede llamar, por ejemplo, cb :

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

luego lo pones en ~/bin , estableces un bit ejecutable y lo utilizas así:

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

Bien, ¿no?

    
respondido por el Sergey 01.11.2012 - 09:29
8

Escuché que xclip también admite la copia de archivos con xclip-copyfile y xclip-pastefile . Realmente no lo he usado, pero podría ser una solución.

    
respondido por el Gladen 01.11.2012 - 11:03

Lea otras preguntas en las etiquetas