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

La commande cd doit être suivi de l'adresse à laquelle ont souhaite se rendre. Ce peut être :

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 :

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