locate
Linux Command – locate ใช้ในการค้นหา file หรือ directory
คำสั่ง
locate <file>
$ locate find /bin/btrfs-find-root /bin/findmnt /etc/apparmor.d/abstractions/apparmor_api/find_mountpoint /sbin/findfs /usr/bin/find
แสดงเฉพาะ basename
$ locate -b <file>
ดูข้อมูล stat ของ locate catalog
$ locate -S Database /var/lib/mlocate/mlocate.db: 14,942 directories 132,761 files 7,168,592 bytes in file names 3,062,580 bytes used to store database
โครงสร้างคำสั่ง
locate [OPTION]... PATTERN...
รายละเอียด
เป็นคำสั่งที่ใช้ในการค้นหา file หรือ directory ค่อนข้างรวดเร็วกว่าคำสั่ง find และ สามารถหาจาก system file ทั้งหมด สาเหตุที่เร็วกว่าก็มาจากอาศัย database ที่เก็บของมูล file และ file system ไว้ ซึ่งมีการ update ทุกๆวันด้วย cron แต่สามารถ manual ด้วยคำสั่ง “updatedb”
Option
-A, --all Print only entries that match all PATTERNs instead of requiring only one of them to match. -b, --basename Match only the base name against the specified patterns. This is the opposite of --wholename. -c, --count Instead of writing file names on standard output, write the number of matching entries only. -d, --database DBPATH Replace the default database with DBPATH. DBPATH is a :-separated list of database file names. If more than one --database option is specified, the resulting path is a concatenation of the separate paths. An empty database file name is replaced by the default database. A database file name - refers to the standard input. Note that a database can be read from the standard input only once. -e, --existing Print only entries that refer to files existing at the time locate is run. -L, --follow When checking whether files exist (if the --existing option is specified), follow trailing symbolic links. This causes broken symbolic links to be omitted from the output. This is the default behavior. The opposite can be specified using --nofollow. -h, --help Write a summary of the available options to standard output and exit successfully. -i, --ignore-case Ignore case distinctions when matching patterns. -l, --limit, -n LIMIT Exit successfully after finding LIMIT entries. If the --count option is specified, the resulting count is also limited to LIMIT. -m, --mmap Ignored, for compatibility with BSD and GNU locate. -P, --nofollow, -H When checking whether files exist (if the --existing option is specified), do not follow trailing symbolic links. This causes broken symbolic links to be reported like other files. This is the opposite of --follow. -0, --null Separate the entries on output using the ASCII NUL character instead of writing each entry on a separate line. This option is designed for interoperability with the --null option of GNU xargs(1). -S, --statistics Write statistics about each read database to standard output instead of searching for files and exit successfully. -q, --quiet Write no messages about errors encountered while reading and processing databases. -r, --regexp REGEXP Search for a basic regexp REGEXP. No PATTERNs are allowed if this option is used, but this option can be specified multiple times. --regex Interpret all PATTERNs as extended regexps. -s, --stdio Ignored, for compatibility with BSD and GNU locate. -V, --version Write information about the version and license of locate on standard output and exit successfully. -w, --wholename Match only the whole path name against the specified patterns. This is the default behavior. The opposite can be specified using --basename.
กลุ่มคำสั่ง
find, updatedb(8)
Reference:
Author: Suphakit Annoppornchai
Credit: https://saixiii.com
[…] locate(1), locatedb(5), updatedb(1), xargs(1), chmod(1), fnmatch(3), regex(7), stat(2), lstat(2), ls(1), printf(3), strftime(3), ctime(3) […]