linux command

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:

คำสั่ง Unix – Linux Command

Linux, Unix

 

Author: Suphakit Annoppornchai

Credit: https://saixiii.com

One Thought to “locate – Linux Command คำสั่งใช้ในการค้นหา file หรือ directory”

  1. […] 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) […]

Leave a Reply