Unix : Commandes de base - ASR1 - Systèmes d`exploitation
Transcription
Unix : Commandes de base - ASR1 - Systèmes d`exploitation
Unix : Commandes de base ASR1 - Systèmes d’exploitation Semestre 1, année 2011-2012 Département d’informatique IUT Bordeaux 1 Février 2012 1/1 Objectifs Connaı̂tre manipulation des fichiers et répertoires chemins d’accès relatifs et absolus commandes générales développement d’applications compression, archivage 2/1 Première partie Syntaxe 3/1 Syntaxe d’une commande Une ligne de commande (simple) comporte plusieurs éléments le nom d’une commande des options, précédées de “-” ou “--” des paramètres séparés par des espaces. Exemple de commande ls -l /bin 4/1 Métalangage Exemple ls [OPTION]... [FICHIER]... Conventions éléments littéraux en caractères gras ls éléments optionnels entre crochets [OPTION] répétition indiquée par “...” FICHIER... 5/1 Combinaison d’options Les options courtes (une lettre) peuvent être combinées Exemple : commandes avec options ls -a -l -t ls -alt 6/1 Deuxième partie Chemins d’accès 7/1 Arborescence Les données sont enregistrées dans une arborescence de fichiers et répertoires 8/1 Chemin absolu Chemin d’accès absolu Position d’un élément (fichier/répertoire) en partant de la racine. Exemples Un chemin d’accès absolu commence par “/” ou “~” 1 / 2 /home 3 /home/billaud 4 /home/billaud/prog.cc 5 ~billaud/prog.cc 6 ~/prog.cc 9/1 Répertoire courant, chemin relatif Chemin d’accès relatif : position d’un objet par rapport au répertoire courant. Si le répertoire courant est /home/michel 1 2 3 4 5 6 chemin relatif lettre.txt ASR1 ASR1/prog.cc .. ../romain/chanson.txt . = = = = = = chemin absolu /home/michel/lettre.txt /home/michel/ASR1 /home/michel/ASR1/prog.cc /home /home/romain/chanson.txt /home/michel 10 / 1 Exercice chemins relatifs Donnez les chemins d’accès relatifs pour premier.cc gdupont Seance1 11 / 1 Notations “joker” Les jokers (wildcard) permettent de désigner plusieurs fichiers. ? : un caractère * : une chaı̂ne de caractères [x-y] : un caractère dans un intervalle Exemples 1 cp Musique/*.mp3 . 2 cp dscn1[0-4]??.jpg ~/Photos 12 / 1 Troisième partie Commandes générales 13 / 1 ls : list names Commande ls [OPTION]... [FICHIER]... liste les informations sur les fichiers indiqués (par défaut, le répertoire courant) Quelques options -l format long -a “all”, avec fichiers “cachés” commence par un point. -t tri par date -d informations d’un répertoire 14 / 1 Exemples Exemples 1 ls /bin 2 ls -la 3 ls -l *.cc 4 ls -l Projet/ 5 ls -ld Projet/ 15 / 1 Pratique “ls” Essayez Ouvrez une fenêtre “terminal”, et tapez les commandes 1 ls 2 ls -a 3 ls -l 4 ls -la 5 ls Desktop 6 ls /tmp ; à qui appartiennent les fichiers/répertoires ? 16 / 1 Interprétation “ls -l” Exemple : $ ls -l /tmp total 48 drwx------ 3 billaud profs 4096 2008-12-31 08:44 gconfd-billaud drwx------ 2 root root 16384 2008-05-12 19:24 lost+found ... -rw------- 1 billaud profs 2550 2008-12-31 11:41 zmanHHm7H3 Indications d=répertoire (directory), -=fichier r=read, w=write, x=execute/cross (droits d’accès) propriétaire et groupe taille, date de modification 17 / 1 cd : change directory Commande cd [DESTINATION] change le répertoire courant. Par défaut, retour au répertoire d’accueil Exemples 1 cd /tmp 2 cd 3 cd ASR1 4 cd ~/Photos 18 / 1 pwd : print working directory Commande pwd affiche le chemin du répertoire courant. Exemple 1 pwd 19 / 1 mkdir : make directory Commande mkdir [OPTION]... REPERTOIRE... crée les répertoires quelques options -v verbeux -p crée les répertoires parents si nécessaire Exemples 1 mkdir ASR1 2 mkdir -p Essais/ASR1/jan08 20 / 1 rmdir : remove directory Commande rmdir [OPTION]... RÉPERTOIRE... supprime les répertoires vides quelques options -v verbeux -p supprime les répertoires parents vides Exemples 1 rmdir ASR1 2 rmdir -p Essais/ASR1/jan08 21 / 1 cp : copy Commande cp [OPTION]... SOURCE... DESTINATION copie les fichiers/répertoire SOURCE dans la DESTINATION. quelques options -v verbeux -i interactif -r récursif (copie de répertoires) Exemples 1 cp exemple.cc programme.cc 2 cp *.cc ~/ARCHIVES 3 cp -rv Projet33 /media/usbdisk1 22 / 1 mv : move Commande mv [OPTION]... SOURCE... DESTINATION déplace les fichiers/répertoire SOURCE dans la DESTINATION. quelques options -v verbeux -i interactif Exemples 1 mv monffichier.cc monfichier.cc 2 mv *.mp3 Musique 23 / 1 rm : remove Commande rm [OPTION]... FICHIER... supprime les FICHIERs quelques options -v verbeux -i interactif -r récursif (pour répertoires) Exemples 1 rm a.out *~ 2 rm -r ARCHIVES 24 / 1 cat : concatenate files Commande cat [OPTION]... FICHIER... concatène les fichiers, affiche leur contenu quelques options -n numérote les lignes -b numérote les lignes non blanches -s supprime les lignes blanches répétées Exemples 1 cat programme.cc 25 / 1 less : view files Commande less FICHIER+ affiche le contenu d’un fichier, page par page quelques commandes ESPACE b g nnn / chaı̂ne q avance d’une page recule d’une page (back)rr : va à la ligne nnn : recherche quitte Exemple 1 less programme.cc Remarque : less est une amélioration de “more” 26 / 1 Pratique mkdir/cp/less Exercice 1 Créez chez vous un répertoire DOC 2 Copiez-y le répertoire /usr/share/doc/gcc-4.1-base 3 S’y déplacer 4 Regarder la liste des fichiers 5 Consultez README.Bugs les fichiers compressés (suffixe .gz) peuvent être 6 visualisés par zless décompressés par gunzip 7 Supprimez DOC/gcc-4.1-base 27 / 1 Impressions Commande lpr lpr [OPTIONS]... FICHIER... imprime un fichier sur l’imprimante par défaut option utile -Pimprimante Commande a2ps a2ps [OPTIONS]... FICHIER... convertit un fichier texte en PostScript pour impression options -Pimprimante -ofichier -n : n=1,2,4,... pages / feuille (par défaut : 2) 28 / 1 Gestion des impressions lpq / lpstat cancel, lprm 29 / 1 Documentation Comment trouver de la documentation ? la plupart des commandes ont une option -h ou –help pages de manuel man commande apropos sujet help pour les commandes internes de bash pages d’information : info sujet documentation dans /usr/share/doc sites web, etc 30 / 1 Quatrième partie Compression/Archivage 31 / 1 Compression Compression : changer la représentation des données contenues dans un fichier pour réduire la taille occupée. Quelques commandes Commande gzip/gunzip bzip2/bunzip2 compress/uncompress [OPTIONS]... FICHIER... [OPTIONS]... FICHIER... [OPTIONS]... FICHIER... Suffixe gz bz2 Z Remarques les fichiers texte se prêtent bien à la compression la compression sans perte 32 / 1 Compression Exercice 1 Copiez /usr/share/doc/g++/README.Bugs dans /tmp 2 Compressez-le de différentes façons, comparez les tailles Commande (aucune) gzip gzip -1 gzip -9 bzip2 Nom README.Bugs Taille % 100% 33 / 1 Compression Exercice (suite) Recommencez avec un gros fichier exécutable (par exemple /usr/bin/emacs. Conclusions ? 34 / 1 Archivage Archivage Objectif : regrouper plusieurs fichiers/répertoires sur un seul support (fichier, support de sauvegarde...) Il existe de nombreuses commandes d’archivage tar (Tape Archiver) cpio (Copy files in and out) zip rar ... 35 / 1 La commande tar Commande tar [OPTIONS]... [FICHIERS]... options principales -c -x -t -v -f : créer une archive : extraire des fichiers : liste le contenu : verbeux FICHIER : nom du fichier d’archive Exemple de création d’une archive tar -cf archives-2008.tar projet1 projet2 36 / 1 tar Archivage tar -cvf archives-2008.tar projet1 projet2 Extraction tar -xf archives-2008.tar tar -xvf archives-2008.tar projet1/prog.cc Consultation tar -tf archives-2008.tar 37 / 1 Archivage et compression Avec des options spécifiques (-z, -j, ...) on peut utiliser des archives compressées. Exemple tar czf archive-2008.tgz Projet3 Options de compression, noms des archives sans compression, on utilise le suffixe .tar option -z pour compression par gzip (suffixe .tgz ou .tar.gz) option -j pour compression par bzip2 (suffixe .tar.bz2) 38 / 1 Archivage, exercice Exercice 1 Créez dans /tmp une archive de votre répertoire d’accueil 2 notez sa taille /tmp 3 Comparez avec des archives compressées Commande tar -cf /tmp/archive.tar ~ Taille % 100 % 39 / 1 Cinquième partie Développement d’applications 40 / 1 Développement d’applications Quelques outils emacs, éditeur de textes indent, reformatage de textes source g++, compilateur C++ gcc, compilateur C make, gestionnaire de dépendances eclipse, environnement de développement intégré 41 / 1