Introduction to Linux

publicité
Introduction à Linux
Abdelouahed Gherbi
Hiver 2014
LOG 710 Hiver2014
1
Plan
• Précurseurs de Linux
– Unix
– GNU Project
– Minix
• Linux aujourd’hui
• Commandes de base de Linux
LOG 710 Hiver2014
2
Introduction to Linux
Précurseurs de Linux : Unix
• Unix : un système d’exploitation multi-utilisateur
et multi- taches.
• Première version crée en 1969 à Bell Labs.
• Développeurs : Ken Thompson, Dennis Ritchie,
Brian Kernighan.
• Unix a été réécrit en C en 1971.
LOG 710 Hiver2014
3
Introduction to Linux
Précurseurs de Linux : Projet GNU
•
Projet défini par Richard Stallman en 1984 :
•
•
•
GNU : GNU’s Not Unix
But
•
•
•
Le logiciel doit être libre de toutes restrictions commerciales
Développer un système d’exploitation similaire à Unix mais
libre pour la copie et modification
Premier compilateur GNU C libre en 1991
Mais pas de système d’exploitation !!!
•
•
Le noyau de GNU n’a jamais été complété
La combinaison de GNU et du noyau de Linux forme le
système d’exploitation GNU/Linux operating system, utilisé
par des millions et quelque fois incorrectement appelé Linux
(www.gnu.org)
LOG 710 Hiver2014
4
Introduction to Linux
Précurseurs de Linux : Unix
• Minix :
– Une version simplifiée d’Unix mais pour l’enseignement.
– Développé par Prof. Andrew Tanenbaum
• Naissance de Linux :
– Linus torvalds étudiant d’informatique à l’université de Helsinki a
développé en 1991 ce qui allait être le noyau de Linux
– Linux par la suite été développé par une communauté de plus en
plus grandissante de volontaires
– Linux est utilisé sous la licence GNU General Public License
•
Le code source est librement disponible pour copie, étude et
modification.
• Débat Tanenbaum–Torvalds :
" I still maintain the point that designing a monolithic kernel in 1991 is a fundamental error. Be
thankful you are not my student. You would not get a high grade for such a design :-)“
(Andrew Tanenbaum to Linus Torvalds)
LOG 710 Hiver2014
5
Introduction to Linux
Linux d’aujourd’hui
• Linux :
– Système d’exploitation 32/64 bits à part entière
– Multi-tâches et multi utilisateurs
– Multi platforms
• Plusieurs distributions disponibles
–
–
–
–
–
–
RedHat,
Fedora,
SuSE,
Ubuntu,
Debian,
CentOS
LOG 710 Hiver2014
6
Linux d’aujourd’hui
• Développement de logiciels sous Linux
• Les langages de programmation modernes sont supportés : Java, C/C++,
Perl, Python, etc.
• Librairies logicielles de développement d’interfaces graphiques GTK+ et
Qt
• Environnement de développement intégrés (IDEs) : NetBeans, Eclipse, etc.
LOG 710 Hiver2014
Linux d’aujourd’hui
• Exécution de logiciels pour Windows sous Linux
• Il est possible d’installer et exécuter certains logiciels pour Windows sous
Linux
• Wine aide à exécuter plusieurs applications Windows
(http://www.winehq.org/)
• Cedega permet d’exécuter un grand nombre d’applications de Jeux pour
Windows sous Linux (http://www.cedega.com/)
LOG 710 Hiver2014
Linux d’aujourd’hui
•
•
•
•
Linux est multi plateformes
Linux est déployé sur les supercalculateurs et serveurs
Linux est le système d’exploitation (OS) le plus utilisé sur les serveurs
Linux est la pierre angulaire de la pile logicielle LAMP (Linux, Apache,
MySQL, Perl/PHP/Python)
• Selon Top500.org, Linux monopolise 82% des systèmes utilisés sur les
supercalculateurs
• Systèmes embarqués et mobiles
–
–
–
–
Wind River Linux 4 (http://www.windriver.com/)
RTLinux (http://www.rtlinuxfree.com/)
Android (basé sur le kernel de Linux)
Embedded Linux (http://www.timesys.com/)
Source : www.top500.org
LOG 710 Hiver2014
Commandes de base de Linux
• Obtenir de l’aide
• Sous Linux on utilise la commande man (manual)
pour avoir de l’aide :
– La commande man -k <keyword>
• Trouver toutes les commandes associées avec un mot clé
– man <command>
• Affiche l’aide pour une commande
– La sortie est une page à la fois :
• utiliser f pour avancer et
• Utiliser b pour reculer d’une page
• Utiliser q pour quitter.
LOG 710 Hiver2014
Introduction to Linux
Commandes de base de Linux
•
•
•
•
•
•
•
Gestion de fichiers
Linux (Unix en général) tout est basé sur le concept du
système de fichiers
Tout (ou presque) est considéré comme un fichier
Les fichiers sont stockés dans un système hiérarchique
ayant une racine unique (/)
Les fichiers de données sont structurés dans des
répertoires (directories ou folders)
Les répertoires sont imbriqués
Les fichiers sont nommés (pathname)
•
•
•
•
•
Chemin absolu : /usr/local/lib
Chemin relatif : spool/linux
A un instant donné on se trouve au niveau d’un répertoire
donne : le répertoire courant (current working directory)
Une fois logé un utilisateur se trouve au niveau de son
répertoire par défaut (home): /home/username
Exemples de chemins :
– \ le répertoire racine (root)
– . Le répertoire courant
– .. Le répertoire parent
– ~ mon répertoire par défaut (home)
LOG 710 Hiver2014
11
Commandes de base de Linux
• Gestion de fichiers
–
–
–
–
–
–
–
–
–
–
Lister les fichiers d’un répertoire (ls)
Affiche le répertoire en cours (pwd)
Changement de répertoire (cd)
Création de répertoires (mkdir)
Suppression de répertoires(rmdir)
Copie de fichiers (cp)
Déplacement et renommage de fichier/répertoire (mv)
Suppression de fichiers (rm)
Affiche le contenu d’un fichier (cat)
Affichage page par page (more)
LOG 710 Hiver2014
12
Commandes de base de Linux
• Exemple de commande
ls -l /etc
• Redirection de la sortie
ls -l >output
• Redirection de l’entrée
wc <input
• Pipe
LOG 710 Hiver2014
ps aux | grep netscape | wc -l
Introduction to Linux
Commandes de base de Linux
•
•
•
•
•
Commandes diverses (utilitaires)
Affiche la date et l’heure (date)
Liste des utilisateurs en ligne (who)
Affiche le nom de l’utilisateur (whoami)
Modification du mot de passe (passwd)
LOG 710 Hiver2014
14
Introduction to Linux
Commandes de base de Linux
•
•
•
•
•
Gestion des processus
Commande en arrière-plan : cmd &
Liste des processus en cours : ps
Liste des processus en cours : top
Annulation d’un processus : kill PID
LOG 710 Hiver2014
15
Introduction to Linux
Commandes de base de Linux
• Gestion des droits d’accès
• Linux est un système multi-utilisateurs
• Les utilisateurs peuvent être organisés en groupes
– Chaque utilisateur a un identificateur (UID), un groupe initial (GID) et
une liste de groupes (groups)
– Utiliser la commande id et la commande groups
• Pour des raisons de protection d’information et de sécurité Linux
utilise et géré les droits d’accès
• Chaque fichier a un propriétaire (owner)
• Linux définit des droit d’accès pour le propriétaire, le groupe et
les autres (others)
• Linux définit trois genres de droit d’accès : Lecture (read),
Écriture (write) et Exécute
LOG 710 Hiver2014
16
Commandes de base de Linux
• Gestion des droits d’accès
• La commande (ls -l) liste un répertoire en
format long (détails) :
-rwxrwxr-x
-rw-rw-r--rw-rw-r-drwxrwxr-x
Droit d’accès
LOG 710 Hiver2014
1
1
1
7
rvdheij
rvdheij
rvdheij
rvdheij
rvdheij
rvdheij
rvdheij
rvdheij
Propriétaire
5224
221
1514
1024
Groupe
Dec
Dec
Dec
Dec
30
30
30
31
03:22
03:59
03:59
14:52
hello
hello.c
hello.s
posixuft
Introduction to Linux
Commandes de base de Linux
•
•
•
•
•
Gestion des droits d’accès
Modifier les droits d’accès (chmod)
Déterminer les droits d’accès (umask)
Changer le propriétaire (chown)
Changer le groupe d’un fichier (chgrp)
LOG 710 Hiver2014
18
Téléchargement