B.1. Interpréteur de commandes et commandes de base
Dans le monde Unix, l'administrateur est inévitablement confronté à la ligne de commande, ne serait-ce que dans les cas où le système ne démarre plus correctement et propose uniquement ce moyen comme accès de secours. Il est donc important de savoir se débrouiller un minimum dans un interpréteur de commandes.
Les commandes présentées dans cette section le sont de manière assez rapide. Il ne faut pas hésiter à consulter les pages de manuels correspondantes pour découvrir les nombreuses options disponibles.
B.1.1. Déplacement dans l'arborescence et gestion des fichiers
Après connexion, la commande pwd
(print working directory, afficher le répertoire de travail) indique l'emplacement courant. La commande cd répertoire
(change directory, changer de répertoire) sert à naviguer dans l'arborescence des fichiers. Le répertoire parent est toujours nommé ..
tandis que .
est un synonyme pour le répertoire courant. La commande ls
affiche le contenu d'un répertoire ; en l'absence de paramètres, elle travaille sur le répertoire courant.
$
pwd
/home/rhertzog
$
cd Desktop
$
pwd
/home/rhertzog/Desktop
$
cd .
$
pwd
/home/rhertzog/Desktop
$
cd ..
$
pwd
/home/rhertzog
$
ls
Desktop Downloads Pictures Templates
Documents Music Public Videos
Créer un nouveau répertoire s'effectue avec mkdir répertoire
, alors que la commande rmdir répertoire
supprime un répertoire vide. La commande mv
sert à renommer et/ou à déplacer les fichiers et les répertoires, tandis que rm fichier
supprime un fichier.
$
mkdir test
$
ls
Desktop Downloads Pictures Templates Videos
Documents Music Public test
$
mv test new
$
ls
Desktop Downloads new Public Videos
Documents Music Pictures Templates
$
rmdir new
$
ls
Desktop Downloads Pictures Templates Videos
Documents Music Public
B.1.2. Consultation et modification des fichiers texte
La commande cat fichier
(prévue pour concaténer des fichiers sur la sortie standard) lit un fichier et affiche son contenu dans le terminal. Si le fichier est trop gros, la commande less
(ou more
) permet de l'afficher page par page.
La commande editor
lance un éditeur de texte (comme vi
ou nano
) et permet de créer/modifier/lire des fichiers texte. Pour les fichiers les plus simples, il est parfois possible de les créer directement depuis l'interpréteur de commandes grâce aux redirections. Ainsi, echo "texte" >fichier
crée un fichier nommé fichier contenant « texte ». Pour ajouter une ligne à la fin de ce fichier, il est possible de faire echo "texte supplémentaire" >>fichier
. On notera l'emploi de >>
dans cet exemple.
B.1.3. Recherche de fichiers et dans les fichiers
La commande find répertoire critères
recherche des fichiers dans l'arborescence sous répertoire. L'option -name nom
est le critère de recherche le plus courant et permet de retrouver un fichier par son nom.
La commande
grep expression fichiers
extrait du contenu des fichiers les lignes correspondant à l'expression rationnelle (voir encadré
B.A.-BA Expression rationnelle). L'option
-r
exécute une recherche récursive sur tous les fichiers contenus dans le répertoire indiqué en paramètre. Cela permet d'identifier facilement un fichier dont on connaît une partie du contenu.
B.1.4. Gestion des processus
La commande ps aux
liste les processus en cours d'exécution et leur identifiant pid (process id). Par la suite, la commande kill -signal pid
envoie un signal à un processus donné (à condition qu'il appartienne au même utilisateur) ; le signal TERM
demande au programme de se terminer alors que KILL
le tue brutalement.
L'interpréteur de commandes permet de lancer des programmes en tâche de fond : il suffit pour cela d'ajouter « &» à la fin de la commande. Dans ce cas, l'utilisateur retrouve le contrôle immédiatement, bien que la commande lancée ne soit pas encore terminée. La commande jobs
indique les processus exécutés en arrière-plan. La commande fg %numéro-de-job
(foreground, avant-plan) replace le processus à l'avant-plan. Dans cette situation, la combinaison de touches Control+Z permet de stopper l'exécution du processus et de reprendre le contrôle de la ligne de commande. Pour réactiver en arrière-plan le processus stoppé, il faut faire bg %numéro-de-job
(pour background, arrière-plan).
B.1.5. Informations système : mémoire, espace disque, identité
La commande free
affiche des informations sur l'usage de la mémoire vive, tandis que df
(disk free) rapporte l'espace disponible sur les différents disques accessibles dans l'arborescence. On emploie fréquemment l'option -h
de df
(pour human readable) afin qu'il affiche les tailles avec une unité plus adaptée (généralement mégaoctets ou gigaoctets). De même, la commande free
dispose de -m
ou -g
pour afficher les informations soit en mégaoctets soit en gigaoctets.
$
free
total used free shared buff/cache available
Mem: 16279260 5910248 523432 871036 9845580 9128964
Swap: 16601084 240640 16360444
$
df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 8108516 0 8108516 0% /dev
tmpfs 1627928 161800 1466128 10% /run
/dev/mapper/vg_main-root 466644576 451332520 12919912 98% /
tmpfs 8139628 146796 7992832 2% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
tmpfs 8139628 0 8139628 0% /sys/fs/cgroup
/dev/sda1 523248 1676 521572 1% /boot/efi
tmpfs 1627924 88 1627836 1% /run/user/1000
La commande id
affiche l'identité de l'utilisateur connecté et indique la liste des groupes dont il est membre. Il est parfois important de pouvoir vérifier si l'on est membre d'un groupe donné ; cela peut conditionner l'accès à certains fichiers ou périphériques.
$
id
uid=1000(rhertzog) gid=1000(rhertzog) groupes=1000(rhertzog),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),108(netdev),109(bluetooth),115(scanner)