为什么 "locate" 不 return 所有现有文件?
why "locate" doesn't return all existing files?
我想知道为什么 locate
没有在我的系统上归档所有 .exe
文件,尽管它们是最新的:
ebra@him:~$ sudo updatedb
ebra@him:~$ locate *.exe
/home/ebra/a.exe
/home/ebra/Downloads/santa.exe
ebra@him:~$
ebra@him:~$ ls /usr/share/nmap/nselib/data/psexec/nmap_service.exe
/usr/share/nmap/nselib/data/psexec/nmap_service.exe
ebra@him:~$
updatedb.conf:
ebra@him:~$ which updatedb
/usr/bin/updatedb
ebra@him:~$ which locate
/usr/bin/locate
ebra@him:~$ type /usr/bin/updatedb
/usr/bin/updatedb is /usr/bin/updatedb
ebra@him:~$ type /usr/bin/locate
/usr/bin/locate is /usr/bin/locate
ebra@him:~$
ebra@him:~$ cat /etc/updatedb.conf
PRUNE_BIND_MOUNTS="yes"
# PRUNENAMES=".git .bzr .hg .svn"
PRUNEPATHS="/tmp /var/spool /media /var/lib/os-prober /var/lib/ceph /home/.ecryptfs /var/lib/schroot"
PRUNEFS="NFS afs autofs binfmt_misc ceph cgroup cgroup2 cifs coda configfs curlftpfs debugfs devfs devpts devtmpfs ecryptfs ftpfs fuse.ceph fuse.cryfs fuse.encfs fuse.glusterfs fuse.gvfsd-fuse fuse.mfs fuse.rozofs fuse.sshfs fusectl fusesmb hugetlbfs iso9660 lustre lustre_lite mfs mqueue ncpfs nfs nfs4 ocfs ocfs2 proc pstore rpc_pipefs securityfs shfs smbfs sysfs tmpfs tracefs udev udf usbfs"
ebra@him:~$
由于您当前的(主)目录有一个名为 a.exe
的文件,因此 shell 正在扩展 *.exe
,并且您实际上是 运行 命令
$ locate a.exe
尝试不带星号或带转义星号
$ locate \*.exe
我想知道为什么 locate
没有在我的系统上归档所有 .exe
文件,尽管它们是最新的:
ebra@him:~$ sudo updatedb
ebra@him:~$ locate *.exe
/home/ebra/a.exe
/home/ebra/Downloads/santa.exe
ebra@him:~$
ebra@him:~$ ls /usr/share/nmap/nselib/data/psexec/nmap_service.exe
/usr/share/nmap/nselib/data/psexec/nmap_service.exe
ebra@him:~$
updatedb.conf:
ebra@him:~$ which updatedb
/usr/bin/updatedb
ebra@him:~$ which locate
/usr/bin/locate
ebra@him:~$ type /usr/bin/updatedb
/usr/bin/updatedb is /usr/bin/updatedb
ebra@him:~$ type /usr/bin/locate
/usr/bin/locate is /usr/bin/locate
ebra@him:~$
ebra@him:~$ cat /etc/updatedb.conf
PRUNE_BIND_MOUNTS="yes"
# PRUNENAMES=".git .bzr .hg .svn"
PRUNEPATHS="/tmp /var/spool /media /var/lib/os-prober /var/lib/ceph /home/.ecryptfs /var/lib/schroot"
PRUNEFS="NFS afs autofs binfmt_misc ceph cgroup cgroup2 cifs coda configfs curlftpfs debugfs devfs devpts devtmpfs ecryptfs ftpfs fuse.ceph fuse.cryfs fuse.encfs fuse.glusterfs fuse.gvfsd-fuse fuse.mfs fuse.rozofs fuse.sshfs fusectl fusesmb hugetlbfs iso9660 lustre lustre_lite mfs mqueue ncpfs nfs nfs4 ocfs ocfs2 proc pstore rpc_pipefs securityfs shfs smbfs sysfs tmpfs tracefs udev udf usbfs"
ebra@him:~$
由于您当前的(主)目录有一个名为 a.exe
的文件,因此 shell 正在扩展 *.exe
,并且您实际上是 运行 命令
$ locate a.exe
尝试不带星号或带转义星号
$ locate \*.exe