---
# System prepended metadata

title: Commandes linux
tags: [SYSTEME, TUTO, UNIX, INFORMATIQUE]

---

# Commandes linux

###### tags: `TUTO` `UNIX` `SYSTEME` `INFORMATIQUE`

[TOC]

### `more` et `cat` - Visualiser le contenu d'un fichier

:::info
`more [OPTIONS...] FILENAME` 
:::

*Permet de visualiser le contenu un fichier avec pause. Utilisation de la touche **espace** pour continuer la lecture du fichier et **q** pour quitter.*

:::info
`cat [OPTIONS...] FILENAME` 
:::

*Affiche le contenu du fichier FILENAME dans la sortie standard*

### `ls` - Visualiser le contenu d'un dossier
:::info
`ls [OPTIONS...] FOLDERNAME` 
:::

| Option | Signification | 
| -------- | -------- | 
| -a     | Affiche aussi les fichiers et dossiers cachés      | 
| -A     | Affiche aussi les fichiers et dossiers cachés  à l'exception de `.` et `..`    | 
| -h     | Affiche les tailles de fichiers dans un format plus lisible     | 
| -l     | Affiche le contenu du dossier en ligne avec, dans l'ordre, les droits, le propriétaire, le groupe, la taille, la date de modification et le nom de chaque fichier | 
| -R     | Liste récursive du contenu des dossiers (arborescence complète - arbre de fichiers)     | 
| -r     |  Inverser le tri du contenu des répertoires   | 
| -t     | Affichage des fichiers par ordre de modification en commençant par le plus récent     | 
| -v     |  Trier le contenu des répertoires en fonction de la version des fichiers  (ex : ls -1v)  | 
| -X     |  Trier l'affichage du contenu par ordre alphabétique des extensions (les fichiers sans extension sont affichés en premier)    | 

### `mkdir` - Créer un dossier
:::info
`mkdir [OPTIONS...] FOLDERNAMES...` 
:::

*Il est possible de créer plusieurs dossier, séparés par un espace*

| Option | Signification | 
| -------- | -------- | 
| -m XXX    | Permet de spécifier les droits sur le nouveau dossier (au format décimal, voir [Utilisateurs et droits](/@aprimault/unix_usr_rights) )    |
| -p     | Création récursive des dossiers     | 
| -v     | Affiche un message quand le dossier a été créé (verbose)     |
| -z     | SELinux default security context     |

### `rm` - Supprimer un fichier/dossier

:::info
`rm [OPTIONS...] NAME` 
:::

*Par défaut, ne demande pas de confirmation de suppression*

| Option | Signification | 
| -------- | -------- | 
| -f     | Forcer l'effacement du fichier ou du dossier et désactive le fonctionnement de l'option `-i`  | 
| -i     | Demander à l'utilisateur de confirmer l'effacement de chaque fichier    | 
| -r     | Supprimer récursivement le contenu des répertoires ainsi que le répertoire. Option obligatoire pour supprimer un répertoire non vide   |

:::warning
Variante : `rmdir [OPTIONS...] FOLDERNAME` 
**Supprimer un dossier. Ne fonctionne que si le dossier est vide**
:::

### `cp` - Copier un fichier ou un dossier
:::info
`cp [OPTIONS...] NAME` 
:::

| Option | Signification | 
| -------- | -------- | 
| -f     | Force la copie d'un élément. L'absence de cette option n'empêche pas l'écrasement d'un fichier par celui copié et désactive le fonctionnement de l'option `-i`   | 
| -i     | Demander confirmation avant d'écraser un fichier dans la destination    | 
| -R     | Copier récursivement les répertoires     |
| -v     | Affiche les éléments copiés (verbose)    |

:::danger
- Si un fichier est copié dans un dossier contenant un fichier de même nom, l'ancien fichier sera écrasé.
- Si un dossier est copié dans un dossier contenant un dossier de même nom, les 2 dossiers seront fusionnés récursivement. La règle précédente pour les fichiers s'applique pour les fichiers contenu dans le dossier et l'intégralité de ses sous-dossiers.
:::

### `mv` - Déplacer un fichier ou un dossier
:::info
`mv [OPTIONS...] NAME` 
:::

| Option | Signification | 
| -------- | -------- | 
| -f     | Force le déplacement d'un élément. L'absence de cette option n'empêche pas l'écrasement d'un fichier par celui copié et désactive le fonctionnement de l'option `-i`  | 
| -i     | Demander confirmation avant d'écraser un fichier dans la destination    | 
| -v     | Affiche les éléments déplacés (verbose)     |

:::danger
- Si un fichier/dossier est déplacé dans le même dossier, il est renommé.
- Si un fichier est déplacé dans un dossier contenant un fichier de même nom, l'ancien fichier sera écrasé.
- Si un dossier est déplacé dans un dossier contenant un dossier de même nom, les 2 dossiers seront fusionnés récursivement. La règle précédente pour les fichiers s'applique pour les fichiers contenu dans le dossier et l'intégralité de ses sous-dossiers.
:::

### `cut` - Découper une chaine de caractère
:::info
`cut -fSTART[-][-END] -d'DELIMITER'`
Utilise le résultat de la sortie de la commande précédente. Voir les exemples d'utilisation.
:::

| Option | Utilisation | 
| -------- | -------- | 
| -d     | Délimiteur. Composé d'**un seul** caractère qui sera utilisé pour découper la chaine     | 
| -f     | Numéro de l'occurence à afficher. Peut être un intervale. (Voir les exemples d'utilisation)      | 

:::success
**Exemple d'utilisation :**
- `echo "a.b.c" | cut -d'.' -f2`
Sortie : `b`
- `echo "a.b.c.d.e" | cut -d'.' -f2-4`
Sortie : `b.c.d` 
- `echo "a.b.c.d.e" | cut -d'.' -f2-`
Sortie : `b.c.d.e` 
:::

### `pwd` - Chemin du répertoire courant
:::info
`pwd`
:::

Affiche le chemin absolu du répertoire courant.

### `cd` - Changer le répertoire courant 
:::info
`cd DIRECTORYPATH`
:::

### `find` - Trouver un fichier
:::info
`find PATH -name PATTERN`
:::
- `PATH` = Dossier dans lequel rechercher
- `PATTERN` = Expression utilisée pour la recherche (expression régulière ou nom de fichier)

### `touch` - Créer un fichier
:::info
`touch FILENAME`
:::

*Si le fichier existe, met à jour sa date de modification*

### `wc` - Compter le nombre de caractères, mots ou lignes d'un fichier
:::info
`wc [OPTIONS...] FILENAME`
`... | wc [OPTIONS...]`
:::

| Option | Signification | 
| -------- | -------- | 
| -c     | Compte les caractères du fichier (nombre d'octets)    | 
| -l     | Compte les lignes du fichier    | 
| -w     | Compte les mots du fichier    | 

### `chown` - Changer le propriétaire d'un fichier

:::info
`chown USERNAME FILENAME`
:::

:::danger
On ne peut pas reprendre un fichier donné à un autre utilisateur.
:::

### `chgrp` - Changer le groupe d'un fichier
:::info
`chgrp GROUPNAME FILENAME`
:::

### `chmod` - Changer les droits d'un fichier
:::info
`chmod DROITS FILENAME`
:::
![](https://i.imgur.com/u91nglv.png)
*Page 36-38 diapo 6 pages en 1*


### `sort` - Trier des lignes et les afficher
:::info
`... | sort`
`sort [OPTIONS...] FILENAMES...`
:::

| Option | Signification | 
| -------- | -------- | 
| -m     | Concatène les fichiers avant de trier les lignes     | 

### `grep` - Sélection de lignes
Voir [Expression régulières](/@aprimault/regex)

### `who` - Voir les utilisateurs connectés
:::info
`who`
:::

```bash=
# Exemple de sortie
local    console  Sep 25 08:14 
local    ttys000  Sep 29 16:17
```

### `whoami` - Affiche le pseudo de l'utilisateur courant
:::info
`whoami`
:::

```bash=
# Exemple de sortie
local
```

### `ps` - Processus
:::info
`ps`
:::

*Affiche l'état des processus en cours*

### `set` - Affichage des variables d'environnement
:::info
`set`
:::

### `alias` - Création d'un alias de commande
:::info
`alias ALIASNAME='COMMAND'`
:::

Liste des alias avec la commande `alias` seule.

### `head` - Afficher le début d'un fichier
:::info
`head -N FILENAME`
:::

*Affiche les N premières lignes d'un fichier*

### `tail` - Afficher la fin d'un fichier
:::info
`tail -N FILENAME`
:::

*Affiche les N dernières lignes d'un fichier*