Partie 1

Exercices de base dans la fenêtre de commande

Dans cette première partie nous avons travaillé dans le terminal en employant des commandes qui nous permettent de se déplacer dans la structure arborescente des fichiers et des dossiers dans notre répertoire personnel. D'autres commandes nous ont permis de créer, de supprimer, de copier, et de concaténer des documents et des dossiers sans quitter la fenêtre de commande. Pour mieux regarder les résultats, cliquez sur l'image.

Exercices de prise de contact et commandes simples : En ce début de première partie, nous allons aborder des fonctions simples pour obtenir des informations en une seule commande.

Question 1 Comment s'appelle votre machine ?  •   • 

Pour répondre à cette question, nous avons donc utilisé le Terminal ainsi que la commande "pwd"

Question 2 Quel jour sommes nous ? Ici on nous demande la date.  •   • 

Pour répondre à cette question, nous avons donc utilisé le Terminal ainsi que la commande "date"

Question 3 Quel jour de la semaine êtes-vous né ?  •   • 

Pour répondre à cette question, nous avons donc utilisé le Terminal ainsi que la commande "cal"

Question 4 Afficher votre nom de login  •   • 

Pour répondre à cette question, nous avons donc utilisé le Terminal ainsi que la commande "whoami"

Question 5 Quelles sont les différences entre "write" et "talk" ?  •   • 

La commande "write" permet d'ouvrir un fichier texte alors que "talk" est un programme de communication visuelle qui copie les lignes de votre terminal à celle d'un autre utilisateur

Commandes Unix élémentaires : Découverte de nouvelles commandes pour aller un peu plus loin dans l'analyse de corpus.

Exercice 1 (touch, emacs, less, ls) Créer un fichier "premiertexte.txt"  •   • 

Pour cela, il faut utiliser la commande "touch" suivie du nom du fichier que l'on veut créer.

Exercice 1 (touch, emacs, less, ls) Visualisez le contenu de premiertexte sans l'éditer.  •   • 

La fonction "emacs" permet de connaître le contenu du fichier.

Exercice 1 (touch, emacs, less, ls) Quelle est la taille de premiertexte ?  •   • 

La commande "less" permet d'avoir des informations sur la taille du fichier.

Exercice 1 (touch, emacs, less, ls) éditez PREMIERTEXTE. Que constatez-vous ?  •   • 

La commande "ls" permet d'éditer un fichier.

Exercice 2 (cp, ls, mv) Faites une copie de premiertexte appelée double.  •   • 

La commande "cp" permet de copier le fichier source et nommer le fichier copié.

Exercice 2 (cp, ls, mv) Comparez leurs tailles.  •   • 

Utilisez la commande "ls -l" et on constate que leur taille est identique.

Exercice 2 (cp, ls, mv) Renommez double en introduction.  •   • 

La commande "mv" permet de renommer un fichier.

Exercice 2 (cp, ls, mv) Quelle différence y a-t-il entre "mv double introduction" et "cp double introduction"  •   • 

Le commande « mv » permet de renommer un fichier alors que la commande « cp » fait un copier/coller du fichier source et renomme le fichier cible.

Exercice 3 (mkdir, mv, cp, ls, cd) Créez un répertoire essai/.  •   • 

Le commande « mkdir » permet de créer un répertoire mais il faut la faire suivre du nom que l'on désire donner à ce répertoire.

Exercice 3 (mkdir, mv, cp, ls, cd) Déplacez introduction dans essai/.  •   • 

Le commande « mv » permet de déplacer un fichier dans un répertoire.

Exercice 3 (mkdir, mv, cp, ls, cd) Faites une copie de premiertexte appelée copie, et placez-la également dans essai/.  •   • 

Dans ce cas, il faut utiliser la commande "cp" suivie de la commande "mv".

Exercice 3 (mkdir, mv, cp, ls, cd) Affichez une liste de ce que contient essai/.  •   • 

Cette manipulation se fait en deux étapes: il faut tout d'abord se placer dans le répertoire avec la commande "cd" puis afficher son contenu avec la commande "ls -l."

Exercice 4 (rmdir, cd, rm) Essayez de détruire essai/. Que se passe-t-il ? Que faut-il faire pour détruire un répertoire ?  •   • 

La commande "rm essai/" ne fonctionne pas. Il faut alors supprimer tous les fichiers dans le répertoire "essai/" avant de le supprimer lui aussi.

Exercices sur ls : Quel est le rôle de la fonction "ls" ?

Question 1 Affichez le contenu de /usr/local/  •   • 

Pour cela, il faut utiliser la commande "cd /usr/local" ainsi que la commande "ls."

Question 2 Quelle est la taille de votre .bashrc ?  •   • 

Pour cela, il faut utiliser la commande "ls -l .bashrc."

Question 3 À quoi sert l'option -R de ls ?  •   • 

L'otpion "-R" de la commande "ls" affiche une liste complète du contenu du répertoire courant en listant, de façon récursive, le contenu des répertoires.

Question 4 Dans quel ordre les fichiers et répertoires sont-ils classés par défaut? Quelles sont les options qui peuvent servir à modifier ce critère de classement ?  •   • 

Par défaut, les répertoires sont classés par ordre alphabétique. La commande "sort" permet de trier les fichiers.

Question 5 Affichez le contenu de votre répertoire courant de telle sorte que les fichiers modifiés récemment apparaissent en premier.  •   • 

Pour répondre à cette question, nous devons utiliser la commande "ls -t."

Question 6 Quels sont les droits de votre répertoire Mail ? Qu'est-ce que cela signifie ?  •   • 

Nous ne savons pas ...

Question 7 Comment afficher les droits d'un répertoire donné ?  •   • 

La commande "ls -l" donne une liste de fichiers ou répertoires du répertoire courant avec toutes les informations sur chacun d'eux.

Question 8 Comment afficher les droits d'un répertoire donné ?  •   • 

Il faut utiliser la commande suivante "ls -l (nomrelatifdurépertoire/fichier)."

Question 9 Votre ls vous affiche le contenu de votre répertoire avec des signes distinctifs qui permettent d'identifier plus vite le type de fichiers (slash / pour les répertoires, arobase @ pour les liens, etc). Quelle est l'option qui ajoute ces caratères ?  •   • 

L'option "-F" ajoute ces différents caractères.

Question 10 Je ne suis pas propriétaire; puis-je afficher le contenu du répertoire ?  •   • 

Non, je peux rien faire si je ne suis pas propiétaire du répertoire.

Exercices sur les répertoires (mkdir, rmdir, cd) : Comment passer d'un répertoire à l'autre, créer et supprimer des répertoires et / ou fichiers ?

Question 1 Créez trois répertoires en une seule ligne de commande.  •   • 

Pour cela, il faut utiliser la commande "mkdir Essai Nouveau Reptilian."

Question 2 Effacez ces trois répertoires en une seule ligne de commande.  •   • 

Pour cela, il faut utiliser la commande suivante : "rm -r Essai Nouveau Reptilian."

Question 3 Que se passe-t-il si vous tapez "mkdir mkdir"  •   • 

L'ordinateur m'affiche la phrase suivante : "Créer un répertoire qui s'appelle 'mkdir'."

Question 4 Vous voulez détruire un répertoire bla/, dont ls vous dit qu'il est vide. Cependant, quand vous tapez "rmdir blala", machine vous répond : "rmdir: bla: Directory not empty." Que faut-il faire ?  •   • 

Il faut taper la commande "rm -r bla" qui va supprimer le répertoire même si il contient des fichiers.

Question 5 Est-ce que mkdir peut prendre des options ?  •   • 

Oui, la commande "mkdir" servant à créer des répertoires peut prendre des options.

Question 6 À quelle condition est-ce que la ligne de commande "mkdir Rapport/annexes" peut fonctionner et créer effectivement ce sous-répertoire ?  •   • 

Il faut que le répertoire "Rapport/" existe et qu'il y ait des droits pour que l'on puisse écrire dessus.

Question 7 Y-a-t-il une option de mkdir qui permette de créer à la fois un répertoire et un sous-répertoire de ce répertoire ?  •   • 

L'option "-p" permet de créer un répertoire et un sous-répertoire en même temps.

Question 8 Comment créer un répertoire en spécifiant des droits ?  •   • 

L'option "-m" le permet.

Question 9 Quel est l'effet de la commande suivante : "rmdir -p toto/tata/tutu/"  •   • 

Elle supprime tous les répertoires.

Question 10 Vous voulez créer à la fois un répertoire toto/ et un sous répertoire tutu/ dans toto/. Quelle option faut-il utiliser pour que : Si toto/ n'existe pas, le répertoire et son sous-répertoire soient créés; Si toto/ existe déjà, le sous-répertoire tutu/ soit créé, sans message d'erreur.  •   • 

la commande "mkdir -p toto/tutu" effectue ce souhait.

Exercices sur CP et MV : Quelles sont les différences entre la fonction "cp" et la fonction "mv" ?

CP : Question 1 Est-il possible de faire une copie d'un répertoire et de l'ensemble de ses sous-répertoires en une seule ligne de commande, sans d'abord faire une copie de chacun des fichiers l'un après l'autre ?  •   • 

Oui, avec la commande "mv (nomdurépertoire) (nomdurépertoire)."

CP : Question 2 Que se passe-t-il si l'on veut faire une copie appelée tentative/ de son répertoire essai/, et que le répertoire tentative/ existe déjà ?  •   • 

L'ordinateur me répond "cp: omission du répertoire essai/."

CP : Question 3 Que se passe-t-il si vous voulez faire une copie d'un fichier dans un répertoire où il existe déjà un fichier de ce nom ?  •   • 

Rien ne se passe.

CP : Question 4 Est-il possible de taper une ligne du genre de : "cp fichier1 fichier2 fichier3 repertoire/" Quel est l'effet de cette ligne ?  •   • 

Cette ligne déplace tous les fichiers nommés vers le répertoire indiqué.

MV : Question 1 La syntaxe de mv est mv fichier1 fichier2; fichier1 est renommé en fichier2. Mais que se passe-t-il si fichier2 existe déjà ?  •   • 

Cette commande supprime le contenu du fichier 1 et le remplace par le contenu du fichier 2.

MV : Question 2 Supposez que vous avez chez vous l'arborescence précédente, et que vous vous trouvez dans ~/Rapport/docs/. Comment faites-vous pour y amener Rapport.tex qui se trouve dans le répertoire père ?Comment faites-vous ensuite pour ramener ce fichier à son emplacement d'origine ?  •   • 

Il faut faire "cp ../Rapport.tex ." puis "cp Rapport.tex .." pour le ramener à son emplacement d'origine.

MV : Question 3 Comment renommer un répertoire bla en blo ? Que se passe-t-il si le répertoire blo existe déjà ?  •   • 

Tapez la commande "mv blo bla", si "blo" existe déjà, alors "bla" se placera à l'intérieur de "blo" en sous-répertoire.

MV : Question 4 Comment faire pour à la fois déplacer un fichier et changer son nom ? Que se passe-t-il si il existe déjà un fichier de ce nom dans le répertoire d'arrivée ?  •   • 

La commande "cp commandes.txt toto2/unix.txt" copie le contenu du fichier "commandes" dans le fichier "unix" en le plaçant dans le répertoire "toto2". Si il existe déjà un fichier sous ce nom, son contenu est écrasé puis remplacé.

MV : Question 5 Mêmes questions ques les précédentes avec un répertoire.  •   • 

La commande "mv bla toto2/blo" est utile pour ce type de question. Si le répertoire existe déjà alors "bla" est mis à l'intérieur de "blo" et ne l'écrase pas. Son nom restera donc "bla."

MV : Question 6 Que se passe-t-il si on lance mv avec les options -i et -f ensemble ?  •   • 

Si il existe un fichier à l'endroit où l'on veut mettre le fichier déplacé avec le même nom; il sera écrasé même si son nom contient des caractères différents. [mv blo bla] - si dans "blo" il y a "bla", ce dernier sera tout de même écrasé.

Exercices sur less : Qu'est-ce que la fonction "less" nous permet de faire ?

Question 1 Comment fait-on pour obtenir une page d'aide avec less ?  •   • 

Pour obtenir de l'aide, il faut utiliser la commande "less -h (value?)."

Question 2 Comment examiner plusieurs fichiers à la suite ? Comment passe-t-on au suivant ? Comment revient-on au précédent ?  •   • 

Cette commande "less commandes.txt double.txt" permet d'examiner plusieurs fichiers. Celle-ci : ":n or :p respectively" de passer au fichier précédent ou suivant.

Question 3 Quelles sont les commandes différentes qui permettent de quitter less ?  •   • 

Les commandes "q or --q" permettent de quitter "less."

Question 4 Comment dire à less d'ouvrir le fichier en plaçant en haut de l'écran la ligne n ?  •   • 

Tapez cette commande : "less +3 commandes.txt".

Question 5 Comment dire à less d'ouvrir le fichier en plaçant en haut de l'écran la première ligne où apparaît un motif donné ?  •   • 

Dans ce cas, la commande "less -p (motif) commandes.txt" est nécessaire.

Question 6 Quelles sont les deux commandes de less qui permettent de chercher un motif dans un fichier, respectivement après et avant la position courante ?  •   • 

Pour chercher un motif avant et après la position courante, utilisez "#/pattern and ?pattern".

Question 7 Comment dire à less de chercher le mot à partir de la première ligne du fichier, et ce où que l'on soit dans le fichier ?  •   • 

Ici, il faut se servir de la commande "/@pattern".

Question 8 Que se passe-t-il si l'on cherche le motif suivant : «toTo» en donnant l'option -i à less ? Quelle option faut-il mettre à la place de -i pour chercher toTo tout en ignorant la casse des caractères ?  •   • 

L'otpion "-i" ne fonctionne pas pour le motif contenant des minuscules et des majuscules. Il faut mettre "-l".

Question 9 Quelles sont les commandes qui permettent d'aller à la prochaine (resp. précédente) occurence du motif recherché à travers tous les fichiers édités ?  •   • 

La commande ":n" pour changer de fichier et "ESC-n" pour accéder à la prochaine occurence.

Question 10 Comment chercher dans un fichier le caractère / ?  •   • 

La commande : "/^R" permet de chercher le slash.

Exercices et options sur grep : A quoi sert la fonction "grep" et quelles options peut-elle prendre ?

Question 1 Quelles sont les options de grep qui permettent d'obtenir des lignes de contexte (qui précèdent et/ou suivent la ligne où figure le mot) ?  •   • 

'egrep -A 2/-B 2 "motif" commandes.txt' où "-A" désigne les lignes suivant la ligne du mot concerné et "-B" pour les lignes qui le précèdent.

Question 2 Comment faire apparaître le numéro de la ligne où figure le mot recherché ? Que se passe-t-il quand on demande également des lignes de contexte ?  •   • 

'egrep -n "ont" articlemonde.txt'

Question 3 Comment faire pour afficher le nombre d'occurences du mot recherché ?  •   • 

'egrep -c "rm" commandes.txt'

Question 4 Comment faire pour que grep ignore la casse des caractères (différence entre majuscules et minuscules) dans sa recherche ?  •   • 

'egrep -i "rM" commandes.txt'

Question 5 Comment faire pour faire apparaître non pas les lignes où figurent le mot, mais les noms des fichiers ?  •   • 

'egrep -l "rm" commandes.txt p96.tab'

Question 6 Comment faire apparaître les lignes où ne figurent pas le mot recherché ?  •   • 

'egrep -v "rm" commandes.txt'

Question 7 Comment faire apparaître les noms des fichiers ne contenant pas le mot recherché ?  •   • 

'egrep -L "rm" commandes.txt p96.tab'

Question 8 Comment faire pour que grep ne recherche que les lignes où figure le mot tel quel, et non pas ses variantes ? Par exemple : on cherche le mot «travail», mais pas «travailleur» ou «travailler».  •   • 

'egrep -w "ont" articlemonde.txt'

Question 9 Comment faire pour chercher plusieurs mots à la fois en faisant apparaître les numéros des lignes ?  •   • 

'egrep -n "\(rm\|pwd\)" commandes.txt (?)'

Introduction aux expressions régulières = exercice sur Zola : A travers cet exercice, nous allons montré le rôle que jouent les expressions régulières dans un fichier texte et ce qu'elles permettent de faire.

Question 1 Chercher toutes les lignes commençant par «a» ou «A».  •   • 

'egrep -i "^[aA]" ZOLA-utf8.txt'

Question 2 Chercher toutes les lignes finissant par «rs».  •   • 

'egrep -n "rs$" ZOLA-utf8.txt'

Question 3 Chercher toutes les lignes contenant au moins un chiffre.  •   • 

'egrep "[0-9]" ZOLA-utf8.txt'

Question 4 Chercher toutes les lignes commençant par une majuscule.  •   • 

'egrep -n "^[A-Z]" ZOLA-utf8.txt'

Question 5 Chercher toutes les lignes commençant par «B», «E» ou «Q».  •   • 

'egrep -n "^[BEQ]" ZOLA-utf8.txt'

Question 6 Chercher toutes les lignes finissant par un point d'exclamation.  •   • 

'egrep -n "\!$" ZOLA-utf8.txt'

Question 7 Chercher toutes les lignes ne finissant pas par un signe de ponctuation (point, virgule, point-virgule, deux-points, point d'interrogation, point d'exclamation).  •   • 

'egrep -n "[\.\,\!\:\;\?]$" ZOLA-utf8.txt'

Question 8 Chercher tous les mots contenant un «r» précédé de n'importe quelle lettre majuscule ou minuscule.  •   • 

'egrep -n ".[a-zA-Z]r" ZOLA-utf8.txt'

Question 9 Chercher tous les mots dont la seconde lettre est un «r».  •   • 

'egrep -n "\b\wr\w*\b" ZOLA-utf8.txt'

Exercice sur find : Dans cet exercice, nous allons démontrer les différentes fonctions que peut prendre la fonction "find".

Question 1 Comment chercher tous les fichiers commençant par un «a» majuscule ou une minuscule, suivi d'éventuellement quelques lettres ou chiffres, par un chiffre entre 3 et 6 ?  •   • 

'find . -name "[aA]*[3-6]"'

Question 2 Comment fait-on pour indiquer que le fichier recherché a été modifié il y a plus de 30 jours ? Il y a 30 jours ? Il y a moins de 30 jours?  •   • 

'find -mtime +30/30/-30'

Question 3 Comment faire pour dire que le fichier a été modifié plus récemment qu'un autre fichier donné ?  •   • 

'find -newer commandes.txt -name articlemonde.txt'

Question 4 Comment fait-on pour spécifier que le fichier recherché est un répertoire ?  •   • 

Il faut utiliser l'option "-type" de la commande "find" suivie de "f" (=file) pour un fichier normal ou de "d" (=directory) pour un répertoire.

Question 5 Comment indiquer que le fichier recherché à une taille supérieure à une taille donnée ?  •   • 

Pour se faire, nous devons utiliser la commande "find -type f -size". A celle-ci, il faut ajouter la taille du fichier qui se compose des signes "=,+ ou -" si elle est égale, inférieure ou supérieure au nombre qui suit, complété lui-même par les lettres "c" (=octets) ou "k" (=kilo-octets.) On doit également ajouter le nombre de jours précédé de "-" ou "+".

Question 6 Utiliser find pour effacer tous vos fichiers de sauvegarde (terminés par un tilde) qui ont plus d'un mois.  •   • 

La commande "find -mtime +30 -name"*~"" permet de supprimer tous les fichiers de plus de 30 jours.