💬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
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
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
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
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
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
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
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
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
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
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