歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux下的locate和updatedb命令小結

Linux下的locate和updatedb命令小結

日期:2017/2/28 16:29:49   编辑:Linux教程

locate命令用於查找文件, 它比find命令的搜索速度快, 它需要一個數據庫, 這個數據庫由每天的例行工作

(crontab)程序來建立. 當們建立好這個數據庫後, 就可以方便地來搜尋所需文件了. 即先運行updatedb

(無論在那個目錄中均可, 可以放在crontab中)後在/var/lib/slocate/下生成slocate.db數據庫即可快速查找.

在命令提示符下直接執行updatedb命令即可.

例如查找相關字issue:

$ locate issue

/etc/issue

/etc/issue.net

/usr/man/man5/issue.5

/usr/man/man5/issue.net.5

它默認沒有掃描外接的移動硬盤或者掛載在/media下的其他分區. 以/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目錄被屏蔽掉了.

第四行是排除檢索的文件系統類型, 即列出的文件系統類型不進行檢索.

只需要將第三行中的/meida刪除即可. 修改為PRUNEPATHS="/tmp /var/spool ", 重新運行updatedb,

再進行locate即可以對原來掛載在/media下的windows ntfs分區進行搜索.

Copyright © Linux教程網 All Rights Reserved