Você pode fazer isso usando rsync :
rsync -avWxP --exclude Desktop /home/user/ /home/user/Desktop/
Eu quero copiar todos os arquivos (subpastas incluídas) do diretório $HOME para Desktop no bash. E como você sabe, o Desktop está em $HOME . Então, quando copio todos os arquivos, recebo a mensagem assim:
cannot copy a directory, '/home/adminuser/Desktop', into itself, '/home/adminuser/Desktop/' .
E eu não sei o código adequado para excluir a pasta Desktop .
Eu uso isso: cp -r $HOME/* ~/Desktop/
Alguém sabe um código para isso ou alguém pode me ajudar?
Você pode fazer isso usando rsync :
rsync -avWxP --exclude Desktop /home/user/ /home/user/Desktop/
Use rsync
rsync -av --progress $HOME/* $HOME/Desktop --exclude 'Desktop/'
Tags command-line cp file-copy