forked from andonome/lk
separate system search
This commit is contained in:
parent
1ce84ebc53
commit
b6280a8581
@ -6,57 +6,28 @@ tags: [ "Basics" ]
|
|||||||
|
|
||||||
`type` shows what kind of thing you're running, be it an alias, function, or binary program.
|
`type` shows what kind of thing you're running, be it an alias, function, or binary program.
|
||||||
|
|
||||||
```bash
|
```sh
|
||||||
type cmus
|
type cd
|
||||||
|
type ls
|
||||||
|
type -P ls
|
||||||
|
type -a cat
|
||||||
```
|
```
|
||||||
|
|
||||||
# Whereis the Program
|
# Whereis the Program
|
||||||
|
|
||||||
Ask where the `angband` program is, along with all its configuration files:
|
Where is `grep` and all its configuration files?
|
||||||
|
|
||||||
`whereis angband`
|
```sh
|
||||||
|
whereis grep
|
||||||
Also `which` shows where a binary file (the program) is,
|
|
||||||
|
|
||||||
```bash
|
|
||||||
which cmus
|
|
||||||
```
|
```
|
||||||
|
|
||||||
# Search Instantly with `plocate`
|
Which one of these is the binary file which you actually use?
|
||||||
|
|
||||||
You can search every file on the computer instantly by installing `plocate`.
|
```sh
|
||||||
|
which grep
|
||||||
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.
|
# More
|
||||||
|
|
||||||
- Search for gifs: `locate .gif`
|
- [Search instantly with `plocate`](data/search_system.md)
|
||||||
- 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$'
|
|
||||||
```
|
|
||||||
|
|
||||||
|
49
data/search_system.md
Normal file
49
data/search_system.md
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
---
|
||||||
|
title: "Search System"
|
||||||
|
tags: [ "data", "search", "locate", "plocate" ]
|
||||||
|
requires: "cron"
|
||||||
|
---
|
||||||
|
|
||||||
|
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:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
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
|
||||||
|
su root
|
||||||
|
cat /etc/updatedb.conf
|
||||||
|
sed -i 's#/mnt/##' /etc/updatedb.conf
|
||||||
|
updatedb
|
||||||
|
exit
|
||||||
|
```
|
||||||
|
|
||||||
|
Now you can search in `/mnt` for films:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
plocate --regex '.mp4$|.mkv$|.wmv$|.webm$|.mov$|.avi$'
|
||||||
|
```
|
||||||
|
|
Loading…
Reference in New Issue
Block a user