-
Notifications
You must be signed in to change notification settings - Fork 1
/
intro_commandes.tex
606 lines (511 loc) · 20.9 KB
/
intro_commandes.tex
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
\documentclass[french, a4paper, 12pt, titlepage]{article}
%% Peut remplacer "article" par "scrartcl" %%
\usepackage[french]{babel}
\usepackage{a4wide}
%\usepackage[top=2cm, bottom=2cm, left=2cm, right=2cm]{geometry}
\raggedbottom % prevents vertical white space on pages that cannot be filled properly
\usepackage{hyperref}
\hypersetup{
colorlinks=true, % false: boxed links; true: colored links
linkcolor=black, % color of internal links
urlcolor=blue, % color of external links
citecolor=grey
}
\usepackage[T1]{fontenc}
%\usepackage{fourier}
%\usepackage{utopia}
%\usepackage{palatino}
\usepackage{microtype}
\usepackage{lmodern}
%% ajouter fonte petite capitale grasse à lmodern avec celle de computer modern %%
\rmfamily
\DeclareFontShape{T1}{lmr}{b}{sc}{<->ssub*cmr/bx/sc}{}
\DeclareFontShape{T1}{lmr}{bx}{sc}{<->ssub*cmr/bx/sc}{}
%% /ajout %%
\usepackage{wrapfig}
%\usepackage[a4paper]{geometry} % marges plus petites que a4paper standard
\usepackage{listings} % insérer code source
\lstloadlanguages{sh,bash,awk,make}
%\usepackage{algorithm} % algorithmique
%\usepackage{algorithmic}
\usepackage{url}
\usepackage[usenames, dvipsnames]{color} % couleurs (nombre de base étendu)
\usepackage{graphicx} % insérer images
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{multicol}
\usepackage{dirtree}
\definecolor{grey}{rgb}{0.96,0.96,0.96}
\definecolor{grey2}{rgb}{0.3,0.3,0.3}
%% Define listings params %%
\lstset{
% numbers=left,
language=bash,
tabsize=4,
frame=single, % cadre autour du code
breaklines=true, % autorise couper ligne trop longue
basicstyle=\small\ttfamily,
numberstyle=\scriptsize\ttfamily,
backgroundcolor=\color{grey},
showstringspaces=false,
keywordstyle=\color{OliveGreen},
stringstyle=\color{BrickRed},
commentstyle=\color{grey2}\it,
stepnumber=1 % numérote toute les x lignes
}
% listing utf8 fr %
\lstset{%
inputencoding=utf8,
extendedchars=true,
literate=
{é}{{\'{e}}}1
{è}{{\`{e}}}1
{ê}{{\^{e}}}1
{ë}{{\¨{e}}}1
{û}{{\^{u}}}1
{ù}{{\`{u}}}1
{â}{{\^{a}}}1
{à}{{\`{a}}}1
{î}{{\^{i}}}1
{ç}{{\c{c}}}1
{Ç}{{\c{C}}}1
{É}{{\'{E}}}1
{Ê}{{\^{E}}}1
{À}{{\`{A}}}1
{Â}{{\^{A}}}1
{Î}{{\^{I}}}1
}
%% /Define listings params %%
%% Francisation des algorithmes
%\renewcommand{\algorithmicrequire} {\textbf{\textsc{Entrées:}}}
%\renewcommand{\algorithmicensure} {\textbf{\textsc{Sorties:}}}
%\renewcommand{\algorithmicwhile} {\textbf{tant que}}
%\renewcommand{\algorithmicdo} {\textbf{faire}}
%\renewcommand{\algorithmicendwhile}{\textbf{fin tant que}}
%\renewcommand{\algorithmicend} {\textbf{fin}}
%\renewcommand{\algorithmicif} {\textbf{si}}
%\renewcommand{\algorithmicendif} {\textbf{fin si}}
%\renewcommand{\algorithmicelse} {\textbf{sinon}}
%\renewcommand{\algorithmicthen} {\textbf{alors}}
%\renewcommand{\algorithmicfor} {\textbf{pour}}
%\renewcommand{\algorithmicforall} {\textbf{pour tout}}
%\renewcommand{\algorithmicdo} {\textbf{faire}}
%\renewcommand{\algorithmicendfor} {\textbf{fin pour}}
%\renewcommand{\algorithmicloop} {\textbf{boucler}}
%\renewcommand{\algorithmicendloop} {\textbf{fin boucle}}
%\renewcommand{\algorithmicrepeat} {\textbf{répéter}}
%\renewcommand{\algorithmicuntil} {\textbf{jusqu'à}}
%\renewcommand{\algorithmiccomment} {\STATE //}
%\newcommand{\BEGIN}{\STATE \fbox{Début}}
%\newcommand{\END}{\STATE \fbox{Fin}}
%\floatname{algorithm}{Algorithme}
%% /francisation des algorithmes
\renewcommand{\qedsymbol}{}
\newcommand{\petit}[1]{
\medskip \noindent
\begin{small}
#1)
\end{small}
}
\begin{document}
\title{Introduction aux commandes Linux basiques}
\author{\includegraphics[width=7cm]{logo}}
\date{\url{https://github.com/ClubNix/man-terminal}}
\maketitle
%% Laisse page blanche pour verso page de garde %%
\vfill
\pagebreak
\newpage
\thispagestyle{empty}
~
%\tableofcontents
\strut\thispagestyle{empty}
\vfill
\pagebreak
\tableofcontents
\strut\thispagestyle{empty}
%\setcounter{page}{0}
\vfill
\pagebreak
\newpage
\thispagestyle{empty}
~
\pagebreak
\setcounter{page}{1}
\section{Présentation d'un environnement GNU/Linux}
\paragraph{}
Le projet \textit{GNU/Linux} commence en 1983 lorsque Richard Stallman propose
de développer un ensemble de logiciels libres, s'appelant le projet GNU. Ce
n'est qu'en 1992 après avoir fini la plupart des outils essentiels que Linus
Torvalds propose un kernel (le cœur d'un système d'exploitation),
\textit{Linux}, et ceci permet donc de lancer un système exempt de tout
logiciel propriétaire.
\paragraph{}
A l'heure actuelle, GNU/Linux est essentiellement utilisé en tant que serveur
dans des sociétés comme Google, Amazon, Facebook, Twitter et bien d'autres.
GNU/Linux est aussi la technologie utilisée dans les téléphones Android, dans
beaucoup de machines comme les distributeurs de billets ou les télévisions, ou
de manière générale un grand nombre de systèmes embarqués. Cependant, GNU/Linux
est aussi utilisé par des personnes comme ordinateur pour la vie courante.
\paragraph{}
Pour la petite histoire, le logo de Linux n'est pas un pingouin mais un
\textbf{manchot}, plus exactement un manchot pygmée, qui porte le nom de
\textbf{Tux}. Linus est revenu après s'être fait mordre lors d'un voyage en
Australie par cette espèce de manchot avec cette idée de mascotte et coupa
court à la discussion qui se portait sur un requin.
\newpage
\section{Qu'est-ce que le terminal?}
\paragraph{} Pour comprendre ce qu'est le terminal, il faut d'abord savoir
qu'il y a deux catégories de programmes: les programmes graphiques et les
programmes en mode texte. Un inconvénient des programmes en mode texte: ils ont
besoin d'un ``support'' où le texte va être affiché. On appelle ce support un
terminal.
\paragraph{} Pour lancer la bête, vous pouvez tester les solutions suivantes:
\begin{itemize}
\item Menu $\rightarrow$ barre de recherche $\rightarrow$ "terminal" (ou
"konsole" ou "gnome-terminal" ou "xfterm4" ou "xfce4-terminal")
\item application $\rightarrow$ accessoires $\rightarrow$ terminal
\item <super> $\rightarrow$ taper "terminal"
\item Alt + f2 $\rightarrow$ taper "gnome-terminal"
\item Ctrl+Alt+T
\item sinon le logo à rechercher ressemble à ça:
\includegraphics[scale=0.7]{Images/termIcon}
\end{itemize}
\paragraph{} Le terminal peut vous faire peur et picoter les yeux au premier
abord, mais n'ayez crainte. Commençons par ce picotement des yeux, en faisant
un clic droit et en allant dans profils, préférences du profil. Vous pourrez
changer la couleur pour quelque chose de moins agressif. Plusieurs choses
peuvent être configurées, je vous laisse les découvrir.
\paragraph{} Ce que vous pouvez voir à partir de là est une ligne ressemblant à
ceci :
\begin{lstlisting}
user@pc ~ $
\end{lstlisting}
%PS1="\[\033[01;32m\]club@nix\[\033[01;34m\] \w \$\[\033[00m\] "
\begin{center}
\includegraphics[scale=0.42]{Images/terminal}
\end{center}
\newpage
\paragraph{} Le programme qui affiche du texte dans le terminal est ce qu'on
appelle un \emph{Shell}, et il va vous permettre d'entrer des commandes
GNU/Linux. Vous avez aussi l'affichage d'un certain nombre d'informations
utiles:
\begin{enumerate}
\item[user@pc] correspond à votre login (nom d'utilisateur, ici
<<~user~>>) suivi du nom de la machine (ici <<~pc~>>) sur laquelle
vous vous trouvez, le tout est séparé par le caractère <<~@~>>.
\item[$\sim$] est le dossier courant suivit du caractère "\$"
(le dossier $\sim$ est un raccourci vers votre dossier personnel
\emph{/home/user/}).
\item[\$] Le dollar signifie juste que vous êtes un utilisateur normal (à
l'opposition du \emph{\#} qui signifie que vous êtes
super-utilisateur).
\end{enumerate}
\paragraph{} Il existe toutes sortes de Shell (bash, tcsh, sh, ksh, zsh\dots)
qui ont chacun des fonctionnalités différentes, mais tous permettent d'exécuter
des commandes ou des programmes. Dans le monde réel, \emph{bash} est
l'interpréteur le plus courant, cependant pour une raison obscure, vous
commencerez par défaut votre aventure à l'ESIEE avec \emph{tcsh}.
\paragraph{} Comme \emph{tcsh} est très peu convivial, nous supposerons par la
suite que vous utilisez bash (vous pouvez lancer \emph{bash} à l'intérieur du
terminal en tapant la commande \texttt{bash}).
\paragraph{} En résumé, le Shell correspond au programme qui va interpréter et
exécuter les commandes tapées à l'intérieur de votre terminal. Il est composé
de texte, qui affiche des informations utiles, et d'un champ de texte, qui vous
permet d'entrer des commandes en tapant sur le clavier. C'est donc l'interface
minimale entre l'utilisateur et le système d'exploitation.
\paragraph{} Le Shell est exécuté à l'intérieur d'un terminal, qui est une
application graphique qui permet de faire l'intermédiaire entre les programmes
en mode texte et l'utilisateur.
\section{Notation}
\begin{enumerate}
\item[\^{}] correspond à la touche <<~\emph{Ctrl}~>>, \^{}C, signfie donc
qu'il faut appuyer en même temps sur la touche "Ctrl" et C (deux
touches sont enfoncées).
\item [<super>] correspond à la touche "super" honteusement surmontée par
un logo windows sur la plupart des claviers.
\item [M-] correspond à la touche "Meta", le "alt" à côté de la touche
espace.
\end{enumerate}
\newpage
\part{Chemins (naviguer dans les dossiers)}
\paragraph{} Un chemin, ou chemin d'accès (\emph{path} en anglais) représente
tout simplement la position d'un fichier ou d'un dossier dans le système. Sous
GNU/Linux, les chemins sont séparés par des barres obliques orientés vers la
droite: ``\texttt{/}''. Cela explique le fait que ce caractère soit interdit
dans les noms de fichiers et dossiers sous GNU/Linux.
\paragraph{Exemples:}
\begin{itemize}
\item \texttt{/home/nom-d-utilisateur/Documents/Bla.pdf}
\item \texttt{Musique/thing.mp3}
\item \texttt{\~{}/Images/wallpaper.png}
\item \texttt{../man-terminal.pdf}
\end{itemize}
\section{Chemins absolus}
\paragraph{} Les chemins absolus sont des chemins qui prennent comme point de
départ la racine du système (\emph{root} en anglais) dont tout les fichiers et
dossiers sont des descendants. Un chemin relatif commencera toujours par un
\emph{slash} (``\texttt{/}'').
\paragraph{} Ainsi, \texttt{/home/nom-d-utilisateur/Documents/Bla.pdf}
représente le fichier \texttt{Bla.pdf} qui est situé dans le dossier
\texttt{Documents}, lui-même étant dans le dossier \texttt{nom-d-utilisateur},
lui-même contenu dans le dossier \texttt{home} qui est un descendant direct du
dossier racine. Cela donne donc (en omettant les autres dossiers et fichiers):
\\
\dirtree{%
.1 / (root).
.2 home.
.3 nom-d-utilisateur.
.4 Documents.
.5 Bla.pdf.
}
\section{Chemins relatifs}
\paragraph{} Les chemins relatifs, à la différence des chemins absolus,
prennent en compte le dossiers dans lequel on est. Ainsi, un chemin relatif ne
mènera pas au même fichier selon où l'on est. Ces types de chemins sont très
utiles pour les fainéants qui ne veulent pas tout re-taper depuis le dossier
racine. Les chemins relatifs ne commencent pas par un \emph{slash}.
\paragraph{} Par exemple, \texttt{Musique/thing.mp3} représente le fichier
\texttt{thing.mp3} qui est dans le dossier \texttt{Musique} lui même qui est
dans le dossier actuel. En supposant que le dossier actuel soit le dossier
personnel (\texttt{/home/nom-d-utilisateur}), cela nous donne:
\\
\dirtree{%
.1 / (root).
.2 home.
.3 nom-d-utilisateur (dossier actuel).
.4 Musique.
.5 thing.mp3.
}
\section{Chemins spéciaux}
\paragraph{} Parmis les chemins sous GNU/Linux, il y a quelques chemins
spéciaux:
\begin{itemize}
\item ``\texttt{\~}'' correspond au dossier personnel
(\texttt{/home/nom-d-utilisateur}), ainsi
\item ``\texttt{.}'' correspond au dossier actuel\\
\item ``\texttt{..}'' correspond au dossier parent\\
\end{itemize}
\paragraph{Exemples:}~\\
\begin{tabular}{|l|l|}
\hline
\textbf{Chemin} & \textbf{Équivalence}\\
\hline
\texttt{$\sim$/Musique} & \texttt{/home/nom-d-utilisateur/Musique}\\
\hline
\texttt{Documents/./texte.txt} & \texttt{Documents/texte.txt}\\
\hline
\texttt{Documents/../Téléchargements/cat.gif} & \texttt{Téléchargements/cat.gif}\\
\hline
\end{tabular}
\section{Caractères spéciaux}
\paragraph{} Sous GNU/Linux, le seul caractère présent sur le clavier non
autorisé dans les noms de fichiers et dossiers est le \emph{slash}. Cependant
il existe d'autres caractères spéciaux pour le shell qui devront être
\emph{échappés}, ce qui veut dire qu'il devront être précédés d'un
\emph{antislash} (``\texttt{\textbackslash}''). Les plus utilisés sont:
\begin{itemize}
\item \textvisiblespace~(l'espace)
\item \texttt{"}
\item \texttt{'}
\item \texttt{!}
\item \texttt{\#}
\item \texttt{\$}
\item \texttt{(}, \texttt{)}, \texttt{[}, \texttt{]}, \texttt{\{}, \texttt{\}}
\end{itemize}
\paragraph{} Donc si un fichier s'appelle \texttt{Un nom trè\$ embêtant (mais
peu probable)}, on devra écrire dans le \emph{prompt}:
\texttt{Un\textbackslash{\textvisiblespace}nom\textbackslash{\textvisiblespace}trè\textbackslash\$\textbackslash\textvisiblespace
embêtant\textbackslash{\textvisiblespace}\textbackslash(mais\textbackslash{\textvisiblespace}peu\textbackslash\textvisiblespace
probable\textbackslash)}.
\paragraph{} Un moyen d'éviter ceci est de mettre des guillemets (simples ou
doubles) autour. Prenez garde tout de même car le symbole du dollar doit
quand-même être échappé si l'on met des guillemets doubles. Pour notre exemple,
cela donne:
\\
\begin{itemize}
\item \texttt{"Un nom trè\textbackslash\$ embêtant (mais peu probable)"}\\
ou
\item \texttt{'Un nom trè\$ embêtant (mais peu probable)'}
\end{itemize}
\newpage
\part{Commandes Basiques}
\section{Raccourcis utiles}
\begin{description}
\item[Entrée]: le plus important, lance votre commande
\item[Flêche haut]: naviguer dans l'historique des commandes. Vous pourrez
ainsi gagner du temps et éviter de toujours retaper la même chose.
\item[Tab]: touche de complétion. Vous permet de taper les quelques
premières lettres de votre commande, puis la compléter en appuyant sur
la touche de tabulation. Si rien ne s'affiche la première fois que vous
appuyez sur la touche, c'est qu'il existe plusieurs possibilités de
complétion. Une seconde pression vous permettra d'afficher toutes les
complétions possibles.
% TODO: move that to job control section
% \item[Ctrl + Z]: pause la commande en cours.
\item[Ctrl + C]: arrête la commande en cours et recommence avec une
nouvelle ligne. Très utile si vous voulez annuler l'exécution d'un
programme qui boucle de manière infinie, ou si vous vous rendez compte
que vous êtes en train d'écrire n'importe quoi.
\item[Ctrl+L]: nettoie l'écran.
\item[Ctrl+Shift+C]: Copie le texte sélectionné dans le presse-papier.
\item[Ctrl+Shift+V]: Colle le texte contenu dans le presse-papier.
\item[Ctrl+Z]: Mets la commande en pause. On expliquera plus tard le
fonctionnement. Au cas où vous appuyez sur \textbf{Ctrl+Z} par
inadvertance, sachez que pour la reprendre, il faut taper la commande
\texttt{fg}.
\end{description}
\section{Liste de commandes (formulaire)}
\paragraph{} Voici donc la liste des commandes qui seront abordées plus en
détail par la suite.
\begin{description}
\item[man]: \emph{reference \textbf{man}uals} affiche un manuel sur une
commande, une fonction, ou une bibliothèque.
\begin{lstlisting}
# Manuel d'utilisation de la command man
man man
\end{lstlisting}
\item[cat]: \emph{con\textbf{cat}enate files} affiche un ou plusieurs fichiers
sur le terminal.
\begin{lstlisting}
cat plop.txt
\end{lstlisting}
\item[ls]: \emph{\textbf{l}i\textbf{s}t directory contents} permet d'afficher
le contenu d'un répertoire.
\begin{lstlisting}
ls
\end{lstlisting}
\item[cd]: \emph{\textbf{c}hange \textbf{d}irectory} permet de naviguer à
travers les répertoires.
\begin{lstlisting}
cd /usr/src/linux
\end{lstlisting}
\item[touch]: crée un fichier vide.
\begin{lstlisting}
touch monFichier
\end{lstlisting}
\item[cp]: \emph{\textbf{c}o\textbf{p}y files} copie un fichier ou un dossier.
\begin{lstlisting}
# Pour un fichier
cp /tmp/plop.txt /home/nom-d-utilisateur/
\end{lstlisting}
%# Pour un répertoire
%cp -r /tmp/foo /home/nom-d-utilisateur
%\end{lstlisting}
\item[mv]: \emph{\textbf{m}o\textbf{v}e file} déplace un fichier ou un dossier.
\begin{lstlisting}
mv /tmp/foo /home/nom-d-utilisateur
\end{lstlisting}
\item[rm]: \emph{\textbf{r}e\textbf{m}ove} supprime un fichier ou dossier.
\begin{lstlisting}
# Pour un fichier
rm monFichier
\end{lstlisting}
\item[./<exec>]: lance le script/programme \emph{<exec>} qui se trouve dans le
dossier actuel.
\begin{lstlisting}
# Pour lancer a.out
./a.out
\end{lstlisting}
\end{description}
\section{Détails des commandes}
\input{Command/Debutant/man.tex}
\input{Command/Debutant/cat.tex}
\input{Command/Debutant/ls.tex}
\input{Command/Debutant/cd.tex}
\input{Command/Debutant/touch.tex}
\input{Command/Debutant/cp.tex}
\input{Command/Debutant/mv.tex}
\input{Command/Debutant/rm.tex}
\input{Command/Debutant/exec.tex}
\vspace{7em}
\paragraph{} Ces commandes correspondent aux commandes les plus utilisées dans
un terminal,
% obtenu avec cat .bash_history |cut -d" " -f 1 |sort |uniq -c |sort -n |tail
Les maîtriser est essentiel pour une utilisation courante de votre terminal
(surtout man), mais c'est seulement avec les commandes intermédiaires qu'un
gain de productivité pourra se faire ressentir.
\newpage
\part{Commandes étendues (intermédiaire)}
\section{Liste de commande étendue (formulaire)}
\begin{enumerate}
\item[redirection de flux]: Permet de rediriger la sortie d'une commande
dans une autre commande.
\item[gcc]: \emph{\textbf{G}nu \textbf{C} \textbf{C}ompiler} génère des
exécutables à partir de fichiers source C.
\item[make]: Utilitaire pour le maintien d'un groupe de programmes.
\item[du]: \emph{\textbf{d}isk u\textbf{u}sage} affiche des statistiques de
l'utilisation des disques (espaces utilisés par les fichiers).
\item[df]: Affiche des statistiques d'utilisation des systèmes de fichiers
(espace libre restant).
\item[touch]: Met à jour la date de modification d'un fichier.
\item[find]: Recherche des fichiers.
\item[locate]: Recherche des fichiers dans un index.
\item[chmod]: Modifie les permissions d'un fichier.
\item[chown]: Modifie le propriétaire d'un fichier.
\item[kill]: Envoie un signal à un processus.
\item[nano]: Éditeur de texte léger (en console).
\item[tar]: Compresse des fichiers.
\item[wget]: Outil de téléchargement très complet.
\item[grep]: \emph{\textbf{g}lobally search a \textbf{r}egular
\textbf{e}xpression and \textbf{p}rint} recherche dans un fichier.
\end{enumerate}
%TODO regexp simple, logiciel sympa (tmux, mocp, lua/bash/python),
\input{Command/Intermediaire/grep.tex}
\input{Command/Intermediaire/chmod.tex}
\input{Command/Intermediaire/df.tex}
\input{Command/Intermediaire/find.tex}
\input{Command/Intermediaire/gcc.tex}
\input{Command/Intermediaire/kill.tex}
\input{Command/Intermediaire/locate.tex}
\input{Command/Intermediaire/make.tex}
\input{Command/Intermediaire/nano.tex}
\input{Command/Intermediaire/tar.tex}
\input{Command/Intermediaire/touch.tex}
\input{Command/Intermediaire/wget.tex}
\newpage
\part{Commandes pour experts}
\section{Liste de commandes expertes (formulaire)}
\begin{enumerate}
\item[mount]: monter () des systèmes de fichiers (\~{}partition).
\item[ncdu]: \lstinline'du' en mode ``graphique'' (ncurse).
\item[halt/reboot]: éteindre et redémarrer son ordinateur.
\item[find]: recherche étendu sur son système.
\item[ps]: \emph{\textbf{p}rocess \textbf{s}nap} affiche la liste des
processus lancés.
\item[awk]: langage pour appliquer des pattern sur des pattern.
\item[sed]: \emph{\textbf{s}tream \textbf{ed}itor} permet d'appliquer des
regexp de substitution sur des fichiers.
\item[ssh]: \emph{\textbf{s}ecure \textbf{sh}ell} lance un shell sur une
machine distante de manière sécurisée.
\item[git]: logiciel de versionnement simple et rapide.
\item[usermod]: \emph{\textbf{user} \textbf{mod}ify} gère les comptes
utilisateurs.
\item[groupmod]: \emph{\textbf{group} \textbf{mod}ify} gère les groupes
utilisateurs.
\item[ifconfig]: \emph{\textbf{i}nter\textbf{f}ace \textbf{config}uration}
gestion des interfaces réseaux.
\item[grep]: \emph{\textbf{g}lobally search a \textbf{r}egular
\textbf{e}xpression and \textbf{p}rint} recherche de pattern dans
un fichier.
\end{enumerate}
%TODO un peu de réseaux? services,
%TODO dossier de base (/etc/, /var/, /home/, /mnt/)
\input{Command/Expert/awk.tex}
\input{Command/Expert/find.tex}
\input{Command/Expert/git.tex}
\input{Command/Expert/grep.tex}
\input{Command/Expert/groupmod.tex}
\input{Command/Expert/halt_reboot.tex}
\input{Command/Expert/ifconfig.tex}
\input{Command/Expert/mount.tex}
\input{Command/Expert/ncdu.tex}
\input{Command/Expert/sed.tex}
\input{Command/Expert/ssh.tex}
\input{Command/Expert/usermod.tex}
\section{Une interface graphique c'est bien aussi}
%lolwoot, y'a vraiment des gens qui font des apt-get install?
\end{document}