2.3 - Premier pas
Nous allons faire quelques gesticulations pour découvrir la structure de GNU/Linux et commencer à utiliser quelques commandes shells.
2.3.1 - man & Read The Fucking Manual (RTFM)
Rendez-vous service, ne copier/coller jamais une commande bêtement sans comprendre se que la commande va faire. Les systèmes GNU/Linux et Unix sont livrés avec la commande man qui permet de se renseigner sur la plupart des autres commandes. Pour afficher le manuel d'une commande, il suffit d'écrire : man command. Exemple :
# @client
man pwd
Vous n'avez pas la commande man ? :
# @client
sudo apt install man
Pour faire une recherche dans une page de manuel, il suffit de presser la touche [/] (slash) puis d'écrire ce que l'on cherche. Ensuite, les touches [N] ou Shift+[N] permettent d'aller à l'occurence suivante ou précédente de la recherche. La touche [Q] permet de quitter le manuel.
Si vous avez un navigateur web sous la main, un site web de tricheur existe. Il est même listé dans la section SysTools de la webographie de ce site. Il s'agit de https://explainshell.com. Il n'explique pas toujours tout comme il faut, mais quand on débute il fait gagner du temps.
2.3.2 - cd, ls, pwd & file
Pour se déplacer dans le système, lister le contenu des répertoires et s'informer sur les fichiers, quatres commandes :
- cd : change directory
- ls : list
- pwd : print working directory
- file
cd
La commande cd doit être suivi de l'adresse à laquelle ont souhaite se rendre. Ce peut être :
- cd dossier
- Aller dans un dossier
- cd dossier/sous-dossier/…
- Aller à une adresse relative (relative à l'endroit où on se trouve, voir pwd)
- cd /dossier/sous-dossier/…
- Aller à une adresse absolue (/ en début d'adresse représente la racine du système)
- cd ~/dossier/sous-dossier/…
- Aller à une adresse relative au dossier personnel de l'utilisateur (~ représente le dossier personnel)
- cd ..
- Retour au dossier parent (.. représente le dossier parent)
- cd -
- Retour au dernier dossier (ici, - (tiret) représente le dossier précédent)
- cd
- Retour au dossier personnel (sans argument)
ls
La commande ls permet de lister le contenu d'un répertoire. Sans oublier de RTFM, essayez ces différentes options pour voir leurs effets :
- ls -l
- ls -a
- ls -la
- ls -lh
- ls -R
pwd
La commande pwd permet d'afficher l'adresse à laquelle on se trouve.
file
La commande file permet d'obtenir des informations sur un fichier. Exemple :
# @client
file /etc/fstab
2.3.3 - Filesystem Hierarchy Standard (FHS)
Pour exploiter les commandes ci-dessus, explorez la hiérarchie du systèmes de fichiers de votre client Ubuntu. Elle respecte dans les grandes lignes la norme FHS. Cette norme définit l'arborescence et le contenu des principaux répertoires des systèmes GNU/Linux et de la plupart des Unix. La version 3.0 actuelle à été publiée le 3 juin 2015. (Voir Wikipedia pour plus de détails)
Les principaux dossiers sont :
| Dossier | Contenu |
|---|---|
| /bin | Fichiers exécutables (binaires) de démarrage |
| /sbin | Fichiers exécutables de démarrage pour les administrateurs |
| /boot | Noyaux et chargeurs de démarrage |
| /dev | Fichiers représentant les périphériques (devices) |
| /etc | Fichiers de configurations du système |
| /home | Répertoires des utilisateurs |
| /home/.* | Configurations des utilisateurs |
| /lib | Bibliothèques (*.so pour Shared Object) |
| /mnt | Points de montages temporaires |
| /media | Points de montages des médias amovibles (USB, CD…) |
| /opt | Logiciels optionnels |
| /proc | Vue virtuelle du noyau est des processus dans la mémoire vive |
| /root | Dossier de l'utilisateur root |
| /srv | Données des services hébergés (web, ftp, nfs…) |
| /tmp | Fichiers temporaires |
| /usr | UNIX System Resources, non strictement nécessaire au démarrage |
| /usr/bin | Fichiers exécutables (le gros des logiciels) |
| /usr/sbin | Fichiers exécutables des administrateurs |
| /usr/share | Fichiers indépendants de la plateforme (non binaires) |
| /usr/local | Applications compilé à la mains (localement) |
| /var | Fichiers ou liens « variables » du système (db, mailbox, …) |
| /var/cache | Caches des logiciels |
| /var/run | Fichiers temporaires des logiciels en cours d'exécution |
👉 Aller dans ces dossiers, lister leurs contenus et voyez les types de fichiers que l'on y trouve avec la commande file.
>>> Vous pouvez passer à la découverte du shell
