Présentation du cours Linux / Shell Inf7212 Introduction aux systèmes informatiques Alix Boc Automne 2013
2 Plan Présentation du cours / Syllabus Questionnaire sur vos connaissances L ordinateur Introduction au système d exploitation Linux Introduction Système de fichiers Le shell Quelques commandes
L ordinateur 3
Le CPU 4
5 Linux Qu est ce que linux? GNU/Linux est un système d'exploitation au même titre que MS Windows ou Mac OS. La différence essentielle est que ce système d'exploitation est libre. Lorsque l'on parle de Linux, on se réfère en fait très souvent à une distribution (ensemble de logiciels) utilisant Linux comme cœur du système d'exploitation. Il existe (du fait de sa liberté) de multiples distributions (Debian, Mandrake, Red Hat, Ubuntu, etc.) Linux est son noyau, la partie centrale et quasi invisible du système. Quelques points intéressants : Système très stable Logithèque très diversifiée Système multitâche Nécessite très rarement un redémarrage
6 Le système de fichiers Le fichier : Ensemble de données du même type enregistré sur une unité de mémoire auxiliaire (disque dur, clé usb, ) extensions :.txt,.fasta,.pdf,.jpg,.bmp,.doc,.xls, etc Le répertoire : Conception abstraite d'un système d'exploitation facilitant l'organisation et la gestion des fichiers. Il s'agit d'un contenant de fichiers et d'autres répertoires. Racine : "/" (c:\ pour windows) Répertoire courant : ". " Répertoire parent : ".." Sous-répertoire : répertoire se trouvant dans un autre répertoire Le chemin d accès (path) : identifie de façon unique un fichier ou un répertoire. chemin absolue : chemin à partir de la racine chemin relatif : chemin à partir de l emplacement courant
7 Le système de fichiers Un système de fichiers est une façon d'organiser et de stocker une arborescence sur un support (disque, disquette, cd...). Chaque OS propriétaire a développé sa propre organisation. On peut faire cohabiter plusieurs systèmes dans des partitions d'un même disque. EXT2 : linux FAT, NTFS : MS Windows Le formatage d un disque supprime toutes les données. Différents type de fichiers Textes Exécutables Répertoires Spéciaux Liens symboliques
8 Exercice Soit le système de fichiers suivants : Si je suis dans le répertoire «/home/alix/cvs» 1) Donner le chemin le plus court du répertoire «backup» 2) Donner le chemin absolue du répertoire «torrents» 3) Donner le chemin relatif du répertoire «Examples» 4) Quel est le répertoire courant (absolue et relatif) 5) Quel est le répertoire parent (absolue et relatif)
9 Propriétés d un fichier La commande «ls -l» permet de visualiser les propriétés des fichiers d un répertoire type et droits d accès sur le fichier propriétaire taille nom -rwxr-xr-x 1 trex_dev trex 788 dec 15 2006 diagnose.sh drwxr-xr-x 2 trex_dev trex 4096 dec 7 2006 dist_matrices_add -rw-r--r-- 1 root root 430080 oct 16 2006 duptrans.tar drwxr-xr-x 4 trex_dev trex 4096 oct 16 2006 lattrans -rw------- 1 trex_dev trex 2826 sep 4 2006 mbox drwxr-xr-x 14 trex_dev trex 4096 sep 9 2006 public_html Nombre de liens Date de création groupe
10 Les droits d accès À quoi servent-ils? : protéger nos fichiers Le propriétaire le groupe les autres r w x r w x r w x r = lecture autorisée, w = écriture autorisée, x = exécution autorisée Il existe une correspondance entre les chaînes de permissions, les nombres binaires et les nombres octaux : rwx r-x --x!!111 101 001!! 7 5 1!! La commande «chmod 751 fichier» donne tous les droits au propriétaire, les droits en lecture et exécution au groupe et les droits en exécution aux autres.
11 Exercices 1) Terminer de remplir le tableau suivant : permission Chiffre octal --- 0 --x 1 2 3 4 5 6 7 2) Quels sont les droits sur toto.txt après la commande suivante? >chmod 325 toto.txt 3) Quelle valeur octale utiliser pour donner des droits en lecture et écriture au groupe en lecture aux autres et en lecture et exécution au propriétaire?
12 Le Shell L'interpréteur de commandes est l'interface entre l'utilisateur et le système d'exploitation, d'où son nom anglais «shell», qui signifie «coquille». Il offre un jeu de commandes permettant d utiliser le système Différents types de shell : - bash, le plus populaire - sh, csh, tsh, etc
13 Quelques commandes de base cd Se déplacer entre les répertoires cd /home/boc_a ls Lister le contenu d un répertoire ls -la /usr/bin mv Déplacer un fichier mv fichier1.txt fichier2.txt mkdir Créer un répertoire mkdir rapport cp Copier un fichier cp fichier1.txt fichier2.txt pwd rmdir Afficher le chemin absolue du répertoire courant Effacer un répertoire rm Effacer un fichier rm fichier1.txt
Quelques commandes de base 14
15 Quelques commandes spécifiques grep : recherche dans un texte les lignes contenants une chaîne de caractères donnée. options : -o : retourne uniquement la chaîne cherchée le nombre de fois trouvé -m1 : s arête à la première ligne trouvée -A <num> : affiche les <num> lignes suivantes -B <num> : affiche les <num> lignes précédentes -v : inverse Exemple : > grep alix fichier.txt -A 10 recherche la chaîne xanthobacter dans le fichier sequences.gb et affiche les 10 lignes qui suivent si la chaîne est trouvée.
16 Quelques commandes spécifiques Exemple grep : Contenu du fichier sysfichier.txt Un système de fichiers est une composante essentielle d'un système d'exploitation, qui détermine comment sont représentés physiquement les fichiers et répertoires. La préparation à l'installation d'un système de fichiers sur une unité se fait par un formatage, qui détruit nécessairement les données contenues préalablement sur cette unité. >grep fichier sysfichier.txt Un système de fichiers est une composante essentielle sont représentés physiquement les fichiers et répertoires. La préparation à l'installation d'un système de fichiers Affichage à l écran
17 Quelques commandes spécifiques tar : permet d archiver et de désarchiver des fichiers. Elle permet aussi de compresser et décompresser dans la même opération options : -zxvf : désarchive et décompresse un fichier.tar.gz -zcvf : crée une archive et la compresse -tvf : affiche le contenu de l archive Exemples : archivage+compression : >tar -zcvf archive.tar.gz monrep/ désarchivage+décompression : >tar -zxvf archive.tar.gz contenu de l archive : >tar -tvf archive.tar.gz
18 Quelques commandes spécifiques wc : permet de compter le nombre de mots, de lignes et de caractères dans un fichier. options : -l : compte le nombre de ligne -w : compte le nombre de mots -c : compte le nombre de caractères
19 Pipe et redirection On utilise le principe de pipeline pour passer en paramètres à un programme le résultat d un autre programme: Ex : afficher les propriétés de tous les fichiers ayant pour extension pl ls -l grep.pl Le résultat de ces opérations peut être stocké dans un fichier en utilisant une redirection : ls -l grep.pl > fichier.txt > : crée fichier.txt et écrit dedans sinon écrase son contenu >> : écrit à la suite
20 Exercices Écrire une commande permettant de : ü Considérons un fichier «sequences.txt» quelconque : compter le nombre de lignes contenant le mot adn savoir s il existe le mot arn dans les 10 lignes suivant la première ligne contenant le mot adn. compter le nombre d occurrences du mot adn ü Considérons l enregistrement genbank : afficher la séquence de protéines ü Plaçons nous dans un répertoire quelconque : lister les fichiers qui ne contiennent pas la chaîne pl combien y en a-t-il?
21 Éléments divers q les éditeurs de texte Ø vi, emacs Ø gedit, jedit, nedit, openoffice, koffice, etc q visualisation du contenu d un fichier Ø éditeur de fichiers Ø less, more, cat q aide sur un programme Ø man programme Ø programme --help (parfois h,?) q les usagers Ø vous même : boc_a Ø root (administrateur sous Windows) Certaines opérations ne peuvent être exécutées que par l usager «root»
22 Travail à distance Le protocole ssh permet de se connecter à distance à votre compte sur la machine adn.bioinfo.uqam.ca / arnt.bioinfo.uqam.ca Client sous Windows : q putty q openssh (serveur ssh + client ssh) Client sous linux : q ssh (présent par défaut) Adresse de connexion : «boc_a@adn.bioinfo.uqam.ca» Mon conseil : installer une distribution (ubuntu ou autre)