我如何重新扫描我的驱动器,以便我的“搜索实用程序”能够在我的系统上找到新文件?
我在谷歌上搜索时遇到了困难如何用于向任何此应用程序启动索引/扫描命令。我最常使用“查找”和“定位”,但我认为了解其他搜索应用程序及其索引/扫描命令是个好主意(抱歉,不知道该如何称呼它:索引或扫描系统上的新文件)。
- 我的问题:我安装或下载了一个新文件到系统但不知道在哪里。
- 我的需求:扫描我的驱动器(最好按文件夹,但我愿意进行全面扫描)
- 我的操作系统:Linux Debian(伦尼)
谢谢你!
答案1
Find 不需要索引,每次运行时都会遍历磁盘。示例
$ find / -name "*mynewprogram*"
allocate 及其变体需要索引文件,但它们的工作速度真的更快。'locate' 来自 GNU findutils。'slocate' 被推荐用于 etch;它是locate 的更“安全”版本,用户将看不到他们无权访问的文件。'mlocate' 被推荐用于 lenny 及更新版本,mlocate 具有更高效的索引机制。
$ sudo updatedb # to update the index.
$ mlocate mynewprogram
which
在 $PATH 中搜索您指定的二进制名称。无需索引。
$ which touch
/usr/bin/touch
如果你想查看软件包的安装文件,请使用此命令
dpkg -L coreutils
查看哪个包安装了特定文件
$ dpkg -S /usr/bin/touch
coreutils: /usr/bin/touch
答案2
尝试
updatedb -v
[ -v 确保它确实有效 ;-]
我有时也会用
cd /whatever/is/the/path
find .|grep -i somePatternMatchingWhatIneed
答案3
如果您想在文件内容中搜索,而不仅仅是文件名,那么您需要一个专用的守护进程,它将在创建/修改每个文件时对其进行索引并提供对该索引的快速搜索。
您可能想尝试: