Due modi:
find . -name '*mp3' -or -name '*ogg' -print | xargs -J% mv % ../../Music
find . -name '*mp3' -or -name '*ogg' -exec mv {} ../Music \;
Il primo utilizza una pipe e potrebbe esaurire lo spazio per gli argomenti; mentre il secondo potrebbe usare troppe forchette ed essere più lento. Ma entrambi funzioneranno.
Un altro modo è:
mv -v {*.mp3,*.ogg,*.wav} ../Music
mv -v {*.mp4,*.flv} ../Videos
PS:l'opzione -v mostra cosa sta succedendo (prolisso).
Non esiste alcun trigger per quando un file viene aggiunto a una directory. Se il file viene caricato tramite una pagina web, potresti essere in grado di farlo fare alla pagina web.
Puoi inserire uno script in crontab per farlo, su macchine unix (o programma di attività in Windows). Google crontab per istruzioni.
Per quanto riguarda la combinazione dei tuoi comandi, usa quanto segue:
mv *.mp3 *.ogg ../../Music
Puoi includere tutti i diversi "glob" (nomi di file con caratteri jolly) che desideri. L'ultima cosa dovrebbe essere la directory di destinazione.