В чем разница между locate --basename и locate --wholename в Linux?
На странице руководства locate
Я прочитал это:
locate --basename
Match only the base name against the specified patterns.
This is the opposite of --wholename.
но я не понимаю Что это значит? В чем разница между locate --basename
а также locate --wholename
? Можете ли вы дать мне несколько простых примеров?
1 ответ
Решение
Базовое имя является последней частью полного пути
/etc/default/grub
^
basename
По умолчанию locate
соответствует шаблону в любом месте пути.
С -b
(базовое имя) соответствует только путям, где шаблон появляется в последней части имени пути, имени файла или имени каталога.
Например, вывод из locate gimp
будет включать в себя
/etc/gimp
/etc/gimp/2.0
/etc/gimp/2.0/controllerrc
И многое другое, но locate -b gimp
найдет
/etc/gimp
Без включения подкаталогов, так как нет gimp
Строка в их базовых именах.