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 seu caminho completo.
Na realidade, a situação é um pouco mais complicada, porque você não pode fazer o oposto - copiar uma lista de nomes de arquivos de um editor de texto e colá-los no gerenciador de arquivos.
Para copiar alguns dados da linha de comando para a área de transferência do X11, você pode usar o comando xclip
, que pode ser instalado com
sudo apt-get install xclip
para copiar o conteúdo de um arquivo ou a saída de algum comando para o uso da á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ária").
Se você deseja copiar dados para a seleção "clipboard", para que possa ser colado em um aplicativo com Ctrl-V, você pode fazer
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 absolutos de arquivos, cada um em uma nova linha, algo que é fácil de gerar usando o comando find
:
find ${PWD} -name "*.pdf"| xclip -i -selection clipboard -t text/uri-list
(pelo menos isso funciona para mim no KDE). Agora você pode incluir um pequeno script que você pode chamar, digamos, cb
:
#!/bin/sh
xclip -i -selection clipboard -t text/uri-list
depois, coloque-o em ~/bin
, defina o bit executável e use-o da seguinte forma:
find ${PWD} -name "*.txt"| cb
Legal, não é?