AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题

问题[locate](unix)

Martin Hope
kohane15
Asked: 2023-04-16 22:00:14 +0800 CST

`plocate` 在我的主目录中找不到结果,但 `mlocate` 可以。如何在主目录中搜索结果?

  • 5

目前我正在尝试从迁移mlocate到plocate.

我mlocate在我的脚本中使用(注意:locate别名为任一mlocate或plocate取决于我安装的哪个)。

成功搜索主目录mlocate

下面是运行后的前 10 个输出locate home(locate 别名为mlocate):

/home
/etc/apparmor.d/tunables/home
/etc/apparmor.d/tunables/home.d
/etc/apparmor.d/tunables/home.d/site.local
/etc/systemd/homed.conf
/home/username
/home/username/.bash_history
/home/username/.bash_profile
/home/username/.bashrc
/home/username/.cache
/home/username/.cargo

如您所见,我可以使用mlocate.

未成功搜索主目录plocate:

但是,安装后plocate,我从 等获得结果/etc/,/usr/而我得到的只是一个/home:

运行后locate home(locate别名为plocate):

/home
/etc/apparmor.d/tunables/home
/etc/apparmor.d/tunables/home.d
/etc/apparmor.d/tunables/home.d/site.local
/etc/systemd/homed.conf
/usr/bin/addgnupghome
/usr/bin/homectl

如您所见,plocate在我的主目录中找不到文件和目录。

我试过的

1.作者的评论plocate

这个 manjaro 线程如何使用 plocate?作者评论plocate如下:

首先,检查数据库最近是否更新过。大多数用户会希望使用 plocate 的 updatedb;自 plocate 1.1.0 以来,plocate-build(从 mlocate 的数据库转换而来)通常不是您想要的。[...]

文件未显示的另一个原因通常是权限。检查您是否可以以 root 身份找到文件(sudo plocate test);如果可以,问题很可能是您没有从根目录一直向下访问该目录的权限。plocate 应该找到 find / -name test所做的任何事情,但仅此而已。

我跑sudo updatedb了

我的主目录访问权限:

/ 
➜ ll
drwxr-xr-x - root 17 Jul  2022 home/
drwxr-xr-x - root 16 Apr 21:44 usr/

/home 
➜ ll
drwxr-xr-x - username 16 Apr 21:51 username/

看起来确实plocate无法访问我的主目录下的文件和目录,但它具有与usr. 我不明白为什么plocate可以看到usr但看不到文件和目录home。

2.运行时结果不同sudo

plocate当我运行as时,结果是不同的sudo。

以下是常规的locate:

➜  locate ranger
/usr/bin/ranger
/usr/lib/python3.10/site-packages/ranger
/usr/lib/python3.10/site-packages/ranger_fm-1.9.3-py3.10.egg-info
/usr/lib/python3.10/site-packages/ranger/__init__.py
/usr/lib/python3.10/site-packages/ranger/__pycache__

下面运行为sudo:

➜  sudo locate ranger
/root/.config/ranger
/root/.local/share/ranger
/root/.local/share/ranger/bookmarks
/root/.local/share/ranger/history
/root/.local/share/ranger/tagged
/usr/bin/ranger
/usr/lib/python3.10/site-packages/ranger
/usr/lib/python3.10/site-packages/ranger_fm-1.9.3-py3.10.egg-info

我可以在我的主目录中看到结果(即前 5 个结果)。

我想要的是

我希望能够plocate像使用mlocate. 换句话说,我希望在使用时来自主目录的结果plocate:

$ locate home
/home
/etc/apparmor.d/tunables/home
/etc/apparmor.d/tunables/home.d
/etc/apparmor.d/tunables/home.d/site.local
/etc/systemd/homed.conf
/home/username
/home/username/.bash_history
/home/username/.bash_profile
/home/username/.bashrc
/home/username/.cache
/home/username/.cargo
locate
  • 1 个回答
  • 65 Views
Martin Hope
Tmanok
Asked: 2020-02-24 13:24:53 +0800 CST

每个用户的不同 mlocate 数据库?

  • 1

这可能是一个愚蠢的问题,因为系统上的每个文件和目录都可以并且将有权阻止普通用户查看各种文件 - 但为了增加安全性和太长的上下文无法进入:可以 mlocate 有多个数据库针对不同的用户组?还是每个用户都为此?

目标是限制对普通用户甚至不应该知道存在的文件的了解或访问——但 root 和 sudo 帐户仍然应该能够使用 root mlocate db 查看系统中的所有内容。

我以前只是限制了对 mlocate 数据库的读取访问,但这不是当前系统上的选项。如果有一种方法可以为多个安装线程 mlocate,我只需要两个,并且没有存储限制,就像仅供参考一样。谢谢,

freebsd locate
  • 1 个回答
  • 215 Views
Martin Hope
noob_sabidiot
Asked: 2020-01-30 13:47:23 +0800 CST

如何限制定位命令搜索当前目录?

  • 0

定位搜索不限于当前目录:

我正在努力学习,所以我决定写这个脚本

cd /usr/share/doc && ls -R | grep "\.html" | sudo tee htmldoclist.txt

然后我想将文档列表通过管道传输到类似于

locate $(head -n 1 htmldoclist.txt)

但我想使用cat.

我想将它的输出保存到hlinks.txt并用于sed附加file://到以管道开头的行sed,如下所示:

| sed -e 's/^/file:///g'

我希望为存储在/usr/share/docs

locate
  • 1 个回答
  • 163 Views
Martin Hope
Simon Schürg
Asked: 2019-11-30 00:29:06 +0800 CST

搜索任意文件,但只在结果中列出一次匹配项

  • 3

我想搜索任意文件/目录名称,但只想在同一位置列出包含搜索字符串的文件路径一次。特别是不是目录中的每个文件都与搜索字符串匹配。

这是一个示例,locate -i flatpak列表:

/etc/flatpak
/etc/dbus-1/system.d/org.freedesktop.Flatpak.SystemHelper.conf
/etc/flatpak/remotes.d
/etc/profile.d/flatpak.sh
/home/simon/.cache/gnome-software/flatpak/installation-tmp/repo/objects/74
/home/simon/.cache/gnome-software/flatpak/installation-tmp/repo/objects/75
/home/simon/.cache/gnome-software/flatpak/installation-tmp/repo/objects/76
/home/simon/.cache/gnome-software/flatpak/installation-tmp/repo/objects/77
/home/simon/.cache/gnome-software/flatpak/installation-tmp/repo/objects/78
/home/simon/.cache/gnome-software/flatpak/installation-tmp/repo/objects/79
/home/simon/.cache/gnome-software/flatpak/installation-tmp/repo/objects/7a
/home/simon/.cache/gnome-software/flatpak/installation-tmp/repo/objects/7b
/home/simon/.cache/gnome-software/flatpak/installation-tmp/repo/objects/7c
/home/simon/.cache/gnome-software/flatpak/installation-tmp/repo/objects/7d
/var/lib/flatpak
/var/lib/flatpak/.changed
/var/lib/flatpak/.removed
/var/lib/flatpak/app
/var/lib/flatpak/appstream
/var/lib/flatpak/exports
/var/lib/flatpak/repo
/var/lib/flatpak/runtime

但我想要这样的搜索结果:

/etc/flatpak
/etc/dbus-1/system.d/org.freedesktop.Flatpak.SystemHelper.conf
/etc/profile.d/flatpak.sh
/home/simon/.cache/gnome-software/flatpak
/var/lib/flatpak

哪种工具最适合这个?locate, find, fd-find?

find locate
  • 3 个回答
  • 161 Views
Martin Hope
Akhil
Asked: 2019-11-24 21:40:44 +0800 CST

如何列出 mlocate 数据库文件中的所有文件?

  • 0

运行时updatedb会生成一个mlocate.db文件。如何列出 mlocate.db 文件中的所有文件?

locate *

这个对吗?

files locate
  • 1 个回答
  • 492 Views
Martin Hope
BigRedEO
Asked: 2019-07-27 05:53:53 +0800 CST

查找但排除名称 - Linux

  • 2

我正在尝试hosts远程定位 linux PC 上命名的所有文件。问题是几乎有几千个文件ghostscript作为上层目录名称之一或作为目录名称的一部分,因此它返回所有这些目录。有没有办法定位hosts,但排除ghosts?

linux locate
  • 3 个回答
  • 462 Views
Martin Hope
macdays
Asked: 2019-04-24 08:44:44 +0800 CST

updatedb 正在生成不完整的文件列表

  • 0

我正在运行以下命令:

updatedb -l 0 -o mydatabase.db -U /usr/myfiles1/

然后,

locate -d mydatabase.db ""

"" 用于显示 mydatabase.db 的所有内容。但是,我缺少我希望在 /myfiles1/ 中看到的文件。'locate' 似乎没有在目录中递归。我已经检查了权限,但是对于“定位”选择递归到哪些目录似乎是随机的。

如果我 'cd' 到 'myfiles1' 然后运行 ​​'updatedb',它会向下递归到该目录及其子目录并生成 /myfiles1/ 中包含的所有文件。

linux locate
  • 1 个回答
  • 171 Views
Martin Hope
Brydon Gibson
Asked: 2018-08-15 10:28:47 +0800 CST

当目录包含名称时定位停止重复

  • 0

有时在使用 locate 时,我的搜索字符串会(无意或有意)匹配目录的一部分。这会导致打印目录中该点以下的所有内容。例如:

$ locate lib
/home/myname/libImWorkingOn/libImWorkingOn.so
/lib/
/lib/modules/
/lib/firmware/
.... etc

这很快就会失控并使搜索变得困难。

有没有办法防止这种情况?例如,让它打印:

$locate lib
/home/myname/libImWorkingOn/libImWorkingOn.so
/lib/

仅此而已?

此外,是否可以查找目录并仅查找目录?

例如(寻找 qemu 基础文件夹)

实际的:

$locate qemu
home/myname/qemu
home/myname/qemu/.svn
home/myname/qemu/.svn/.....
home/myname/qemu/Makefile
.....
usr/bin/qemu
.....

期望:

$locate (option) qemu
/home/myname/qemu
/usr/bin/qemu
locate
  • 3 个回答
  • 44 Views
Martin Hope
Natsfan
Asked: 2018-07-26 15:48:18 +0800 CST

locate 命令查找不存在的文件

  • 0

我使用运行 High Sierra 的 Mac。我正在清理我的硬盘驱动器,我正在寻找从我的 Mac 中删除的程序的残余。我使用了这样的定位命令:locate Canopy. 我曾经安装过 Enthought Canopy 软件包。当我运行该命令时,我得到了大约 16 个 Canopy 实例。这是第一个:/Applications/Enthought Canopy (64-bit)。其他 15 行只是这一行的扩展。我在我的应用程序文件夹中搜索了一个文件“Enthought Canopy(64 位)”,但它不存在。如果我使用命令行尝试cd "/Applications/Enthought Canopy (64-bit)"它说“没有这样的文件或目录。有谁知道为什么locate给我虚假信息?

osx locate
  • 1 个回答
  • 185 Views
Martin Hope
m33lky
Asked: 2018-02-12 21:31:31 +0800 CST

用于搜索的简单 CLI 工具

  • 1

是否有类似的 CLI 工具gnome-search-tool?我正在使用locate,但我更喜欢它对目录名称匹配的结果进行分组。我得到很多路径匹配的结果,这不是我想要的:

/tmp/dir_match/xyz
/tmp/dir_match/xyz2/xyz3

它需要快速,因此使用搜索索引。

command-line locate
  • 3 个回答
  • 134 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve