63 lines
1.7 KiB
Markdown
63 lines
1.7 KiB
Markdown
---
|
|
title: "locating"
|
|
tags: [ "Documentation", "Basics" ]
|
|
---
|
|
# Type
|
|
|
|
`type` shows what kind of thing you're running, be it an alias, function, or binary program.
|
|
|
|
```bash
|
|
type cmus
|
|
```
|
|
|
|
# Whereis the Program
|
|
|
|
Ask where the `angband` program is, along with all its configuration files:
|
|
|
|
`whereis angband`
|
|
|
|
Also `which` shows where a binary file (the program) is,
|
|
|
|
```bash
|
|
which cmus
|
|
```
|
|
|
|
# Search Instantly with `plocate`
|
|
|
|
You can search every file on the computer instantly by installing `plocate`.
|
|
|
|
Once installed, run `sudo updatedb` to create the database of (nearly) every file on the computer.
|
|
|
|
Check how big the database is:
|
|
|
|
```bash
|
|
du -h /var/lib/plocate/plocate.db
|
|
```
|
|
|
|
Once you have the database, you can find nearly any file instantly.
|
|
|
|
- Search for gifs: `locate .gif`
|
|
- Search for gifs in the `/usr/` directory: `locate /usr/ .gif`
|
|
- Search for jpg images with 'dog' or 'Dog' in the name: `locate -i dog jpg`
|
|
- Search for videos: `plocate --regex '.mp4$|.mkv$|.wmv$|.webm$|.mov$|.avi$'`
|
|
|
|
For best results, run `updatedb` regularly, perhaps in [crontab](../system/cron.md).
|
|
|
|
## Search More Places
|
|
|
|
`plocate` will not search `/tmp/`, because nobody cares about those files, and won't search inside `/mnt/`, because that's where USB sticks get mounted, so the files keep changing as USB sticks come and go.
|
|
|
|
Change where `plocate` searches by editing the configuration file at `/etc/updatedb.conf`.
|
|
|
|
By default, the `/mnt` directory is 'pruned' from the database.
|
|
So if you want to search `/mnt` for videos, remove the word `/mnt` from the configuration file.
|
|
|
|
|
|
```bash
|
|
cat /etc/updatedb.conf
|
|
sudo sed 's#/mnt/##' /etc/updatedb.conf
|
|
sudo updatedb
|
|
plocate --regex '.mp4$|.mkv$|.wmv$|.webm$|.mov$|.avi$'
|
|
```
|
|
|