Académique Documents
Professionnel Documents
Culture Documents
www.onlineformapro.com
Table des matières
Table des matières ..................................................................................... 2
Présentation de LINUX .............................................................................. 4
I. Historique ................................................................................................................ 4
II. Distributions et familles ....................................................................................... 6
III. Licences et support .............................................................................................. 7
IV. Composants de Linux ........................................................................................ 10
V. Configuration minimale ..................................................................................... 11
Utilisation de Linux .................................................................................. 12
I. Débuter avec les commandes ........................................................................... 12
A. Commandes de connexion, de déconnexion et d’arrêt ............................................. 12
B. Autocomplétion et rappel de commandes ................................................................ 12
C. Commandes d’information de la session en cours .................................................... 13
D. Date et heure ........................................................................................................... 14
II. Utilisation de l’aide ............................................................................................. 15
A. Obtenir de l’aide localement .................................................................................... 15
B. Obtenir de l’aide avec MAN ...................................................................................... 15
C. Obtenir de l’aide sur internet ................................................................................... 16
III. Manipuler et naviguer dans les répertoires ................................................. 17
A. Afficher le chemin du répertoire courant.................................................................. 17
B. Changer de répertoire courant ................................................................................. 17
C. Lister le contenu d’un répertoire .............................................................................. 17
D. Manipulation des fichiers et répertoires ................................................................... 18
IV. Afficher du texte ................................................................................................ 18
A. Afficher et concaténer du texte - cat ........................................................................ 18
B. Afficher le début ou la fin d’un fichier ....................................................................... 19
C. Afficher le contenu d’un fichier avec pause à chaque page d’écran .......................... 19
D. Autres commandes utiles ......................................................................................... 20
V. Commandes de recherche ................................................................................ 20
A. Recherche d’expression dans les fichiers - grep ........................................................ 20
Page 2 sur 36
B. Recherche sur les noms de fichiers et de répertoires – find ...................................... 20
VI. Editer du texte - vi ................................................................................... 21
VII. Permissions Unix .................................................................................... 25
A. Valeurs des droits ..................................................................................................... 25
B. Lecture des droits ..................................................................................................... 25
C. umask : masque des droits par défaut ...................................................................... 26
D. chown – Changer l’utilisateur propriétaire ............................................................... 26
E. chgrp – Changer le groupe propriétaire .................................................................... 26
F. chmod – Gestion des droits ...................................................................................... 27
VIII. Archivage et compression .................................................................... 28
A. Tar – Archivage......................................................................................................... 28
B. Compression gzip ..................................................................................................... 29
C. Compression bzip2 ................................................................................................... 29
D. Décompression (gunzip, bunzip, zcat, bzcat) ............................................................ 29
IX. Redirections............................................................................................. 30
A. Redirection des flux .................................................................................................. 30
B. Pipelines ................................................................................................................... 31
C. Redirection double en sortie..................................................................................... 31
X. Gestion des processus .............................................................................. 31
A. Commande de gestion des processus ....................................................................... 31
B. Gestion des processus en arrière-plan ...................................................................... 33
XI. Divers....................................................................................................... 33
A. Screen - Multiplexeur de terminaux ......................................................................... 33
B. Gestion des variables ................................................................................................ 34
C. Alias .......................................................................................................................... 36
Page 3 sur 36
Présentation de LINUX
Unix est le premier OS à ne pas avoir été conçu par un équipementier, il a ouvert une brèche dans un domaine
jusque-là propriétaire et réservé. Linux ou GNU/Linux est une famille de systèmes d'exploitation open source de
type Unix fondée sur le noyau Linux, créé en 1991 par Linus Torvalds. De nombreuses distributions ont depuis
vu le jour et constituent un important vecteur de popularisation du mouvement du logiciel libre.
I. Historique
• 1971 : Première version d’UNIX sur un PDP 11/20 (Programmable Data Processor), un ordinateur doté
de 24Ko de RAM (16 occupés par le noyau UNIX) et de 512Ko de disque dur…
• 1973 : Réécriture du noyau UNIX puis des autres outils UNIX en langage C par Ken Thompson, l’université
de Berkeley en Californie étant la première à disposer d’UNIX et de ses sources
• 1976 : Sortie d’Unix Time-Sharing System V6 (premier protocole d’échange de données très utilisé avant
l’arrivée de TCP/IP)
• 1982 : SunOs 1.0
• 1983 : Lancement du projet GNU
• 1991 : Naissance du noyau Linux et distribution par le biais des premiers serveurs FTP
• 1996 : Sortie de l’environnement graphique de bureau KDE
• 1997 : Sortie de l’environnement graphique de bureau GNOME
Page 4 sur 36
Page 5 sur 36
II. Distributions et familles
Distributions
Une distribution GNU/Linux est un ensemble cohérent de logiciels rassemblant un OS composé d'un noyau Linux,
de logiciels issus du projet GNU et de logiciels tiers.
Certaines distributions sont orientées poste de travail comme Ubuntu car plus simples à mettre en œuvre,
d’autres plutôt orientées serveur comme RedHat.
Il y a plus de 500 distributions GNU/Linux à être listées, une timeline complète des versions est disponible au lien
suivant : http://futurist.se/gldt.
• Debian
• Ubuntu
• RedHat
• Fedora
• CentOs
• Mageia
• Mandrake
• Mandriva
• SuSe
Et bien d’autres… Certaines distributions sont commerciales, comme RedHat, Mandriva ou Novell/Suse, alors
que d'autres sont à but non lucratif comme Debian.
Familles de distributions
De nombreuses distributions linux sont dérivées d’autres distributions existantes :
• Debian
• Red Hat
• Slackware
• Gentoo
• Arch Linux
Distributions adaptées à une utilisation en entreprise
Les distributions les plus populaires en entreprise pour l’installation de serveurs Linux sont les suivantes :
• Red Hat
• CentOS (dérivé de Red Hat)
Page 6 sur 36
• Debian
RedHat Debian
Développée par RedHat Inc., société multinationale Développée par Project Debian, organisation à but
faisant du profit sur la vente de paquets non lucratif développant des logiciels d’intérêt public
Pas de mise à jour de package entre deux versions Mises à jour constantes des packages
Correction des bogues longue car contrôlée par un Correction de bogues très rapide car la communauté
petit groupe de personnes Debian est nombreuse et très active
Ce projet consistait à réécrire un OS libre en se basant sur UNIX et porte comme nom GNU (GNU’s Not UNIX). De
nombreuses applications UNIX ont été réécrites en partant de zéro « from scratch ». Le développement du noyau
fût la partie la plus longue et la plus compliquée et c’est en 1991 que le noyau Linux vît le jour. Créé par Linus
Page 7 sur 36
Torvalds (qui a inspiré le nom de Linux), ce noyau est la pierre angulaire qui rendît possible la création et la
diffusion des systèmes Linux.
Le terme et le logo Copyleft sont également employées pour désigner les licences respectant ce principe.
Licences libres
Les logiciels libres sont une alternative à ceux qui ne le sont pas (qualifiés de propriétaires). Ces derniers sont
considérés par les plus fervent représentants de la communauté du logiciel libre comme étant un instrument de
pouvoir injuste permettant au développeur de contrôler l’utilisateur.
• Le gratuiciel (freeware) qui est un logiciel gratuit propriétaire tandis que le logiciel libre est défini par les
libertés accordées à l’utilisateur. La gratuité va souvent de pair avec le logiciel libre de par sa nature
d’ouverture au partage cependant elle ne s’oppose pas à la notion de rentabilité liée à des services
associés comme le support
• L’open-source qui s’apparente à une méthode de développement au travers de la réutilisation du code
source
Licence LGPL
Cette licence limitée est moins restrictive que la licence GPL dont elle découle, a été créée pour permettre à
certains logiciels libres de pénétrer tout de même certains domaines où le choix d'une publication entièrement
libre de toute l'offre était impossible.
Cette licence s'applique souvent aux bibliothèques. La signification originale du sigle LGPL étant Library General
Public License. Le sens du L de LGPL a été modifié de Library en Lesser afin d'éviter les nombreuses inductions
en erreurs.
Page 8 sur 36
Licence BSD
La
licence BSD (Berkeley Software Distribution License) est une licence libre utilisée pour la distribution de logiciels
permettant de réutiliser tout ou partie du logiciel sans restriction, qu'il soit intégré dans un logiciel libre ou
propriétaire.
La version originale de la licence BSD incluait une clause de publicité particulièrement contraignante qui obligeait
la mention du copyright dans toute publicité ou document fourni avec le logiciel, ce qui pouvait provoquer
quelques problèmes en cas d'utilisation d'un grand nombre de composants sous cette licence. La nouvelle
version de cette licence ne contient plus cette clause de publicité.
Ainsi, il est possible d’utiliser un logiciel ayant un type de licence libre et gratuite et un support payant.
Page 9 sur 36
IV. Composants de Linux
Noyau
Le noyau est le cœur (programme principal) du système. Il est généré à l’installation et ses rôles sont les suivants
:
• Gérer les ressources de l’ordinateur via la couche logicielle (périphériques, stockage, CPU, mémoire…)
• Mettre à disposition ces ressources aux utilisateurs
• Ordonnancer les processus (tâches)
Langages Shell
Une commande peut être représentée par une suite de mots séparés par des espaces, le premier mot étant le
nom de la commande et les mots suivants les arguments.
Une commande est analysée puis interprétée par un programme interpréteur de commandes nommé shell
pouvant également être assimilé à un langage complet permettant d’enregistrer et d’exécuter des fichiers de
commandes (scripts shell).
Un shell traite des informations saisies en entrée (flux stdin – le clavier ou ce qui s’y assimile), les restitue en
sortie (flux stdout – l’écran, le fichier ou ce qui s’y assimile) et écrit les erreurs éventuelles (stderr – écran, fichier
ou assimilé).
Arborescence de fichiers
Dans la philosophie Linux, tout est fichier. Ceci signifie que tout est vu par le système comme étant un fichier
(répertoires, scripts, logiciels, périphériques, programmes et fichiers eux-mêmes sont vus et représentés comme
des fichiers…).
GNU/Linux dispose d’une norme d'organisation des systèmes de fichiers pour le nommage des répertoires et des
fichiers, cette norme permettant aux utilisateurs et aux auteurs de logiciel de prévoir leurs emplacements.
• Pas de notion d’extension (contrairement à Windows), mettre .txt à la fin d’un fichier sert uniquement
pour faciliter la reconnaissance de celui-ci à l’utilisateur
• Pas de caractères interdits hormis « / » (désignant la racine), il convient tout de même d’éviter les
caractères spéciaux qui peuvent s’avérer difficiles à manipuler
• Sensibilité à la casse, « BONJOUR » est différent de « bonjour » ou de « Bonjour »
Page 10 sur 36
• Les fichiers cachés commencent par un point « . »
V. Configuration minimale
La configuration minimale pour installer Linux (Debian/Ubuntu) en version Desktop est la suivante :
• Processeur : Processeur Pentium 4 de 1 GHz ou supérieur
• RAM : 512 Mo minimum, ou 1 Go recommandé
• Espace disque : 20 Go minimum
Page 11 sur 36
Utilisation de Linux
Alternative (utile dans les scripts ou les changements de mot de passe en masse) :
# echo "login:nouveau_mdp" | sudo chpasswd
Se déconnecter
# exit
Eteindre la machine
# shutdown
Redémarrer la machine
# reboot
Page 12 sur 36
Les fonctions de rappel de commandes principales sont les suivantes :
Qui-suis-je ?
# whoami
• UID de l’utilisateur
• Login de l’utilisateur
• GID du groupe principal de l’utilisateur
• Nom du groupe principal de l’utilisateur
• GID et noms des autres groupes de l’utilisateur
Exemple :
uid=1000(yafendou)gid=1000(yafendou)groupes=1000(yafendou),4(adm),24(cdrom)
,27(sudo),30(dip),46(plugdev),120(lpadmin),131(lxd),132(sambashare)
Page 13 sur 36
D. Date et heure
Afficher la date et l’heure
# date
Générer un calendrier
# cal
Page 14 sur 36
II. Utilisation de l’aide
Les commandes Linux comportent un grand nombre d’option difficiles à mémoriser (et parfois même à
comprendre). Il est donc important d’accéder à de la documentation afin de trouver les options qui nous seront
utiles, il y a plusieurs manières d’utiliser l’aide.
Exemple :
# date --help
Sections
Les pages MAN sont organisées en différentes sections :
1. Commandes utilisateur
2. Appels système
3. Fonctions de bibliothèque
4. Fichiers spéciaux
5. Formats de fichier
6. Jeux
7. Divers
8. Administration système
9. Interface du noyau Linux
Page 15 sur 36
Obtenir l’aide sur sur la commande MAN
# man man
Il est pour cela nécessaire de maîtrise les techniques de recherches sur internet afin de cibler de manière précise
les résultats qui nous seront utiles. Analyser les informations trouvées et les adapter à notre contexte est
essentiel car de nombreuses informations disponibles sur le net sont erronées ou obsolètes.
Page 16 sur 36
III. Manipuler et naviguer dans les répertoires
Disk usage
Permet de connaître l’espace utilisé par des fichiers.
# du [chemin_répertoire]
Options utiles de la commande :
• -h Human-readeable : permet d’afficher la taille de manière lisible (Ko, Mo, Go, To, Po)
Page 17 sur 36
A.
• -s Summarize : permet de faire la somme des fichiers et sous répertoires présents
Supprimer un répertoire
# rmdir [nom_répertoire]
Copier un fichier
# cp [fichier_source] [fichier_cible]
Supprimer un fichier
# rm [fichier]
Page 18 sur 36
• -n Afficher le numéro des lignes
• -b Afficher le numéro des lignes non vides
• -s Ne pas afficher les lignes vides consécutives
Commande less
# less [fichier]
Similaire à more mais permet de ne pas quitter la lecture lorsque le curseur arrive à la fin du fichier
Page 19 sur 36
A.
D. Autres commandes utiles
Compter lignes, mots et caractères d’un fichier
# wc [fichier]
Options de la commande :
• -l Affiche le nombre de lignes
• -w Affiche le nombre de mots
• -c Affiche le nombre de caractères
V. Commandes de recherche
Grep utilise des expressions régulières (regex), il convient donc d’utiliser les simples quotes (‘ ‘) pour protéger
l’expression recherchée.
Page 20 sur 36
- d Répertoire
• -size nb [c] Recherche en fonction de la taille des fichiers (en blocs de 512 octets) ou en
octets si nb est suivi du caractère « c »
• -ctime <nb> Recherche en fonction de la date de création ou de dernière modification
• -mtime <nb> Recherche en fonction de la date de dernière modification
Les actions peuvent être exécutées à chaque occurrence trouvée par find.
• -print Afficher les noms de fichiers trouvés au fur et à mesure
• -exec cmd {} \ Exécuter la commande stipulée pour chaque fichier trouvé
- « {} » symbolise le nom de chaque fichier
- « \ » termine la commande
• -ok cmd {} \ Similaire à -exec avec une demande de confirmation à chaque occurrence
• ! Opérateur de négation
• -o Opérateur OU (or)
• -a Opérateur ET (and)
Vi est l’éditeur de texte standard d’Unix. Sous GNU/Linux, vim est utilisé (il s’agit d’un éditeur reprenant les
principes de vi et apportant des améliorations.
• En mode compatible : permet de travailler de manière unifiée en respectant les standards Unix de vi
• En mode non-compatible : permet d’utiliser les fonctionnalités améliorées de vi mais ne respecte pas
les standards Unix
Il est préférable d’utiliser vim en mode non-compatible pour profiter des fonctionnalités mais il faut être
conscient que sur un système de type Unix, vous serez obligés d’utiliser l’équivalent du mode compatible car
vous aurez vi entre les mains.
Modes de travail
Il existe deux modes de travail :
La touche ESC permet de quitter le mode de saisie afin de retourner dans le mode commande
Page 21 sur 36
A.
Ouvrir vi
# vi [fichier]
Options de la commande :
• -R En mode lecture seule
• +n Se positionner à la ligne n
• +/CHAINE Se positionner à la première occurrence de la chaîne
Quitter vi
Passer en mode commande avec ESC puis :
• :wq Sauvegarder et quitter
• :q Quitter sans sauvegarder
• ! Forcer l’exécution de la commande précédente
Annuler / refaire
Passer en mode commande avec ESC puis :
• u Annuler l'action précédente
• CTRL+R Répéter l'action annulée
Page 22 sur 36
Navigation
Passer en mode commande avec ESC puis :
• gg Se déplacer au début du fichier
• G Se déplacer à la fin du fichier
• :n Se déplacer à la ligne n
• :$ Se déplacer à la dernière ligne
Recherche
Passer en mode commande avec ESC puis :
• / Rechercher
• n Occurrence suivante
• N Occurrence précédente
• :%s/CHAINE//ng Compter le nombre d’occurrences de CHAINE
Insertion de texte
Passer en mode commande avec ESC puis :
• i Passage en insertion avant le caractère courant
• a Passage en insertion après le caractère courant
• A Passage en insertion après la fin de la ligne courante
• I Passage en insertion avant le premier caractère significatif de la ligne
• s Substituer le caractère en surbrillance et passage en insertion
• o Ajout d'une ligne vide après la ligne courante et passage en insertion
• O Ajout d'une ligne vide avant la ligne courante et passage en insertion
Couper
Passer en mode commande avec ESC puis :
• x Couper le caractère courant
• dd Couper la ligne actuelle
• [n]d Couper n lignes
Copier
Passer en mode commande avec ESC puis :
• yy Copie la ligne courante
• [n]y Copie n lignes à partir de la ligne courante
Coller
Passer en mode commande avec ESC puis :
• p Coller le contenu du tampon après la ligne courante
• P Coller le contenu du tampon avant la ligne courante
• [n]p Coller n fois le contenu du tampon
Substituer
Passer en mode commande avec ESC puis :
• cw Substituer le mot courant (change word)
• s/[MOT1]/ [MOT2] Substituer MOT1 de la ligne en cours avec MOT2 •
g/[MOT1]/s//[MOT2] Substituer toutes les occurrence de MOT1 par MOT2 :q !
Page 23 sur 36
Personnaliser vim
En mode commande (configuration temporaire) :
• :set opt Activer l’option opt (exemple :set number pour afficher les lignes)
• :set opt! Désactiver l’option opt (exemple :set number! pour afficher les lignes)
En modifiant le fichier de configuration .vimrc disponible dans le home de l’utilisateur (modification permanente)
# cd
# vi .vimrc
Page 24 sur 36
VII. Permissions Unix
A chaque fichier est lié un utilisateur propriétaire et un groupe propriétaire, les permissions sont appliquées à
ces entités ainsi qu’aux « autres ».
Lors de la création d’un fichier, les permissions sont positionnées à partir de la valeur du umask permettant la
gestion du masque de droits par défaut.
Dans le cas d’un fichier, la lecture des permissions permet de déterminer directement les accès possibles. Dans
le cas d’un répertoire, il faut interpréter les permissions afin de déduire les droits d’accès de ce dernier.
Exemple : Permissions
symboliques r w x r w - r - -
Exemple : Permissions
binaires 1 1 1 1 1 0 1 0 0
Exemple : Permissions
octales 7 6 4
Page 25 sur 36
C. umask : masque des droits par défaut
L’umask est un outil de gestion des droits lors de la création de fichiers permettant de gérer les droits par défaut.
En définissant un nouvel umask, on retire automatiquement l’umask actuel pour la création des futurs fichiers
ou répertoires.
# umask [-S] [masque]
Options de la commande :
• -S Visualiser en notation symbolique les privilèges d’un répertoire en fonction du
masque
• Masque Valeur octale (exemple : 0000) ou symbolique (exemple : u=rwx,g=rwx,o=rwx)
Si le masque n’est pas renseigné dans la commande :
• Le droit d’exécution ne peut pas être positionné par défaut lors de la création d’un fichier
• La valeur maximale des droits d’un fichier est -rw-rw-rw- (666)
• La valeur maximale des droits d’un répertoire est -rwxrwxrwx (777)
Cette commande nécessite des privilèges, autrement seul le groupe propriétaire peut être modifié par
l’utilisateur propriétaire avec la commande chgrp.
# chown [nom_user] :[nom_grp] [nom_fichier]
Arguments de la commande :
• nom_user Nouvel utilisateur propriétaire
• nom_grp Nouveau groupe propriétaire
• nom_fichier Nom du fichier à modifier
Page 26 sur 36
F. chmod – Gestion des droits
Les droits d’un fichier ou d’un répertoire peuvent être définis manuellement en absolu ou en relatif.
Modification absolue
Cette méthode est à utiliser avec précaution car elle implique d’écraser les droits en cours.
# chmod [-droits] [nom_fichier / nom_repertoire]
Arguments de la commande :
• -droits Valeur octale comprise entre 000 et 777 (exemple : 764 = rwxrw-r--)
• nom_fichier Nom du fichier à modifier
• nom_repertoire Nom du répertoire à modifier
Modification relative
# chmod [Qui Comment Quoi] [nom_fichier / nom_repertoire]
Arguments de la commande :
• Qui Pour qui positionner le ou les droits
- u Utilisateur propriétaire
- g Groupe propriétaire
- o Tout le monde (other)
- a Tous les groupes (all)
• Comment Opérateur d’affectation du ou des droits
- + Ajouter le ou les droits aux droits existant(s)
- - Retirer le ou les droits aux droits existant(s)
- = Remplacer le ou les droits aux droits existant(s)
• Quoi Droit ou droits à positionner
- r Droit de lecture
- w Droit d’écriture
- x Droit d’exécution
Page 27 sur 36
VIII. Archivage et compression
L’archivage désigne la concaténation de plusieurs fichiers et répertoires en un seul fichier et ne diminuant pas
spécifiquement la taille totale. L’intérêt est de permettre une manipulation simplifiée de toute une arborescence
lors d’envoi de fichiers ou de téléchargements.
La compression agit fichier par fichier et a pour but de réduire la taille des fichiers. L’intérêt est de réduire
l’espace disque lors des sauvegardes et de réduire l’impact sur le réseau lors des transferts.
Ces deux mécanismes sont couramment utilisés de manière conjointe afin de cumuler leurs avantages.
A. Tar – Archivage
La commande tar permet d’archiver des répertoires et des fichiers (l’archivage d’un répertoire implique
l’inclusion de son contenu : sous-répertoires et fichiers).
# tar [options] [arguments]
Les arguments sont les noms de la future archive et des fichiers ou répertoires devant être archivés
Options de la commande (la commande doit obligatoirement contenir une des options suivantes : Acdrtux) :
Options additionnelles :
• -C [repertoire] Extraire dans le répertoire spécifié (se place en fin de commande)
• -f [archive.tar] Utiliser le fichier spécifié
• -v --verbose Afficher de manière détaillée les fichiers traités
• --exclude [fichier] Exclure le fichier/répertoire spécifié
• -z --gzip Compression avec gzip (se place en fin de commande)
• -j Compression avec bzip2 (se place en fin de commande)
Exemples :
tar -cvf ARCHIVE.tar DIR Archivage de DIR dans ARCHIVE.tar tar -
uvf ARCHIVE.tar DIR Mise à jour de l'archive tar -cvf
ARCHIVE.tar.gz -z DIR Archivage et compression gzip tar -cvf
ARCHIVE.tar.bz2 -j DIR Archivage et compression bzip2 tar -xvf
ARCHIVE.tar.gz -C DIR Restauration de l'archive dans DIR
tar -cvf ARCHIVE.tar --exclude=DIR/SSDIR DIR Archivage avec exclusion de répertoire
tar -tvf ARCHIVE.tar Lecture contenu archive
Page 28 sur 36
B. Compression gzip
La compression gzip permet de réduire la taille d’un ou plusieurs fichiers. Après compression, l’extension .gz est
attribuée au fichier (utile afin de reconnaître le fichier).
# gzip [options] [nom_fichier]
Options de la commande :
• -c --stdout Ecriture sur la sortie standard en conservant le fichier d’origine
• -f --force Force la compression si un fichier compressé existe déjà
• -v --verbose Affiche les informations de compression de chaque fichier
• -l --fast Compression rapide
C. Compression bzip2
La compression bzip2 permet de réduire la taille d’un ou plusieurs fichiers de manière plus efficace mais plus
lente que gzip. Après compression, l’extension .bz2 est attribuée au fichier (utile afin de reconnaître le fichier).
# bzip2 [options] [nom_fichier]
Options de la commande :
• -d --decompress Décompresser
• -k --keep Conserver le fichier d’origine lors de la compression
• -f --force Force la compression si un fichier compressé existe déjà
• -c --stdout Ecriture sur la sortie standard en conservant le fichier d’origine
• -v --verbose Affiche les informations de compression
• -1 […] 9 Précise la taille de blocks de 100k à 900k
• --fast Correspond à -1
• --best Correspond à -9
Page 29 sur 36
IX. Redirections
Il existe 3 flux d'entrée/sortie qu’il est possible de rediriger chacun de ces flux en fonction du besoin.
Sortie
stdout : flux 1
Entrée
Exécution de la commande
stdin : flux 0
Sortie erreur
stdout : flux 2
Fournir à la commande le flux d’entrée saisi au clavier et informer de la fin de saisie avec MOTCLE (il est possible
de choisir le mot clé). La commande affiche le résultat à la fin de la saisie.
# cmd << MOTCLE
Redirection du flux de sortie standard vers un fichier par concaténation (ajout en fin du fichier si existant) :
# >> fichier
Ou :
# 1>> fichier
Page 30 sur 36
/dev/null
Il est possible de désigner /dev/null si l’on ne souhaite pas conserver le contenu généré en flux de sortie. Ce
chemin désigne le « trou noir » du système, ce qui y entre n’en ressort jamais…
B. Pipelines
Un « pipeline » ou « pipe » est symbolisé par le caractère « | ». Son utilisation permet de rediriger le flux de
sortie stdout d’une commande au flux d’entrée stdin d’une autre commande.
Commande 1 Commande 2
Il est possible d’enchainer plusieurs pipelines dans une commande, ceci permet de combiner les possibilités de
commandes différentes.
# cmd1 | cmd2 | cmd3
Un processus est l’image d’un fichier contenant du code exécutable et en cours d’exécution.
Les utilisateurs peuvent lancer plusieurs processus simultanément, en avant plan ou en arrière-plan. L’ouverture
d’une session ou l’exécution d’une commande génère un processus. Un processus peut être identifié par son
nom et son PID (Process Identifier).
Page 31 sur 36
# ps [options]
Options utiles de la commande :
• -a All users (tous les utilisateurs)
• -e Afficher l’information pour tous les processus
• -f Affichage en format long (ajoute UID, PPDI, STIME)
• -u [nomuser] Spécifier l’utilisateur
• -x Afficher les processus qui n'ont pas de terminal de contrôle pstree – Affichage du statut
# pstree [options]
Options utiles de la commande :
• -u Lister par utilisateur
• -p Afficher depuis un PID top – Affichage en
Cette commande fournit une vue dynamique temps réel des processus en cours d'exécution.
# top [options]
Afficher les raccourcis de la commande : h
pgrep
Cette commande permet de rechercher ou d’envoyer un signal à des processus en fonction de leur nom ou
d'autres propriétés.
# pgrep [options]
Options utiles de la commande :
• -l En fonction du nom
• -u En fonction de l’utilisateur
inconditionnel time
Page 32 sur 36
B. Gestion des processus en arrière-plan
Lancer des processus en arrière-plan permet de conservant le contrôle sur la session en cours pendant que le
processus tourne. Il est pertinent de rediriger les flux de sortie afin de pouvoir avoir un compte rendu des sorties
standard et/ou des erreurs.
Informations retournées :
• [n] Numéro de job
• + Job le plus récent
• - Job précédant directement le plus récent
• PID Numéro de processus
• Etat du job En cours d’exécution / terminé
XI. Divers
Screen est un multiplexeur de terminaux permettant de garder une session "ouverte" en cas de coupure de
connexion SSH et d'ouvrir plusieurs terminaux dans une console afin de pouvoir passer de l'un à l'autre puis les
récupérer plus tard.
La mise en place se fait depuis un fichier de configuration nommé .screenrc à placer dans le répertoire personnel
de l'utilisateur.
Page 33 sur 36
# Exemple de fichier de configuration .screenrdc
startup message
off deflogin on
vbell off vbell
msg " !!! "
hardstatus off
hardstatus string "%h%? users: su%?"
caption always "%(+u wk)%?%-w%?%(+b rk)/sn:&t\&(-b wK)?+?{)={+
%(yk)%d/Sm/&1%-0=%(wk)"
termcapinfo xterm tiQ:tea
bindkey -k k8 prev
bindkey -k k9 next
Sur une même session, il devient possible d’exécuter plusieurs traitements en parallèle. Contrairement à un
terminal standard, il n’est pas possible de scroller dans la console mais un raccourci clavier permet de se mettre
en mode copie et de pouvoir parcourir la fenêtre active.
Page 34 sur 36
Détruire une variable
#
unset nom_var
Page 35 sur 36
Variables d’environnement principales
Le nom des variables d'environnement est en majusc.ules
• LOGNAME Nom du user de connexion
• MAIL Chemin d'accès au fichier boite aux lettres
• PATH Chemin de recherche des exécutables (séparés par des ":")
• PS1 Prompt du shell
• PS2 Prompt de continuation
• SHELL Shell de connexion
• TERM Type du terminal utilisé
• HOME Répertoire de connexion
• ~ Répertoire de connexion
• HISTCMD Dernier numéro de commande utilisé
• HISTFILE Chemin et nom du fichier de rappel
• HISTFILESIZE Taille du nombre de rappels possibles
• HISTSIZE Taille du nombre de commandes en mémoire
• HISTCONTROL Liste des options au rappel de commande
- ignoreboth : ignorer les doublons de commandes
• HISTTIMEFORMAT Horodater les commandes saisies (généralament pas présent par défaut)
On pourra par exemple pour le compte root, par mesure de sécurité, passer dans le fichier de configuration
.bashrc déclarer la variable comme ceci :
C. Alias
Un alias est un mot auquel on peut associer une commande avec ou sans arguments. Il peut être défini en ligne
de commande (il sera valable uniquement lors de la session en cours) ou bien de manière permanente dans un
fichier d’initialisation d’environnement (.profile ou .bashrc).
Créer un alias #
alias ll=’ls -l’
Supprimer un alias
# unalias ll
Page 36 sur 36