$_ShellDojo

Mémo

Toutes les commandes du rang Bronze

Ta référence rapide, avec le glossaire à la fin. Garde-la ouverte à côté de ton vrai terminal.

01 Bienvenue dans le terminal
whoami

Affiche ton nom d'utilisateur.

whoami = « who am I ? ». Utile quand on jongle entre plusieurs comptes.

echo Salut

Affiche le texte Salut dans le terminal.

echo répète ses arguments. Les guillemets sont optionnels ici : echo "Salut" marche aussi.

clear

Efface l'écran du terminal (avec une commande).

clear efface l'écran. Raccourci : Ctrl+L.

02 Où suis-je ?
pwd

Affiche le chemin complet du dossier où tu te trouves.

pwd = Print Working Directory.

echo ~

Affiche le chemin complet de ton dossier personnel, sans utiliser pwd.

~ (et la variable $HOME) sont remplacés par /home/apprenti avant l'exécution.

cat /etc/hostname

Affiche le contenu du fichier hostname situé dans /etc, avec un chemin absolu.

Un chemin absolu commence à la racine /.

03 Regarder autour de soi
ls

Liste le contenu du dossier courant.

ls = list.

ls -a

Liste le dossier courant en incluant les fichiers cachés.

-a = all. Les fichiers cachés commencent par un point.

ls -l

Liste le dossier courant au format long (taille, date, propriétaire).

-l = long listing format.

ls Documents

Liste le contenu du dossier Documents sans t'y déplacer.

Le dossier à lister se donne en argument.

ls -lah

Liste tout (fichiers cachés compris), au format long, avec des tailles lisibles.

Les options se combinent dans n'importe quel ordre : -lah, -hal, -l -a -h…

04 Se déplacer
cd ..

Remonte dans le dossier parent.

.. désigne toujours le parent.

cd

Retourne dans ton dossier personnel (la version la plus courte).

cd sans argument ramène dans ~.

cd -

Reviens dans le dossier où tu étais juste avant.

cd - = bouton retour.

cd /etc

Va dans le dossier /etc, d'où que tu sois.

Un chemin absolu commence par /.

cd ../Documents

Tu es dans ~/Téléchargements. Va dans ~/Documents en une commande, avec un chemin relatif.

Remonte (..) puis descends (/Documents).

05 Créer
mkdir photos

Crée un dossier nommé photos.

mkdir = make directory.

touch notes.txt

Crée un fichier vide nommé notes.txt.

touch crée un fichier vide s'il n'existe pas.

mkdir -p a/b/c

Crée les dossiers a, a/b et a/b/c en une seule commande.

-p = parents : crée les dossiers intermédiaires manquants.

mkdir "Mes notes"

Crée un unique dossier nommé « Mes notes ».

Guillemets ou antislash pour garder l'espace dans un seul argument.

06 Lire des fichiers
cat recette.txt

Affiche tout le contenu du fichier recette.txt.

cat = concatenate.

head -n 5 journal.log

Affiche les 5 premières lignes de journal.log.

head -n N = les N premières lignes.

tail -n 3 journal.log

Affiche les 3 dernières lignes de journal.log.

tail -n N = les N dernières lignes.

wc -l journal.log

Compte les lignes du fichier journal.log.

wc -l = word count, lines only.

file mystere

Découvre le vrai type du fichier mystere.

file inspecte le contenu, pas l'extension.

07 Écrire dans des fichiers
echo "Bonjour" > salut.txt

Écris la ligne Bonjour dans salut.txt (en remplaçant son contenu).

> crée ou écrase le fichier.

echo "suite" >> salut.txt

Ajoute la ligne suite à la fin de salut.txt, sans rien effacer.

>> ajoute à la fin.

ls > liste.txt

Enregistre la liste des fichiers du dossier courant dans liste.txt.

Toute sortie peut être redirigée.

ls | wc -l

Compte le nombre d'éléments du dossier courant avec un pipe.

| branche la sortie de ls sur l'entrée de wc.

08 Copier, déplacer, renommer
cp notes.txt notes.bak

Fais une copie de notes.txt nommée notes.bak.

cp source destination.

cp -r projet projet-copie

Copie le dossier projet (et tout son contenu) vers projet-copie.

-r = récursif.

mv brouillon.txt lettre.txt

Renomme brouillon.txt en lettre.txt.

Renommer, c'est déplacer vers un nouveau nom.

mv *.jpg Images

Déplace tous les fichiers .jpg du dossier courant dans Images.

Le shell remplace *.jpg par la liste des fichiers.

cp -i a.txt b.txt

Copie a.txt vers b.txt en demandant confirmation si b.txt existe.

-i = interactive.

09 Supprimer sans trembler
rm vieux.txt

Supprime le fichier vieux.txt.

Définitif : pas de corbeille.

rm -i vieux.txt

Supprime vieux.txt en demandant confirmation.

-i = interactive.

rmdir vide

Supprime le dossier vide nommé vide, de la manière la plus sûre.

rmdir refuse les dossiers non vides.

rm -r brouillons

Supprime le dossier brouillons et tout son contenu.

-r = récursif. -f ajouterait « sans rien demander ».

10 Trouver de l'aide
man ls

Ouvre le manuel complet de ls.

man = manual. q pour quitter.

rm --help

Affiche l'aide rapide de rm.

--help fonctionne avec la plupart des commandes.

type cd

Découvre si cd est un programme, un alias ou une commande interne.

cd est une primitive (un builtin) du shell.

history

Affiche la liste de tes commandes précédentes.

Les flèches ↑ ↓ parcourent le même historique.

sudo !!

Relance la dernière commande, avec sudo devant.

!! est remplacé par la dernière commande.

Glossaire

Alias
Un raccourci vers une commande plus longue : sur Ubuntu, ll vaut ls -alF. type les démasque.
Argument
Ce sur quoi une commande agit, écrit après son nom : dans cat notes.txt, l'argument est notes.txt.
Chemin absolu
Un chemin qui part de la racine et commence donc par /, comme /var/log. Il marche d'où que tu sois.
Chemin relatif
Un chemin qui part du dossier où tu es, sans / au début : Documents/notes.txt, ../Images.
Dossier personnel
Ton dossier à toi, /home/apprenti ici, abrégé en ~. Le terminal s'ouvre dedans.
Extension
La fin d'un nom de fichier après le point (.txt, .jpg). Sous Linux, ce n'est qu'une partie du nom : file dit ce que contient vraiment le fichier.
Fichier caché
Un fichier dont le nom commence par un point (.bashrc). ls ne le montre qu'avec -a.
Joker
Un caractère que le shell remplace par les noms de fichiers qui correspondent : * (n'importe quoi), ? (un caractère).
Option
Un réglage qui modifie le comportement d'une commande. Elle commence par - (ls -l) ou -- (ls --all).
Pipe (tuyau)
Le symbole |, qui branche la sortie d'une commande sur l'entrée de la suivante : ls | wc -l.
Primitive (builtin)
Une commande intégrée au shell lui-même, comme cd ou history, et non un programme à part.
Prompt (invite)
La ligne qui attend ta commande, comme apprenti@ubuntu:~$ : qui tu es, sur quelle machine, dans quel dossier.
Racine
Le dossier tout en haut de l'arbre des fichiers, noté /. Tous les autres sont dedans.
Récursif
Qui agit sur un dossier et tout ce qu'il contient, sous-dossiers compris : cp -r, rm -r.
Redirection
Envoyer la sortie d'une commande dans un fichier : > écrase le fichier, >> ajoute à la fin.
root
L'administrateur de la machine, qui a tous les droits. Son prompt se termine par # au lieu de $. À ne pas confondre avec la racine /.
Shell
Le programme qui lit tes commandes, les interprète et les exécute. Sur Ubuntu, c'est Bash. Le terminal est la fenêtre, le shell le cerveau.
Sortie standard
Là où une commande écrit ses résultats : l'écran, sauf si on la redirige avec > ou |.
Terminal
La fenêtre où l'on tape des commandes et où s'affichent leurs résultats. Elle transmet tout au shell.