Ce chapitre fait partie du cours d'aministration de GNU/Linux.
Généralités sur Unix
1. Le sytème de fichier Unix
Nomenclature
| /boot | noyau (Linux) et sa configuration de démarrage (GRUB) |
| /bin | programmes utilisateur (bootstrap) |
| /sbin | programmes superutilisateur (bootstrap) |
| /lib | bibliothèques essentielles (bootstrap) |
| /etc | configuration du système et des services |
| /root | compte du superutilisateur |
| /home | comptes utilisateurs |
| /usr | chemin d'installation des programmes |
| /usr/bin | programmes utilisateurs |
| /usr/sbin | programmes super-utilisateur (root) |
| /usr/lib | bibliothèques (DLL) |
| /usr/share | ressources des programmes (images, etc) |
| /usr/share/doc | documentation des programmes |
| /usr/local | réservé à l'installation des logiciels tiers (non packagés) |
| /var | fichiers de travail, stockage (logs, spools, etc) |
| /opt | réservé à l'installation des logiciels tiers (non packagés) |
| /srv | espace de stockage (souvent un montage NFS ou une partition distincte) |
| /tmp | fichiers temporaires (à usage modeste) |
| /media | points de montage des supports amovibles (CD-ROM, clé USB) |
| /dev | fichiers spéciaux (accès direct aux périphériques) |
| /proc | système d'information du noyau (classique) |
| /sys | système d'information/configuration du noyau (moderne) |
Consultez également les chapitres sur le partitionnement des disques de chaque distribution pour en apprendre plus sur le dimensionnement et l'usage des différentes parties du système de fichier Unix.
Montages
- TODO: mount, umount, fuser (ext2/3, pseudofs-es, smbfs)
- TODO: /etc/fstab
- TODO: NFS
2. Les commandes utiles
Il faut tout d'abord maîtriser les bases du shell (cd, ls, rm, mv, mkdir, rmdir) et si possible les rudiments de l'éditeur de texte "vi".
Version du noyau en cours d'exécution:
# uname -a
Nom et version de la distribution installée:
# cat /etc/issue
Uptime de la machine, charge moyenne (sur 1min, 5min et 15min) et liste des utilisateurs "loggés":
# w
Historique des dernières personnes connectées:
# last -a
Historique des commandes de l'utilisateurs courant:
# history
Liste des processus (complète, avec la ligne de commande si disponible):
# ps auxw
Utilisation du disque, partition par partition:
# df -h
Utilisation du disque à partir de répertoires précis:
# du -csh /home/*
Trouver rapidement un fichier avec une partie de son nom:
# locate kernel_backup
Configuration des interfaces réseau:
# ifconfig -a
Liste des processus en écoute sur le réseau (UDP et TCP):
# netstat -tulp
Liste des connexions sortantes en cours (TCP):
# netstat -tnp
3. Commandes avancées
A quels fichiers accède ce programme quand je le lance ? (man strace pour les types de traces possibles)
# strace -fe trace=file programme --arg1 --arg2 ...
Effacer un fichier avec des caractères non imprimables (représentés par des ?):
# ls -lb (affiche les caractères non-imprimables en octal) # rm $'fichier avec codes en octal'
Effacer un fichier commençant par un tiret:
# rm -- -zut
Quels sont les fichiers les plus gros dans /var (récursif, poids en Mo) ?
# du -Sam /var | sort -rn | head
Quels sont les fichiers les plus récents dans /var (récursif) ?
# find /var -type f -print0 | xargs -0 stat -c"%y %n" | sort -rn | head