GNU/Linux >> Tutoriels Linux >  >> Ubuntu

3 façons de trouver des fichiers et des répertoires sous Linux

Cet article expliquera comment vous pouvez trouver des fichiers et des répertoires sous Linux. Nous utiliserons les commandes locate, find et grep. Chaque commande est décrite en détail ci-dessous.

Nous avons utilisé Ubuntu 20.04 LTS pour démontrer le processus.

Utilisation de la commande Locate pour rechercher des fichiers et des répertoires sous Linux

La commande de localisation offre des résultats plus rapides car elle lit la base de données mlocate.db qui contient tous les chemins de fichiers de votre système.

Installer la localisation

Si vous obtenez le message ci-dessous, vous devez installer la localisation.

La commande pour installer locate est :

sudo apt-get install mlocate

La première étape consiste à saisir votre mot de passe. Une fois que vous avez entré votre mot de passe, l'installation démarre.

Vous devez mettre à jour la base de données de recherche après l'installation. Étant donné que locate repose sur cette base de données, vous devez la mettre à jour régulièrement pour garantir son efficacité. Vous avez besoin des privilèges de superutilisateur pour mettre à jour la base de données mlocate.

sudo updatedb

Recherche de fichiers à l'aide du nom de fichier

Pour rechercher des fichiers à l'aide de leurs noms, utilisez la commande suivante :

locate {filename}

Nous allons rechercher un fichier appelé "textfile.txt", donc la commande sera :

locate textfile.txt

Le résultat sera le chemin d'accès à l'emplacement de votre fichier.

Ignorer la sensibilité à la casse

Par défaut, localisez les requêtes de processus en respectant la casse, ce qui signifie que textfile.txt et TEXTFILE.TXT pointeront vers des résultats de recherche différents.

Comme vous pouvez le voir, TEXTFILE.TXT n'a pas pu être localisé.

Vous pouvez ignorer la sensibilité à la casse en utilisant le –i option. La commande est :

locate –i {file name}

Comme vous pouvez le voir, le fichier a maintenant été localisé.

Utilisation de la commande find pour rechercher des fichiers et des répertoires sous Linux

Par rapport à localiser, trouver est beaucoup plus puissant, mais plus lent. Il est plus lent car il recherche les fichiers sur votre disque. Ce qui rend la recherche géniale, c'est que vous pouvez trouver des fichiers et des répertoires sous Linux en fonction des groupes d'utilisateurs, du moment où les fichiers ont été modifiés ou consultés, des autorisations de fichier, des dates et de la taille.

Recherche de fichiers dans le répertoire courant

Vous pouvez afficher tous les fichiers portant un nom particulier dans votre répertoire actuel à l'aide de la commande suivante :

find . -name {filename}

Vous verrez tous les fichiers portant le nom "fichiertexte.txt" dans le répertoire actuel.

Recherche de fichiers dans le répertoire personnel

Pour rechercher des fichiers dans votre répertoire personnel, utilisez /home . La commande sera :

find /home -name {filename}

Vous verrez tous les fichiers nommés Hello.txt dans votre répertoire personnel.

Ignorer la sensibilité à la casse

Par défaut, find traite les requêtes en respectant la casse, ce qui signifie que hello.txt et Hello.txt pointent vers des résultats de recherche différents.

Comme vous pouvez le voir, hello.txt est introuvable.

Pour ignorer la sensibilité à la casse, utilisez la commande suivante :

find –iname {file name}

Comme vous pouvez le voir dans l'image ci-dessous, hello.txt a été localisé.

Rechercher à l'aide de caractères génériques

Vous pouvez utiliser des caractères génériques pour rechercher des fichiers selon certains critères. L'astérisque (* ) le caractère générique vous permet de faire correspondre les instances d'un caractère.

L'exemple ci-dessous utilise les commandes suivantes :

find . –name ‘*he’

Cette commande liste tous les noms de fichiers se terminant par "he"

find . –name ‘he*’

Cette commande liste tous les noms de fichiers commençant par "he"

Rechercher en utilisant la taille du fichier

Pour rechercher des fichiers en fonction de leur taille, utilisez :

find –size {filesize} –type f

Cette commande recherche les fichiers d'une taille de 68 octets.

Pour rechercher des fichiers supérieurs ou inférieurs à une taille particulière, ajoutez "+ ” ou “ ” à votre commande respectivement.

find –size -{filesize} –type f

L'exemple ci-dessous recherche des fichiers inférieurs à 512 octets.

Cette commande recherche les fichiers supérieurs à 512 octets.

Recherchez des fichiers en fonction de leur date de dernière modification

Utilisez la commande ci-dessous pour rechercher des fichiers en fonction de leur date de dernière modification :

find -iname "*.txt" -mtime -60

Cette commande recherche les fichiers qui ont été modifiés au cours des 60 derniers jours.

Rechercher des répertoires

Pour trouver un répertoire, utilisez la commande :

find –name “{file name}” –type d

Vous pouvez ainsi voir le chemin d'accès au répertoire.

Rechercher des fichiers en lecture seule

Pour rechercher des fichiers en lecture seule, utilisez la commande

find / -perm /u=r

Vous pouvez voir tous les fichiers en lecture seule dans le terminal.

Utilisation de la commande Grep pour rechercher des fichiers et des répertoires sous Linux

Grep, Global Regular Expression Print est utilisé sous Linux pour rechercher des chaînes dans un fichier particulier. Si grep trouve ces caractères, il imprime la ligne. La commande est :

grep {string} {file name}

Dans l'exemple ci-dessous, nous allons rechercher la chaîne "is" dans le fichier "textfile.txt". Vous pouvez voir les lignes qui contiennent le "est".

Imprimer les numéros de ligne

Vous imprimez les numéros de ligne avec la chaîne correspondante en utilisant :

grep {string} {filename} –n

L'exemple ci-dessous imprime le numéro de ligne où se trouve la chaîne "is".

Inverser la correspondance

Cette option vous permet d'imprimer les lignes qui ne correspondent pas au modèle que vous avez saisi.

grep {string} {file name} –v

L'exemple ci-dessous imprime la ligne du fichier texte "textfile.txt" qui ne contient pas "is".

Ignorer la sensibilité à la casse

Par défaut, grep traite les requêtes en respectant la casse, c'est-à-dire que is et IS pointeront vers des résultats de recherche différents.

Comme vous pouvez le voir, "IS" est introuvable.

Utilisez la commande ci-dessous pour ignorer la casse :

grep {string} {file name} –i

Recherche récursive

Grep ne vous permet pas de rechercher des répertoires, par défaut. Vous obtenez l'erreur suivante :

Vous pouvez effectuer une recherche dans les répertoires en utilisant :

grep {string} . –R

L'exemple ci-dessous recherche la chaîne "some" dans le répertoire courant.

Dans cet article, nous avons vu comment localiser, rechercher et grep fonctionnent pour rechercher des fichiers et des répertoires sous Linux. Nous avons également examiné quelques cas sur la façon dont ils sont utilisés.


Ubuntu
  1. Rechercher des fichiers et des répertoires sous Linux avec la commande find

  2. Trouver des fichiers et des répertoires sous Linux comme un pro

  3. Trouvez les fichiers et répertoires les plus volumineux sous Linux

  4. Commandes de recherche Linux

  5. Rechercher et copier des fichiers

Comment compresser des fichiers et des répertoires sous Linux

Les 3 meilleurs outils pour rechercher et supprimer des fichiers en double sous Linux

Comment rechercher et supprimer des répertoires vides sous Linux

Comment renommer des fichiers et des répertoires sous Linux

Trouvez facilement des fichiers et des répertoires sur Linux

4 façons de transférer des fichiers et des répertoires sous Linux