熟悉linux的你一定对locate命令不会陌生,它是linux下搜索文件的利器,速度那叫一个快!但是在使用时你可能也发现了,它默认没有扫描你外 接的移动硬盘或者挂载在/media下的其他分区。本人原笔记本的windows分区均挂载在/media目录下,搜索文件的时候很是不便,于是研究了下 locate命令和updatedb命令,最终发现了其中奥妙,原来问题出在updatedb的配置文件/etc/updatedb.conf上!
以我的/etc/updatedb.conf文件为例,内容如下:
PRUNE_BIND_MOUNTS="yes"
# PRUNENAMES=".git .bzr .hg .svn"
PRUNEPATHS="/tmp /var/spool /media"
PRUNEFS="NFS nfs nfs4 rpc_pipefs afs binfmt_misc proc smbfs autofs iso9660 ncpfs coda devpts ftpfs devfs mfs shfs sysfs cifs lustre_lite tmpfs usbfs udf"
第一行PRUNE_BIND_MOUNTS="yes"的意思是:是否进行限制搜索。
第二行# PRUNENAMES=".git .bzr .hg .svn"表示对哪些后缀的文件排除检索,也就是列在这里面的后缀的文件跳过不进行检索。不同后缀之间用空格隔开。这个功能默认是关闭的(用#注释掉了),如果需要打开需将#去掉。
第三行是排除检索的路径,即列出的路径下的文件和子文件夹均跳过不进行检索。呵呵!我的问题就出在这里,我的/media目录被屏蔽掉了~~
第四行是排除检索的文件系统类型,即列出的文件系统类型不进行检索。
So,我的问题只需要将第三行中的/meida删除即可。修改为PRUNEPATHS="/tmp /var/spool ",重新运行sudo updatedb,再进行locate即可以对我原来挂载在/media下的windows ntfs分区进行搜索啦!
locate和updatedb的使用、配置
最新推荐文章于 2024-06-05 12:07:54 发布