accueil > Gestion des fichiers et répertoires > find

Maîtriser la commande find

Ceci est un guide pour la commande `find`, qui est utilisée pour rechercher des fichiers et des répertoires dans le système de fichiers sous Linux. Vous pouvez trouver efficacement les fichiers que vous souhaitez en combinant diverses conditions et actions.

Options principales

Essayez de rechercher et de traiter des fichiers dans le système de fichiers en combinant les différentes options de la commande `find`.

1. Recherche de base

2. Conditions de temps

3. Conditions de taille et de permission

4. Actions

Commande générée :

Essayez de combiner les commandes.

Description:

`find` Exécute la commande.

Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.

Opérateurs logiques

La commande `find` fournit des opérateurs logiques pour effectuer des recherches plus précises en combinant plusieurs conditions.

Opérateurs logiques principaux Opérateurs utilisés pour combiner plusieurs conditions. AND (`-a`) est appliqué par défaut.
Opérateur Description Exemple
-and (ou omis) Lorsque les deux conditions de gauche et de droite sont vraies `find . -name "*.txt" -and -size +1M`
-or Lorsque au moins une des conditions de gauche ou de droite est vraie `find . -name "*.log" -or -name "*.tmp"`
-not (ou !) Lorsque la condition est fausse `find . -not -name "*.txt"`
( ) Groupement de conditions (nécessite l'échappement) `find . \( -name "*.txt" -or -name "*.doc" \)`

Priorité des opérateurs

Les opérateurs de la commande `find` sont généralement évalués de telle sorte que les actions sont traitées après les expressions. Au sein des conditions, les parenthèses (`()`) peuvent être utilisées pour spécifier explicitement la priorité. Lors de l'utilisation de parenthèses, elles doivent être échappées avec une barre oblique inverse (`\`) car elles ont une signification spéciale dans le shell.

Exemples d'utilisation

Entraînez-vous à la recherche et à la gestion de fichiers à travers des exemples d'utilisation pratiques de la commande `find`.

Trouver tous les fichiers avec l'extension '.log' dans le répertoire actuel

find . -name "*.log"

Recherche tous les fichiers se terminant par `.log` à l'emplacement actuel.

Trouver les fichiers de plus de 50 Mo

find /var -size +50M

Recherche tous les fichiers dont la taille dépasse 50 Mo sous le répertoire `/var` du système.

Trouver les fichiers 'conf' modifiés au cours des 7 derniers jours

find . -name "*.conf" -mtime -7

Trouve les fichiers `.conf` modifiés au cours des 7 derniers jours dans le répertoire actuel.

Trouver tous les répertoires avec la permission d'accès 777

find / -type d -perm 777

Recherche les répertoires dont les permissions sont définies sur 777 sur l'ensemble du système pour vérifier les risques de sécurité.

Supprimer les anciens fichiers '.tmp'

find /tmp -name "*.tmp" -mtime +30 -delete

Trouve et supprime tous les fichiers `.tmp` de plus de 30 jours dans le répertoire `/tmp`.

Exécuter une commande spécifique sur les fichiers trouvés (chmod)

find . -name "*.sh" -exec chmod 755 {} \;

Accorde les permissions d'exécution (755) à tous les fichiers avec l'extension `.sh` dans le répertoire actuel.

Trouver les fichiers de plus de 1 Go appartenant à un utilisateur spécifique

find /home -user user1 -size +1G

Recherche dans le répertoire `/home` les fichiers qui appartiennent à `user1` et dont la taille dépasse 1 Go.


Commandes de la même catégorie