Vous êtes sur la page 1sur 49

ADMINISTRATION SYSTÈME LINUX

M. Jean DIOKH
Certifié Linux LPIC-3 Mixed Environment & LPIC-3 Security, Red Hat RHCSA

Linux Foundation LFCS, Certified Kubernetes Administrator CKA


CHAPITRE III : COMMANDES GNU ET UNIX

 Travail en ligne de commande


 Traitement de flux de type texte avec des filtres
 Gestion élémentaire des fichiers
 Utilisation des flux, des tubes et des redirections
 Création, contrôle et interruption des processus
 Modification des priorités des processus
 Recherche dans des fichiers texte avec les expressions rationnelles
 Édition de fichiers texte avec vi
ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 2
CHAPITRE III : COMMANDES GNU ET UNIX
Travail en ligne de commande

SHELL - l’interpréteur de commande

Le SHELL attend des entrées au clavier sur une ligne appelée l’invite de commande ou prompt.

[bob@serveur:~]$
bob: c’est le nom de connexion ou le login (la commande id)
serveur: le nom de la machine (la commande hostname)
~: le répertoire de travail (la commande pwd)
$: le caractère de terminaison (utilisateur simple: $ ou > - administrateur (root): # )
ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 3
CHAPITRE III : COMMANDES GNU ET UNIX
Travail en ligne de commande

SHELL - l’interpréteur de commande


Syntaxe générale des commandes: commande [-option(s)] [argument(s)]

Exemples:

id id root

id -u id -u root
id --user --name
id -u -n

id -un
ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 4
CHAPITRE III : COMMANDES GNU ET UNIX
Travail en ligne de commande

SHELL - l’interpréteur de commande

Le shell de référence sous Linux se nomme le Bourne Again Shell (bash).

La commande echo affiche à l’écran.

ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 5


CHAPITRE III : COMMANDES GNU ET UNIX
Travail en ligne de commande

Gestion des variables

variable=valeur
echo $variable : affiche la contenu de la variable
unset variable: supprime le contenu de la variable

La commande set affiche les variables du shell courant et env affiche les variables exportées.

Pour exporter une variable, on utilise la commande export


Exemple: export maVariable
ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 6
CHAPITRE III : COMMANDES GNU ET UNIX
Travail en ligne de commande

Les types de commandes

Il existe plusieurs types de commandes :


▪ Les commandes internes
Les commandes internes sont internes au shell
▪ Les commandes externes
Les commandes externes sont des programmes binaires recherchés dans la liste des répertoires prédéfinis
dans le PATH.
▪ Les alias
Ce sont des raccourcis de commandes ou groupes de commandes.
ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 7
CHAPITRE III : COMMANDES GNU ET UNIX
Travail en ligne de commande

Historique des commandes

La commande history affiche les dernières commandes entrées par l’utilisateur courant par ordre
chronologique. (HISTSIZE)
L’option -c de history supprime l’historique des commandes

Les commandes sont enregistrées dans le fichier ~/.bash_history (HISTFILE)

ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 8


CHAPITRE III : COMMANDES GNU ET UNIX
Travail en ligne de commande

Manuel des commandes

man est une commande UNIX permettant d'accéder aux pages de manuel installées sur le système.

$man man
$man echo
$man pwd

ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 9


CHAPITRE III : COMMANDES GNU ET UNIX
Travail en ligne de commande

Verrouillage de caractères : \ - "…" - '…'

Certains caractères spéciaux doivent être verrouillés

$cours=Linux
$echo "cours"
$echo "$cours"
$echo '$cours'
$touch cours Linux
$touch 'cours Linux'
ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 10
CHAPITRE III : COMMANDES GNU ET UNIX
Travail en ligne de commande

Les caractères spéciaux

Caractère(s) Rôle
* Remplace une chaîne de longueur variable, même vide.
? Remplace un caractère unique quelconque.
[...] Une série ou une plage de caractères.
[a-b] Un caractère parmi la plage indiquée (de a à b inclus).
[!...] Inversion de la recherche.
[^...] Inversion de la recherche.
ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 11
CHAPITRE III : COMMANDES GNU ET UNIX
Traitement de flux de type texte par des filtres

Concaténation de ligne – Afficher le contenu d’un fichier à l’écran

 cat - fichier de type texte


 zcat - .gz
 bzcat - .bz2
 xzcat - .xz

ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 12


CHAPITRE III : COMMANDES GNU ET UNIX
Traitement de flux de type texte par des filtres

cut : pour n’afficher que certaines colonnes (champs)

cut -d ":" -f1 /etc/passwd

-d: le séparateur (la tabulation par défaut)


-f: le(s) champ(s); -f1 ou -f1,3,7 ou -f2-9 ou -f3- ou -f-7

ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 13


CHAPITRE III : COMMANDES GNU ET UNIX
Traitement de flux de type texte par des filtres

head : pour afficher les premières lignes d'un fichier


head -N chemin ; Sans option, head affiche les 10 premières lignes d'un fichier.
head -4 /etc/passwd : Pour afficher les quatre premières lignes du fichier /etc/passwd

tail : pour afficher les dernières lignes d'un fichier


tail -N chemin ; Sans option, tail affiche les 10 dernières lignes d'un fichier.
tail -4 /etc/passwd: Pour afficher les 4 dernières lignes du fichier /etc/passwd

ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 14


CHAPITRE III : COMMANDES GNU ET UNIX
Traitement de flux de type texte par des filtres

sed : éditeur de flux - rechercher et remplacer

Pour substituer toute « chaineA » avec « chaineB »


sed 's/chaineA/chaineB/' chemin1
sed 's/chaineA/chaineB/g' chemin1 ; g pour continuer la recherche sur la ligne
sed 's/chaineA/chaineB/gI' chemin1 ; I pour ignorer la casse
sed -i 's/chaineA/chaineB/g' chemin1 ; -i pour insérer la substitution dans la fichier

ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 15


CHAPITRE III : COMMANDES GNU ET UNIX
Traitement de flux de type texte par des filtres

split : pour découper un fichier en plusieurs

Par exemple, la commande pour créer les fichiers petitfichieraa, petitfichierab… d’une taille maximum de
1,4 Mo (taille d’une disquette) est :
split -b 1.4M /home/maitre/grosfichier petitfichier

-b : la taille (M,K,G,T,…)
-l: le nombre de lignes

ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 16


CHAPITRE III : COMMANDES GNU ET UNIX
Traitement de flux de type texte par des filtres

Les fonctions de hachage

md5sum
sha256sum
sha512sum

ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 17


CHAPITRE III : COMMANDES GNU ET UNIX
Effectuer une gestion de base sur les fichiers

Créer un répertoire – mkdir

La création de répertoire se fait avec la commande mkdir (make directory)

L’option -p de mkdir permet de créer le répertoire parent.

ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 18


CHAPITRE III : COMMANDES GNU ET UNIX
Effectuer une gestion de base sur les fichiers

Chemin relatif ou absolu

 Le chemin absolu, c’est le chemin complet, à partir de la racine.


Un chemin absolu commence toujours par un /
Exemple: /etc/services

 Le chemin relatif, c’est le chemin partiel d’un répertoire.

La commande cd (change directory) permet de changer de dossier (se déplacer dans un dossier)

ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 19


CHAPITRE III : COMMANDES GNU ET UNIX
Effectuer une gestion de base sur les fichiers

Répertoires spéciaux

 Répertoire courant, noté . (point) : c’est le répertoire dans lequel vous êtes en ce moment.

 Répertoire parent, noté .. : C’est le répertoire «du dessus» du répertoire courant

 Répertoire utilisateur, noté ~ (caractère tilde, [Alt Gr] + 2) : cela désigne le répertoire utilisateur.

 Répertoire précédent, noté - c’est le répertoire où vous étiez juste avant d’entrer dans le répertoire où
vous êtes maintenant.

ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 20


CHAPITRE III : COMMANDES GNU ET UNIX
Effectuer une gestion de base sur les fichiers

Supprimer un répertoire
La commande rmdir (remove directory, supprimer un répertoire) est utilisée pour supprimer un répertoire
vide; rmdir nom_du_répertoire

La suppression d’un répertoire contenant des fichiers et d’autres répertoires se fait avec la commande rm
et l’option -r.

ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 21


CHAPITRE III : COMMANDES GNU ET UNIX
Effectuer une gestion de base sur les fichiers

Renommer un fichier ou répertoire

La commande mv permet de renommer un fichier ou un répertoire.


Syntaxe : mv fichier nouveauNom

Elle permet également de déplacer un fichier ou un répertoire.


Syntaxe : mv fichier /nouveauDossier
mv fichier /nouveauDossier/nouveauNom

ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 22


CHAPITRE III : COMMANDES GNU ET UNIX
Effectuer une gestion de base sur les fichiers

Copier un fichier ou un répertoire


La copie se fait avec la commande cp
Syntaxe: cp source(s) destination

ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 23


CHAPITRE III : COMMANDES GNU ET UNIX
Effectuer une gestion de base sur les fichiers

Lister le contenu d’un dossier - ls


La commande ls sans argument liste le contenu du répertoire courant.

Option de ls:
-l (tiret petit L) : affiche une liste détaillée des fichiers et répertoires, contenant entre autres les droits sur
les fichiers et répertoires, les propriétaires, la taille et la date de la dernière modification.
-a : affiche tous les fichiers; même cachés
-h (pour human readable, lisible par un humain)
-F : affiche les répertoires avec un / et les fichiers exécutables avec un *.

ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 24


CHAPITRE III : COMMANDES GNU ET UNIX
Effectuer une gestion de base sur les fichiers

Rechercher des fichiers avec find


La commande find permet de rechercher des fichiers au sein de l’arborescence du système de fichiers à
l’aide de critères et donne la possibilité d’agir sur les résultats retournés.
Syntaxe : find chemin critères options

Critères de recherche:
-name : permet une sélection par noms de fichiers
-user et -group
-size : permet de préciser la taille des fichiers recherchés.
-perm :permet d’effectuer des recherches sur les autorisations d’accès
ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 25
CHAPITRE III : COMMANDES GNU ET UNIX
Effectuer une gestion de base sur les fichiers

Rechercher des fichiers avec find

ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 26


CHAPITRE III : COMMANDES GNU ET UNIX
Effectuer une gestion de base sur les fichiers

Rechercher des fichiers avec find

Les commandes:

Outre l’option -print on trouve d’autres options permettant d’effectuer une action sur les fichiers trouvés.
-ls : Le critère affiche des informations détaillées sur les fichiers trouvés correspondant au critère au lieu
du simple nom de fichier.
-exec : Le critère -exec va exécuter la commande située juste après pour chaque occurrence trouvée.
-ok : Le critère -ok est identique à l’option -exec mais, pour chaque occurrence, une confirmation est
demandée à l’utilisateur.

ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 27


CHAPITRE III : COMMANDES GNU ET UNIX
Effectuer une gestion de base sur les fichiers

Rechercher des fichiers avec find

ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 28


CHAPITRE III : COMMANDES GNU ET UNIX
Effectuer une gestion de base sur les fichiers

Compression - décompression

gzip
gunzip
bzip2
bunzip2
xz
unxz
dd
ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 29
CHAPITRE III : COMMANDES GNU ET UNIX
Effectuer une gestion de base sur les fichiers

tar - sauvegarde

Création d’une archive: tar -cvf /tmp/projet2019.tar /usr/include

Création d’une archive compressée en gzip: tar -cvzf /tmp/projet2019.tar.gz /usr/include

Création d’une archive compressée en bzip2: tar -cvjf /tmp/projet2019.tar.bz2 /usr/include

NB: Utiliser la commande file pour afficher le type d’un fichier


Exemple: file /tmp/projet2019.tar.gz

ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 30


CHAPITRE III : COMMANDES GNU ET UNIX
Effectuer une gestion de base sur les fichiers

tar - restauration

Extraire le contenu d’une archive vers le répertoire courant


tar -xvf /tmp/projet2019.tar

Extraire le contenu d’une archive compressée en gzip vers le répertoire courant


tar -xvzf /tmp/projet2019.tar.gz

ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 31


CHAPITRE III : COMMANDES GNU ET UNIX
Effectuer une gestion de base sur les fichiers

tar - restauration

Extraire le contenu d’une archive compressée en bzip2 vers le répertoire courant


tar -xvjf /tmp/projet2019.tar.bz2

Extraire le contenu d’une archive compressée en gzip vers le répertoire /usr/local


tar -xvzf /tmp/projet2019.tar.gz -C /usr/local

ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 32


CHAPITRE III : COMMANDES GNU ET UNIX
Utilisation des flux, des tubes (pipes) et des redirections

>

>>

<

<<

2>

2>&1 ou >&

| (pipe)

ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 33


CHAPITRE III : COMMANDES GNU ET UNIX
Utilisation des flux, des tubes (pipes) et des redirections

Sortie standard

On se sert du caractère « > » pour rediriger la sortie standard

Si le fichier n'existe pas, il sera créé. S'il existe, son contenu sera écrasé

ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 34


CHAPITRE III : COMMANDES GNU ET UNIX
Utilisation des flux, des tubes (pipes) et des redirections

Sortie standard

Pour rajouter des données à la suite du fichier, donc sans l'écraser, on utilise la double redirection « >> ».

ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 35


CHAPITRE III : COMMANDES GNU ET UNIX
Utilisation des flux, des tubes (pipes) et des redirections

Sortie d’erreur

Pour rediriger la sortie d’erreur vers un fichier, on utilise le descripteur 2 : « 2> » ou « 2>> » pour rajouter à
la fin du fichier.

$ find /etc -name hostname


$ find /etc -name hostname 2> error.txt

$ find /etc -name hostname > find_output.txt 2> find_error.txt

ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 36


CHAPITRE III : COMMANDES GNU ET UNIX
Utilisation des flux, des tubes (pipes) et des redirections

Redirection des deux canaux de sortie dans un seul et même fichier

$ find /etc -name hostname &> find_output.txt


$ find /etc -name hostname > find_output.txt 2>&1

ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 37


CHAPITRE III : COMMANDES GNU ET UNIX
Utilisation des flux, des tubes (pipes) et des redirections

Entrée standard

Les commandes qui attendent des données ou des paramètres depuis le clavier peuvent aussi en recevoir
depuis un fichier, à l'aide du caractère « < ».

Exemple:
tr 'a-z' 'A-Z' < /etc/hosts

ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 38


CHAPITRE III : COMMANDES GNU ET UNIX
Utilisation des flux, des tubes (pipes) et des redirections

Les Tubes (pipe) |


Le mécanisme de tube (pipe) permet de faire en sorte que la sortie d’une commande devienne l’entrée
d’une autre. Les tubes utilisent le caractère « | » ;
Syntaxe : commandeA | commandeB

Exemple:
seq 7 | head -3

ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 39


CHAPITRE III : COMMANDES GNU ET UNIX
Recherche dans des fichiers texte avec les expressions rationnelles

grep
Grep affiche les lignes contenant une occurrence de caractères;
Syntaxe: grep CHAINE chemin ; CHAINE peut être une expression régulière.

Pour afficher toutes les lignes qui contiennent la chaîne de caractères « false » : grep false /etc/passwd

Pour afficher toutes les lignes qui commencent par la chaîne « root » : grep ^root /etc/passwd

Pour afficher les lignes qui se terminent par false: grep root$ /etc/passwd

Pour afficher les lignes qui ne contiennent pas false: grep -v false /etc/passwd
ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 40
CHAPITRE III : COMMANDES GNU ET UNIX
Création, surveillance et destruction de processus

 &
 bg
 fg
 jobs
 kill
 ps
 top

ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 41


CHAPITRE III : COMMANDES GNU ET UNIX
Création, surveillance et destruction de processus

&: permet d'exécuter une tâche en arrière-plan


bg: permet de renvoyer une tâche en arrière-plan
fg: permet de renvoyer une tâche en avant plan
jobs: permet de voir les tâches qui sont exécutées en arrière-plan
kill: permet d'envoyer un signal à un processus, elle tue un processus si on l'utilise sans option
ps: permet de voir les processus id
top: affiche des informations en continue sur l'activité du système

ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 42


CHAPITRE III : COMMANDES GNU ET UNIX
Création, surveillance et destruction de processus

 free
 uptime
 pgrep
 pkill
 killall

ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 43


CHAPITRE III : COMMANDES GNU ET UNIX
Création, surveillance et destruction de processus

 free: afficher les quantités de mémoire libres et utilisées


 uptime: afficher la charge système
 pgrep: rechercher le PID d’un processus en function de son nom et d’autres propiétés
 pkill: envoyer un signal à un processus
 killall: envoyer un signal à un processus par son nom

ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 44


CHAPITRE III : COMMANDES GNU ET UNIX
Édition de fichiers texte avec vi/vim

 vi
 /, ?
 h,j,k,l
 i, o, a
 d, p, y, dd, yy
 ZZ, :w!, :q!
 EDITOR

ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 45


CHAPITRE III : COMMANDES GNU ET UNIX
Édition de fichiers texte avec vi/vim

L'éditeur Unix par défaut se nomme vi (visual editor ; vim ou vim.tiny).

Syntaxe : vim.tiny [options] Fichier1 [Fichier2 ...]

Trois modes de fonctionnement :


 mode commande: les saisies représentent des commandes. On y accède en appuyant sur « Echap ».
 mode saisie : saisie de texte classique
 mode ligne de commande: utilisation de commandes spéciales saisies et se terminant par Entrée. Accès
par la touche « : ».

ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 46


CHAPITRE III : COMMANDES GNU ET UNIX
Édition de fichiers texte avec vi/vim

Les Commandes de saisie

ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 47


CHAPITRE III : COMMANDES GNU ET UNIX
Édition de fichiers texte avec vi/vim

Mode Commande

ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 48


CHAPITRE III : COMMANDES GNU ET UNIX
Édition de fichiers texte avec vi/vim

Mode ligne de commande (Echap :)

set number (ou nu) / nonumber (ou nonu) : affiche / supprime les numéros de lignes.

Enregistrer: w

Enregistrer et quitter: wq ou x ou (Echap ZZ)

Quitter: q Quitter sans enregistrer: q!


ADMINISTRATION SYSTÈME LINUX /INGC1/ESMT - M. DIOKH 49

Vous aimerez peut-être aussi