Você deve conseguir fazer isso usando o comando find
. A opção -type
permite restringir os tipos de arquivos que você encontra, portanto, você pode ignorar links simbólicos, etc., e a opção -exec
permite que você execute um comando para cada um dos arquivos encontrados.
Primeiro, crie todos os diretórios no pendrive:
cd /var/mydir
find * -type d -exec mkdir /media/usbdrive/{} \;
Copie todos os arquivos simples:
cd /var/mydir
find . -type f -exec cp {} /media/usbdrive/{} \;