В Ubuntu стандартным каталогом cgi-bin является /usr/lib/cgi-bin.
Предполагая, что текущий каталог имеет вложенные папки, замените TARGET_DIR в следующем утверждении:
find . -name '*.mp3' -exec mv {} TARGET_DIR \;
Попробуйте это:
cd ../Music
for i in `ls -Q`; do mv $i/* /Path/To/Some/Other/Directory; done
Я бы предложил использовать cp вместо mv, чтобы проверить, работает ли он нормально или нет. и если он работает нормально, просто удалите каталог ..Music
Edit: добавлено -Q (и необходимо добавить это объяснение, чтобы выйти за пределы шести символов)
Первый ответ правильный, но более простой способ сделать это, предполагая, что у вас есть только один слой подкаталогов, есть:
mv ../Music/*/*.mp3 [insert target dest here]
Вы также можете использовать Rhythmbox, banshee или аналогичное программное обеспечение. Они могут сканировать ваши музыкальные каталоги.
Вы можете сохранить каталог или (в вашем случае), программное обеспечение может переместить файлы в каталог rhythmbox / banshee, который устранит иерархию, как вы хотели. [ ! d1]
Затем
cp /target/directory/* /desination/directory/ -r
Затем удалите оригинал, если он был успешным.
(cd ~/Music ; tar cf - ) | (cd /path/to/other/directory; tar xf -)
Первый ответ правильный, но более простой способ сделать это, предполагая, что у вас есть только один слой подкаталогов, есть:
mv ../Music/*/*.mp3 [insert target dest here]