<h2>But de ce document</h2>
<p class="spip">Ce document donnera une description et des exemples d’utilisations des commandes de base les plus courantes sous Linux.</p>

<p class="spip">Ces commandes sont classées en 3 grandes familles :
<br /></p>
<li> Aide & recherche
<br /><li> Réagencer, se déplacer
<br /><li> Système
<h2>Aide & recherche</h2>
<h3>man [ -options ] [ section ] [ commande ] </h3>
<p class="spip">Affiche la page de manuel correspondant à la commande. Les pages de manuel sont réparties dans différentes sections : 
<br /></p>
<li> Programmes exécutables et commandes shell. 
<br /><li> Appels système. 
<br /><li> Appels bibliothèques. 
<br /><li> Fichiers spéciaux. 
<br /><li> Formats des fichiers et protocoles. 
<br /><li> Jeux. 
<br /><li> Macros et fichiers divers. 
<br /><li> Routines du noyau (non standard)
<h3>grep [ -options ] regex fichiers </h3>
<p class="spip">Recherche dans un ou plusieurs fichiers la présence de l’expression régulière regex. Nous verrons plus tard le domaine des expressions régulières, outil difficile à maîtriser mais d’une puissance formidable.</p>

<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Option</strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td><strong class="spip">-l</strong></td><td>Affiche une liste de fichiers contenant l’expression recherchée. </td></tr>
<tr class="row_odd"><td><strong class="spip">-L</strong></td><td>Affiche une liste de fichiers ne contenant pas l’expression recherchée. </td></tr>
<tr class="row_even"><td><strong class="spip">-v</strong></td><td>Affiche les lignes de fichiers ne contenant pas l’expression recherchée. </td></tr>
</tbody>
</table>
<p class="spip">Exemples :</p>

<p class="spip"><code class='spip_code' dir='ltr'>$ grep -l "10.0.0.1" *</code></p>

<p class="spip"><code class='spip_code' dir='ltr'>$ grep '^[A-Z]\{6\}[0-9]\{4\}* /etc/*'</code></p>

<h3>find [ -nchemins ] [ conditions ] </h3>
<p class="spip">Voilà une commande extrêmement utile mais comportant un grand nombre d’options. Elle suit l’arborescence de chaque <i class="spip"> nchemins </i> et identifie les fichiers qui répondent aux critères définis par conditions. Je vous renvoie à la page de manuel pour mieux comprendre les possibilités de cette commande.</p>

<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Condition</strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td><div style='text-align: left;' class='spip_code' dir='ltr'><code><br />
-exec commande {} \;<br />
</code></div><br />
</td><td>Applique <i class="spip"> commande </i> à chacun des fichiers reconnus par find. Quand <i class="spip"> commande </i> est lancée, <i class="spip"></i> est remplacé par le nom du fichier présentement traité. La séquence de commande doit se terminer par un point-virgule balisé <code class='spip_code' dir='ltr'>\</code> ;. </td></tr>
<tr class="row_odd"><td><strong class="spip">-name motif</strong></td><td>Recherche les fichiers dont le nom correspond à <i class="spip"> motif </i>. </td></tr>
<tr class="row_even"><td><strong class="spip">-type c</strong></td><td>Recherche les fichiers de type <i class="spip"> c </i>. 
c peut être :- <strong class="spip">b</strong> (block special file),- <strong class="spip">c</strong> (character special file),- <strong class="spip">d</strong> (directory),- <strong class="spip">p</strong> (named pipe),- <strong class="spip">l</strong> (symbolyc link),- <strong class="spip">s</strong> (socket),- <strong class="spip">f</strong> (plain file). </td></tr>
<tr class="row_odd"><td> </td><td> </td></tr>
<tr class="row_even"><td> </td><td> </td></tr>
</tbody>
</table>
<p class="spip">Exemples :</p>

<p class="spip"><code class='spip_code' dir='ltr'>$ find . -type d</code></p>

<p class="spip"><code class='spip_code' dir='ltr'>$ find / -name core -exec rm -f {} \;</code></p>

<p class="spip"><code class='spip_code' dir='ltr'>$ find / -type f -name "*conf*" -exec cp {} /tmp/conf_files/{}.save \;</code></p>

<h2>Réagencer, se déplacer</h2>
<h3>ls [ -options ] [ répertoire(s) ] </h3>
<p class="spip">Cette commande liste le contenu du répertoire en cours. Elle accepte de nombreux arguments. Les principaux sont :</p>

<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Option </strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td><strong class="spip">-l</strong></td><td>Permet d’obtenir une liste détaillée (Type du fichier, taille, droits...). </td></tr>
<tr class="row_odd"><td><strong class="spip">-a</strong></td><td>Liste également les fichiers cachés (ceux qui commencent par . et ..). </td></tr>
<tr class="row_even"><td><strong class="spip">-t</strong></td><td>Trie les fichiers par date (les plus récents en premier). </td></tr>
<tr class="row_odd"><td><strong class="spip">-r</strong></td><td>Inverse l’ordre du tri. </td></tr>
<tr class="row_even"><td><strong class="spip">-d</strong></td><td>Affiche les répertoires mais pas leur contenu. </td></tr>
<tr class="row_odd"><td><strong class="spip">-R</strong></td><td>Affichage récursif des sous-répertoires en plus des répertoires. </td></tr>
</tbody>
</table>
<p class="spip">Exemples :</p>

<p class="spip"><code class='spip_code' dir='ltr'>$ ls -latr /home</code></p>

<p class="spip"><code class='spip_code' dir='ltr'>$ ls -R /usr</code></p>

<h3>cd [ chemin/répertoire/ ] </h3>
<p class="spip">Cette commande permet de changer de répertoire. 
Dans le répertoire en cours, on trouve deux entrées particulières, "." et "..". L’entrée "." symbolise le répertoire en cours, et l’entrée ".." le répertoire directement supérieur (Le répertoire père). Ces deux entrées sont très pratiques pour se déplacer relativement au répertoire en cours. Une option utile, le tiret "-", qui permet de revenir au répertoire courant précédent.</p>

<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Chemin</strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td><div style='text-align: left;' class='spip_code' dir='ltr'><code><br />
..<br />
</code></div><br />
</td><td>Remonte dans le dossier parent. </td></tr>
<tr class="row_odd"><td><div style='text-align: left;' class='spip_code' dir='ltr'><code><br />
~<br />
</code></div><br />
</td><td>Retourne à votre dossier personnel. </td></tr>
</tbody>
</table>
<p class="spip">Exemple :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>$ cd /Cours/Commande/<br />
$ pwd<br />
$ /home/thierry/Cours/Commande<br />
$ cd<br />
$ pwd<br />
$ home/thierry</code></div>
<h3>pwd </h3>
<p class="spip">Affiche la référence absolue du répertoire de travail actuel. (Le répertoire en cours)</p>

<h3>rm [ -options ] fichier(s) </h3>
<p class="spip">Supprime un ou plusieurs fichiers. Il est obligatoire d’avoir l’autorisation d’écriture sur le fichier pour pouvoir le supprimer.</p>

<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Option</strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td><strong class="spip">-f</strong></td><td>Supprime sans avertissement les fichiers protégés en écriture. </td></tr>
<tr class="row_odd"><td><strong class="spip">-i</strong></td><td>Demande à l’utilisateur de confirmer chaque suppression. </td></tr>
<tr class="row_even"><td><strong class="spip">-r</strong></td><td>Si fichier est un répertoire, le supprime ainsi que tout son contenu lorsque celui ci est couplé avec <strong class="spip">f</strong>. </td></tr>
</tbody>
</table>
<p class="spip">Exemples :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>rm -rf /home/toto<br />
rm -i *.wav</code></div>
<h3>mv [ -options ] source cible </h3>
<p class="spip">Déplace ou renomme fichiers et répertoires.</p>

<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Option</strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td><strong class="spip">-b</strong></td><td>Sauvegarde les fichiers avant de les écraser. </td></tr>
<tr class="row_odd"><td><strong class="spip">-f</strong></td><td>Force le déplacement si cible existe. </td></tr>
<tr class="row_even"><td><strong class="spip">-r</strong></td><td>Demande à l’utilisateur de confirmer l’effacement du fichier. </td></tr>
</tbody>
</table>
<h3>mkdir [ -options ] répertoires </h3>
<p class="spip">Crée un ou plusieurs répertoires avec le mode d’accès donné par l’<i class="spip"> umask </i> de l’utilisateur. (Voir <i class="spip"> chmod </i>)</p>

<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Option</strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td><strong class="spip">-m</strong></td><td>Définit le mode d’accès des nouveaux répertoires (à la place de umask). </td></tr>
<tr class="row_odd"><td><strong class="spip">-p</strong></td><td>Crée si nécessaire les répertoires parents appropriés. </td></tr>
<tr class="row_even"><td><strong class="spip">-v</strong></td><td>Écrit un message pour chaque dossier créé. </td></tr>
</tbody>
</table>
<p class="spip">Exemple :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>$ mkdir -m 750 mon_répertoire<br />
$ mkdir -p ./niveau1/niveau2/nouveau_rep</code></div>
<h3>cat [ -options ] [ fichiers ] </h3>
<p class="spip">Lit le contenu d’un ou plusieurs fichiers et les affiche sur la sortie standard.</p>

<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Option</strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td><strong class="spip">-b</strong></td><td>Numérote toutes les lignes non vides en commençant par 1. </td></tr>
<tr class="row_odd"><td><strong class="spip">-e</strong></td><td>Affiche le caractère $ en fin de ligne. </td></tr>
<tr class="row_even"><td><strong class="spip">-s</strong></td><td>Exclut l’affichage des lignes vierges. </td></tr>
<tr class="row_odd"><td><strong class="spip">-t</strong></td><td>Affiche les tabulations avec ^I et les sauts de page avec ^L. </td></tr>
<tr class="row_even"><td><strong class="spip">-v</strong></td><td>Affiche les caractères de contrôle à l’exception des sauts de lignes et tabulations. </td></tr>
</tbody>
</table>
<p class="spip">Exemples :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>$ cat -v mon_fichier<br />
$ cat *.conf</code></div>
<h3>more [ -options ] [ fichiers ] </h3>
<p class="spip">Affiche le contenu de plusieurs fichiers une page à la fois. Il vaut mieux utiliser <strong class="spip">less</strong>, plus performant.</p>

<h3>less [ -options ] [ fichiers ] </h3>
<p class="spip">Affiche page par page le contenu des fichiers donnés en arguments, ou celui de la sortie standard. Remplace <strong class="spip">more</strong> (d’où son nom). Utilisé souvent sans options, mais nombre d’entre elles sont intéressantes. (man less)</p>

<h3>echo [ -options ] [ message ] </h3>
<p class="spip">Affiche une ligne de texte. Cette commande est souvent utilisée pour afficher le contenu d’une variable.</p>

<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Option</strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td><div style='text-align: left;' class='spip_code' dir='ltr'><code><br />
-e<br />
</code></div><br />
</td><td>Interprète les séquences de caractères précédés d’un backslash <code class='spip_code' dir='ltr'>\</code> suivantes </td></tr>
<tr class="row_odd"><td><div style='text-align: left;' class='spip_code' dir='ltr'><code><br />
-e \b<br />
</code></div><br />
</td><td>Retour arrière.</td></tr>
<tr class="row_even"><td><div style='text-align: left;' class='spip_code' dir='ltr'><code><br />
-e \f<br />
</code></div><br />
</td><td>Changement de page (form feed). </td></tr>
<tr class="row_odd"><td><div style='text-align: left;' class='spip_code' dir='ltr'><code><br />
-e \r<br />
</code></div><br />
</td><td>Nouvelle ligne (newline). </td></tr>
<tr class="row_even"><td><div style='text-align: left;' class='spip_code' dir='ltr'><code><br />
-e \n <br />
</code></div><br />
</td><td>Retour chariot (return). </td></tr>
<tr class="row_odd"><td><div style='text-align: left;' class='spip_code' dir='ltr'><code><br />
-e \t<br />
</code></div><br />
</td><td>Tabulateur. </td></tr>
<tr class="row_even"><td><div style='text-align: left;' class='spip_code' dir='ltr'><code><br />
-n<br />
</code></div><br />
</td><td>Ne pas effectuer le saut de ligne final. </td></tr>
</tbody>
</table>
<h2>Système</h2>
<h3>df [ -options ] [ nom ] </h3>
<p class="spip">Affiche l’espace libre sur chacun des systèmes de fichiers montés ou sur celui précisé par nom.</p>

<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Option</strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td><strong class="spip">-k</strong></td><td>Affiche la taille en blocs de 1 k plutôt qu’en blocs de 512 octets. </td></tr>
<tr class="row_odd"><td><strong class="spip">-t </strong><i class="spip"> type </i></td><td>N’affiche que les systèmes de fichiers de type <i class="spip"> type </i>. </td></tr>
<tr class="row_even"><td><strong class="spip">-x </strong><i class="spip"> type </i></td><td>N’affiche que les systèmes de fichiers de type autre que <i class="spip"> type </i>. </td></tr>
<tr class="row_odd"><td><strong class="spip">-h</strong></td><td>Affiche les tailles dans un format lisible par un humain (i.e. 1K 234M 2G). </td></tr>
</tbody>
</table>
<p class="spip">Exemples :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>$ df -k /home<br />
$ df -x nfs</code></div>
<h3>du [ -options ] [ répertoire ] </h3>
<p class="spip">Affiche la taille du répertoire en cours ou du répertoire précisé.</p>

<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Option</strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td><strong class="spip">-h</strong></td><td>Affiche les tailles dans un format lisible par un humain (i.e. 1K 234M 2G). </td></tr>
<tr class="row_odd"><td><strong class="spip">-s</strong></td><td>Affiche le total pour les répertoires donnés en arguments. </td></tr>
</tbody>
</table>
<p class="spip">Exemples :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>$ du -h /home<br />
$ du -hs *</code></div>
<h3>chmod [ -options ] mode fichiers </h3>
<p class="spip">Permet de modifier les droits d’accès (mode) d’un ou plusieurs fichiers. Seul le propriétaire du fichier ou le super utilisateur peut effectuer un changement de mode.</p>

<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Option</strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td><strong class="spip">-R</strong></td><td>Effectue les changements de manière récursive. </td></tr>
</tbody>
</table>
<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Utilisateur</strong></th><th scope='col'><strong class="spip">Commentaire </strong></th></tr></thead>
<tbody>
<tr class="row_even"><td><strong class="spip">u</strong></td><td>Propriétaire du fichier (user). </td></tr>
<tr class="row_odd"><td><strong class="spip">g</strong></td><td>Groupe du propriétaire (group). </td></tr>
<tr class="row_even"><td><strong class="spip">o</strong></td><td>Tous les autres (other). </td></tr>
<tr class="row_odd"><td><strong class="spip">a</strong></td><td>Tout le monde (all). </td></tr>
</tbody>
</table>
<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Opérateur</strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td><strong class="spip">+</strong></td><td>Ajoute des permissions. </td></tr>
<tr class="row_odd"><td><strong class="spip">-</strong></td><td>Retire des permissions. </td></tr>
<tr class="row_even"><td><strong class="spip">=</strong></td><td>Redéfinition des permissions (Avec suppression de celles qui ne sont pas précisées). </td></tr>
</tbody>
</table>
<p class="spip"><strong class="spip">Permissions </strong> : Il s’agit des permissions (r,w,x,s,t) vues dans un chapitre précédent. Je voudrais préciser ici qu’on peut utiliser le mode octal pour préciser les permissions :</p>

<table class="spip">
<tbody>
<tr class="row_even"><td><strong class="spip">4</strong></td><td>pour la lecture. </td></tr>
<tr class="row_odd"><td><strong class="spip">2</strong></td><td>pour l’écriture. </td></tr>
<tr class="row_even"><td><strong class="spip">1</strong></td><td>pour l’exécution. </td></tr>
</tbody>
</table>
<p class="spip">Pour un fichier dont les droits sont -rwxrw-r&mdash; soit : 
<br /></p>
<li> Le premier triplet concerne les droits du propriétaire du fichier : rwx 
<br /><li> Le deuxième triplet concerne les droits du groupe du propriétaire : rw- 
<br /><li> Le troisième triplet concerne les autres utilisateurs : r&mdash;
<p class="spip">Pour donner tous les droit à tout le monde, on fait :</p>

<p class="spip"><code class='spip_code' dir='ltr'> $ chmod 777 nom_du_fichier </code></p>

<p class="spip">ou bien</p>

<p class="spip"><code class='spip_code' dir='ltr'>$ chmod a+rwx nom_du_fichier </code></p>

<p class="spip">puis pour avoir les droits donnés au début de l’exemple, on fait :</p>

<p class="spip"><code class='spip_code' dir='ltr'>$ chmod g-x,o-wx nom_du_fichier </code></p>

<p class="spip">ou</p>

<p class="spip"><code class='spip_code' dir='ltr'>$ chmod 764 nom_du_fichier </code></p>

<h3>chgrp [ -options ] group fichiers </h3>
<p class="spip">Permet de modifier le groupe d’un ou plusieurs fichiers. Seul le propriétaire ou le super utilisateur peut effectuer un changement de groupe.</p>

<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Option</strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td><strong class="spip">-R</strong></td><td>Effectue les changements de manière récursive. </td></tr>
</tbody>
</table>
<p class="spip">Exemples :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>$ chgrp -R users /home<br />
$ chgrp bin script.pl</code></div>
<h3>chown [ -options ] user [ : group ] fichiers </h3>
<p class="spip">Permet de modifier le propriétaire et le groupe d’un ou plusieurs fichiers. Seul le propriétaire du fichier ou le super utilisateur peut effectuer une telle opération.</p>

<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Option</strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td><strong class="spip">-R</strong></td><td>Effectue les changements de manière récursive. </td></tr>
</tbody>
</table>
<p class="spip">Exemples :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>$ chown -R thierry:users /home/thierry<br />
$ chown thierry:cdwriter fichier1 fichier2</code></div>
<p class="spip"><strong class="spip">Nota</strong> : on peut simplifier la commande dans le cas où le groupe est le groupe natif de l’utilisateur, c’est à dire le groupe créé à l’installation avec l’utilisateur. Donc pour simplifier on écrit :</p>

<p class="spip"><code class='spip_code' dir='ltr'>$ chown thierry: fichier</code></p>

<p class="spip">on ne précise pas de nom après " :".</p>

<h3>tail [ -options ] [ fichier ] </h3>
<p class="spip">Affiche sur la sortie standard les dernières lignes de « fichier » (10 par défaut).</p>

<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Option</strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td><strong class="spip">-f</strong></td><td>Suit le fichier lorsqu’il croit (utile pour suivre l’évolution d’un fichier). Taper <i class="spip"> CTRL-C </i> pour y mettre fin. </td></tr>
<tr class="row_odd"><td><strong class="spip">-n </strong><i class="spip"> <strong class="spip">num</strong> </i></td><td>Affiche les <i class="spip"> num </i> dernières lignes. </td></tr>
</tbody>
</table>
<p class="spip">exemples :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>$ tail -f /var/log/messages<br />
$ tail -n 20 mon_fichier</code></div>
<h3>ln [ -options ] nom_source [ nom_dest ] </h3>
<p class="spip">Crée des liens permettant d’accéder à des fichiers sous différents noms.</p>

<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Option</strong></th><th scope='col'><strong class="spip">Commentaire </strong></th></tr></thead>
<tbody>
<tr class="row_even"><td><strong class="spip">-b</strong></td><td>Sauvegarde les fichiers originaux avant de les écraser par de nouveaux liens. </td></tr>
<tr class="row_odd"><td><strong class="spip">-f</strong></td><td>Force la création du lien sans demander de confirmation. </td></tr>
<tr class="row_even"><td><strong class="spip">-s</strong></td><td>Crée un lien symbolique. La commande ls -l permet de retrouver le fichier source. </td></tr>
</tbody>
</table>
<p class="spip">Exemples :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code># ln -sf /mnt/cdrom /cdrom<br />
# ln -s /usr/local/bin/ma_commande</code></div>
<h3>tar [ -options ] [ fichier_tar ] [ autre_fichiers ] </h3>
<p class="spip">Permet de copier des fichiers vers une archive ou d’extraire des fichiers d’une archive. Si <i class="spip"> autres_fichiers </i> est un répertoire, tar archive l’ensemble du répertoire et des sous répertoires. Les options sont très nombreuses, voyons les principales.</p>

<p class="spip"><strong class="spip">Options de fonction : </strong></p>

<p class="spip">On ne peut utiliser qu’une seule des options suivantes .</p>

<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Option</strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td><strong class="spip">c</strong></td><td><strong class="spip">c</strong>reate. Crée une nouvelle archive. </td></tr>
<tr class="row_odd"><td><strong class="spip">t</strong> </td><td>lis<strong class="spip">t</strong>. Liste le contenu d’une archive. </td></tr>
<tr class="row_even"><td><strong class="spip">u</strong></td><td><strong class="spip">u</strong>pdate. Met l’archive à jour en ajoutant de nouveaux fichiers ou met à jour des fichiers modifiés. </td></tr>
<tr class="row_odd"><td><strong class="spip">x</strong></td><td>e<strong class="spip">x</strong>tract. Extrait des fichiers d’une archive. </td></tr>
<tr class="row_even"><td><strong class="spip">r</strong></td><td>Ajoute des fichiers à une archive. </td></tr>
<tr class="row_odd"><td><strong class="spip">d</strong></td><td>Compare les fichiers contenus dans l’archive à ceux présents sur le disque dur. </td></tr>
</tbody>
</table>
<p class="spip"><strong class="spip">Options communes :</strong></p>

<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Option</strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td><strong class="spip">f </strong><i class="spip"> <strong class="spip">archive</strong> </i></td><td>Sauvegarde les fichiers dans <i class="spip"> archive </i> ou les extrait de <i class="spip"> archive </i>. Archive peut être de la forme <i class="spip"> host:file </i>. </td></tr>
<tr class="row_odd"><td><strong class="spip">h</strong></td><td>Sauvegarde le fichier auquel un lien fait référence et non le lien. </td></tr>
<tr class="row_even"><td><strong class="spip">l</strong></td><td>N’archive pas les fichiers situés sur d’autres systèmes de fichiers. </td></tr>
<tr class="row_odd"><td><strong class="spip">p</strong></td><td>Préserve les attributs originaux des fichiers sauvegardés. </td></tr>
<tr class="row_even"><td><strong class="spip">v</strong></td><td>Mode verbeux. </td></tr>
<tr class="row_odd"><td><strong class="spip">Z</strong></td><td>Utilise <strong class="spip">compress</strong> pour compacter les fichiers. </td></tr>
<tr class="row_even"><td><strong class="spip">z</strong></td><td>Utilise <strong class="spip">gzip</strong> pour compacter les fichiers. </td></tr>
<tr class="row_odd"><td><strong class="spip">j</strong></td><td>Utilise <strong class="spip">bzip2</strong> pour compacter les fichiers. </td></tr>
<tr class="row_even"><td><strong class="spip">k</strong></td><td>Conserve tout fichier existant avant l’extraction, aucun fichier ne sera écrasé par un autre portant le même nom dans l’archive. </td></tr>
</tbody>
</table>
<p class="spip">exemples :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>$ tar cvfz /dev/rmt0 /home /usr/local<br />
$ tar xvf MonFichier.tar<br />
$ tar cvf - $(find . -print) > copie.tar<br />
$ gzip -cd MonFichier.tgz | tar xvf -</code></div>
<h3>diff [ -options ] [ fichier1 ] [ fichier2 ] </h3>
<p class="spip">Compare deux fichiers et affiche les différences. Chaque paire de lignes est précédée de la commande <i class="spip"> ed </i> qui permettrait de rendre fichier 1 identique à fichier 2.</p>

<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Option</strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td><strong class="spip">-a</strong></td><td>Tous les fichiers seront considérés comme du texte. Utile pour comparer 2 fichiers binaires. </td></tr>
<tr class="row_odd"><td><strong class="spip">-c</strong></td><td>Comparaison contextuelle. </td></tr>
</tbody>
</table>
<p class="spip">exemples :</p>

<p class="spip"><code class='spip_code' dir='ltr'>$ diff -c /etc/bashrc /home/.bashrc</code></p>

<h3>gzip [ -options ] [ fichier ], gunzip [ -options ] [ fichier ] </h3>
<p class="spip">Compresse ou décompresse les fichiers donnés en arguments selon l’algorithme LZ77. Les fichiers sont renommés <i class="spip"> nom_fichier.gz </i>. On décompacte les fichiers avec la commande gunzip.</p>

<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Option</strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td><strong class="spip">-num</strong></td><td>Contrôle le taux de compression de 1 à 9 (9 est le taux de compression le plus haut mais aussi le plus lent). </td></tr>
<tr class="row_odd"><td><strong class="spip">-c</strong></td><td>Affiche sur la sortie standard mais ne modifie pas le fichier. </td></tr>
<tr class="row_even"><td><strong class="spip">-d</strong></td><td>Décompresse le fichier (Identique à gunzip). </td></tr>
<tr class="row_odd"><td><strong class="spip">-r</strong></td><td>Récursif. Lorsqu’un répertoire est donné en argument, compacte tous les fichiers qui s’y trouvent de façon récursive. </td></tr>
</tbody>
</table>
<p class="spip">exemples :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>$ gzip -r /home/thierry<br />
$ gzip -d fichier.gz</code></div>
<h3>bzip2 [ -options ] [ fichier ], bunzip2 [ -options ] [ fichier ] </h3>
<p class="spip">Identique à gzip mais l’algorithme permet une meilleure compression. Le suffixe de fichier standard est <strong class="spip">.bz2</strong></p>

<h3>su [ -options ] [ utilisateur ] </h3>
<p class="spip">Permet de changer d’utilisateur, pour effectuer des tâches qui nécessitent des droits différents de l’utilisateur actuel. Lorsque <i class="spip"> utilisateur </i> n’est pas précisé, c’est <i class="spip"> root </i> qui est utilisé.</p>

<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Option</strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td><strong class="spip">-</strong></td><td>L’environnement <i class="spip"> utilisateur </i> est alors chargé. </td></tr>
<tr class="row_odd"><td><strong class="spip">-c </strong><i class="spip"> <strong class="spip">commande</strong> </i></td><td>Lance <i class="spip"> commande </i> dans un nouveau shell et le quitte immédiatement. </td></tr>
</tbody>
</table>
<p class="spip">exemples :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>$ su -<br />
$ su oracle -c dbshut</code></div>
<h3>ps [ options ] </h3>
<p class="spip">Affiche la liste des processus en cours d’exécution. Il n’est pas nécessaire d’introduire les options par un tiret.</p>

<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Option</strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td><strong class="spip">a</strong></td><td>Affiche tous les processus. </td></tr>
<tr class="row_odd"><td><strong class="spip">e</strong></td><td>Affiche aussi les processus système. </td></tr>
<tr class="row_even"><td><strong class="spip">f</strong></td><td>Affiche la sortie sous forme d’arborescence. </td></tr>
<tr class="row_odd"><td><strong class="spip">h</strong></td><td>Supprime l’affichage de l’en-tête. </td></tr>
<tr class="row_even"><td><strong class="spip">j</strong></td><td>Affiche en format <i class="spip"> tâches </i>. </td></tr>
<tr class="row_odd"><td><strong class="spip">l</strong></td><td>Affiche en format <i class="spip"> étendu </i>. </td></tr>
<tr class="row_even"><td><strong class="spip">m</strong></td><td>Affiche en format <i class="spip"> mémoire </i>. </td></tr>
<tr class="row_odd"><td><strong class="spip">u</strong></td><td>Inclut le nom d’utilisateur et l’heure de lancement du processus. </td></tr>
<tr class="row_even"><td><strong class="spip">w</strong></td><td>Affiche chaque entrée sur plusieurs lignes si elle est plus large que l’écran. </td></tr>
<tr class="row_odd"><td><strong class="spip">x</strong></td><td>Affiche les processus non rattachés à un terminal. </td></tr>
<tr class="row_even"><td><strong class="spip">-C </strong><i class="spip"> <strong class="spip">programme</strong> </i></td><td>Permet de connaître le PID d’un programme connu </td></tr>
</tbody>
</table>
<p class="spip">Exemples :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>$ ps faux<br />
$ ps fjx<br />
$ ps eux | sort -n -k4 <br />
$ ps -C firefox</code></div>
<h3>kill [ -options ] PID </h3>
<p class="spip">Envoie un signal à un ou plusieurs processus identifiés par leur numéro (PID).</p>

<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Option</strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td><strong class="spip">-l</strong></td><td>Affiche la liste des signaux. </td></tr>
<tr class="row_odd"><td><strong class="spip">-s </strong><i class="spip"> <strong class="spip">signal</strong> </i></td><td>Signal à envoyer au processus. Il doit être précisé par son nom ou son numéro </td></tr>
<tr class="row_even"><td><strong class="spip">-3/-6/-9</strong></td><td>Lors de la tentative pour <i class="spip"> tuer </i> le processus, vous pouvez lui spécifier une force (3 est la plus faible et 9 la plus puissante). </td></tr>
</tbody>
</table>
<p class="spip">Exemples :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>$ kill -SIGHUP xinetd <br />
$ kill -9 id_processus_fou</code></div>
<h3>killall [ -options ] [ nom ] </h3>
<p class="spip">Met fin à un processus identifié par son nom.</p>

<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Option</strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td><strong class="spip">-signal</strong></td><td>Envoie <i class="spip"> signal </i> au processus (Défaut TERM). signal peut être un nom ou un numéro. </td></tr>
<tr class="row_odd"><td><strong class="spip">-i </strong><i class="spip"> <strong class="spip">signal</strong> </i></td><td>Demande à l’utilisateur de confirmer l’arrêt du processus. </td></tr>
<tr class="row_even"><td><strong class="spip">-l</strong></td><td>Affiche la liste des signaux. </td></tr>
</tbody>
</table>
<p class="spip">Exemples :</p>

<p class="spip"><code class='spip_code' dir='ltr'>$ kill -i X</code></p>

<p class="spip"><code class='spip_code' dir='ltr'>$ killall -9 processus_fou</code></p>

<h2>Historique des modifications</h2>
<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Version</strong></th><th scope='col'><strong class="spip">Date</strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td>0.1</td><td>2002</td><td><strong class="spip">Thierry COLAS</strong>, auteur original du document « Lignes de commandes - le pense bête de COAGUL »</td></tr>
<tr class="row_odd"><td>0.2</td><td>2004</td><td><strong class="spip">Marc P</strong><strong class="spip">OIROUD</strong> pour la conversion en LATEX , PDF et HTML. <strong class="spip">Gnunux</strong>, pour sa relecture</td></tr>
<tr class="row_even"><td>0.3</td><td>24/03/05</td><td><strong class="spip">Tony</strong> pour la conversion au format OOo / Spip et le découpage en 7 articles.</td></tr>
</tbody>
</table>