Não há um comando interno que faça isso no bash. No entanto, existe um script (uma função e um alias) que você pode colocar no seu .bashrc que lhe dá a funcionalidade.
Eles estão detalhados aqui: link
E são:
ccopy(){ for i in $*; do cp -a $i /tmp/ccopy.$i; done }
alias cpaste="ls -d /tmp/ccopy* | sed 's|[^\.]*.\.||' | xargs -I % mv /tmp/ccopy.% ./%"
Como diz a descrição no site, basta adicionar essas duas linhas ao seu .bashrc e, em seguida, você pode usar o ccopy para adicionar arquivos à lista de arquivos a serem copiados e, em seguida, copiá-los para o destino. Você também pode 'gerenciar' a lista de arquivos olhando para / tmp / ccopy *.
NOTA - este script está limitado a arquivos regulares com nomes 'normais'. Ele explicitamente não lida com 'espaços' no nome do arquivo e também não copiará / colará pastas. O artigo vinculado tem um link para uma versão que funciona com pastas, mas não sei se essa versão pode manipular espaços ou caracteres não regulares nos nomes de arquivos / pastas. Eu faço a maioria do meu trabalho (linux) a partir da linha de comando para que esta versão tenha atendido ao meu caso de uso.