Quando você pressiona Ctrl-C sobre um arquivo no gerenciador de arquivos, o conteúdo do arquivo NÃO é copiado para a área de transferência. Um teste simples: selecione um arquivo no gerenciador de arquivos, pressione Ctrl-C, abra um editor de texto, pressione Ctrl-V. O resultado não é o conteúdo do arquivo, mas o caminho completo.
Na realidade, a situação é um pouco mais complicada porque você não pode fazer o contrário - copie uma lista de nomes de arquivos de um editor de texto e cole-os no gerenciador de arquivos.
Para copiar alguns dados da linha de comando para a área de transferência do X11, você pode usar o xclip
comando, que pode ser instalado com o
sudo apt-get install xclip
copiar o conteúdo de um arquivo ou a saída de algum comando para a área de transferência
cat ./myfile.txt|xclip -i
o texto pode ser colado em algum lugar usando o botão do meio do mouse (isso é chamado de "buffer de seleção primário").
Se você deseja copiar dados para a seleção "área de transferência", para que possam ser colados em um aplicativo com Ctrl-V, você pode
cat ./myfile.txt|xclip -i -selection clipboard
Para poder copiar arquivos da linha de comando e colá-los em um gerenciador de arquivos, você precisa especificar um "átomo de destino" correto para que o gerenciador de arquivos reconheça os dados na área de transferência e também forneça os dados no formato correto. Felizmente, no caso de copiar arquivos em um gerenciador de arquivos, é apenas uma lista de nomes de arquivos absolutos, cada um em uma nova linha, algo que é fácil de gerar usando o find
comando:
find ${PWD} -name "*.pdf"| xclip -i -selection clipboard -t text/uri-list
(pelo menos isso funciona para mim no KDE). Agora você pode agrupar um pequeno script que você pode chamar, digamos cb
:
#!/bin/sh
xclip -i -selection clipboard -t text/uri-list
então você o coloca ~/bin
, define o bit executável e o usa assim:
find ${PWD} -name "*.txt"| cb
Legal, não é?