💬Log files

Les fichiers journaux sont une source cruciale d'informations sur l'activité d'un hôte Linux. Ils enregistrent un historique des actions effectuées, offrant une visibilité précieuse. Examinons quelques-unes des sources de journaux importantes dans le répertoire /var/log.

🖥️ Journal Système

Le fichier syslog contient des messages relatifs à l'activité du système. Utilisez cat pour afficher le contenu du syslog, mais compte tenu de sa taille, vous pouvez également utiliser des utilitaires comme tail, head, more ou less pour le parcourir.

cat /var/log/syslog* | head

Ce terminal affiche des informations telles que l'heure du système, le nom du système, le processus émetteur et les détails du journal. N'oubliez pas d'utiliser l'astérisque (*) pour inclure tous les journaux pivotés.

🔐 Journaux d'Authentification

Les journaux d'authentification contiennent des informations sur les activités d'authentification des utilisateurs. Vous pouvez les examiner en utilisant cat ou d'autres outils similaires.

cat /var/log/auth.log* | head

Ce terminal montre des détails tels que la création de nouveaux utilisateurs et leur ajout à des groupes.

🔄 Journaux Tiers

Outre les journaux système et d'authentification, le répertoire /var/log contient également des journaux d'applications tierces telles que les serveurs web (comme Apache), les bases de données (comme MySQL), ou les serveurs de partage de fichiers (comme Samba). Vous pouvez les explorer en accédant aux répertoires appropriés.

ls /var/log/apache2/

Ce terminal affiche les journaux d'Apache, tels que access.log et error.log.

En examinant ces journaux, vous pouvez retracer l'activité passée sur l'hôte Linux et détecter toute anomalie ou activité suspecte.

Commande pour rechercher dans un fichier

.


🐱 cat

Affiche le contenu d'un ou plusieurs fichiers dans le terminal. Options disponibles :

  • -n : Numérote toutes les lignes.

Exemple :

cat -n apache.log

Montre le contenu du fichier apache.log avec la numérotation des lignes.


📖 less

Permet de visualiser un fichier page par page, idéal pour les fichiers longs. Options disponibles :

  • -N : Affiche le numéro de ligne.

  • -S : Couper les lignes trop longues au lieu de les scroller.

Exemple :

less -N apache.log

Affiche le fichier apache.log avec le numéro de ligne.


📏 tail

Affiche les dernières lignes d'un fichier, utile pour surveiller les logs en temps réel. Options disponibles :

  • -f : Suit les ajouts au fichier en temps réel.

  • -n <N> : Affiche les N dernières lignes.

Exemple :

tail -f -n 10 apache.log

Montre les 10 dernières lignes du fichier apache.log en temps réel.


📊 wc

Compte les lignes, mots et caractères dans un fichier. Options disponibles :

  • -l : Compte seulement les lignes.

  • -w : Compte seulement les mots.

  • -c : Compte seulement les caractères.

Exemple :

wc -l apache.log

Affiche le nombre de lignes dans apache.log.


✂️ cut

Extrait des colonnes spécifiques d'un fichier selon un délimiteur. Options disponibles :

  • -d <delim> : Définit le délimiteur (par défaut c'est une tabulation).

  • -f <field_list> : Sélectionne les colonnes à afficher.

Exemple :

bashCopier le codecut -d ' ' -f 1,3 apache.log

Affiche les colonnes 1 et 3 du fichier apache.log.


📈 sort

Trie les lignes d'un fichier par ordre croissant ou décroissant. Options disponibles :

  • -r : Trie en ordre décroissant.

  • -n : Trie les nombres.

Exemple :

sort -r apache.log

Trie les lignes du fichier apache.log en ordre décroissant.


🛑 uniq

Supprime les lignes dupliquées adjacentes d'une entrée triée. Options disponibles :

  • -c : Compte les occurrences de chaque ligne.

  • -d : Affiche seulement les lignes dupliquées.

Exemple :

sort apache.log | uniq -c

Affiche le nombre d'occurrences de chaque ligne unique dans apache.log.


🔄 sed

Modifie le texte d'un fichier selon des expressions régulières. Options disponibles :

  • -i : Modifie le fichier en place.

  • s/pattern/replacement/ : Remplace le motif par le remplacement.

Exemple :

sed -i 's/31\/Jul\/2023/July 31, 2023/g' apache.log

Remplace une date dans le fichier apache.log.


📜 awk

Exécute des actions basées sur des conditions spécifiques dans les lignes. Options disponibles :

  • {action} : Définit l'action à exécuter.

  • $N : Fait référence à la N-ième colonne.

Exemple :

awk '$9 >= 400 {print $0}' apache.log

Affiche les entrées ayant un code de réponse HTTP >= 400.


🔍 grep

Recherche des motifs spécifiques dans un fichier. Options disponibles :

  • -i : Ignore la casse.

  • -v : Affiche les lignes qui ne correspondent pas au motif.

Exemple :

grep -i "admin" apache.log

Affiche les lignes contenant "admin" sans tenir compte de la casse dans apache.log.

Last updated