Вы можете передать результаты find в while вместо for, так как это не будет прерываться, если имена файлов имеют пробелы
Сначала cd в каталог F1, затем выполните :
find -type d | while read dir ; do mkdir "$dir"/Photo ; done
Если каталог существует, mkdir просто откажется его создать, поэтому проблем нет ...
Если имена ваших каталогов могут содержать символы новой строки или другие экзотическая странность, используйте это, которое может иметь дело с произвольными именами:
find -type d -print0 | while IFS= read -r -d '' dir ; do mkdir "$dir"/Photo ; done
Спасибо @terdon за помощь в этом:)
Как вы говорите, вы можете загрузиться с живого компакт-диска, вы можете сбросить загрузчик вручную (что может быть частью проблемы.)
Загрузиться на live CD
Определите устройство хранения блоков (раздел жесткого диска) загрузочного диска старой системы, то есть / dev / sda3 или некоторые из них (это местоположение ваших / загрузочных файлов в старой системе.) По умолчанию это находится в корневом разделе, вы можете понять это, выполнив в терминале:
sudo mkdir /recover
sudo mount /dev/sda2 /recover
ls /recover
Предполагается, что ваш корневой или загрузочный диск включен / dev / sda2, он может быть включен / dev / sda1- ?? или / dev / sdb? или / dev / sdc? ; это будет действительно зависеть от вашей системы. Предполагая, что это /dev/sda2...
Терминал:
sudo -s
mount /dev/sda2 /mnt
mount --bind /dev /mnt/dev
mount --bind /sys /mnt/sys
mount --bind /proc /mnt/proc
chroot /mnt
Теперь вы теперь находитесь в вашей существующей системе. Обновите систему, чтобы убедиться, что обновление выполнено.
apt-get update
apt-get full-upgrade
, чтобы убедиться, что загрузочная система работает, запустите
update-grub
grub-install /dev/sda
(это предполагает, что вы используете одну систему загрузки с дисковым устройством / dev / sda с помощью только ubuntu, используя grub2 в качестве менеджера загрузки.)
Как вы говорите, вы можете загрузиться с живого компакт-диска, вы можете сбросить загрузчик вручную (что может быть частью проблемы.)
Загрузиться на live CD
Определите устройство хранения блоков (раздел жесткого диска) загрузочного диска старой системы, то есть / dev / sda3 или некоторые из них (это местоположение ваших / загрузочных файлов в старой системе.) По умолчанию это находится в корневом разделе, вы можете понять это, выполнив в терминале:
sudo mkdir /recover
sudo mount /dev/sda2 /recover
ls /recover
Предполагается, что ваш корневой или загрузочный диск включен / dev / sda2, он может быть включен / dev / sda1- ?? или / dev / sdb? или / dev / sdc? ; это будет действительно зависеть от вашей системы. Предполагая, что это /dev/sda2...
Терминал:
sudo -s
mount /dev/sda2 /mnt
mount --bind /dev /mnt/dev
mount --bind /sys /mnt/sys
mount --bind /proc /mnt/proc
chroot /mnt
Теперь вы теперь находитесь в вашей существующей системе. Обновите систему, чтобы убедиться, что обновление выполнено.
apt-get update
apt-get full-upgrade
, чтобы убедиться, что загрузочная система работает, запустите
update-grub
grub-install /dev/sda
(это предполагает, что вы используете одну систему загрузки с дисковым устройством / dev / sda с помощью только ubuntu, используя grub2 в качестве менеджера загрузки.)
Наконец, я попробовал более радикальный подход: переустановить ubuntu с помощью livecd ... мне потребовалось два attemps, первый убил мою видеокарту, и, наконец, второй решил все проблемы! Спасибо за вашу помощь. Джонатан