NOC online · 24/7Longview, TX · +1 323 412 0665
KinetikatechServers · Security · Websites
FR

Commandes Linux et compétences Shell

find : La recherche Linux qui fait tout

find est la commande la plus dangereuse sur un serveur de production, et c'est exactement pourquoi elle mérite d'être maîtrisée. Il énumère, filtre et exécute en une seule expression, et chaque incident classique '/var here be dragons' remonte à un aperçu que quelqu'un a ignoré. Les habitudes sont mécaniques : marchez d'abord avec -print ou -ls, batch avec -exec ... +, passez par -print0 dans xargs -0 et traitez -delete comme une décision de deuxième passe, jamais une première ébauche.

Points clés

  • Filtrez sur les métadonnées, pas seulement sur le nom : -type f, -mtime +30, -size +100M et -perm -o+w localisent les fichiers impairs qui manquent aux conventions de dénomination et aux rapports d'âge.
  • Prévisualisez chaque requête destructrice : find /var/www/uploads -name 'core.*' -ls d'abord, remplacez -ls par -delete seulement après avoir réellement lu la liste ; l'aperçu est un contrôle de sécurité, pas une suggestion.
  • -exec cmd {} + regroupe les fichiers en quelques invocations et bat le \; se forme sur les grands arbres; la même syntaxe alimente « rm chaque fichier correspondant en un seul processus » sans erreur de liste d'arguments trop longue.
  • Sortie de sécurité nulle par défaut : find . -name '*.ancien' -print0 | xargs -0rm-v; Les tuyaux simples vers xargs sont un modèle de perte de données connu le jour où un nom de fichier contient un espace.
  • -xdev et -maxdegree gardent la marche honnête : ils empêchent find de suivre les montages et les instantanés, ce qui sauve à la fois le temps d'exécution et vos hypothèses sur "ce répertoire".
  • Les fenêtres horaires sont précises si on leur demande précisément : -mmin -1440 pour les dernières 24 heures, -newermt '2026-01-01' depuis une date, et rappelez-vous -xtime signifie "il y a n périodes complètes de 24 heures" avant de le citer dans un ticket.
  • Taillez délibérément : trouvez . -path '*/node_modules' -prune -o -name '*.js' -print ignore le répertoire qui autrement dépasse le reste de l'arborescence en taille et en temps.
  • Attendez-vous à des sorties différentes de zéro sur des répertoires illisibles ; Les lignes stderr telles que « Autorisation refusée » sont des fichiers ignorés, pas des données, donc les scripts tolèrent l'état de sortie de find ou le vérifient explicitement au lieu de supposer des parcours propres.

Note de terrain

Notre pire histoire de recherche et de suppression a commencé avec un modèle de nom sans guillemets que le deuxième shell a développé en trois mots en amont de find. La règle est simple : -imprimer d'abord, toujours citer et -delete n'utilise jamais une commande lors de sa première exécution.

Questions fréquentes

Ma recherche a trouvé des fichiers mais la commande en aval n'a rien fait. Pourquoi?

Presque toujours entre guillemets ou entrée vide : le modèle a été développé par le shell avant que find ne le voie, ou xargs n'a rien reçu. Citez les modèles et associez -print0 avec xargs -0 à chaque fois.

-delete ou rm après la recherche ?

-delete est direct, rapide et impitoyable ; il ne peut pas être mélangé avec -exec dans la même expression. Exécutez d'abord le -print correspondant et lisez-le ; c'est toute la discipline.

Pourquoi détecte-t-il des erreurs d'autorisation d'impression dans les répertoires système ?

Composants que vous ne pouvez pas lire, imprimer les erreurs sur stderr et faire en sorte que find exit soit différent de zéro ; filtrez avec 2>/dev/null pour un confort interactif et n'interprètez jamais ces erreurs comme une absence de fichiers.

Encore une fois la différence entre -mtime et -ctime ?

-mtime est un changement de contenu, -ctime est un changement de métadonnées (autorisations, renommage, nombre de liens physiques) ; un chown ou un mouvement dépasse ctime sans toucher mtime, ce qui confond exactement un rapport par trimestre.

Comment Kinetikatech vous aide avec commandes linux et compétences shell

Nous l'avons résolu des centaines de fois : Les commandes et habitudes de script qui décident si un administrateur exploite un serveur ou le combat : rechercher, transformer, transférer et superviser le texte et les processus avec les outils présents dans chaque installation de base. Avec Sécurité des serveurs Linux et Gestion de serveurs, vous bénéficiez du cycle complet : nous évaluons, nous déployons, nous surveillons jour et nuit et nous répondons en 30 minutes quand cela compte.

Parler à un ingénieur

Problème de serveur ? Site piraté ? Site lent ?

Incidents critiques pris en charge en 30 minutes — 24h/24, 7j/7.

Demander une assistance urgente support@kinetikatech.com