Linux 上locate --basename 和locate --wholename 有什么区别?

Linux 上locate --basename 和locate --wholename 有什么区别?

在的手册页上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(basename) 它仅匹配模式出现在路径名最后部分、文件名或目录名本身的路径。

例如,输出将locate gimp包括

/etc/gimp
/etc/gimp/2.0
/etc/gimp/2.0/controllerrc

许多其他事情,但locate -b gimp会发现

/etc/gimp

不包括子目录,因为它们的基本名称中没有gimp字符串。

相关内容