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é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.