Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Introduction
2019
Omar AKHAM
akham.omar@gmail.com
Plan
I. Introduction
➔
Historique GNU/Linux
➔
Shells / Interpréteurs de commandes
➔
Se connecter à GNU/Linux
➔
Commande
➔
Arborescence du système de fichiers GNU/Linux
➔
Manipulations des fichiers & répertoires
➔
Editeurs de texte
➔
Filtres
➔
Tubes & redirections
➔
Variables & variables d'environnement
➔
Alias
➔
Scripts Shell
➔
Travailler en tant que super utilisateur
➔
Gestion des utilisateurs & groupes
➔
Gestions des tâches & processus
➔
Compression & archivage
2019 Linux RH124 6
I. Introduction
1) Historique GNU/Linux
3) Se connecter à GNU/Linux
●
1969
●
Tout commence avec UNIX, créé
par AT&T et Bell Labs. C’est un
système multi-tâches, multi-
utilisateurs et écrit en C.
●
1980
●
Microsoft invente le XENIX, OS
basé sur UNIX et qui tourne sur PC.
●
1986-1987
●
MINIX est un petit OS qui tient sur
une disquette de 360Ko !
Philosophie d'Unix
●
Faire que chaque programme fasse une seule chose et bien.
●
Préférer la portabilité à l'efficacité
●
Éviter les interfaces captives
●
Plusieurs niveaux d'abstraction dans le système
– Noyau: niveau matériel
– Interpréteurs de commande: niveau texte
– X Windows: niveau graphique
Caractéristiques d'Unix
●
Depuis le début dans les années 1970!
– Multi-utilisateur et sécurisé: par défaut, les utilisateurs ordinaires
ne peuvent pas toucher aux fichiers d'autres utilisateurs. En
particulier, ils ne peuvent ni modifier les paramètres du système,
ni supprimer des programmes, etc. “root”: utilisateur
administrateur, ayant tous les droits.
– Extrêmement flexible
●
Projet de réaliser un système à la Unix
entièrement libre.
●
Lancé en 1984 par Richard Stallman, un
chercheur du MIT, à une époque où les sources
d'Unix n'étaient plus libres d'accès.
●
Composants initiaux: compilateur C (gcc), make
(GNU make), Emacs, bibliothèque C (glibc), outils
de base (ls, cp …)
●
Cependant, en 1991, le projet GNU n'avait
toujours pas de noyau et tournait sur des Unix
propriétaires
●
GNU, Linux et de nombreux autres programmes sont des logiciels
Libres.
●
Le Logiciel Libre fournit à son utilisateur les 4 libertés suivantes:
●
Liberté 0 : La liberté d'exécuter le programme, pour quelque but que ce soit.
●
Liberté 1 : La liberté d'étudier son fonctionnement, et de l'adapter à ses
besoins.
●
Liberté 2 : La liberté de redistribuer des copies pour aider autrui.
●
Liberté 3 : La liberté d'améliorer le programme, et de partager ses
améliorations avec autrui.
●
Voir http://www.gnu.org/philosophy/free-sw.fr.html
●
1991
●
Linus Torvalds invente un noyau UNIX gratuit,
réécrit, avec sources
→ LINUX
●
Très tôt partagé comme Logiciel Libre (Licence
GPL), ce qui attira des contributeurs et des
utilisateurs de plus en plus nombreux.
●
Depuis 1991, connaît une croissance supérieure à
tout autre système d'exploitation (pas seulement
Unix).
●
Qu’est-ce qu'un système GNU/Linux ?
●
Noyau Unix-like
– Mélange/adaptation de diverses technos (Minix, sockets BSD, IPC
System V, VFS Sun, ...)
– Développements spécifiques (ext2fs, procfs)
●
Ensemble d'outils GNU
●
Nombreuses « contrib » (utions)
– Contribution = application « offerte » à la communauté
– Paquetages : tgz, rpm, deb(ian)
●
Nombreuses « distrib » (utions)
– Noyau + outils GNU + contribs + outils config
●
Appelé “Linux“ par abus de langage
▸ Elle est l'une des entreprises dédiées aux logiciels Open Source
les plus importantes et les plus reconnues.
▸ Marc Ewing a créé en 1994 une version de Linux appelé Red Hat
Linux
Storage Entreprise
– Red Hat Ceph – Red Hat Jboss Data
Storage Virtualization
➔
Interpreteur de ligne de commande (CLI)
1. Interprète la commande en analysant la ligne et en traitant les
métacaractères, les redirections et les contrôles
2. Recherche et exécute la commande
3. Analyse chaque ligne et initie l'exécution du programme demandé
➔
Language de programmation
Les commandes sont :
●
tapées directement dans la ligne de commande
●
le shell peut lire les commandes à partir d'un fichier
●
Un fichier contenant des commandes shell est appelé : programme
shell ou script shell
●
Un script shell peut contenir :
●
Des commandes
●
Des structures de programmation (conditions, boucles, test, …)
➔
Environnement Utilisateur
Le shell fourni aussi, à un utilisateur, un environnement qu'il
pourrais personnaliser en utilisant les fichiers d'initialisation.
Ces fichiers contiennent des config de l'environnement
utilisateur tel que :
●
Le chemin de recherche (PATH) pour trouver les commandes
●
Les permissions par défaut pour les nouveaux fichiers créés
●
Les valeurs de variables que d'autres programmes utilisent
●
Des valeurs personnalisables
●
Interpréteurs connus et populaires :
●
Sh : Bourne Shell (obselète)
Le shell de base qu’on trouve traditionnellement dans les systèmes Unix, par
Steve Bourne.
●
Csh : C Shell (obselète)
Shell avec une syntaxe à la C, qui a connu son heure de gloire
●
Tcsh : TC Shell (toujours très populaire)
Une implémentation compatible avec le C shell, avec des
fonctionnalités avancées (complète les noms de commandes, rappel de
commandes antérieures et bien d’autres...)
●
Bash : Bourne Again Shell (le plus populaire)
Une version améliorée de sh avec de nombreuses fonctions nouvelles.
2019 Linux RH124 27
Se connecter à GNU/Linux
●
GNU/Linux est :
●
Multi-utilisateurs
●
Multi-tâches
●
Pour se connecter
●
Compte utilisateur
●
Mot de passe
●
Linux comprends plusieurs consoles virtuelles sur lequelles
on peut se connecter :
●
6 consoles textes
●
1 console graphique
●
Redéfinir le nombre par defaut dans le fichier
“/etc/default/console-setup“
●
Raccourcis pour basculer entre les consoles :
●
Texte ↔ texte : texte : ALT + F<N° CONSOLE>
●
Texte ↔ texte : graphique : ALT + F7
●
Graphique ↔ texte : texte : CTRL + ALT + F<N° CONSOLE>
●
L'interpréteur de commande possède un « prompt » qui
peut prendre plusieurs formes selon les configurations du
compte de l'utilisateur connecté. De façon générale, le
prompt est de la forme :
utilisateur@nom-de-poste repertoire-courant$
●
Par défaut, ce prompt se termine par le caractère :
●
$ : pour un utilisateur normal,
●
# : pour le super utilisateur (root).