locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。
其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。
locate命令可以在搜寻数据库时快速找到档案,数据库由updatedb程序来更新,
locate命令在搜寻数据库时比由整个由硬盘资料来搜寻资料来得快,但较差劲的是locate所找到的档案若是最近才建立或 刚更名的,可能会找不到,
在内定值中,updatedb每天会跑一次,可以由修改crontab来更新设定值。(etc/crontab)。
locate指令和find找寻档案的功能类似,
但locate是透过update程序将硬盘中的所有档案和目录资料先建立一个索引数据库,
在执行loacte时直接找该索引,查询速度会较快,
索引数据库一般是由操作系统管理,但也可以直接下达update强迫系统立即修改索引数据库。
实例1:查找和pwd.py相关的所有文件
song@ubuntu:~$ locate pwd.py
/usr/lib/python2.7/dist-packages/twisted/python/fakepwd.py
/usr/lib/python2.7/dist-packages/twisted/python/fakepwd.pyc
/usr/lib/python2.7/dist-packages/twisted/python/test/test_fakepwd.py
/usr/lib/python2.7/dist-packages/twisted/python/test/test_fakepwd.pyc
song@ubuntu:~$
实例2: 搜索etc目录下所有以sys开头的文件
song@ubuntu:~$ locate /etc/sys
/etc/sysctl.conf
/etc/sysctl.d
/etc/systemd
/etc/sysctl.d/10-console-messages.conf
/etc/sysctl.d/10-ipv6-privacy.conf
/etc/sysctl.d/10-kernel-hardening.conf
/etc/sysctl.d/10-link-restrictions.conf
/etc/sysctl.d/10-magic-sysrq.conf
/etc/sysctl.d/10-network-security.conf
/etc/sysctl.d/10-ptrace.conf
/etc/sysctl.d/10-zeropage.conf
/etc/sysctl.d/README
/etc/systemd/logind.conf
/etc/systemd/system
/etc/systemd/system/dbus-org.freedesktop.Avahi.service
/etc/systemd/system/dbus-org.freedesktop.thermald.service
/etc/systemd/system/multi-user.target.wants
/etc/systemd/system/sockets.target.wants
/etc/systemd/system/sysinit.target.wants
/etc/systemd/system/syslog.service
/etc/systemd/system/multi-user.target.wants/anacron.service
/etc/systemd/system/multi-user.target.wants/avahi-daemon.service
/etc/systemd/system/multi-user.target.wants/cups-browsed.service
/etc/systemd/system/multi-user.target.wants/rsyslog.service
/etc/systemd/system/multi-user.target.wants/thermald.service
/etc/systemd/system/sockets.target.wants/acpid.socket
/etc/systemd/system/sockets.target.wants/avahi-daemon.socket
/etc/systemd/system/sysinit.target.wants/brltty.service
song@ubuntu:~$
实例3:搜索etc目录下,所有以mo开头的文件
song@ubuntu:~$ locate /etc/mo
/etc/modprobe.d
/etc/modules
/etc/modules-load.d
/etc/modprobe.d/alsa-base.conf
/etc/modprobe.d/blacklist-ath_pci.conf
/etc/modprobe.d/blacklist-firewire.conf
/etc/modprobe.d/blacklist-framebuffer.conf
/etc/modprobe.d/blacklist-modem.conf
/etc/modprobe.d/blacklist-oss.conf
/etc/modprobe.d/blacklist-rare-network.conf
/etc/modprobe.d/blacklist-watchdog.conf
/etc/modprobe.d/blacklist.conf
/etc/modprobe.d/fbdev-blacklist.conf
/etc/modprobe.d/iwlwifi.conf
/etc/modprobe.d/mlx4.conf
/etc/modprobe.d/vmwgfx-fbdev.conf
/etc/modules-load.d/cups-filters.conf
song@ubuntu:~$
实例4:查找和tab.py相关的所有文件
song@ubuntu:~$ locate tab.py
/home/song/tab.py
/home/song/tab.pyc
/usr/lib/python2.7/dist-packages/tab.py
其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。
locate命令可以在搜寻数据库时快速找到档案,数据库由updatedb程序来更新,
locate命令在搜寻数据库时比由整个由硬盘资料来搜寻资料来得快,但较差劲的是locate所找到的档案若是最近才建立或 刚更名的,可能会找不到,
在内定值中,updatedb每天会跑一次,可以由修改crontab来更新设定值。(etc/crontab)。
locate指令和find找寻档案的功能类似,
但locate是透过update程序将硬盘中的所有档案和目录资料先建立一个索引数据库,
在执行loacte时直接找该索引,查询速度会较快,
索引数据库一般是由操作系统管理,但也可以直接下达update强迫系统立即修改索引数据库。
实例1:查找和pwd.py相关的所有文件
song@ubuntu:~$ locate pwd.py
/usr/lib/python2.7/dist-packages/twisted/python/fakepwd.py
/usr/lib/python2.7/dist-packages/twisted/python/fakepwd.pyc
/usr/lib/python2.7/dist-packages/twisted/python/test/test_fakepwd.py
/usr/lib/python2.7/dist-packages/twisted/python/test/test_fakepwd.pyc
song@ubuntu:~$
实例2: 搜索etc目录下所有以sys开头的文件
song@ubuntu:~$ locate /etc/sys
/etc/sysctl.conf
/etc/sysctl.d
/etc/systemd
/etc/sysctl.d/10-console-messages.conf
/etc/sysctl.d/10-ipv6-privacy.conf
/etc/sysctl.d/10-kernel-hardening.conf
/etc/sysctl.d/10-link-restrictions.conf
/etc/sysctl.d/10-magic-sysrq.conf
/etc/sysctl.d/10-network-security.conf
/etc/sysctl.d/10-ptrace.conf
/etc/sysctl.d/10-zeropage.conf
/etc/sysctl.d/README
/etc/systemd/logind.conf
/etc/systemd/system
/etc/systemd/system/dbus-org.freedesktop.Avahi.service
/etc/systemd/system/dbus-org.freedesktop.thermald.service
/etc/systemd/system/multi-user.target.wants
/etc/systemd/system/sockets.target.wants
/etc/systemd/system/sysinit.target.wants
/etc/systemd/system/syslog.service
/etc/systemd/system/multi-user.target.wants/anacron.service
/etc/systemd/system/multi-user.target.wants/avahi-daemon.service
/etc/systemd/system/multi-user.target.wants/cups-browsed.service
/etc/systemd/system/multi-user.target.wants/rsyslog.service
/etc/systemd/system/multi-user.target.wants/thermald.service
/etc/systemd/system/sockets.target.wants/acpid.socket
/etc/systemd/system/sockets.target.wants/avahi-daemon.socket
/etc/systemd/system/sysinit.target.wants/brltty.service
song@ubuntu:~$
实例3:搜索etc目录下,所有以mo开头的文件
song@ubuntu:~$ locate /etc/mo
/etc/modprobe.d
/etc/modules
/etc/modules-load.d
/etc/modprobe.d/alsa-base.conf
/etc/modprobe.d/blacklist-ath_pci.conf
/etc/modprobe.d/blacklist-firewire.conf
/etc/modprobe.d/blacklist-framebuffer.conf
/etc/modprobe.d/blacklist-modem.conf
/etc/modprobe.d/blacklist-oss.conf
/etc/modprobe.d/blacklist-rare-network.conf
/etc/modprobe.d/blacklist-watchdog.conf
/etc/modprobe.d/blacklist.conf
/etc/modprobe.d/fbdev-blacklist.conf
/etc/modprobe.d/iwlwifi.conf
/etc/modprobe.d/mlx4.conf
/etc/modprobe.d/vmwgfx-fbdev.conf
/etc/modules-load.d/cups-filters.conf
song@ubuntu:~$
实例4:查找和tab.py相关的所有文件
song@ubuntu:~$ locate tab.py
/home/song/tab.py
/home/song/tab.pyc
/usr/lib/python2.7/dist-packages/tab.py
song@ubuntu:~$