-
Notifications
You must be signed in to change notification settings - Fork 9
/
index.html
executable file
·390 lines (359 loc) · 23.7 KB
/
index.html
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
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Linux - Commandes fondamentales</title>
<link href='http://fonts.googleapis.com/css?family=Chelsea+Market|Dancing+Script' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="css/style.css" type="text/css">
<script type="text/javascript" src="scripts/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="scripts/scroll.js"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-1726438-5']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body>
<div class="block block-title">
<h1>Linux - commandes fondamentales</h1>
<h3>Un petit guide pour bien démarrer avec Linux.</h3>
<ul class="navlist">
<li><a href="#ls">ls</a></li>
<li><a href="#cd">cd</a></li>
<li><a href="#cp">cp</a></li>
<li><a href="#mv">mv</a></li>
<li><a href="#rm">rm</a></li>
</ul>
<ul class="navlist">
<li><a href="#mkdir">mkdir</a></li>
<li><a href="#chmod">chmod</a></li>
<li><a href="#chown">chown</a></li>
</ul>
<ul class="navlist">
<li><a href="#ssh">ssh</a></li>
<li><a href="#scp">scp</a></li>
<li><a href="#rsync">rsync</a></li>
<li><a href="#sed">sed</a></li>
<li><a href="#grep">grep</a></li>
<li><a href="#find">find</a></li>
<li><a href="#test">test</a></li>
</ul>
<ul class="navlist">
<li><a href="#packages">Paquets</a></li>
<li><a href="#process">Processus</a></li>
<li><a href="#archives">Archives</a></li>
<li><a href="#diskspace">Espace disque</a></li>
</ul>
<a href="https://twitter.com/share" class="twitter-share-button" data-text="Linux - Cheatsheet des commandes fondamentales" data-via="juliendubreuil" data-size="large" data-related="juliendubreuil">Tweet</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
<p class="meta">
Par <a href="http://www.twitter.com/juliendubreuil">Julien Dubreuil</a><br />
Inspiré du guide de <a href="http://rogerdudler.github.com/git-guide/index.html">Roger Dudler</a> sur Git.
<img alt="" src="img/arrow.png">
</p>
</div>
<div id="toTheTop" style="display: block;">
<span>Top of page</span>
</div>
<div id="ls" class="block block-ls brown">
<a name="ls"></a>
<h2>ls</h2>
<h4>La commande <strong><i>ls</i></strong> permet d'afficher le contenu d'un répertoire.</h4>
<p><code>ls -l</code> Afficher les informations de manière détaillée.</p>
<p><code>ls -a</code> Afficher les fichiers cachés.</p>
<p><code>ls -h</code> Afficher la taille des fichiers de facon lisible.</p>
<p><code>ls -r</code> Tri inversé.</p>
<p><code>ls -t</code> Trier les fichiers par date du plus récent au plus ancien.</p>
<p><code>ls -S</code> Trier par taille décroissante.</p>
<p><code>ls -la</code> Afficher tous les fichiers y compris les fichiers cachés.</p>
<p><code>ls -lhS</code> Afficher les informations des fichiers, avec des tailles lisibles le tout ordonné du plus grand au plus petit.</p>
</div>
<div id="cd" class="block block-cd cream">
<a name="cd"></a>
<h2>cd</h2>
<h4>La navigation d’un répertoire à un autre s’effectue avec la commande <strong><i>cd</i></strong> succédée du nom du répertoire.</h4>
<p><code>cd /</code> Permet de se retrouver à la racine du disque.</p>
<p><code>cd ~</code> ou <code>cd</code> Accéder directement au répertoire de l’utilisateur.</p>
<p><code>cd /var/www/</code> Aller dans le répertoire /var/www.</p>
<p><code>cd ..</code> Remonter dans le répertoire parent à partir de là où vous êtes.</p>
<p><code>cd -</code> Permet de revenir au répertoire précédent.</p>
<p><code>pwd</code> Renvoyer le chemin absolu du répertoire courant ce qui est utile puisqu’en général le shell n’affiche que le nom du répertoire courant.</p>
</div>
<div id="cp" class="block block-cp blue">
<a name="cp"></a>
<h2>cp</h2>
<h4>Pour créer une copie d’un fichier, on utilise la commande <strong><i>cp</i></strong>.</h4>
<p><code>cp foo/bar.txt baz/</code> Copier le fichier bar.txt dans le répertoire baz.<p>
<p><code>cp -r foo/ baz/</code> Copier des répertoires entiers (note : si baz existe, la cible sera baz/foo/).</p>
</div>
<div id="mv" class="block block-mv dark-blue">
<a name="mv"></a>
<h2>mv</h2>
<h4>Déplacer un fichier est aussi simple que de le copier, pour cela il faut utiliser la commande <strong><i>mv</i></strong>. Cette commande permet aussi de renommer vos fichiers.</h4>
<p><code>mv foo/bar.txt baz/</code> Déplacer le fichier bar.txt dans le répertoire baz.</p>
<p><code>mv foo_bar.txt foo_baz.txt</code> Renommer le fichier foo_bar.txt en foo_baz.txt.</p>
</div>
<div id="rm" class="block block-rm white">
<a name="rm"></a>
<h2>rm</h2>
<h4>Pour effacer un fichier ou un répertoire on utilise la commande <strong><i>rm</i></strong>.</h4>
<p><code>rm *.txt</code> Supprimer tous les fichiers ayant pour extension txt.</p>
<p><code>rm foo.txt bar.txt</code> Supprimer les fichiers foo.txt et bar.txt.</p>
<p><code>rm -rf baz/</code> Supprimer le répertoire baz et tout son contenu.</p>
</div>
<div id="mkdir" class="block block-mkdir dark-green">
<a name="mkdir"></a>
<h2>mkdir</h2>
<h4>Pour créer un répertoire il suffit d’utiliser la commande <strong><i>mkdir</i></strong>. Celle-ci vous permettra de créer un répertoire à l’emplacement où vous êtes ou l’emplacement précisé en argument de la commande.</h4>
<p><code>mkdir -v</code> Retourner des informations lors de la création d'un répertoire.</p>
<p><code>mkdir -p</code> Cette option permet de créer une arborescence complète.</p>
<p><code>mkdir foo</code> Créer le répertoire foo.</p>
<p><code>mkdir -v foo /tmp/bar</code> Créer les répertoires foo et /tmp/bar.</p>
<p><code>mkdir -p foo/bar/baz</code> Créer l’arborescence foo/bar/baz.</p>
</div>
<div id="chown" class="block block-Chown green">
<a name="chown"></a>
<h2>chown</h2>
<h4>La commande <strong><i>chown</i></strong> permet de changer le propriétaire d'un fichier ou d'un répertoire.</h4>
<p><code>chown bob:admin foo.txt</code> Attribuer l’utilisateur bob et le groupe admin au fichier foo.txt.</p>
</div>
<div id="chmod" class="block block-chmod light-green">
<a name="chmod"></a>
<h2>chmod</h2>
<h4>La commande <strong><i>chmod</i></strong> permet de changer les droits d'un fichier ou d'un répertoire. Pour exécuter cette commande vous devez être le propriétaire du fichier ou être logué en root.</h4>
<p><code>chmod u+w fichier</code> Ajouter les droits d'écriture au propriétaire (user, write)</p>
<p><code>chmod g+r fichier</code> Ajouter les droits de lecture au groupe du fichier (group, read)</p>
<p><code>chmod o-x fichier</code> Supprimer les droits d'exécution aux autres utilisateurs (other, execution)</p>
<p><code>chmod a+rw dossier</code> Ajouter les droits de lecture / écriture à tous (all)</p>
<p><code>chmod -R a+rx files</code> Ajouter les droits de lecture et d'exécution à tout ce que contient le repertoire dossier.</p>
<p><code>chmod 764 dossier</code> Tous les droits pour le propriétaire (7xx), lecture et ecriture pour le groupe (x6x) et lecture uniquement pour les autres (xx4).</p>
<p><code>chmod -R 755 dossier</code> Donner au propriétaire tous les droits (7xx), alors que seuls les droits de lecture et d'accès seront donnés aux autres (x55). Grace à l'option -R ces droits seront appliqués à tous les fichiers et dossiers contenus dans ce répertoire.</p>
<table><tbody>
<tr><th colspan="3">Correspondances de représentation des droits</th></tr>
<tr><th>Droit</th><th>Valeur alphanumérique</th><th>Valeur octale</th></tr>
<tr><td>aucun droit</td><td align="center">---</td><td align="center">0</td></tr>
<tr><td>exécution seulement</td><td align="center">--x</td><td align="center">1</td></tr>
<tr><td>écriture seulement</td><td align="center">-w-</td><td align="center">2</td></tr>
<tr><td>ecriture et exécution</td><td align="center">-wx</td><td align="center">3</td></tr>
<tr><td>lecture seulement</td><td align="center">r--</td><td align="center">4</td></tr>
<tr><td>lecture et exécution</td><td align="center">r-x</td><td align="center">5</td></tr>
<tr><td>lecture et écriture</td><td align="center">rw-</td><td align="center">6</td></tr>
<tr><td>tous les droits (lecture, écriture et exécution)</td><td align="center">rwx</td><td align="center">7</td></tr>
</tbody></table>
</div>
<div id="ssh" class="block block-ssh yellow">
<a name="ssh"></a>
<h2>ssh</h2>
<h4>La commande <strong><i>ssh</i></strong> permet de se connecter de façon sécurisée à une machine distante.</h4>
<p><code>ssh [email protected]</code> Connexion à la machine distante avec le login john.</p>
<p><code>ssh -l john remotehost.example.com</code> Equivaut à la commande précédente.</p>
<p><code>ssh-keygen -t dsa</code> Génération d'une clé DSA (à faire sur la machine locale).</p>
<p><code>ssh-copy-id -i ~/.ssh/id_dsa.pub [email protected]</code> Copie de la clé publique sur la machine distante.</p>
</div>
<div id="scp" class="block block-scp red">
<a name="scp"></a>
<h2>scp</h2>
<h4>La commande <strong><i>scp</i></strong> permet de copier des fichiers entre le serveur et le client ssh de manière sécurisée.</h4>
<p><code>scp foo.txt [email protected]:</code> Transfère le fichier foo.txt situé dans le répertoire courant vers le home du compte john de la machine remotehost.example.com.</p>
<p><code>scp [email protected]:foo.txt ./</code> Récupère le fichier foo.txt situé dans le home du répertoire du compte john pour le copier dans le répertoire courant.</p>
<p><code>scp [email protected]:/backups/*.sql backups/</code> Récupérer les fichiers .sql situés dans le répertoire backups pour le copier dans le sous-répertoire backups.</p>
<p><code>scp -P 17654 john@remotehost:/files/ files/</code> Récupérer les fichiers via un autre port (17654) que le port par défaut (22).</p>
<p><code>scp -r mails/ john@remotehost:</code> Transfère l'intégralité du répertoire mails.</p>
</div>
<div id="rsync" class="block block-rsync brown">
<a name="rsync"></a>
<h2>rsync</h2>
<h4>Grâce à la commande <strong><i>rsync</i></strong> vous pouvez copier des fichiers et des dossiers depuis ou vers un hôte à distance. Grâce à cela vous pouvez faire de la synchronisation de fichiers.</h4>
<dl>
<dt>Quelques options :</dt>
<dd><i>-a</i>: copie de manière récursive tout en préservant les permissions et les dates des fichiers.</dd>
<dd><i>-z</i>: compresse les données avant le transfert.</dd>
<dd><i>-v</i>: affiche tout ce qui se passe pendant le transfert.</dd>
<dd><i>-n</i>: permet de tester la commande (<em>dry-run</em>).</dd>
<dd><i>--progress</i>: affiche la barre de progression pendant le transfert.</dd>
<dd><i>--delete</i>: efface les fichiers qui n'existent pas chez l'émetteur</dd>
<dd><i>--exclude=MOTIF</i>: exclut les fichiers correspondant au motif</dd>
</dl>
<p><code>rsync source/ destination/</code> Synchroniser les fichiers sources vers une destination.</p>
<p><code>rsync -azv [email protected]:source/ destination/</code> Récupère les nouveaux fichiers et fichiers modifiés du répertoire distant vers le répertoire local.</p>
<p><code>rsync -azv --delete source/ destination/</code> Synchroniser tous les fichiers, supprime aussi les fichiers qui n'existent plus sur la source.</p>
<p><code>rsync -azv --exclude="dump/*.sql.gz" files/ backup/</code> Synchroniser tout le répertoire files sauf les fichiers .sql.gz.</p>
<p><code>rsync --rsh='ssh -p1234' ource/ destination/</code> Effectuer un rsync sur un port spécifique.</p>
<p>Note : en général, on suffixe toujours par un <code>/</code> le nom des répertoires sources et de destination.</p>
</div>
<div id="sed" class="block block-sed cream">
<a name="sed"></a>
<h2>sed</h2>
<h4>La commande <strong><i>sed</i></strong> est un utilitaire qui parcourt un fichier texte ligne par ligne afin de lui appliquer un traitement ou un remplacement lorsque l'expression régulière est vérifiée.</h4>
<p><code>sed 's/foo/bar/' file.txt</code> Transformer la première occurence 'foo' de chaque ligne par 'bar'.</p>
<p><code>sed 's/\t/ /g' file.txt</code> Transformer toutes les tabulations par deux espaces.</p>
<p><code>sed '/^#/ d' file.txt</code> Supprimer toutes les lignes commancant par #.</p>
<p><code>sed '/^Bonjour/,/^Au revoir/d' file.txt</code> Supprimer toutes les lignes comprises entre les deux motifs.</p>
<p><code>sed -n '/foo/p' file.txt</code> Afficher uniquement les lignes où l'expression est trouvée.</p>
</div>
<div id="grep" class="block block-grep blue">
<a name="grep"></a>
<h2>grep</h2>
<h4>La commande <strong><i>grep</i></strong> permet de rechercher une chaîne de caractères ou un motif dans un fichier.</h4>
<dl>
<dt>Quelques options :</dt>
<dd><i>-v</i>: affiche les lignes ne contenant pas la chaîne.</dd>
<dd><i>-c</i>: compte le nombre de lignes contenant la chaîne.</dd>
<dd><i>-n</i>: retourne les lignes préfixées par leur numéro.</dd>
<dd><i>-x</i>: ligne correspondant exactement à la chaîne.</dd>
<dd><i>-l</i>: affiche le nom des fichiers qui contiennent la chaîne.</dd>
</dl>
<p><code>grep 'text' foo.txt</code> Recherche l'occurence 'text' dans le fichier foo.txt.</p>
<p><code>grep -nri 'foobar' /project </code> Recherche toutes les occurences de 'foobar' dans le repertoire /project.</p>
<p><code>grep -nri '\(foo\|bar\|baz\)' /project </code> Recherche toutes les occurences à 'foo', 'bar' et 'baz' dans le repertoire /project.</p>
</div>
<div id="find" class="block block-find dark-blue">
<a name="find"></a>
<h2>find</h2>
<h4>La commande <strong><i>find</i></strong> permet de chercher des fichiers et éventuellement d'exécuter des commandes dessus.</h4>
<dl>
<dt>Quelques options :</dt>
<dd><i>-name</i>: Recherche d'un fichier par son nom</dd>
<dd><i>-iname</i>: Même chose que -name mais insensible à la casse</dd>
<dd><i>-type</i>: Recherche de fichier d'un certain type</dd>
<dd><i>-atime</i>: Recherche par date de dernier accès</dd>
<dd><i>-mtime</i>: Recherche par date de dernière modification</dd>
<dd><i>-user</i>: Recherche de fichiers appartenant à l'utilisateur donné</dd>
<dd><i>-group</i>: Recherche de fichiers appartenant au groupe donné</dd>
<dd><i>-size</i>: Recherche par rapport à une taille de fichier.</dd>
<dd><i>-exec</i>: Exécute la commande donnée aux fichiers trouvés.</dd >
<dd><i>-a</i>: Opérateur ET</dd>
<dd><i>-o</i>: Opérateur OU</dd>
<dd><i>!</i> ou <i>-not</i>: Opérateur NOT</dd>
</dl>
<p><code>find myfile* -print</code> Rechercher un fichier commençant par "myfile"</p>
<p><code>find -name *myfile*.txt -print</code> Rechercher un fichier contenant "myfile" et ayant pour extention ".txt"</p>
<p><code>find /usr -type d -print</code> Afficher tous les répertoires de /usr</p>
<p><code>find $HOME \( -name '*.txt' -o -name '*.pdf' \)</code> Afficher tous les fichiers .txt ou .pdf dans le répertoire home de l'utilisateur.</p>
<p><code>find $HOME -name *.txt -atime +7 -exec rm {} \;</code> Supprimer tous les fichiers .txt qui n'ont pas été consultés depuis plus de 7 jours dans le répertoire home de l'utilisateur.</p>
<p><code>find $HOME -name '*.txt' -size +4k -exec ls -l {} \;</code> Afficher la taille de tous les fichiers de plus de 4 kilos</p>
</div>
<div id="test" class="block block-test white">
<a name="test"></a>
<h2>test</h2>
<h4>La commande <strong>test</strong> permet comparer des chaines de caractères, des nombres et vérifier certaines propriétés de fichiers. Il est possible de simplifier son écriture en la remplaçant par des crochets [ ].</h4>
<p><code>test -e foo.txt</code> tester si le fichier foo.txt existe.</p>
<p><code>test -d foo</code> tester que foo soit un répertoire.</p>
<p><code>test -w foo.txt</code> tester si le fichier est accessible en écriture.</p>
<p><code>test -x foo.txt</code> tester si le fichier est exécutable.</p>
<p><code>[ "string1" != "string2" ]</code> vérifier que la chaine string1 n'est pas égale à string2.</p>
<p><code>[ int1 != int2 ]</code> vérifier que le nombre int1 est inférieur à int2.</p>
</div>
<div id="packages" class="block block-packages dark-green">
<a name="packages"></a>
<h2>Packages</h2>
<h4>L'installation et la désinstallation de paquets sous Debian, Ubuntu et distribution dérivées peut se faire grâce à la commande <strong><i>apt</i></strong>.</h4>
<p><code>apt-get update</code> Mettre à jour la liste des fichiers disponibles dans les dépôts APT.</p>
<p><code>apt-get install samba</code> Installer du paquet Samba.</p>
<p><code>apt-get install foo=2.2-1</code> Installer du paquet foo dans sa version 2.2-1.</p>
<p><code>apt-get remove samba</code> Désinstallation du paquet Samba tout en laissant les fichiers de configuration.</p>
<p><code>apt-get purge samba</code> Suppression complète du paquet Samba et de ses fichiers de configuration.</p>
<p><code>apt-cache policy php5</code> Récupération d'informations sur l'état du paquet php5</p>
<p><code>dpkg -l | grep php</code> Lister tous les paquets php installés sur la machine</p>
</div>
<div id="archives" class="block block-archives green">
<a name="archives"></a>
<h2>Archives</h2>
<h4>Que ce soit pour compresser ou décompresser des fichiers ou des dossiers, cela se fait avec la commande <strong><i>tar</i></strong>.</h4>
<dl>
<dt>Quelques options :</dt>
<dd><i>-c</i>: créer</dd>
<dd><i>-t</i>: tester / lister</dd>
<dd><i>-x</i>: extraire</dd>
<dd><i>-v</i>: description des fichiers désarchivés</dd>
<dd><i>-j</i>: format de compression bzip2</dd>
<dd><i>-z</i>: format de compression gzip</dd>
</dl>
<p><code>tar -cvf archive.tar fichier1</code> Création d’une archive nommée archive.tar contenant le fichier fichier1.</p>
<p><code>tar -cvf archive.tar fichier1 fichier2</code> Création d’une archive contenant deux fichiers fichier1 et fichier2.</p>
<p><code>tar -cvf archive.tar repertoire/</code> Création d’une archive a partir d’un répertoire.</p>
<p><code>tar -czvf archive.tar.gz repertoire/</code> Création d’une archive au format tar.gz.</p>
<p><code>tar -cjvf archive.tar.bz2 repertoire/</code> Création d’une archive au format tar.bz2.</p>
<p><code>tar -xzvf archive.tar.gz</code> Extraction de l’archive tar.gz.</p>
<p><code>tar -xjvf archive.tar.bz2</code> Extraction de l’archive tar.bz2.</p>
<p><code>tar -tf mon_fichier.tar</code> Liste tous les fichiers contenus dans une archive.</p>
</div>
<div id="diskspace" class="block block-diskspace light-green">
<a name="diskspace"></a>
<h2>Espace disque</h2>
<p><code>du -sh dossier1 dossier2</code> connaitre l'espace disque utilisé des deux répertoires (<em>disk usage</em>).</p>
<p><code>du -hc --max-depth=1</code> afficher l'espace disque utilisé des fichiers et répertoires contenu dans un répertoire.</p>
<p><code>df -h</code> afficher l'espace disque disponible (<em>disk free</em>).</p>
</div>
<div id="process" class="block block-process yellow">
<a name="process"></a>
<h2>Gestion des processus</h2>
<p><code>top</code> Classement en live des processus en cours triés par utilisation Proc, Mem ou Temps CPU.</p>
<p><code>free</code> Afficher la mémoire libre.</p>
<p><code>ps aux</code> Afficher tous les processus exécutés.</p>
<p><code>ps faux</code> Afficher tous les processus exécutés affiché sous forme.</p>
<p><code>kill pid</code> Arrêter un processus.</p>
<p><code>kill 9 pid</code> Tuer violemment le processus (déconseillé).</p>
</div>
<!--
<div id="file" class="block block-file">
<a name="file"></a>
<h2>Afficher un fichier</h2>
<h4>Pour lire un fichier plusieurs commandes s'offrent à vous <strong>vi</strong>, <strong>cat</strong>, <strong>head</strong> ou encore <strong>tail</strong>.</h4>
<p><code>cat foo.txt</code> retourne tout le fichier sur la sortie standard.</p>
<p><code>head foo.txt</code> retourne le début du fichier.</p>
<p><code>tail foo.txt</code> retourne les dernières lignes du fichier.</p>
<p><code>tail -n 15 foo.txt</code> .</p>
<p><code>tail -f mon-fichier.txt</code> Affiche la fin du fichier en l'actualisant à chaque fois que de nouvelles lignes y sont ajoutées. Utile pour suivre un fichier de logs.</p>
</div>
<div id="sort" class="block block-sort">
<a name="sort"></a>
<h2>sort</h2>
</div>
<div id="awk" class="block block-awk">
<a name="awk"></a>
<h2>awk</h2>
<h4>Plus qu'une commande, <strong>awk</strong> est un programme complexe combinant les fonctions sed et grep.</h4>
</div>
<div id="pipe" class="block block-pipe">
<a name="pipe"></a>
<h2>Pipes and Redirection</h2>
You pipe a command to another command, and redirect it to a file.)
{command} > {file} Redirect output to a file, eg ls > list.txt writes directory to file.
{command} >> {file} Append output to an existing file, eg cat update >> archive adds update to end of archive.
{command} < {file} Get input from a file, eg sort < file.txt
{command} < {file1} > {file2} Get input from file1, and write to file2, eg sort < old.txt > new.txt sorts old.txt and saves as new.txt.
{command} | {command} Pipe one command to another, eg ls | more gets directory and sends it to more to show it one page at a time.
</div>
<div id="various-command" class="block block-various-command">
<a name="various-command"></a>
<h2>Commandes en vrac</h2>
<h4>Quelques exemples de combinaisons de commandes ou de commandes complexes.</h4>
<p><code>:w !sudo tee% > /dev/null</code></p>
</div>
-->
<div id="comment" class="block block-comment">
<a name="comment"></a>
<h2>Commentaires</h2>
<div id="disqus_thread"></div>
<script type="text/javascript">
/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
var disqus_shortname = 'linux-cheatsheet'; // required: replace example with your forum shortname
/* * * DON'T EDIT BELOW THIS LINE * * */
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
</div>
</body>
</html>