Wiki adminsys - Cebador.fr

Wiki d'administration systèmes et réseaux.
Simples notes personnelles et non réelle documentation exhaustive.
Donc désolé pour les coquilles et les inexactitudes.
Doc sous licence GNU FDL 1.3

Outils pour utilisateurs

Outils du site


commandes_unix

Commandes Unix usuelles

Commande Fonction Usage Source
ls -lhS Lister le fichiers en les triant du plus au moins volumineux ls -lSh /mondossier
Ncdu Voir l'utilisation du disque ncdu / –exclude /mondossier ncdu
Sort Trier les lignes d'un flux de données textes sort test.txt sort
Tee Écrit ce qu'elle reçoit dans sur la sortie standard et dans un/des fichiers ls Musique | tee test.txt
Uniq Affiche les lignes d'un texte en supprimant les multiples occurrences consécutives sort test.txt | uniq | tee test.txt Man Uniq

Curl

Option Fonction Usage Source/Note
-D Stocker les headers dans un fichier curl -D headers.txt example.org Possibilité de ne pas les stocker dans un fichier et les afficher dans stdout avec -D-
-I (i majuscule) Ne retourner que le code de statut HTTP et non le code HTML de la page
-k Poursuit la connexion malgré https non certifié ou avec certificat auto-signé
-L Suivre les redirections
-v Mode verbeux

Exemples

  • Se connecter en SFTP avec une clé SSH et sans mot de passe :
    curl -k -v -u mysuser: --key path/ssh/privatekey sftp://example.net
  • Se connecter en SFTP avec un mot de passe et sans clé SSH :
    curl -v --insecure sftp://USER:PASSWORD@example.net
  • Ecrire de la données dans un cluster Elasticsearch :
    curl -X POST -u elastic:password_elastic "https://elastic.org:9200/my_index/_doc/" -H 'Content-Type: application/json' -d '{
      "title": "Elasticsearch Basics",
      "author": "John Doe IV",
      "published_year": 2025
    }'
  • Demander au serveur de répondre sans utiliser le cache (no-cache) et de ne pas stocker dans son cache la requête et sa réponse (no-store) :
    curl -H 'Cache-Control: no-cache, no-store' http://example.org

Infos complémentaires : https://everything.curl.dev/usingcurl/scpsftp

Find

  • Compter le nombre de fichiers du répertoire courant :
    find . -maxdepth 1 -type f | wc -l
  • Compter le nombre de fichiers pdf dans le répertoire courant et ses sous-répertoires :
    find . -type f -iname "*.pdf" | wc -l

Grep

Option Fonction Usage Source/Note
-o Récupérer uniquement le contenu matchant avec le pattern grep -o “dossier\_.*\.pdf” maliste.txt
-n Afficher le numéro de ligne grep -n “pattern” maliste.txt
-r Chercher de manière récursive grep -r “pattern” mondossier
-i Insensibilité à la casse
–exclude-dir exclure une répertoire de la zone de recherche grep -nri hosts1 –exclude-dir=.git .

Exemples

  • Chercher un pattern dans tous les fichiers d'un répertoire de manière récursive sans être sensible à la casse et en affichant le numéro de ligne :
    grep -nri 'mon pattern' mon_repertoire/*
  • Chercher les erreur 400, 401 403 ou 404 dans des logs Nginx :
    egrep -nr "\s(400|401|403|404)\s" /var/log/nginx/access.log

pigz

Fonctionne comme gzip mais en utilisant tous les cœurs du serveur. Exemple :

pigz monfichier.img

Sed

Fonctions nombreuses mais peut notamment servir à faire de la substitution de chaînes de caractères dans des fichiers. Remplacer tous occurrences de “Mulder” par “Mulder&Scully” dans tous les fichiers .txt :

sed -i 's/Mulder/Mulder\&Scully/' *.txt

Suppression

La fonction de suppression d supprime les lignes comprises dans un intervalle donné.

Syntaxe :

 sed <commande_sed>d <fichier_à_traiter>

Exemple :
Supprimer les lignes 2 à 4 du <fichier> :

sed -i "2,4d" test1.txt

On peut utiliser les expressions régulières:

sed -i "/toto/d" test1.txt

Si, à l'inverse, on ne veut pas effacer les lignes contenant la chaîne toto (toutes les autres sont supprimées), on tapera:

sed -i "/toto/!d" test1.txt

Appliquer une substitution à tous les sous-dossiers et fichiers d'un dossier :

find <mondir> -type f -exec sed -i 's/Mulder/Scully/g' {} +

Source : https://debian-facile.org/doc:systeme:sed - Licence GNU-GPLv2

Tar

Option Fonction Usage Source/Note
-C Extraire dans un dossier précis tar -xzvf archive.tgz -C dossier/destination
–strip-components=1 Extraire tous les fichier sans le dossier de l'archive tar -xzvf archive.tgz –strip-components=1 Bien mettre le nom de l'archive avant l'option –strip-components

Tcpdump

Option Fonction Usage Source/Note
-i Filtrer sur une interface particulière tcpdump -i wlan0
-n Ne pas résoudre les fqdn tcpdump -i wlan0 -n
host Filtrer sur les paquet en provenant ou à destination d'un hôte tcpdump host 192.168.1.66
net Filtrer sur un réseau tcpdump net 192.168.1.0/24 Possibilité de filtrer sur tous les réseaux sauf celui mentionné avec 'not'
port Filtrer sur un port tcpdump -i wlan0 port 22

Combinaison

Il est possible de combiner plusieurs règles de filtrage à l'aide d'opérateurs logiques :

  • AND ou &&
  • OR ou ||
  • not ou !

Ne voir que les paquets en provenance de l'hôte 192.168.66.12 sur le port 22 :

tcpdump src 192.168.66.12 and port 22

Voir tous les paquets en provenance de réseaux autre que 192.168.1.0/24 :

tcpdump src net not 192.168.1.0/24

Source : https://www.malekal.com/tcpdump-capturer-des-paquets-reseaux-sur-linux/

Divers

commandes_unix.txt · Dernière modification : de Administrateur