diff options
Diffstat (limited to 'fichiers/01-ligne-de-commande.tex')
-rw-r--r-- | fichiers/01-ligne-de-commande.tex | 93 |
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 | |||
55 | fallu saisir les lignes suivantes: | 58 | fallu 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} |
237 | Signifie \emph{print working directory}. Cette commande vous retourne | 240 | Signifie \emph{print working directory}. Cette commande vous retourne |
238 | tout simplement le chemin d'accès absolu du répertoire dans lequel | 241 | tout simplement le chemin d'accès absolu du répertoire dans lequel |
239 | vous vous trouvez. Très utile pour ne pas se perdre! Exemple: | 242 | vous 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} |
272 | Signifie \emph{move}. Cette commande déplace les fichiers d'un endroit | 275 | Signifie \emph{move}. Cette commande déplace les fichiers d'un endroit |
273 | vers un autre. La syntaxe est la suivante: | 276 | vers 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} |
302 | Signifie \emph{copy}. Cette commande copie des fichiers depuis un | 305 | Signifie \emph{copy}. Cette commande copie des fichiers depuis un |
303 | endroit vers un autre. La syntaxe est comparable à celle de la | 306 | endroit vers un autre. La syntaxe est comparable à celle de la |
304 | séquence \mintinline{text}{mv}. | 307 | séquence \index[cmds]{mv}\mintinline{text}{mv}. |
305 | \begin{minted}[showspaces]{text} | 308 | \begin{minted}[showspaces]{text} |
306 | cp <source> <destination> | 309 | cp <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} |
330 | Signifie \emph{change directory}. Permet de changer de répertoire | 333 | Signifie \emph{change directory}. Permet de changer de répertoire |
331 | courant, par exemple pour travailler sur les fichiers d'un répertoire | 334 | courant, par exemple pour travailler sur les fichiers d'un répertoire |
332 | différent de son \emph{home directory}. La syntaxe est la suivante: | 335 | diffé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} |
346 | Confirmation par la commande \mintinline{text}{pwd}: | 349 | Confirmation 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} |
359 | Signifie \emph{list}. Affiche à l'écran tous les fichiers et les | 362 | Signifie \emph{list}. Affiche à l'écran tous les fichiers et les |
360 | répertoires contenus dans un répertoire donné. Si on ne précise pas le | 363 | répertoires contenus dans un répertoire donné. Si on ne précise pas le |
361 | répertoire dont il faut lister les fichiers, la commande liste les | 364 | ré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. | |||
517 | cas de l'extension mais regarde directement à l'intérieur de chaque | 521 | cas de l'extension mais regarde directement à l'intérieur de chaque |
518 | fichier pour en déterminer le type. | 522 | fichier pour en déterminer le type. |
519 | 523 | ||
520 | \paragraph{file} | 524 | \paragraph{file}\index[cmds]{file|textbf} |
521 | La commande \mintinline{text}|file| permet de tout savoir sur les | 525 | La commande \mintinline{text}|file| permet de tout savoir sur les |
522 | types de fichiers. Nous pouvons la lancer sur la racine de notre dépôt | 526 | types de fichiers. Nous pouvons la lancer sur la racine de notre dépôt |
523 | Git: | 527 | Git: |
@@ -607,9 +611,9 @@ possibles: | |||
607 | Tout fichier dont le nom commence par un point (\mintinline{text}|.|) | 611 | Tout fichier dont le nom commence par un point (\mintinline{text}|.|) |
608 | est considéré comme un fichier caché. Le plus souvent, les fichiers | 612 | est considéré comme un fichier caché. Le plus souvent, les fichiers |
609 | cachés contiennent des paramètres de configuration. La commande | 613 | caché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 |
611 | l'option \mintinline{text}|-a| pour \emph{all}. Appliquons cette | 615 | on lui passe l'option \mintinline{text}|-a| pour |
612 | option 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 |
615 | total 72 | 619 | total 72 |
@@ -635,7 +639,7 @@ ligne~7 un fichier caché. | |||
635 | Ces commandes s'ajoutent à celles qui sont décrites plus haut | 639 | Ces 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} |
639 | Sert à créer un nouveau répertoire. L'option \mintinline{text}|-p| | 643 | Sert à créer un nouveau répertoire. L'option \mintinline{text}|-p| |
640 | peut-être utilisée si l'on veut créer d'un coup un répertoire et un ou | 644 | peut-être utilisée si l'on veut créer d'un coup un répertoire et un ou |
641 | plusieurs sous-répertoires. L'option \mintinline{text}|-v|, pour | 645 | plusieurs sous-répertoires. L'option \mintinline{text}|-v|, pour |
@@ -647,18 +651,19 @@ mkdir: création du répertoire 'sandbox' | |||
647 | mkdir: création du répertoire 'sandbox/robert' | 651 | mkdir: 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} |
651 | Sert à créer un fichier vide dont le nom est passé en argument. Cette | 655 | Sert à créer un fichier vide dont le nom est passé en argument. Cette |
652 | commande sert également à modifier les métadonnées de temps associées | 656 | commande sert également à modifier les métadonnées de temps associées |
653 | aux fichiers (date de création et/ou de modification). | 657 | aux fichiers (date de création et/ou de modification). |
654 | 658 | ||
655 | L'exemple suivant montre comment créer un nouveau dossier dans lequel | 659 | L'exemple suivant montre comment créer un nouveau dossier dans lequel |
656 | on crée également un fichier vide \verb|fichier.txt|. Ensuite, on | 660 | on crée également un fichier vide \verb|fichier.txt|. Ensuite, on |
657 | utilise la commande \verb|mv| pour \emph{déplacer} ce fichier vers un | 661 | utilise la commande \index[cmds]{mv}\verb|mv| pour \emph{déplacer} ce |
658 | autre fichier \verb|fichier-mk2.txt| au même endroit. Le résultat de | 662 | fichier vers un autre fichier \verb|fichier-mk2.txt| au même |
659 | cette action particulière, le \emph{déplacement au même endroit}, est | 663 | endroit. Le résultat de cette action particulière, le |
660 | tout 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: | 665 | fichier. 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 |
664 | mkdir: création du répertoire 'sandbox' | 669 | mkdir: 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} |
676 | Pour \emph{remove}. Il suffit de passer en argument à cette commande | 681 | Pour \emph{remove}. Il suffit de passer en argument à cette commande |
677 | ce que l'on souhaite détruire. Par défaut, cette commande ne détruit | 682 | ce que l'on souhaite détruire. Par défaut, cette commande ne détruit |
678 | pas les répertoires. Elle accepte une série d'options dont voici les | 683 | pas 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 | ||
748 | Dans l'exemple qui suit, on demande à la commande \verb|ls -l| de | 753 | Dans l'exemple qui suit, on demande à la commande |
749 | rediriger 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 |
750 | s'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 | 756 | on demande à la commande \index[cmds]{cat}\verb|cat| d'en afficher le |
752 | sont entrées aux lignes 1, 2 et 4: | 757 | contenu au terminal. Les trois commandes sont entrées aux lignes 1, 2 |
758 | et 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+|+). | |||
793 | Avant d'aller plus loin, étudions rapidement deux nouvelles commandes | 799 | Avant d'aller plus loin, étudions rapidement deux nouvelles commandes |
794 | qui servent à filtrer le contenu des fichiers. | 800 | qui 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 | ||
824 | Cet exemple reprend des commandes connues. Supposons que l'on veuille | 830 | Cet exemple reprend des commandes connues. Supposons que l'on veuille |
825 | connaître simplement le nombre de fichiers du notre dépôt Git. Nous | 831 | connaître simplement le nombre de fichiers du notre dépôt Git. Nous |
826 | savons produire une liste à l'aide de la commande \verb|ls -l|. Nous | 832 | savons produire une liste à l'aide de la commande |
827 | savons également que la commande \verb|wc -l| compte les | 833 | \index[cmds]{ls}\verb|ls -l|. Nous savons également que la commande |
828 | lignes. 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 | 835 | par la commande \verb|ls -l|, qui donne la somme des \emph{file system |
830 | par 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 | 837 | compte (voir \emph{supra}, \vpageref{ref:file-system-blocks}). C'est |
832 | qu'intervient la commande, \verb|tail|, qui retourne les dernières | 838 | ici qu'intervient la commande, \verb|tail|, qui retourne les dernières |
833 | lignes d'un fichier. Avec l'option \verb|-n +2|, la première ligne | 839 | lignes d'un fichier. Avec l'option \verb|-n +2|, la première ligne |
834 | sera ignorée: | 840 | sera ignorée: |
835 | \begin{minted}{text} | 841 | \begin{minted}{text} |
@@ -846,13 +852,15 @@ leur contenu. | |||
846 | 852 | ||
847 | Nous en avons étudié deux plus haut (\vpageref{ref:head-tail}): | 853 | Nous 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 | ||
853 | On ajoutera ici les commandes suivantes: | 861 | On ajoutera ici les commandes suivantes: |
854 | 862 | ||
855 | \paragraph{cat} | 863 | \paragraph{cat}\index[cmds]{cat|textbf} |
856 | Affiche au terminal tout le contenu d'un fichier: | 864 | Affiche 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} |
867 | Pour \emph{word count}. Cette commande a été utilisée plus haut une | 875 | Pour \emph{word count}. Cette commande a été utilisée plus haut une |
868 | fois avec l'option \verb|-l| pour compter les lignes d'un fichier | 876 | fois 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} |
878 | Permet de mettre en forme des données. Prenons l'exemple du fichier | 886 | Permet de mettre en forme des données. Prenons l'exemple du fichier |
879 | suivant: \\ \mintinline{text}|etudiants.txt| | 887 | suivant: \\ \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 | |||
909 | email entre crochets pointus? Comment faire aussi pour récupérer les | 917 | email entre crochets pointus? Comment faire aussi pour récupérer les |
910 | données dans un tableur? | 918 | données dans un tableur? |
911 | 919 | ||
912 | \paragraph{awk} | 920 | \paragraph{awk}\index[cmds]{awk|textbf} |
913 | Ce programme accessible à la ligne de commande permet d'effectuer ce | 921 | Ce programme accessible à la ligne de commande permet d'effectuer ce |
914 | travail facilement. Il sélectionne les données dans l'ordre que l'on | 922 | travail facilement. Il sélectionne les données dans l'ordre que l'on |
915 | souhaite à l'aide de variables: \verb|$1|, \verb|$2|, \verb|$3|, | 923 | souhaite à 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} |
948 | Pour terminer, il suffit de renommer le fichier \verb|etudiants.txt| | 956 | Pour terminer, il suffit de renommer le fichier \verb|etudiants.txt| |
949 | en \verb|etudiants.csv| par la commande: | 957 | en \verb|etudiants.csv| par la commande:\index[cmds]{mv} |
950 | \begin{minted}{text} | 958 | \begin{minted}{text} |
951 | mv etudiants.txt etudiants.csv | 959 | mv etudiants.txt etudiants.csv |
952 | \end{minted} | 960 | \end{minted} |
953 | et de l'ouvrir dans LibreOffice Calc. | 961 | et de l'ouvrir dans LibreOffice Calc. |
954 | 962 | ||
963 | \printindex[cmds] | ||
955 | \end{document} | 964 | \end{document} |