Commandes Linux de base à connaître pour gérer son système.
Toutes les commandes ne stipulent pas forcément les options.
Navigation
ls : Lister les dossiers et les fichiers ( dans le dossier en cours si aucun chemin n'est spécifié)
ls -l : Lister les dossiers et les fichiers de manière détaillée
ls -la : Lister les dossiers et les fichiers de manière détaillée, incluant les fichiers cachés
cd dir : Naviguer vers le dossier dir (dir est le nom du dossier)
cd .. : Naviguer vers le dossier parent
cd ../dir : Naviguer vers le dossier dir dans le dossier parent
cd ~: Naviguer vers le dossier personnel
cd - : Naviguer vers le dossier précédent
pwd : Afficher le dossier en cours
Fichiers et Dossiers
mkdir dir : Créer le dossier dir
rm file : Supprime le fichier file
rm -r dir : Supprime le dossier dir
rm -rf file : Supprime le dossier dir et son contenu
cp file1 file2 : Copie file1 en file2
mv file1 file2 : Renomme file1 en file2
mv file1 dir/file2 : Déplace file1 en file2 dans le dossier dir
touch file : Créée un fichier vide ou modifie la date de création du fichier s'il existe
cat file : Affiche le contenu du fichier file
cat > file : Ecrit dans file (Jusqu'à CTRL+D) ce qui est saisi à la console
cat >> file : Ajoute au fichier file (Jusqu'à CTRL+D) ce qui est saisi à la console
head -n 50 file : Affiche les 50 premières lignes du fichier file (-N affiche tout sauf les N dernières lignes)
tail -n 50 file : Affiche les 50 dernières lignes du fichier file (+N affiche tout à partir de la ligne N)
tail -f file : Affiche à a console le contenu du fichier file ce qui y est ajouté
Recherche
find . -name fic : Recherche le fichier fic dans le dossier actuel et ses sous dossiers
find /home -name "fi*" : Recherche les fichiers commençant par fi dans le dossier /home et ses sous dossiers
grep pat file : Recherche le mot pat dans le fichier file
grep -r pat dir : Recherche le mot pat dans les fichiers du dossiers dir
which app : Affiche le chemin complet d'une commande
which app : Rechercher les fichiers exécutables, les sources et les pages de manuel d'une commande
man app : Affiche la page de manuel d'une commande
Réseau
ip addr : Affiche les adresses IP de la machine
ip route : Affiche les routes de la machine
ping host : Pinguer l'hôte host
whois dom : Afficher des informations sur le domaine dom (Nécessite bind-tools)
dig dom : Afficher les entrées DNS pour le domaine dom (Nécessite bind-tools)
dig -x host : Affiche les entrées DNS inversées (Nécessite bind-tools)
wget file : Télécharge un fichier
wget -r url : Télécharge les fichiers récursivement depuis l'url
curl url : Affiche le contenu de la page à l'écran
curl -o fic.html url : Ecrit la page dans fic.html
ssh user@host : Se connecter en tant que user à host
ssh -p port user@host : Se connecter en tant que user à host sur le port indiqué
Processus
ps : Affiche les processus actifs
ps aux : Affiche les processus actifs de manière détaillée
kill pid : Tuer un processus par son pid
killall app : Tuer les processus du nom app
pidof app : Affiche les pid des processus app
Informations système
date : Affiche la date actuelle
uptime : Affiche le temps de fonctionnement du système depuis le dernier démarrage
whoami : Affiche quel utilisateur est actuellement connecté
w : Affiche qui est connecté
cat /proc/cpuinfo : Affiche les infos sur le processeur
cat /proc/meminfo : Affiche les infos sur la mémoire
free : Affiche l'usage de la mémoire
df -h : Affiche l'usage des disques
du -sh dossier : Affiche la taille d'un dossier
Archivage et Compression
tar -cf archive.tar fichier1 fichier2 dossier : Archives les fichiers et dossiers dans archive.tar
tar -xf archive.tar : Désarchive l'archive archive.tar dans le dossier courant
tar -tf archive.tar : Affiche le contenu de l'archive archive.tar
Options :
c : Créer une archive
t : Afficher le contenu
x : Extraire l'archive
v : Mode Verbeux
z : Compresser avec Gzip
j : Compresser avec bzip2
J : Compresser avec xz
Note : On peut ajouter avant les options -I (i majuscule) suivi d'un autre outil de compression :
tar -I zstd -cf archive.tar.zstd fichier1 fichier2
Droits
chmod NNN fichier : Changer les permissions du fichier
- 4 : Lecture (read - r)
- 2 : Ecriture (write - w)
- 1 : Exécution (execution - x)
- Somme des droits à allouer
- Ordre : Propriétaire/Groupe/Autres
chown user fichier : Changer le propriétaire du fichier
Pour chmod et chown : Option -R pour appliquer de manière récursive.
System
Afficher des informations sur tous les bus PCI et le système et tous les périphériques qui y sont connectés.
lspci
Si on ne veut que les caractéristiques de la carte graphique :
lspci | grep VGA
Lister tous les périphériques USB branchés sur votre ordinateur.
lsusb
Je peux rendre la machine plus bavarde en ajoutant l’option -v, -vv ou -vvv
Afficher des information sur votre CPU.
lscpu
Afficher la liste des modules du noyau chargés en mémoire.
lsmod
Avoir la configuration matériel détaillée de votre ordinateur.
sudo lshw
Configurer et afficher les informations des interfaces réseau IP.
ifconfig
Configurer les caractéristiques d’une connexion Wifi et voir si son matériel est reconnu par le système d’exploitation.
iwconfig
Obtenir des informations détaillées depuis une interface sans fil. “iwlist wlan0 scan” informe sur les différents points d’accès sans fil à proximité.
iwlist scan
Obtenir des informations sur la configuration d’une connexion (réseau internet, local, intranet).
cat /etc/network/interfaces
Connaitre sa version de Debian ou Ubuntu.
cat /etc/lsb-release
Afficher toutes les informations disponibles sur la version du système d’exploitation et le type de la machine.
uname -a
Afficher les informations du fichier de configuration et des paramètres de votre environnement graphique.
cat /etc/X11/xorg.conf
Obtenir une liste des disques utilisés au démarrage et des partitions de ces disques.
cat /etc/fstab
Obtenir des informations à propos des dépôts de paquets pour votre système d’exploitation Ubuntu.
cat /etc/apt/sources.list
Obtenir des information sur le fichier de configuration de votre gestionnaire de démarrage.
cat /boot/grub/grub.cfg
Plus d’informations sur les versions des logiciels et du matériel directement accessibles via votre navigateur :
sudo lshw -html >MyGNULinuxBox.html
Le fichier .html généré par cette commande se trouve dans votre “Home”
Mise à jour des dépots.
sudo apt-get update
Mettre à jour tous les paquets installés sur le système vers les dernières versions (couramment utilisé).
sudo apt-get upgrade
Les messages du démarrage de la machine
Ils sont affichés en lançant la commande dmesg en console, mais ils sont très nombreux et vous n’aurez pas le temps de les lire.
Ajoutez | more et ils défileront page par page.
Touche espace pour avancer et touche q pour quitter.
dmesg | more
Pour les enregister dans un fichier nommé boot.messages, tapez :
dmesg > boot.messages
Décoder la table DMI (le BIOS)
Sous root:
dmidecode
Toujours trop d’informations, il va falloir spécifier ce que vous cherchez : par exemple, les infos sur le processeur -t processor ou sur la mémoire -t memory
dmidecode -t processor
dmidecode 3.0
Le disque dur
Afficher les informations (sous root)
smartctl -a /dev/sda
Mesure de la vitesse du disque dur
hdparm -tT /dev/sda
La première mesure (obtenue grâce au paramètre -T) mesure la vitesse de lecture à partir du cache de Linux, sans lecture réelle sur le disque.
La deuxième mesure (obtenue grâce au paramètre -t) mesure la vitesse de lecture réelle sur le disque.
Vitesse en écriture
Une commande simple permet de mesurer le taux d’écriture sur disque :
dd if=/dev/zero of=/tmp/output.img bs=8k count=256k
Cette commande crée un fichier rempli de 0 de 2 Go (8k x 256.000) et affiche en retour la vitesse d’écriture.
Afficher la RAM (+ le swap)
free -m
Caractéristique du microprocesseur.
cat /proc/cpuinfo
Afficher la RAM et voir les processus qui usent le plus de ressources
top