# Commandes de base UNIX

| nom     | syntaxe                          | définition                                                                                     | exemple                                       |
| :------ | :------------------------------- | :--------------------------------------------------------------------------------------------- | :-------------------------------------------- |
| cat     | `cat [file]`                     | Lecture du contenu de fichiers                                                                 | `cat file.txt`                                |
| cat     | `cat [file]...` `cat < ... >...` | Concaténation de fichiers                                                                      | `cat file1.txt file2.txt > file3.txt`         |
| cd      | `cd [newWD]`                     | Changement de _working directory_. **À utiliser avec modération, penser aux chemins relatifs** | `cd Formation/TP1`, `cd`, `cd -`              |
| cp      | `cp inputFile targetFile`        | Copie d'un fichier                                                                             | `cp exo.sh exo1.sh`                           |
| date    | `date`                           | Affichage date et heure système                                                                | `date`                                        |
| grep    | `grep expr <...`                 | Sélection des lignes contenant l'expression indiquée                                           | `grep "<dc:creator>" < file.xml`              |
| head    | `head [-n]`                      | Sélection du début d'un fichier (en nombre de lignes)                                          | `head -1 < table.txt`                         |
| history | `history [-n]`                   | Historique des commandes                                                                       | `history -50`                                 |
| ls      | `ls directory`                   | Listing du contenu d'un répertoire                                                             | `ls Formation`, `ls Formation/TP1`            |
| mkdir   | `mkdir dirName`                  | Création un répertoire (directory)                                                             | `mkdir Formation/TP2`                         |
| more    | `more fileName`                  | Lecture à l'écran de fichiers texte (surtout longs)                                            | `more table.txt`                              |
| mv      | `mv inputFile targetFile`        | Déplacement (ou renommage) d'un fichier                                                        | `mv table.tmp table.txt`                      |
| pwd     | `pwd`                            | Affichage du working directory                                                                 | `pwd`                                         |
| rm      | `rm path`                        | Effacement d'un fichier                                                                        | `rm file.txt`, `rm Formation/TP1/table.tmp`   |
| \rm     | `\rm path`                       | Effacement d'un fichier (en ignorant la confirmation avant chaque destruction)                 | `\rm file.txt`                                |
| rm      | `rm -r path`                     | Effacement récursif d'un répertoire                                                            | `rm -r TP2/*.tmp`                             |
| rmdir   | `rmdir path`                     | Effacement d'un répertoire (il doit être vide)                                                 | `rmdir TP3`                                   |
| sort    | `sort < ... >...`                | Tri du flot d'entrée                                                                           | `cat file1.txt file2.txt \| sort > file3.txt` |
| tail    | `tail [-n]`                      | Sélection de la fin d'un fichier (en nombre de lignes)                                         | `tail -1 < table.txt`                         |
| time    | `time command`                   | Mesure le temps d'utilisation du processeur par la commande                                    | `time ls`                                     |
| type    | `type command`                   | Donne le type de la commande (alias, exécutable, etc.) et précise sa nature.                   | `type ll`                                     |
| wc      | `wc [fileName]`                  | Affichage de la taille d'un fichier (nombre de caractères, de mots, de lignes)                 | `wc -l < file.xml`                            |
| which   | `which command`                  | Renvoie le chemin de la commande qui est exécutée quand on tape son nom dans le shell          | `which ls`                                    |
