Introduction à Linux Abdelouahed Gherbi Hiver 2014 1
Plan Précurseurs de Linux Unix GNU Project Minix Linux aujourd hui Commandes de base de Linux 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. 3
Introduction to Linux Précurseurs de Linux : Projet GNU Projet défini par Richard Stallman en 1984 : Le logiciel doit être libre de toutes restrictions commerciales GNU : GNU s Not Unix But 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) 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) 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 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.
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/)
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
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.
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) 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) 12
Commandes de base de Linux Exemple de commande Redirection de la sortie Redirection de l entrée ls -l /etc ls -l >output wc <input Pipe 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) 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 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 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 1 rvdheij rvdheij 5224 Dec 30 03:22 hello -rw-rw-r-- 1 rvdheij rvdheij 221 Dec 30 03:59 hello.c -rw-rw-r-- 1 rvdheij rvdheij 1514 Dec 30 03:59 hello.s drwxrwxr-x 7 rvdheij rvdheij 1024 Dec 31 14:52 posixuft Droit d accès Propriétaire Groupe
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) 18