aboutsummaryrefslogtreecommitdiff
path: root/fichiers/01-ligne-de-commande.tex
diff options
context:
space:
mode:
Diffstat (limited to 'fichiers/01-ligne-de-commande.tex')
-rw-r--r--fichiers/01-ligne-de-commande.tex93
1 files changed, 51 insertions, 42 deletions
diff --git a/fichiers/01-ligne-de-commande.tex b/fichiers/01-ligne-de-commande.tex
index 5509a4c..5b3b6e2 100644
--- a/fichiers/01-ligne-de-commande.tex
+++ b/fichiers/01-ligne-de-commande.tex
@@ -17,6 +17,9 @@
17 breaksymbolright=\small\carriagereturn} 17 breaksymbolright=\small\carriagereturn}
18\setmintedinline{bgcolor=Lavender} 18\setmintedinline{bgcolor=Lavender}
19\usepackage{soul} 19\usepackage{soul}
20\makeindex[name=cmds, intoc, title={Liste des commandes et
21 instructions}]
22
20\begin{document} 23\begin{document}
21\maketitle 24\maketitle
22\renewcommand{\contentsname}{Sommaire} 25\renewcommand{\contentsname}{Sommaire}
@@ -55,10 +58,10 @@ Pour réaliser les mêmes opérations à la ligne de commande, il aurait
55fallu saisir les lignes suivantes: 58fallu saisir les lignes suivantes:
56\begin{enumerate} 59\begin{enumerate}
57\item création du dossier \emph{travail}:\\ 60\item création du dossier \emph{travail}:\\
58 \mintinline{text}{mkdir travail} 61 \index[cmds]{mkdir}\mintinline{text}{mkdir travail}
59\item déplacement du fichier \emph{exemple.pdf} dans le dossier 62\item déplacement du fichier \emph{exemple.pdf} dans le dossier
60 travail: \\ 63 travail: \\
61\mintinline{text}{mv exemple.pdf travail} 64 \index[cmds]{mv}\mintinline{text}{mv exemple.pdf travail}
62\end{enumerate} 65\end{enumerate}
63 66
64\paragraph{Commentaire} 67\paragraph{Commentaire}
@@ -233,7 +236,7 @@ pour le moment:
233\label{sec:prem-comm} 236\label{sec:prem-comm}
234 237
235\paragraph{pwd} 238\paragraph{pwd}
236\label{sec:pwd} 239\label{sec:pwd}\index[cmds]{pwd|textbf}
237Signifie \emph{print working directory}. Cette commande vous retourne 240Signifie \emph{print working directory}. Cette commande vous retourne
238tout simplement le chemin d'accès absolu du répertoire dans lequel 241tout simplement le chemin d'accès absolu du répertoire dans lequel
239vous vous trouvez. Très utile pour ne pas se perdre! Exemple: 242vous vous trouvez. Très utile pour ne pas se perdre! Exemple:
@@ -268,7 +271,7 @@ vous vous trouvez. Très utile pour ne pas se perdre! Exemple:
268\end{quoting} 271\end{quoting}
269 272
270\paragraph{mv} 273\paragraph{mv}
271\label{sec:mv} 274\label{sec:mv}\index[cmds]{mv|textbf}
272Signifie \emph{move}. Cette commande déplace les fichiers d'un endroit 275Signifie \emph{move}. Cette commande déplace les fichiers d'un endroit
273vers un autre. La syntaxe est la suivante: 276vers un autre. La syntaxe est la suivante:
274\begin{minted}[showspaces]{text} 277\begin{minted}[showspaces]{text}
@@ -298,10 +301,10 @@ Utilisation de raccourcis:
298\end{minted} 301\end{minted}
299 302
300\paragraph{cp} 303\paragraph{cp}
301\label{sec:cp} 304\label{sec:cp}\index[cmds]{cp|textbf}
302Signifie \emph{copy}. Cette commande copie des fichiers depuis un 305Signifie \emph{copy}. Cette commande copie des fichiers depuis un
303endroit vers un autre. La syntaxe est comparable à celle de la 306endroit vers un autre. La syntaxe est comparable à celle de la
304séquence \mintinline{text}{mv}. 307séquence \index[cmds]{mv}\mintinline{text}{mv}.
305\begin{minted}[showspaces]{text} 308\begin{minted}[showspaces]{text}
306cp <source> <destination> 309cp <source> <destination>
307\end{minted} 310\end{minted}
@@ -326,7 +329,7 @@ Utilisation de raccourcis:
326\end{minted} 329\end{minted}
327 330
328\paragraph{cd} 331\paragraph{cd}
329\label{sec:cd} 332\label{sec:cd}\index[cmds]{cd|textbf}
330Signifie \emph{change directory}. Permet de changer de répertoire 333Signifie \emph{change directory}. Permet de changer de répertoire
331courant, par exemple pour travailler sur les fichiers d'un répertoire 334courant, par exemple pour travailler sur les fichiers d'un répertoire
332différent de son \emph{home directory}. La syntaxe est la suivante: 335différent de son \emph{home directory}. La syntaxe est la suivante:
@@ -343,7 +346,7 @@ Exemple: changement vers le répertoire \mintinline{text}|/usr/bin|:
343 Remarquez le changement de l'invite après l'exécution de la 346 Remarquez le changement de l'invite après l'exécution de la
344 commande. L'invite nous donne l'indication du nouveau répertoire. 347 commande. L'invite nous donne l'indication du nouveau répertoire.
345\end{quoting} 348\end{quoting}
346Confirmation par la commande \mintinline{text}{pwd}: 349Confirmation par la commande \index[cmds]{pwd}\mintinline{text}{pwd}:
347\begin{minted}{text} 350\begin{minted}{text}
348[robert@kiddo /usr/bin]$ pwd 351[robert@kiddo /usr/bin]$ pwd
349/usr/bin 352/usr/bin
@@ -355,7 +358,7 @@ Confirmation par la commande \mintinline{text}{pwd}:
355\end{quoting} 358\end{quoting}
356 359
357\paragraph{ls} 360\paragraph{ls}
358\label{sec:ls} 361\label{sec:ls}\index[cmds]{ls|(textbf}
359Signifie \emph{list}. Affiche à l'écran tous les fichiers et les 362Signifie \emph{list}. Affiche à l'écran tous les fichiers et les
360répertoires contenus dans un répertoire donné. Si on ne précise pas le 363répertoires contenus dans un répertoire donné. Si on ne précise pas le
361répertoire dont il faut lister les fichiers, la commande liste les 364répertoire dont il faut lister les fichiers, la commande liste les
@@ -488,6 +491,7 @@ valeurs que celles qui sont commentées ci-dessous sont possibles.
488 dernière fois. 491 dernière fois.
489\item Le nom du fichier. 492\item Le nom du fichier.
490\end{enumerate} 493\end{enumerate}
494\index[cmds]{ls|)}
491 495
492\chapter{Bash, le shell} 496\chapter{Bash, le shell}
493\label{cha:bash-le-shell} 497\label{cha:bash-le-shell}
@@ -517,7 +521,7 @@ que l'on saura que \verb+fichier.png+ est un fichier image.
517cas de l'extension mais regarde directement à l'intérieur de chaque 521cas de l'extension mais regarde directement à l'intérieur de chaque
518fichier pour en déterminer le type. 522fichier pour en déterminer le type.
519 523
520\paragraph{file} 524\paragraph{file}\index[cmds]{file|textbf}
521La commande \mintinline{text}|file| permet de tout savoir sur les 525La commande \mintinline{text}|file| permet de tout savoir sur les
522types de fichiers. Nous pouvons la lancer sur la racine de notre dépôt 526types de fichiers. Nous pouvons la lancer sur la racine de notre dépôt
523Git: 527Git:
@@ -607,9 +611,9 @@ possibles:
607Tout fichier dont le nom commence par un point (\mintinline{text}|.|) 611Tout fichier dont le nom commence par un point (\mintinline{text}|.|)
608est considéré comme un fichier caché. Le plus souvent, les fichiers 612est considéré comme un fichier caché. Le plus souvent, les fichiers
609cachés contiennent des paramètres de configuration. La commande 613cachés contiennent des paramètres de configuration. La commande
610\mintinline{text}|ls| est capable de les afficher si on lui passe 614\index[cmds]{ls}\mintinline{text}|ls| est capable de les afficher si
611l'option \mintinline{text}|-a| pour \emph{all}. Appliquons cette 615on lui passe l'option \mintinline{text}|-a| pour
612option sur notre dépôt Git: 616\emph{all}. Appliquons cette option sur notre dépôt Git:
613\begin{minted}[escapeinside=||,linenos]{text} 617\begin{minted}[escapeinside=||,linenos]{text}
614[robert@kiddo courses]$ ls -la 618[robert@kiddo courses]$ ls -la
615total 72 619total 72
@@ -635,7 +639,7 @@ ligne~7 un fichier caché.
635Ces commandes s'ajoutent à celles qui sont décrites plus haut 639Ces commandes s'ajoutent à celles qui sont décrites plus haut
636(\vref{sec:prem-comm}). 640(\vref{sec:prem-comm}).
637 641
638\paragraph{mkdir} 642\paragraph{mkdir}\index[cmds]{mkdir|textbf}
639Sert à créer un nouveau répertoire. L'option \mintinline{text}|-p| 643Sert à créer un nouveau répertoire. L'option \mintinline{text}|-p|
640peut-être utilisée si l'on veut créer d'un coup un répertoire et un ou 644peut-être utilisée si l'on veut créer d'un coup un répertoire et un ou
641plusieurs sous-répertoires. L'option \mintinline{text}|-v|, pour 645plusieurs sous-répertoires. L'option \mintinline{text}|-v|, pour
@@ -647,18 +651,19 @@ mkdir: création du répertoire 'sandbox'
647mkdir: création du répertoire 'sandbox/robert' 651mkdir: création du répertoire 'sandbox/robert'
648\end{minted} 652\end{minted}
649 653
650\paragraph{touch} 654\paragraph{touch}\index[cmds]{touch|textbf}
651Sert à créer un fichier vide dont le nom est passé en argument. Cette 655Sert à créer un fichier vide dont le nom est passé en argument. Cette
652commande sert également à modifier les métadonnées de temps associées 656commande sert également à modifier les métadonnées de temps associées
653aux fichiers (date de création et/ou de modification). 657aux fichiers (date de création et/ou de modification).
654 658
655L'exemple suivant montre comment créer un nouveau dossier dans lequel 659L'exemple suivant montre comment créer un nouveau dossier dans lequel
656on crée également un fichier vide \verb|fichier.txt|. Ensuite, on 660on crée également un fichier vide \verb|fichier.txt|. Ensuite, on
657utilise la commande \verb|mv| pour \emph{déplacer} ce fichier vers un 661utilise la commande \index[cmds]{mv}\verb|mv| pour \emph{déplacer} ce
658autre fichier \verb|fichier-mk2.txt| au même endroit. Le résultat de 662fichier vers un autre fichier \verb|fichier-mk2.txt| au même
659cette action particulière, le \emph{déplacement au même endroit}, est 663endroit. Le résultat de cette action particulière, le
660tout simplement de renommer le fichier. Enfin, la commande % 664\emph{déplacement au même endroit}, est tout simplement de renommer le
661\verb|ls -l| sert de moyen de contrôle: 665fichier. Enfin, la commande %
666\index[cmds]{ls}\verb|ls -l| sert de moyen de contrôle:
662\begin{minted}{text} 667\begin{minted}{text}
663[robert@kiddo courses]$ mkdir -pv sandbox 668[robert@kiddo courses]$ mkdir -pv sandbox
664mkdir: création du répertoire 'sandbox' 669mkdir: création du répertoire 'sandbox'
@@ -672,7 +677,7 @@ total 0
672\subsection{Commandes destructives} 677\subsection{Commandes destructives}
673\label{sec:comm-destr} 678\label{sec:comm-destr}
674 679
675\paragraph{rm} 680\paragraph{rm}\index[cmds]{rm|textbf}
676Pour \emph{remove}. Il suffit de passer en argument à cette commande 681Pour \emph{remove}. Il suffit de passer en argument à cette commande
677ce que l'on souhaite détruire. Par défaut, cette commande ne détruit 682ce que l'on souhaite détruire. Par défaut, cette commande ne détruit
678pas les répertoires. Elle accepte une série d'options dont voici les 683pas les répertoires. Elle accepte une série d'options dont voici les
@@ -745,11 +750,12 @@ les commandes renvoient vers un fichier à l'aide des \emph{opérateurs
745 en argument à la commande qui précède pour traitement. 750 en argument à la commande qui précède pour traitement.
746\end{enumerate} 751\end{enumerate}
747 752
748Dans l'exemple qui suit, on demande à la commande \verb|ls -l| de 753Dans l'exemple qui suit, on demande à la commande
749rediriger son résultat vers un fichier \verb|all-files.txt|. On 754\index[cmds]{ls}\verb|ls -l| de rediriger son résultat vers un fichier
750s'assure que ce fichier a bien été créé, puis on demande à la commande 755\verb|all-files.txt|. On s'assure que ce fichier a bien été créé, puis
751\verb|cat| d'en afficher le contenu au terminal. Les trois commandes 756on demande à la commande \index[cmds]{cat}\verb|cat| d'en afficher le
752sont entrées aux lignes 1, 2 et 4: 757contenu au terminal. Les trois commandes sont entrées aux lignes 1, 2
758et 4:
753\begin{minted}[escapeinside=||,linenos]{text} 759\begin{minted}[escapeinside=||,linenos]{text}
754[robert@kiddo courses]$ ls -l > |\textcolor{red}{all-files.txt}| 760[robert@kiddo courses]$ ls -l > |\textcolor{red}{all-files.txt}|
755[robert@kiddo courses]$ ls 761[robert@kiddo courses]$ ls
@@ -793,7 +799,7 @@ caractère \emph{pipe} (\verb+|+).
793Avant d'aller plus loin, étudions rapidement deux nouvelles commandes 799Avant d'aller plus loin, étudions rapidement deux nouvelles commandes
794qui servent à filtrer le contenu des fichiers. 800qui servent à filtrer le contenu des fichiers.
795 801
796\paragraph{head}\label{ref:head-tail} 802\paragraph{head}\label{ref:head-tail}\index[cmds]{head|textbf}
797\mintinline{text}|head -<num> fichier| affiche au terminal les 803\mintinline{text}|head -<num> fichier| affiche au terminal les
798\verb|<num>| premières lignes d'un fichier. Sans l'option 804\verb|<num>| premières lignes d'un fichier. Sans l'option
799\mintinline{text}|-<num>|, les 10 premières lignes sont 805\mintinline{text}|-<num>|, les 10 premières lignes sont
@@ -805,7 +811,7 @@ affichées. Exemple:
805./_preamble.tex 811./_preamble.tex
806\end{minted} 812\end{minted}
807 813
808\paragraph{tail} 814\paragraph{tail}\index[cmds]{tail|textbf}
809\mintinline{text}|tail -<num> fichier| affiche au terminal les 815\mintinline{text}|tail -<num> fichier| affiche au terminal les
810\verb|<num>| dernières lignes d'un fichier. Sans l'option 816\verb|<num>| dernières lignes d'un fichier. Sans l'option
811\mintinline{text}|-<num>|, les 10 dernières lignes sont affichées. 817\mintinline{text}|-<num>|, les 10 dernières lignes sont affichées.
@@ -823,13 +829,13 @@ dernière ligne, \emph{mais en commençant à partir de la ligne}
823 829
824Cet exemple reprend des commandes connues. Supposons que l'on veuille 830Cet exemple reprend des commandes connues. Supposons que l'on veuille
825connaître simplement le nombre de fichiers du notre dépôt Git. Nous 831connaître simplement le nombre de fichiers du notre dépôt Git. Nous
826savons produire une liste à l'aide de la commande \verb|ls -l|. Nous 832savons produire une liste à l'aide de la commande
827savons également que la commande \verb|wc -l| compte les 833\index[cmds]{ls}\verb|ls -l|. Nous savons également que la commande
828lignes. Cependant, la première ligne retournée par la commande 834\verb|wc -l| compte les lignes. Cependant, la première ligne retournée
829\verb|ls -l|, qui donne la somme des \emph{file system blocks} occupés 835par la commande \verb|ls -l|, qui donne la somme des \emph{file system
830par le contenu du répertoire, doit être exclue du compte (voir 836 blocks} occupés par le contenu du répertoire, doit être exclue du
831\emph{supra}, \vpageref{ref:file-system-blocks}). C'est ici 837compte (voir \emph{supra}, \vpageref{ref:file-system-blocks}). C'est
832qu'intervient la commande, \verb|tail|, qui retourne les dernières 838ici qu'intervient la commande, \verb|tail|, qui retourne les dernières
833lignes d'un fichier. Avec l'option \verb|-n +2|, la première ligne 839lignes d'un fichier. Avec l'option \verb|-n +2|, la première ligne
834sera ignorée: 840sera ignorée:
835\begin{minted}{text} 841\begin{minted}{text}
@@ -846,13 +852,15 @@ leur contenu.
846 852
847Nous en avons étudié deux plus haut (\vpageref{ref:head-tail}): 853Nous en avons étudié deux plus haut (\vpageref{ref:head-tail}):
848\begin{enumerate} 854\begin{enumerate}
849\item \verb|head| qui sélectionne les premières lignes d'un fichier. 855\item \index[cmds]{head}\verb|head| qui sélectionne les premières
850\item \verb|tail| qui sélectionne les dernières lignes d'un fichier. 856 lignes d'un fichier.
857\item \index[cmds]{tail}\verb|tail| qui sélectionne les dernières
858 lignes d'un fichier.
851\end{enumerate} 859\end{enumerate}
852 860
853On ajoutera ici les commandes suivantes: 861On ajoutera ici les commandes suivantes:
854 862
855\paragraph{cat} 863\paragraph{cat}\index[cmds]{cat|textbf}
856Affiche au terminal tout le contenu d'un fichier: 864Affiche au terminal tout le contenu d'un fichier:
857\begin{minted}{text} 865\begin{minted}{text}
858[robert@kiddo courses]$ cat ls-R 866[robert@kiddo courses]$ cat ls-R
@@ -863,7 +871,7 @@ Affiche au terminal tout le contenu d'un fichier:
863./README.tex 871./README.tex
864\end{minted} 872\end{minted}
865 873
866\paragraph{wc}\label{ref:wc} 874\paragraph{wc}\label{ref:wc}\index[cmds]{wc|textbf}
867Pour \emph{word count}. Cette commande a été utilisée plus haut une 875Pour \emph{word count}. Cette commande a été utilisée plus haut une
868fois avec l'option \verb|-l| pour compter les lignes d'un fichier 876fois avec l'option \verb|-l| pour compter les lignes d'un fichier
869(\vpageref{ref:wc-intro}). Utilisée sans option, elle retourne le 877(\vpageref{ref:wc-intro}). Utilisée sans option, elle retourne le
@@ -874,7 +882,7 @@ nombre de lignes (\verb|-l|), de mots (\verb|-w|) et de caractères
874 21 114 627 makefile 882 21 114 627 makefile
875\end{minted} 883\end{minted}
876 884
877\paragraph{cut} 885\paragraph{cut}\index[cmds]{cut|textbf}
878Permet de mettre en forme des données. Prenons l'exemple du fichier 886Permet de mettre en forme des données. Prenons l'exemple du fichier
879suivant: \\ \mintinline{text}|etudiants.txt| 887suivant: \\ \mintinline{text}|etudiants.txt|
880\begin{minted}{text} 888\begin{minted}{text}
@@ -909,7 +917,7 @@ forme de façon à placer le prénom avant le nom et avoir les adresses
909email entre crochets pointus? Comment faire aussi pour récupérer les 917email entre crochets pointus? Comment faire aussi pour récupérer les
910données dans un tableur? 918données dans un tableur?
911 919
912\paragraph{awk} 920\paragraph{awk}\index[cmds]{awk|textbf}
913Ce programme accessible à la ligne de commande permet d'effectuer ce 921Ce programme accessible à la ligne de commande permet d'effectuer ce
914travail facilement. Il sélectionne les données dans l'ordre que l'on 922travail facilement. Il sélectionne les données dans l'ordre que l'on
915souhaite à l'aide de variables: \verb|$1|, \verb|$2|, \verb|$3|, 923souhaite à l'aide de variables: \verb|$1|, \verb|$2|, \verb|$3|,
@@ -946,10 +954,11 @@ Hector;Pédot;<hector.pedot@ailleurs.org>
946 \end{enumerate} 954 \end{enumerate}
947\end{quoting} 955\end{quoting}
948Pour terminer, il suffit de renommer le fichier \verb|etudiants.txt| 956Pour terminer, il suffit de renommer le fichier \verb|etudiants.txt|
949en \verb|etudiants.csv| par la commande: 957en \verb|etudiants.csv| par la commande:\index[cmds]{mv}
950\begin{minted}{text} 958\begin{minted}{text}
951mv etudiants.txt etudiants.csv 959mv etudiants.txt etudiants.csv
952\end{minted} 960\end{minted}
953et de l'ouvrir dans LibreOffice Calc. 961et de l'ouvrir dans LibreOffice Calc.
954 962
963\printindex[cmds]
955\end{document} 964\end{document}