[LINUX] Rechercher, localiser le résumé de la commande

introduction

La plupart des opérations sur les fichiers sont effectuées avec git grep, et j'ai négligé les bases, donc J'ai décidé de le chercher à nouveau.

find

Comme son nom l'indique, find est une méthode de recherche de fichiers dans l'arborescence de répertoires. La forme de base est la suivante.

$ find (Rechercher dans le répertoire de démarrage)(Condition de recherche) (Action)

Conditions de recherche

-name

$ find . -name file-1.txt -print
./file-1.txt

Recherchez par nom comme son nom l'indique. Cependant, si vous utilisez un caractère générique (*?), Assurez-vous d'utiliser des guillemets simples ou des guillemets doubles car il sera lu par l'expansion des variables de Bash.

-type

$ find . -type d -print

Comme son nom l'indique, la condition de recherche (-type) est également recherchée par nom de type. Le "d" de "-type d" est le type de fichier, et dans le cas ci-dessus, c'est une instruction pour "trouver uniquement le répertoire à partir de la position actuelle".

Il est également possible d'utiliser en combinaison comme indiqué ci-dessous. (-a est une recherche AND et peut être omis.)

$ find . -type f -a -name '*.txt' -print

Types de fichiers consultables

Spécifier Type de fichier
-type f Fichier normal
-type d répertoire
-type l Lien symbolique

action

Actuellement, tous sont affichés avec -print, mais lorsqu'ils sont affichés avec -ls, ils sont affichés au format" ls ".

find . -type f -a -name '*.txt' -ls
  671143      0 -rw-rw-r--   1 vagrant  vagrant         0 Apr 19 04:29 ./find/file-1.txt
  671215      0 -rw-rw-r--   1 vagrant  vagrant         0 Apr 19 04:29 ./find/file-3.txt
  671213      0 -rw-rw-r--   1 vagrant  vagrant         0 Apr 19 04:29 ./find/file-2.txt

locate Contrairement à find, Locate est recherché à partir de la base de données dans laquelle le chemin du fichier est stocké, de sorte qu'il peut être recherché plus rapidement que find.

Installation

Il n'est pas inclus dans Linux depuis le début, vous devez donc l'installer.

Vérifiez s'il existe déjà

$ locate --version

S'il n'est pas inclus, installez-le.

Installer avec CentOS
$ sudo yum install mlocate
Installer sur Ubuntu
$ sudo apt-get install mlocate

Créer une base de données

$ updatedb

La base de données sera créée par la commande ʻupdatedb` ci-dessus, et la base de données sera mise à jour à intervalles réguliers.

point important

Les mises à jour de la base de données sont configurées pour être mises à jour une fois par jour pendant l'installation. Par conséquent, ce sera un jour plus tard que le fichier que vous venez de créer sera pris dans la recherche. En outre, le fichier que vous venez de supprimer sera capturé dans la recherche jusqu'à un jour plus tard.

`Locate est utile pour rechercher des fichiers quelque temps après leur création (suppression). ''

Rechercher par localisation

$ locate bash

Cela accélérera tous les fichiers nommés bash.

Types de fichiers consultables

Options Effets
-i Ignorer la casse
-b Recherche uniquement le nom du fichier (ignorer le répertoire)
-A et recherche (généralement ou recherche)

Les références

Nouveau manuel Linux

Recommended Posts

Rechercher, localiser le résumé de la commande
Résumé des commandes Linux
Résumé de la commande Docker
[Linux] Résumé des commandes de base
Résumé des commandes liées à l'image
[Mémo d'apprentissage] Résumé de la commande Django
[Linux] Résumé de la commande utilisateur / groupe
Résumé personnel de Jupyter Notebook Magic Command
[Pour les professionnels de la concurrence] Union Find tree summary
[Résumé des commandes Linux] Liste des commandes [À voir absolument pour les débutants]
Version Migemo de la commande: find ,: mfind