# Commandes ### Supprimer le contenu d’un repertoire Linux: On se place dans le répertoire puis: `bruno@macbook-pro:~/Desktop/folder$ rm -rf *` ou alors: `bruno@macbook-pro:~/Desktop/folder$ rm -rf ton_repertoire/*` ### Copier tous les fichiers .zip dans un autre dossier: ```bash $ cp *.zip /volume1/Backup/ ``` ### Déplacer un fichier vers un dossier parent: ```bash $ mv plex.zip ../../.. ``` ### Connaitre le SHELL utilisé: ```bash $ echo $SHELL /opt/bin/bash ``` ### Aller au répertoire utilisateur: ```bash $ cd $HOME ``` ### Afficher les numéros de ligne avec cat: ```bash $ cat --number foo.c | more $ cat -n foo.c | less ``` ### Commentaire multi-lignes: ```bash #!/bin/bash echo "Say Something" < $ usermod -aG sudo # ou $ sudo gpasswd -a sudo Adding user to group sudo ``` Retirer les privilèges super-utilisateur (sudo) à un utilisateur: ```bash $ sudo deluser sudo $ sudo gpasswd -d sudo # retire de tous les groups sauf de son groupe individuel $ usermod -G "" ``` ### Code de sortie (code de retour): Chaque commande renvoie un *code de sortie* (quelque fois nommé *état de retour* ). Une commande ayant réussi renvoie un 0. Une commande ayant échoué renvoie une valeur différente de zéro qui est habituellement interprétable comme un code d'erreur. De même, les fonctions dans un script et le script lui-même renvoient un code de sortie. La dernière commande exécutée dans la fonction ou le script détermine le code de sortie. À l'intérieur d'un script, une commande **exit nnn** peut être employée pour retourner un code de sortie *nnn* au shell (*nnn* doit être un nombre décimal compris entre 0 et 255). ```bash $ hostname silverbook.home $ echo $? 0 $ hostnam -bash: hostnam: command not found $ echo $? 127 ``` ```bash $ hostname silverbook.home bruno@SilverBook:~/.kymsu/plugins.d$ if [ $? -eq 0 ]; then echo "ok"; else echo "nok"; fi ok ``` ```bash $ pip3 install -U "pip" ret=$? # pas d'update: ret=0 [ $ret -eq 0 ] && echo -e "No update available !" if [ $ret -eq 0 ]; then echo -e "No update available !" fi ```