1. Introduction
Rappel des commandes rencontrées et de leur usage basique :
commande | rôle | usage |
---|---|---|
adduser |
créer un utilisateur | adduser login |
apropos |
trouver des pages de manuel | apropos mot-clef |
cat |
afficher le contenu d’un fichier | cat [fichier] |
cd |
se déplacer dans l’arborescence | cd [chemin] |
chmod |
modifier les droits | chmod MODE fichier |
chown |
modifier le propriétaire | chown LOGIN:GROUP fichier |
kill |
envoyer un signal à un processus | kill [-s SIGNAL] PID |
ln |
créer un lien | ln [-s] SRC DEST |
ls |
afficher le contenu d’un dossier | ls [chemin] |
man |
lire les pages de manuel | man nomdecommande |
mkdir |
créer un dossier | mkdir [-p] nomdossier |
mv |
déplacer ou renommer | mv source... dest |
pwd |
afficher le dossier courant | pwd |
ps |
afficher les processus | ps [-elfu] |
pstree |
afficher l’arbre des processus | pstree [-p] |
rm |
supprimer un fichier | rm [-r] fichier |
rmdir |
supprimer un dossier | rmdir nomdossier |
su |
changer d’utilisateur | su [-] [login] |
top |
Afficher interactivement les processus | top |
touch |
créer un fichier (ou changer son timestamp) | touch fichier |
umask |
agir sur les droits par défaut | umask [MODE] |
2. Entrées/sorties et redirections
Un programme a pour rôle de traîter des données. Il peut donc prendre
des données, les manipuler et renvoyer le résultat de ces manipulations.
On peut voir le programme comme une boîte noire à qui on passe des
ingrédients et duquel peuvent ressortir deux sortes de choses : des
messages d’erreur ou des résultats. On parle d’entrée standard, de
sortie standard et de sortie d’erreur. Par exemple, la commande cat
,
si on ne lui passe pas d’arguments se contente de recopier sur la sortie
standard ce qu’on lui donne en entrée.
- Lancez la commande
cat
, tapez un texte sur plusieurs lignes. Terminez en tapant Ctrl+d.
Le comportement par défaut est donc que l’entrée standard est ce que
vous tapez au clavier après avoir lancé la commande, la sortie standard,
ce qui apparaît à l’écran. La plupart des commandes que nous avons vues
jusqu’à maintenant ne demandaient pas d’entrée, certaines (ls
par
exemple) donnaient cependant une sortie. Il est possible de rediriger
ces entrées et sorties. pour les sauvegarder dans un fichier par
exemple. Nous avons en fait déjà vu une redirection de sortie : la
commande echo "XXe siècle" >> Lola_rennt
consiste en effet à rediriger
la sortie de la commande echo "XXe siècle"
(qui écrit son argument)
dans le fichier Lola_rennt
.
Les symboles >
et >>
permettent de rediriger la sortie standard dans
un fichier. >>
ajoute à la fin d’un fichier tandis que >
efface le
fichier avant d’écrire dedans.
- Testez la commande
ps ux > processus
. Un fichier nomméprocessus
a été créé. Affichez son contenu. - Lancez la commande
who > processus
. Affichez le contenu du fichierprocessus
. - Lancez la commande
ls -ail >> processus
. Affichez le contenu du fichierprocessus
.
Le symbole <
permet de faire des redirections de l’entrée standard,
c’est-à-dire d’utiliser un fichier en entrée plutôt que le clavier.
- Testez
cat < processus
. - La commande
wc
(wordcount) sert à compter les caractères, mots et lignes. Essayez-la sans arguments (Ctrl+d pour finir). Essayezwc < processus
. - Que fait la commande
cat > fichier
? - Que fait la commande
cat < processus > truc
Les redirections servent également à rediriger la sortie d’une commande
vers l’entrée d’une autre. On obtient ce comportement en reliant les
commandes à l’aide d’un tube (ou pipe en anglais). Par exemple
who | wc -l
va compter le nombre d’utilisateurs connectés.
- Pour connaître tous les programmes, on peut utiliser
la commande
ls /usr/bin
. Malheureusement, les résultats sont trop nombreux pour être vus dans une fenêtre. On peut cependant utiliser un pager qui affichera les résultats page par page (comme le faitman
). Utilisezls /usr/bin | less
.
Quelques commandes pouvant être utilisées comme filtre : wc
, sort
,
uniq
, tr
, sed
, tail
, head
, less
, grep
, cut
.
Exercices
sort
permet de trier par ordre alphabétique ou numérique. Affichez le contenu trié du fichierprocessus
.Le fichier
/etc/passwd
contient des lignes de la forme suivante :ehainry:x:1000:1000:Emmanuel Hainry,,,:/home/ehainry:/usr/bin/zsh
Chaque ligne donne les informations suivantes, séparées par des
:
, login, mot de passe, numéro d’utilisateur, numéro de groupe, nom complet, répertoire personnel et shell préféré. Afficher la liste des login triée par ordre alphabétique.La commande
cut
permet de sélectionner une « colonne ». Lisez la page de manuel de cut. Affichez les numéros d’utilisateurs (UID) obtenus parcat /etc/passwd
. Affichez les UID triés par ordre croissant.Redirigez la sortie de la commande
cat /etc/passwd
dans un fichierpasswords
dans votre répertoire personnel.La commande
grep
permet de sélectionner des lignes si elles contiennent un motif. Essayezcat < passwords | grep rob
.Affichez les logins des utilisateurs utilisant bash comme shell.
Les commandes
head
ettail
permettent respectivement de voir les premières lignes ou les dernières lignes de l’entrée. Afficher les logins des 10 premiers utilisateurs dans l’ordre alphabétique.Affichez les logins des 13 à 16-ième utilisateurs dans l’ordre alphabétique.
Affichez les noms de tous les fichiers ou dossiers dont le nom coontient un
l
dans/bin
. Combien y en a-t-il ?Rechercher les dates des “revolution” présentes dans les fichiers de /usr/share/calendar y compris ceux dans les dossiers présents dans ce dossier. Quel jour a eu lieu la révolution d’octobre (Oktoberrevolution).