S2: Rappels sur les outils de base
Transcription
S2: Rappels sur les outils de base
Licence Professionnelle A SRALL Linux - Installation Séance no 2 : Commandes de base et utilisation du shell 1 Commandes de base Cet exercice a pour objectif de vous faire réviser les commandes les plus courantes, ainsi que leurs options les plus utilisées. Nous nous basons sur le shell bash, qui est le plus utilisé dans le monde Linux. Il en existe d’autres, comme tcsh ou zsh, dont la syntaxe diffère plus ou moins. Q1. Recopiez une à une les commandes du listing ci-dessous, et vérifiez que vous en comprenez les détails (et éventuellement les causes d’erreurs !), éventuellement en utilisant les pages de manuel. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 uname -a id cd /etc ls -R ls | more ls | less ls -ir cd /tmp ls -l ls -la ls -l /usr/bin | less Commandes cd /etc/ cat passwd wc passwd wc -l passwd grep root passwd grep ro passwd grep ro passwd | wc -l cd pwd cd /tmp cd ~ pwd tty clear touch yop ls -l rm yop 1 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 2 ls -l touch yop mv yop yopla ls -l chmod u-w . rm yopla chmod u+w . chmod 777 yopla ls -l touch yopla ln -s yopla yop ls -il rm yop ls -l rm yopla touch yopla ln yopla yop ls -il rm yop ls -l ln -s /tmp tmp cd tmp ls -l Chemins absolus et relatifs Pour identifier de façon non ambigüe un fichier ou un répertoire que l’on veut manipuler par une commande du shell, il faut la désigner par son nom et par un chemin qui permet d’y accéder au sein du système de fichiers. Pour construire ce chemin, on énumère la liste des répertoires qu’il faut traverser au sein du SF pour atteindre l’entrée. Il y a deux points de départ possibles pour ce chemin : — le répertoire racine (/) : on parle alors de chemin absolu — le répertoire courant : on parle alors de chemin relatif Placez-vous dans le répertoire /etc, et complétez le tableau ci-dessous. Chemin relatif Chemin absolu /etc/init.d/rcS ../tmp /usr/bin/bash Le caractère ~ désigne le HOME de l’utilisateur courant. Il peut être utilisé suivi d’un nom d’utilisateur pour désigner le HOME d’un autre utilisateur (exemple : ~root). Supposons que nous sommes l’utilisateur toto, que notre HOME est /home/toto, et que nous sommes dans le répertoire /home/toto/test. Donnez 3 manières différentes de désigner le fichier /home/toto/tps/tp2.txt. 2 3 Caractères de substitution (wildcards) Créez et placez-vous dans le répertoire /tmp/subst/. Tapez la commande suivante (attention, syntaxe spécifique à bash) : touch f{a,o,i}{o,a}{,oo} Listez le contenu du répertoire. Quels sont les fichiers désignés par les chaines suivantes ? Chaine Fichiers désignés *o* *fa* f?? foo* f ? ?oo f*a*o f[ao]* f*[ˆo] 4 Redirections des entrées/sorties Tapez les commandes suivantes, et concluez sur le rôle des différentes redirections utilisées, ainsi que sur celui de /dev/null. ls -l > foo cat foo ls -l >> foo cat foo wc -l foo wc -l < foo find /etc find /etc > log cat log find /etc > log 2> log.err cat log.err find /etc > log 2>/dev/null find /etc >log 2>&1 cat log # attention, syntaxe spécifique à bash 3 find /etc &>log cat log 5 Filtres Dans cette partie du TP, vous aurez à utiliser les commandes suivantes. Vérifiez que vous connaissez leur fonction : cat grep head tail cut awk sed sort uniq wc Q1. Récupérez les fichiers iut-passwd et iut-group à l’adresse indiquée par l’enseignant. Ces fichiers, accessibles par exemple sur la machine charlemagne sous /etc/passwd et /etc/group, contiennent la liste des utilisateurs et des groupes à l’IUT. Faites attention à ne pas les diffuser (par exemple, en les publiant sur un site web public). Q2. Combien de lignes contiennent ces deux fichiers ? Observez leur contenu. (Consultez passwd(5) pour connaitre la signification des champs.) Q3. Quel est le gid (Group ID) des étudiants de la licence ASRALL ? Combien d’étudiants ont ce GID comme GID principal ? Qu’en pensez-vous ? Q4. En observant le fichier iut-passwd, on remarque que les personnes réelles ont toutes un GID de la forme 5XX. Créez un fichier iut-pers ne contenant que les personnes réelles. Indication : utilisez la commande grep. Attention à la syntaxe des expression régulières ! Q5. Créez un fichier iut-noms ne contenant que le 5ème champ du fichier iut-pers. Q6. Combien y a-t-il de personnes s’appellant MATHIEU ? GERARD ? Q7. Quelles sont les personnes figurant plusieurs fois dans la liste ? Pourquoi, à votre avis ? Q8. Quels sont les prénoms les plus populaires ? Q9. Recherchez à nouveau les prénoms les plus populaires, mais sans utiliser de fichier intermédiaire. 6 Utilisation efficace du shell - raccourcis clavier Voir tableau 1. À l’aide de la documentation de bash, recherchez la fonction des raccourcis clavier (et essayez-les). 7 less less est un outil de base pour l’administrateur système. Q1. Avec less, visualisez un fichier de log dans /var/log/ Q2. Comment pouvez-vous rechercher une chaîne particulière dans le fichier ? Q3. Comment pouvez-vous vous déplacer page par page ? Q4. Comment pouvez-vous aller directement à la fin du fichier ? 4 Raccourci Fonction C-a C-e M-f (ou C-flèche gauche) M-b (ou C-flèche droite) flèche haut flèche bas C-r C-k C-u TAB Notes : C- signifie qu’il faut appuyer sur CTRL et sur la touche désignée simultanément. M- ("Meta") signifique qu’il faut appuyer sur ALT et sur la touche désignée simultanément. TABLE 1 – Raccourcis clavier du Shell Q5. Comment pouvez-vous aller directement à la ligne 42 ? Q6. Comment pouvez-vous lancer l’éditeur de texte par défaut du système directement depuis less ? Q7. L’outil tail est souvent utilisé avec l’option -f, qui permet de surveiller les écritures dans un fichier : dès qu’un message de log sera ajouté au fichier, il sera affiché par tail. Quelle commande de less permet de réaliser cette fonction ? Essayez, par exemple en visualisant /var/log/auth.log et en vous connectant sur un terminal. 8 Aller plus loin Q1. À quoi sert la commande find ? Q2. Comment pouvez-vous compresser et décompresser des archives .tar.gz ou .tar.bz2 ? Q3. Comment faire pour changer la couleur des chaines trouvées dans la sortie de grep ? Q4. Utilisez vimtutor et apprenez VIM. Q5. Tapez dd if=/dev/zero of=fichier bs=1K count=1 seek=10G. Comparez la taille du fichier fichier avec ls et du. Pourquoi ? Q6. À quoi correspond la deuxième colonne dans la sortie de ls -l ? En particulier, pourquoi cette valeur est-elle souvent élevée pour les répertoires ? 5