! ?
#
UPMC - FP - ABD - v 1.1 1 |
Sommaire Présentation de la formation Unix ABD Généralités Unix - Linux Premiers contacts Utilisation du clavier login, mot de passe, connexion les shells commandes Unix Documentation Editeurs de texte (vi) UPMC - FP - ABD - v 1.1 2 |
5 jours 5, 7, 12, 18 et 29 mai Organisation Alternance cours – mise en pratique par des séances de TP Objectifs Savoir ouvrir une session Savoir lancer une commande Se débrouiller avec un shell Savoir manipuler les fichiers sous Unix Connaitre les constituants d'une arborescence unix Des commandes utiles pour un DBA Unix UPMC - FP - ABD - v 1.1 3 |
Vous disposerez d'un compte sur le serveur de la formation permanente d'une adresse de courriel <nom> Webmail : Pour se contacter vos @ mail personnelles liste de diffusion : Cours et TP (avec corrigés) disponibles en ligne UPMC - FP - ABD - v 1.1 4 |
|
|
|
Unix est un système multi-tâches Permettre une exécution concurrente et indépendante de plusieurs applications initiées par plusieurs utilisateurs Concurrence : les applications demandent l'accès à des ressources partagées (processeur, mémoire, disques durs, ) Un ordonnanceur arbitre les demandes Indépendance : chaque application s'exécute de manière autonome et indépendante des autres applications UPMC - FP - ABD - v 1.1 11 |
Unix est un système multi-utilisateurs Tout programme exécuté sur un système Linux est étroitement lié à un utilisateur Authentification de l'utilisateur Protection de l'exécution des programmes Comptabilité des ressources allouées à l'utilisateur Un utilisateur correspond à : un identifiant (généralement avec 8 caractères) (login) un mot de passe UPMC - FP - ABD - v 1.1 12 |
|
Historique Unix fin 60's : le laboratoire “Bell Labs” d'AT&T développe en collaboration avec le MIT un OS : Multics 1969 : Ken Thompson et Dennis Ritchie écrivent un système de gestion de fichiers, quelques utilitaires basiques (cp, rm) et un interpréteur de commande (shell) Ecriture en assembleur 1970 : Brian Kernighan suggère le nom de UNIX 1973 : ré-écriture d'Unix en C (premier système écrit dans un langage portable) Bell Labs distribue Unix sous forme de code source : apparition de différentes familles d'Unix UPMC - FP - ABD - v 1.1 15 |
. 2 catégories d'utilisateurs d'Unix : les universités et les grands constructeurs informatiques Université de Berkeley (UCB) à l'origine d'une des plus anciennes branches d'Unix : BSD (Berkeley Software Distribution) Autre grande branche : Unix System V vendu par AT&T aux contructeurs la marque déposée UNIX® appartient aujourd'hui à l'Open Group (organisme ayant pour but de standardiser Unix) UPMC - FP - ABD - v 1.1 16 |
|
1991 Linus Torvald propose à la communauté son système d'exploitation Linux issu de Minix En 1991, seuls quelques applications peuvent fonctionner sous Linux ( bash, gcc, sed) aujourd'hui Linux est devenu une plate-forme de référence pour les applications critiques des entreprises Raison du succès Code source sous licence GPL (GNU Public Licence) Communauté mondiale de développement (hackers) UPMC - FP - ABD - v 1.1 19 |
Naissance du logiciel libre Richard Stallman – MIT 1984 : rupture avec le modèle social du logiciel propriétaire Le logiciel doit être partagé entre les utilisateurs et librement modifiable Projet GNU (GNU's not Unix) - - Logiciels : Licence GPL (GNU Public Licence) Documents : Licence FDL (Free Documentation Licence) UPMC - FP - ABD - v 1.1 20 |
Free Software Foundation () Contrat entre le détenteur des droits patrimoniaux et un utilisateur (licencié) Richard Stallman – MIT 1984 : rupture avec le modèle social du logiciel propriétaire Le logiciel doit être partagé entre les utilisateurs et librement modifiable Développer un système d'exploitation Unix-like libre : projet GNU (GNU's not Unix) - Open Source Initiative Autre définition du logiciel libre en 10 points UPMC - FP - ABD - v 1.1 21 |
Définition du logiciel libre (4 libertés) 1. Liberté d'exécuter le programme pour quelque motif que ce soit 2. Liberté d'étudier le fonctionnement du programme et de l'adapter à ses besoins (nécessité de pouvoir accéder au code source pour le modifier) 3. Liberté de redistribuer des copies gratuitement ou contre une somme d'argent (« free » synonyme de liberté et non de gratuité) 4. Liberté d'améliorer le programme et de publier les améliorations pour en faire profiter la communatuté UPMC - FP - ABD - v 1.1 22 |
Licence GPL GNU Public Licence – Copyleft ou « gauche d'auteur » Empêche le logiciel libre d'être modifié et de devenir propriétaire Linux étroitement lié au projet GNU Linux = noyau du système Exploite dès sa création des logiciels du projet GNU On parle plus généralement des systèmes « GNU/Linux » UPMC - FP - ABD - v 1.1 23 |
Comparaison : logiciel libre – gratuiciel – partagiciel – logiciel propriétaire Gratuiciels et partagiciels : pas plus que le droit d'exécuter Télécharger « librement » un logiciel n'en fait pas un logiciel libre
UPMC - FP - ABD - v 1.1 24 |
|
|
Mais il y a aussi sur des inconvénients : Manque d'applications spécifiques (jeux, video etc..) ou commerciales Relative complexité Problème sur le support en général Problème de pilotes avec certains matériels (souvent ceux dont les constructeurs ne donnent pas les spécifications, et arrive dans le monde linux avec un retard vis à vis des pilotes Windows/Mac fournis) UPMC - FP - ABD - v 1.1 29 |
Cas particulier Linux : quelle distribution choisir ? Pas simple : chaque utilisateur défend "sa" distribution Linux, Gratuite ou payante ? Acheter la distribution Télécharger gratuitement la distribution chaque distribution a ses qualités, aucune n'est exempte de défauts, site disponible donnant des informations: Bien définir ces besoins (serveurs, poste de travail multimédia, etc..) UPMC - FP - ABD - v 1.1 30 |
|
|
|
|
Règles sur les mots de passe ne se prête pas ! ne s'oublie pas ! exemple : Kptain[&1GD ne doit pas être facile à trouver évitez tout ce qui se rapporte à vous (nom, prénom, marque voiture, nom du toutou) pas de mots issus d'un dictionnaire doit comporter au moins 6 caractères utilisez des associations de majuscules, minuscules, chiffres et caractères spéciaux UPMC - FP - ABD - v 1.1 41 |
Modification du pot de passe La commande standard pour changer de mot de passe sur une machine Unix est passwd L'authentification sur les postes de travail de la formation permanente utilise un mécanisme de centralisation des mots de passe (NIS) il faudra utiliser la commande yppasswd UPMC - FP - ABD - v 1.1 42 |
|
|
|
|
|
La suite du cours comportera des exemples comme : [franck@machine] $ ls Attention ! Il ne faudra pas taper la chaîne du prompt lorsque vous testerez les commandes indiquées Pour terminer une session shell, on tape la commande commune à tous les shells : $ exit dans le contexte d'un terminal texte, exit retourne sur la demande de login dans le contexte d'une émulation de terminal texte en environnement graphique, exit ferme le programme d'émulation uniquement UPMC - FP - ABD - v 1.1 57 |
commande unix = un ensemble de mots séparés par des caractères blancs (espace, tabulation) premier mot : nom de la commande reste des mots : paramètres de la commande parmi ces paramètres, les options, modifient le comportement de la commande format d'une commande type : $ commande [options] parametres les crochets [ et ] encadrent les éléments facultatifs de la commande les crochets ne doivent pas apparaître dans la ligne de commande UPMC - FP - ABD - v 1.1 58 |
La syntaxe pour spécifier une option a été définie dans le programme de la commande Il existe pourtant des notations que l'on retrouve dans la plupart des commandes (mais il existe des exceptions) une option est introduite par le signe – et est souvent constituée d'une lettre $ cp -r -v source dest l'ordre des options n'a pas d'importance et on peut les cumuler $ ls -a -l = $ ls -l -a = $ ls -al les options constituée d'un mot entier sont souvent introduite par le signe -- $ urpmi --auto-update UPMC - FP - ABD - v 1.1 59 |
Erreur classique : oubli de l'espace entre la commande, les options et les paramètres le shell ne reconnaît pas la commande et affiche un message d'erreur les paramètres ou options ne sont pas valides pour la commande : la commande affiche une erreur résultat inattendu de la commande [franck@localhost ~]$ ls -al total 6011 drwxr-xr-x 63 franck franck 3072 mar 7 21:33 ./ drwxr-xr-x 6 root root 1024 fév 20 12:30 ../ -rw-rw-r-- 1 franck franck 95684 déc 13 16:57 .bz2 .. [franck@localhost ~]$ ls-al bash: ls-al: command not found UPMC - FP - ABD - v 1.1 60 |
Sommaire Présentation de la formation Unix ABD Généralités Unix - Linux Premiers contacts Utilisation du clavier login, mot de passe, connexion les shells commandes Unix Documentation Editeurs de texte (vi) UPMC - FP - ABD - v 1.1 61 |
Il existe une aide en ligne sur les commandes accessibles pendant le fonctionnement du système : les pages de manuel man Syntaxe de la commande man $ man [options] commande Inconvénient : il faut connaître le nom de la commande (nom anglais très souvent). Les pages de manuels sont plus une référence sur les nombreuses options des commandes et leur syntaxe particulière Les pages de manuel sont LA référence de l'utilisateur débutant à l'expert UPMC - FP - ABD - v 1.1 62 |
|
man (manual) Synopsis man [options] [section] nom-objet man [options] nom-fichier-man But : visualiser des pages de manuel (manpages) Fichier de conf : /etc/man.config Utilisation d'outils de mise en page de pages textes (pager) more (« one more page » ) less (« less is more » ) Sur les Linux récents, man est associé à la commande less -is pour la visualisation des pages Définition du pager par la variable PAGER du fichier /etc/man.config UPMC - FP - ABD - v 1.1 65 |
En-tête Name Synopsis Description Options Return values See also Bugs Files Authors UPMC - FP - ABD - v 1.1 |
Format des pages de manuel (parties les plus courantes) Description Nom suivi d'une courte description Syntaxe de la commande Description de la commande les différents options possibles pour ce qui est lié à la programmation Références complémentaires . Fichiers associés à l'objet (fichiers de conf d'une commande par exemple) les auteurs et traducteurs le cas échéant 66 |
|
Commande whatis Recherche des mots-clefs à l'intérieur d'une base de données Elle est constituée des mots présents dans la section NAME de la page de manuel Base de données alimentée par la commande makewhatis makewhatis est appelée régulièrement par l'intermédiaire de script présent dans /etc/cron.daily et /etc/cron.monthly makewhatis -w utilise la commande manpath (ou man – path) pour connaître les répertoires dans lequel il doit rechercher les informations Cette base se trouve dans le fichier /var/cache/man/whatis UPMC - FP - ABD - v 1.1 69 |
[franck@localhost ~]$ whatis mkfs mkfs (8) - build a Linux file system mkfs (8) - Créer un système de fichiers Linux mkfs.minix [mkfs] (8) - Créer un système de fichiers Minix [franck@localhost ~]$ man -f mkfs mkfs (8) - build a Linux file system mkfs (8) - Créer un système de fichiers Linux mkfs.minix [mkfs] (8) - Créer un système de fichiers Minix [franck@localhost ~]$ more /var/cache/man/whatis 3ds2m (1) - Convertit les mailles (meshes) d'un fichier 3DS en u n m-file (fichier contenant les mailles) 3dsdump (1) - Affiche l'information sur la structure interne d'un fichier 3DS 411toppm (1) - convert Sony Mavica .411 image to PPM 9wm (1) - un gestionnaire de fenêtres pour X ressemblant à a2p (1) - Awk to Perl translator a2ps (1) - formate des fichiers pour impression sur une imprima .. UPMC - FP - ABD - v 1.1 70 |
Commande apropos Recherche d'une chaine de caractères dans la base de données whatis Le résultat est donc beaucoup moins précis man -k est équivalent à apropos UPMC - FP - ABD - v 1.1 71 |
[franck@localhost ~]$ whatis mkfs mkfs (8) - build a Linux file system mkfs (8) - Créer un système de fichiers Linux mkfs.minix [mkfs] (8) - Créer un système de fichiers Minix [franck@localhost ~]$ apropos mkfs mke2fs [mkfs] (8) - create an ext2/ext3 filesystem mkfs (8) - build a Linux file system mkfs (8) - Créer un système de fichiers Linux mkfs.minix [mkfs] (8) - Créer un système de fichiers Minix [franck@localhost ~]$ whatis mk mk: nothing appropriate [franck@localhost ~]$ apropos mk ExtUtils::Mkbootstrap (3pm) - make a bootstrap file for use by DynaLoader ExtUtils::Mksymlists (3pm) - write linker options files for dynamic extension glib-mkenums (1) - C language enum description generation utility growisofs (1) - combined mkisofs frontend/DVD recording program mkbootdisk (8) - créer une disquette de démarrage autonome pour le système en place mk_cmds (1) - error table compiler
UPMC - FP - ABD - v 1.1 72 |
/usr/share/doc ou /usr/doc Contient de la documentation dans un format différent des pages man : ASCII, postscript, html, pdf. On y trouve plutôt des tutoriels, des documentations techniques complémentaires, des README, des HOWTO [franck@localhost doc]$ find /usr/share/doc -type f | wc -l 14037 [franck@localhost doc]$ find /usr/share/doc -name *.pdf | wc -l 20 [franck@localhost doc]$ find /usr/share/doc -name *.html | wc -l 5681 [franck@localhost doc]$ find /usr/share/doc -name *.ps | wc -l 18 UPMC - FP - ABD - v 1.1 73 |
et quand on a rien trouvé comme documentation interne (le développeur n'a pas fait son travail correctement) il reste l'aide “codée” dans la commande Beaucoup d'informations dans les commentaires des fichiers de configuration Affichage de l'aide intégrée à la commande avec option -h ou –help ou -? UPMC - FP - ABD - v 1.1 74 |
Le projet LDP (Linux Documentation Project) regroupe un grand nombre de doc (HOWTO, Readme, guides de référence, ) Url à connaître : Newsgroups .linux.* .linux Archives newgroups Rechercher sur Mailing lists (listes de diffusion) UPMC - FP - ABD - v 1.1 75 |
Sommaire Présentation de la formation Unix ABD Généralités Unix - Linux Premiers contacts Utilisation du clavier login, mot de passe, connexion les shells commandes Unix Documentation Editeurs de texte (vi) UPMC - FP - ABD - v 1.1 76 |
Panorama d'éditeurs de fichier textes Il existe beaucoup d'éditeurs de texte mais seuls quelques uns (sufisament stables et robustes) suffisent vi : le seul éditeur de texte standard sous Unix emacs : puissant mais plus complexe que vi xemacs : version graphique d'emacs nedit : graphique et simple d'utilisation En pratique : il faut savoir au minimum utiliser vi. C'est celui que vous retrouverez sur tout Unix inconvénient : il demande de la pratique vim : version améliorée de vi () UPMC - FP - ABD - v 1.1 77 |
Vi fonctionne sous 3 modes Commande : saisie possible d'une commande (souvent une touche) pour agir sur le document. C'est le mode par défaut au démarrage Edition (Insert): permet la saisie du texte Ex (mode dernière ligne) : saisie des commandes relatives à la gestion de fichiers (entre autres) Vi est un éditeur en mode texte vous utilisez le clavier à la fois pour éditer le texte du document (insérer-supprimer des caractères) et pour lancer les commandes du logiciel (gestion des fichiers par exemple) UPMC - FP - ABD - v 1.1 78 |
|
|
Commandes principales
UPMC - FP - ABD - v 1.1 83 |
Commandes de sauvegarde et de sortie de vi
Attention : toutes ces commandes se font en mode Ex touche ESC + « : » pour passer en mode Ex UPMC - FP - ABD - v 1.1 84 |
Commandes de copier/coller
UPMC - FP - ABD - v 1.1 85 |
Commandes de substitution
UPMC - FP - ABD - v 1.1 86 |
|
UPMC - FP - ABD - v 1.1 1 |
Sommaire Notions d'objets Unix Notions de chemins Manipulation de base des objets cd, pwd, ls, mkdir, mv, rm Liens hard, liens symboliques Commandes de base cat, more, less, wc, diff, head, tail, touch, file UPMC - FP - ABD - v 1.1 2 |
Sous Unix, plusieurs type d'objets fichiers répertoires objets associés aux disques durs, clefs USB, bandes objets destinés à la communication entre applications On manipule le plus souvent fichiers répertoires Une règle que l'on vérifiera souvent « Sous Unix, tout est fichier » UPMC - FP - ABD - v 1.1 3 |
Sous Unix, la « casse » est importante : le système fait la différence entre les majuscules et les minuscules [aoi@test]$ ls -l total 0 -rw-r--r-- 1 franck franck 0 mar 13 10:27 -rw-r--r-- 1 franck franck 0 mar 13 10:26 -rw-r--r-- 1 franck franck 0 mar 13 10:26 -rw-r--r-- 1 franck franck 0 mar 13 10:26 Sous Unix on évite les caractères espace, apostrophe, guillemets, lettres accentuées dans les noms d'objet on utilise généralement : les lettres minuscules, les lettres majuscules, le tiret « - », le point « . », l'underscore « _ » UPMC - FP - ABD - v 1.1 4 |
Sur un système de fichier Unix, les objets (fichiers) sont gérés par l'intermédiaire d'une « meta-donnée » stockée dans le système de fichier appelée inode chaque inode dispose d'un numéro identifiant le fichier il renseigne sur le type d'objet (fichier, répertoire, ) il possède la liste des blocs de données qui correspondent à son contenu Attention : le nom de l'objet ne se trouve pas dans l'inode. Le nom du fichier est géré par le répertoire. UPMC - FP - ABD - v 1.1 5 |
Un fichier correspond à un inode de type fichier
UPMC - FP - ABD - v 1.1 6 |
Sous unix, un répertoire est aussi un fichier ce fichier particulier contient une liste d'associations : nom de fichier - inode UPMC - FP - ABD - v 1.1 7 |
Le répertoire contient les noms de fichiers ainsi que l'inode correspondant permettant d'y accéder $ vi repertoire1 " ============================================================= =============== " Netrw Directory Listing (netrw v98) " /home/franck/UNIX/repertoire1 " Sorted by name " Sort sequence: [\/]$,*,\.bak$,\.o$,\.h$,\.info$,\.swp$,\.obj$ " Quick Help: <F1>:help -:go up dir D:delete R:rename s:sort-by x:exec " ============================================================= =============== ../ ./ tata titi toto UPMC - FP - ABD - v 1.1 8 |
|
|
|
|
Sommaire Notions d'objets Unix Notions de chemins Manipulation de base des objets cd, pwd, ls, mkdir, mv, rm Liens hard, liens symboliques Commandes de base cat, more, less, wc, diff, head, tail, touch, file UPMC - FP - ABD - v 1.1 19 |
Commande « cd » (change directory) syntaxe : cd répertoire $ cd /etc $ cd ../home/albert lorsque le répertoire n'existe pas, le shell vous affiche une erreur [aoi@test]$ cd vide bash: cd: vide: Aucun fichier ou répertoire de ce type UPMC - FP - ABD - v 1.1 20 |
Commande « pwd » (present working directory) syntaxe : pwd $ cd /etc $ pwd /etc $ cd /home/albert $ pwd /home/albert UPMC - FP - ABD - v 1.1 21 |
Commande « ls » (list) syntaxe : cd [options] objets principales options (cumulables) « -l » : affiche au format détaillé les informations « -R » : liste récursive du contenu des sous-répertoires « -d » : affiche les répertoires comme les fichiers sans afficher leurs contenus « -F » : affiche les objets avec un suffixe désignant le type de l'objet « -a » : affichage des fichiers « cachés » (dont le nom commence par « . » « -i » : affiche le numéro d'inode correspondant « -t » : affiche les fichiers triés par date « -S » : afficher les fichiers triés par taille 22 UPMC - FP - ABD - v 1.1 |
|
Commande « ls -lR» combinaison des option -l et -R [aoi@test]$ ls -lR .: total 2 drwxr-xr-x 2 franck franck 1024 mar 13 15:59 a/ -rw-r--r-- 1 franck franck 0 mar 13 15:58 b -rw-r--r-- 1 franck franck 0 mar 13 15:58 c -rw-r--r-- 1 franck franck 0 mar 13 15:58 d drwxr-xr-x 2 franck franck 1024 mar 13 15:59 e/ -rw-r--r-- 1 franck franck 0 mar 13 15:58 f ./a: total 0 -rw-r--r-- 1 franck franck 0 mar 13 15:59 y -rw-r--r-- 1 franck franck 0 mar 13 15:59 z ./e: total 0 -rw-r--r-- 1 franck franck 0 mar 13 15:59 t UPMC - FP - ABD - v 1.1 27 |
Commande « ls -F» associe un suffixe désignant l'objet « / » : désigne un répertoire « * » : désigne un exécutable « @ » : désigne un lien symbolique [aoi@test]$ ls -F a/ b c d e/ f Les émulateurs de terminal récents associent des couleurs aux différents type de fichiers UPMC - FP - ABD - v 1.1 28 |
Commande « ls -a» affiche tous les fichiers (également ceux qui commencent par un point – fichiers « cachés ») [aoi@test]$ ls -la total 6 drwxr-xr-x 4 franck franck 1024 mar 13 16:22 ./ drwxr-xr-x 66 franck franck 3072 mar 13 15:20 ../ drwxr-xr-x 2 franck franck 1024 mar 13 15:59 a/ -rw-r--r-- 1 franck franck 0 mar 13 15:58 b -rw-r--r-- 1 franck franck 0 fév 12 2006 c -rw-r--r-- 1 franck franck 0 mar 13 16:22 .config -rw-r--r-- 1 franck franck 0 mar 13 15:58 d drwxr-xr-x 2 franck franck 1024 mar 13 15:59 e/ -rw-r--r-- 1 franck franck 0 fév 12 10:56 f UPMC - FP - ABD - v 1.1 29 |
Commande « ls -t» [aoi@test]$ ls -lt total 6 -rw-r--r-- 1 franck franck 111 mar 13 19:34 c -rw-r--r-- 1 franck franck 40 mar 13 19:26 d -rw-r--r-- 1 franck franck 1826 mar 13 19:26 b drwxr-xr-x 2 franck franck 1024 mar 13 15:59 e/ drwxr-xr-x 2 franck franck 1024 mar 13 15:59 a/ -rw-r--r-- 1 franck franck 0 fév 12 10:56 f Commande « ls -S» [aoi@test]$ ls -lS total 6 -rw-r--r-- 1 franck franck 1826 mar 13 19:26 b drwxr-xr-x 2 franck franck 1024 mar 13 15:59 a/ drwxr-xr-x 2 franck franck 1024 mar 13 15:59 e/ -rw-r--r-- 1 franck franck 111 mar 13 19:34 c -rw-r--r-- 1 franck franck 40 mar 13 19:26 d -rw-r--r-- 1 franck franck 0 fév 12 10:56 f UPMC - FP - ABD - v 1.1 30 |
|
Commande « mv » (move) syntaxe : mv [options] départ destination deux utilisations changer le rattachement d'un objet changer le nom du rattachement l'option « -i » demande la confirmation dans le cas d'un écrasement
UPMC - FP - ABD - v 1.1 37 |
Renommage [aoi@test]$ ls -l total 9 -rw-r--r-- 1 franck franck 40 mar 13 19:26 d drwxr-xr-x 2 franck franck 1024 mar 13 15:59 e/ -rw-r--r-- 1 franck franck 0 fév 12 10:56 f [aoi@test]$ mv f nouveau [aoi@test]$ ls -l total 9 -rw-r--r-- 1 franck franck 40 mar 13 19:26 d drwxr-xr-x 2 franck franck 1024 mar 13 15:59 e/ -rw-r--r-- 1 franck franck 0 fév 12 10:56 nouveau Déplacement [aoi@test]$ mv nouveau e/ [aoi@test]$ ls -l e/ total 0 -rw-r--r-- 1 franck franck 0 fév 12 10:56 nouveau -rw-r--r-- 1 franck franck 0 mar 13 15:59 t UPMC - FP - ABD - v 1.1 38 |
Demande de confirmation avant écrasement [aoi@test]$ ls -l total 0 -rw-r--r-- 1 franck franck 0 mar 13 15:59 y -rw-r--r-- 1 franck franck 0 mar 13 15:59 z [aoi@test]$ mv -i y z mv: écraser `z'?y [aoi@test]$ ls -l total 0 -rw-r--r-- 1 franck franck 0 mar 13 15:59 z UPMC - FP - ABD - v 1.1 39 |
Commande « cp » (copy) cp [options] départ destination deux utilisations dupliquer en changeant le nom de destination (cas où la destination n'est pas un répertoire) dupliquer vers un répertoire destination en conservant les noms l'option « -i » confirmation en cas d'écrasement l'option « -r » copie récursive l'option « -p » copie avec conservation des dates UPMC - FP - ABD - v 1.1 40 |
Copie de fichier [aoi@test]$ ls [aoi@test]$ cp [aoi@test]$ ls Copie de fichier dans un répertoire [aoi@test]$ ls sauve/ [aoi@test]$ cp sauve/ [aoi@test]$ ls sauve/ [aoi@test]$ ls sauve/ UPMC - FP - ABD - v 1.1 41 |
Copie récursive [aoi@test]$ ls -l total 2 drwxr-xr-x 2 franck franck 1024 mar 16 22:25 dest/ drwxr-xr-x 2 franck franck 1024 mar 15 17:30 sauve/ [aoi@test]$ cp -r sauve/ dest/ [aoi@test]$ ls -R dest/ dest/: sauve/ dest/sauve: UPMC - FP - ABD - v 1.1 42 |
|
|
|
|
Le lien hard utilise le numéro d'inode pour identifier l'objet un numéro unique par partition confiné à l'intérieur d'une même partition (unicité de l'inode) Contraintes hard link impossible vers une autre partition (risque de perte de l'unicité de l'inode) hard link impossible vers un répertoire (risque de boucles invisibles dans l'arborescence) Utilisation courante : liens hard dans un environnement « chrooté » UPMC - FP - ABD - v 1.1 55 |
Commande « ln » (link) ln original synonyme [aoi@test]$ ls -l fichier1 -rw-r--r-- 1 franck franck 0 mar 17 08:31 fichier1 [aoi@test]$ ln fichier1 fichier2 [aoi@test]$ ls -l fichier1 fichier2 -rw-r--r-- 2 franck franck 0 mar 17 08:31 fichier1 -rw-r--r-- 2 franck franck 0 mar 17 08:31 fichier2 [aoi@test]$ ls -li fichier1 fichier2 1666053 -rw-r--r-- 2 franck franck 0 mar 17 08:31 fichier1 1666053 -rw-r--r-- 2 franck franck 0 mar 17 08:31 fichier2 UPMC - FP - ABD - v 1.1 56 |
Copies et déplacement vers un lien [aoi@test]$ cp c fichier1 cp: écraser `fichier1'?y [aoi@test]$ ls -li fichier1 fichier2 1666053 -rw-r--r-- 2 franck franck 111 mar 17 08:34 fichier1 1666053 -rw-r--r-- 2 franck franck 111 mar 17 08:34 fichier2 [aoi@test]$ ls -li fichier3 1666055 -rw-r--r-- 1 franck franck 136 mar 17 08:43 fichier3 [aoi@test]$ mv fichier3 fichier2 mv: écraser `fichier2'?y [aoi@test]$ ls -li fichier1 fichier2 1666053 -rw-r--r-- 1 franck franck 111 mar 17 08:34 fichier1 1666055 -rw-r--r-- 1 franck franck 136 mar 17 08:43 fichier2 UPMC - FP - ABD - v 1.1 57 |
Suppression d'un lien par rm [aoi@test]$ ls -li fichier1 fichier2 1666053 -rw-r--r-- 2 franck franck 111 mar 17 08:34 fichier1 1666053 -rw-r--r-- 2 franck franck 111 mar 17 08:34 fichier2 [aoi@test]$ rm fichier1 [aoi@test]$ ls -li fichier1 fichier2 ls: fichier1: Aucun fichier ou répertoire de ce type 1666053 -rw-r--r-- 1 franck franck 111 mar 17 08:34 fichier2 Place occupée (les liens ne prennent pas de place) [aoi@test]$ ls -la total 4 drwxr-xr-x 2 franck franck 1024 mar 17 08:56 ./ drwxr-xr-x 5 franck franck 1024 mar 17 08:56 ../ -rw-r--r-- 2 franck franck 111 mar 17 08:34 fichier1 -rw-r--r-- 2 franck franck 111 mar 17 08:34 fichier2 [aoi@test]$ du -b 1135 . [aoi@test]$ rm fichier2 [aoi@test]$ du -b 1135 . UPMC - FP - ABD - v 1.1 58 |
|
Suppression d'un lien symbolique « rm » [aoi@test]$ ls -li fichier1 fichier2 1674243 -rw-r--r-- 1 franck franck 294 mar 18 22:43 fichier1 1674242 lrwxrwxrwx 1 franck franck 8 mar 18 22:45 fichier2 -> fichier1 [aoi@test]$ rm fichier1 rm: détruire fichier régulier `fichier1'? y [aoi@test]$ ls -li fichier2 1674242 lrwxrwxrwx 1 franck franck 8 mar 18 22:45 fichier2 -> fichier1 [aoi@test]$ ls -liL fichier2 ls: fichier2: Aucun fichier ou répertoire de ce type [aoi@test]$ cat fichier2 cat: fichier2: Aucun fichier ou répertoire de ce type UPMC - FP - ABD - v 1.1 61 |
Les systèmes Unix imposent les droits « lrwxr-xr-x » ou « lrwxrwxrwx » sur le lien ils ne peuvent être modifés on peut seulement modifier les droits du fichier pointé par un lien symbolique [aoi@test]$ ls -l fichier1 fichier2 -rw-r--r-- 1 franck franck 307 mar 18 23:03 fichier1 lrwxrwxrwx 1 franck franck 8 mar 18 22:45 fichier2 -> fichier1 [aoi@test]$ chmod 600 fichier2 [aoi@test]$ ls -l fichier1 fichier2 -rw------- 1 franck franck 307 mar 18 23:03 fichier1 lrwxrwxrwx 1 franck franck 8 mar 18 22:45 fichier2 -> fichier1 UPMC - FP - ABD - v 1.1 62 |
Sommaire Notions d'objets Unix Notions de chemins Manipulation de base des objets cd, pwd, ls, mkdir, mv, rm Liens hard, liens symboliques Commandes de base cat, more, less, wc, diff, head, tail, touch, file UPMC - FP - ABD - v 1.1 63 |
Commande « cat » (concatenate) cat fichiers [aoi@test]$ cat /etc/modules # /etc/modules: kernel modules to load at boot time. # # This file should contain the names of kernel modules that are # to be loaded at boot time, one per line. Comments begin with # a `#', and everything on the line after them are ignored. nvram hw_random evdev [aoi@test]$ UPMC - FP - ABD - v 1.1 64 |
Commande « more » more fichiers affichage du contenu d'un fichier page par page Syntaxe : espace ou « f » pour avancer d'une page « b » pour reculer d'une page « q » pour quitter le commande « man » affiche les pages de manuel à l'aide de la commande « more » UPMC - FP - ABD - v 1.1 65 |
Commande « less » less fichiers même principe que more avec certains avantages déplacement ligne par ligne à l'aide des touches de déplacement ne nécessite pas la lecture de la totalité du fichier pour commencer : intérêt pour les fichiers longs commandes basées à la fois sur more et sur vi UPMC - FP - ABD - v 1.1 66 |
Commande « wc » (word count) wc [options] fichiers options : « -c » compte le nombre de caractères uniquement « -l » compte le nombre de lignes uniquement « -w » compte le nombre de mots uniquement [aoi@test]$ wc /etc/modules 9 50 266 /etc/modules [aoi@test]$ wc -l /etc/modules 9 /etc/modules UPMC - FP - ABD - v 1.1 67 |
Commande « diff » (difference) diff [options] fichier1 fichier2 comparaison (fichiers texte) ligne à ligne de fichier2 par rapport à fichier1 options : « -c » affiche quelques lignes du contexte « -u » mode unifié commande très utile en administration : isoler rapidement les différences entre différentes versions de fichier de configuration UPMC - FP - ABD - v 1.1 68 |
Modification d'une ligne [aoi@test]$ cat fichier1 option1 = texte1 option2 = texte2 option3 = texte3 [aoi@test]$ diff fichier1 fichier2 2c2 < option2 = texte2 --- > option2 = modification Traduction « 2c2 » : la ligne 2 de fichier2 la ligne 2 de fichier1 UPMC - FP - ABD - v 1.1 |
[aoi@test]$ cat fichier2 option1 = texte1 option2 = modification option3 = texte3 est changée par rapport à 69 |
Décalage et ajout de lignes [aoi@test]$ cat fichier2 [aoi@test]$ cat fichier1option1 = texte1 option1 = texte1option2 = modification option2 = texte2option3 = texte3 option3 = texte3 option4 = option4 [aoi@test]$ diff fichier1 fichier2 0a1 > 2c3 < option2 = texte2 --- > option2 = modification 3a5,6 > > option4 = option4 « 0a1 » : ligne 1 fichier2 ajoutée à la ligne 0 du fichier1 « 3a5,6 » : lignes 5à6 fichier2 ajoutée à la ligne 3 fichier1 UPMC - FP - ABD - v 1.1 70 |
|
exemple d'utilisation copie de pages php d'une machine à une autre les pages php ne fonctionnent plus correctement Peut être un problème de configuration de php mais le fichier compte 1355 lignes et 7230 mots à comparer [aoi@test]$ diff -u --- 2007-03-19 08:44:28.000000000 +0100 +++ 2007-03-19 08:45:29.000000000 +0100 @@ -395,7 +395,7 @@ ; You should do your best to write your scripts so that they do not require ; register_globals to be on; Using form variables as globals can easily lead ; to possible security problems, if the code is not very well thought of. -register_globals = Off +register_globals = On UPMC - FP - ABD - v 1.1 73 |
Commande « head » head [-nombre] fichiers extrait les « nombre » premières ligne d'un fichier [aoi@test]$ head -5 [PHP] ;;;;;;;;;;; ; WARNING ; ;;;;;;;;;;; UPMC - FP - ABD - v 1.1 74 |
Commande « tail » tail [-nombre] fichiers : affiche les n dernières lignes tail [+nombre] fichiers : affiche de la nième ligne à la dernière tail [-f] fichier : affichage « en continu » des dernières lignes Particulièrement intéressant pour suivre « en live » l'évolution d'un fichier journal. Sortie avec Ctrl + C [aoi@test]$ tail -5 ;hphp.upload.verification_script = /home/hphp/verify_script ; Local Variables: ; tab-width: 4 ; End: UPMC - FP - ABD - v 1.1 75 |
Commande « touch » touch fichiers A la base, la commande « touch » est destinée à modifier l'horodatage d'un fichier Si le fichier n'existe pas, la commande touch crée un fichier vide [aoi@test]$ ls -l fichier3 ls: fichier3: Aucun fichier ou répertoire de ce type [aoi@test]$ touch fichier3 [aoi@test]$ ls -l fichier3 -rw-r--r-- 1 franck franck 0 mar 19 09:58 fichier3 [aoi@test]$ touch -m -t 200701011200 fichier3 [aoi@test]$ ls -l fichier3 -rw-r--r-- 1 franck franck 0 jan 1 12:00 fichier3 UPMC - FP - ABD - v 1.1 76 |
|