我尝试使用 FIND 命令,但无法弄清楚它的具体工作原理。有人能帮忙吗?我想知道如何使用此命令查找 boot.log 文件的存储位置?
答案1
简单的使用方法find
是:
find DIRECTORY EXPRESSION
find /var/log -name boot.log
为了让您了解广泛的可能性,find
请参阅手册页
man find
并滚动到示例部分。
如果您的系统上有许多文件,并且您从/
根目录开始查找,则查找可能需要一些时间。因此,我的建议是将搜索限制在不同的目录中,例如/var
。另一个缺点是,find 以您的用户权限运行;运行find /home -name something
将主要仅打印您的文件(除非您是root
用户 ;-)
查找某个文件的另一种方法是利用定位数据库(如果启用)locate boot.log
。
locate
利用 updatedb 创建的本地数据库;它有几个优点,也有几个缺点。
首先,默认情况下不安装和启用 updatedb(出于安全原因,因为 updatedb 会跟踪系统上的大多数文件,即使只有用户权限的文件也是如此)。其次,通常 updatedb 每天定期运行一次,因此您无法找到今天的文件。
但从好的方面来看,一旦启用,速度locate
就会非常快,并且只在定位数据库中执行查找,并且对 i/o 系统资源很友好。