Выполните следующую команду как корень:
update-grub
Править: Это - Ubuntu определенная команда. Чтобы сделать это на другом распределении, просто работайте grub-mkconfig -o /boot/grub/grub.cfg
2-е РЕДАКТИРОВАНИЕ: os-prober
требуется, чтобы это работал (автоматически обнаруживают операционные системы и добавляют записи меню для них).
портативно:
cd &&
find . -path ./junk -prune -o -type f \( \
-name '*.h' -o -name '*.cpp' \) -exec sh -c '
exec mv -i "$@" junk' sh {} +
Выше исключения junk
сама папка от поиска.
Мы только удаляем регулярные файлы (-type f
). Могут быть другие типы файлов, которые Вы хотите переместить как символьные ссылки, но остерегаться тот движущиеся символьные ссылки часто повреждают их.
-i
гарантия состоит в том, чтобы избежать двух файлов с тем же именем, переопределяющим друг друга.
Если в системе GNU, можно использовать -regex
опция к find
как показано ниже:
find . -regex ".*\.\(h\|cpp\)" -exec echo mv -v "{}" ~/junk \;
вывод покажет, какая команда была бы выполнена, как пробный прогон. Если это выглядит хорошим, можно удалить echo
для применения.
Команда терпит неудачу
-regex
: Имя файла соответствует образцу регулярного выражения, значение по умолчанию regex тип, это - использование emacs
".*\.\(h\|cpp\)"
: Так как это - значение по умолчанию использования regex тип emacs
, согласно соответствию шаблона .
(точечное) средство соответствует любому символу так для соответствия точный .
(точка), мы должны использовать символ ESC, который является \
. средства для специального символа как (
, |
мы должны использовать символ ESC. шаблон то же как .*.(h|cpp)
(regextype posix-egrep)-exec
: Команда Execute{ }
: Строка {} замененный именем файла соответствий\;
: Потребности быть там, поскольку это говорит конец arguements, предоставленного - исполнительная переменнаяДля получения дополнительной информации о регулярном выражении можно относиться
man 7 regex
sh
? В противоположность, например,find . ! -path './junk/*' -type f \( -name '*.h' -o '*.cpp' \) -exec mv -i "{}" ./junk/ \;
– grebneke 08.02.2014, 14:12mv -i {} junk \;
выполнил бы тотmv
на файл. Используя+
передача средств максимально может файлы. Вам нужноsh
смочь иметь ajunk
аргумент после того списка. С GNU или FreeBSDmv
, Вы, возможно, сделали-exec mv -it junk {} +
вместо этого. – Stéphane Chazelas 08.02.2014, 14:43sh
, что делает второйsh {} +
? – grebneke 08.02.2014, 15:13sh -c code
для$0
(используемый для сообщений об ошибках...),"$@"
запускается после. – Stéphane Chazelas 08.02.2014, 16:44