⌨️ Commandes de base

Ces cours préparent au
Titre Professionnel "Administrateur d’infrastructures sécurisées " - RNCP37680
Reconnu par France Compétences
🕹️ À quoi ressemble une commande ?
Pour effectuer diverses actions sur un système Linux (comme lancer un programme, naviguer dans l’arborescence des fichiers, ou modifier les permissions d’un fichier ou d’un dossier), des commandes sont utilisées. Ces commandes sont généralement structurées de la manière suivante :
<nom de la commande> <options> <arguments>Exemple :
ls -l /home
Dans cet exemple, ls est la commande pour lister le contenu d’un répertoire, -l est une option pour obtenir une liste détaillée, et /home est l’argument qui spécifie le répertoire à lister.
Liste non exhaustive des commandes couramment utilisées
📂 Trouver le répertoire courant
Pour localiser sa position dans l'arborescence, on utilise la commande pwd (print working directory) :
pwd📋 Lister le contenu d'un répertoire
La commande ls affiche le contenu d'un dossier :
lsPour voir le contenu d'un autre dossier, on ajoute son chemin comme argument :
ls /homeLa commande ls offre plusieurs options utiles :
-a: affiche les fichiers cachés (commençant par.)-l: affiche les détails (permissions, taille, propriétaire)-R: liste récursive des sous-dossiers-lh: taille des fichiers en format lisible (Ko, Mo, Go)-t: tri par date de modification
Pour voir toutes les options disponibles :
ls --help📕 Accéder au manuel d'utilisation
La commande man affiche le manuel détaillé de n'importe quelle commande :
man lsAppuyez sur q pour quitter.
📒 Comprendre les chemins
Dans le système de fichiers Linux :
. représente le répertoire courant .. représente le répertoire parent
Deux types de chemins existent :
- Chemin absolu : depuis la racine
/(ex:/home/ubuntu) - Chemin relatif : depuis la position actuelle (ex:
../dossier)
Exemples d'utilisation :
ls ..ls ../../usr/binLes chemins absolus et relatifs sont interchangeables dans la plupart des cas.
⛵ Naviguer dans l’arborescence de fichier
La commande cd (change directory) permet de naviguer entre les répertoires. Pour aller à la racine :
cd /🫳 Manipulation de fichiers et dossiers
📁 Créer un fichier
La commande touch permet de créer un fichier vide :
touch fileSi le fichier existe déjà, seule sa date de modification est mise à jour.
🗃️ Créer un répertoire
La commande mkdir crée un nouveau répertoire :
mkdir nouveau_dossierOn utilise ls pour vérifier la création du dossier.
Dans /home, les permissions sont plus restrictives qu'en /home/ubuntu. Pour y créer des fichiers ou dossiers, on utilise sudo avant la commande pour obtenir les privilèges administratifs nécessaires.
Par exemple :
sudo mkdir rootdev.
On peut aussi créer un fichier en spécifiant son chemin complet :
sudo touch ./rootdev/index_linux.md❌ Supprimer un fichier
La commande rm supprime fichiers et dossiers. Exemple avec index_linux.md :
rm index_linux.mdou avec chemin relatif/absolu :
rm ./index_linux.mdrm /home/rootdev/index_linux.mdPour supprimer un dossier et son contenu, on utilise -r :
sudo rm -r /home/rootdev➡️ Copier, coller ou déplacer un fichier ou un dossier
- Pour copier ou déplacer des fichiers, on utilise
cpoumv. Exemple de copie :
sudo cp ./index_linux.md /home/rootdev2/On peut utiliser des chemins relatifs et absolus dans la même commande.
Pour copier en renommant :
sudo cp ./index_linux.md /home/rootdev2/backup.mdPour déplacer en renommant :
sudo mv ./index_linux.md /home/rootdev2/backup.md💡 Astuces supplémentaires :
- Utiliser
mvpour renommer un fichier dans le même répertoire.- Vérifier les modifications avec la commande
ls -R.- Pour copier des dossiers, ajouter l'option
-rà la commandecp.
🖨️ Imprimer du contenu dans le terminal et dans un fichier
Pour imprimer du texte dans le terminal, on utilise la commande echo :
echo Hello World !La sortie peut être redirigée vers un fichier avec > (écrase) ou >> (ajoute) :
echo Hello World ! > index_linux.mdPour lire un fichier, utilisez cat :
cat index_linux.md
> Hello World !Pour les fichiers volumineux, on peut rediriger la sortie vers un fichier :
ls -aRlth > content.txtOn utilise head ou tail avec -n pour afficher un nombre spécifique de lignes :
head -n 10 content.txtou
tail -n 10 content.txt💬 Les éditeurs de texte
Nano et Vim : ces outils permettent de modifier des fichiers directement en ligne de commande.
1️⃣ Nano
Nano est un éditeur simple pour débutants. Pour l'utiliser :
nano content.txt- Écrire et éditer du texte : - Naviguer avec les flèches
- J'écris du texte dans mon fichier blablablabla.- Commandes essentielles :
- Enregistrer :
Ctrl + O, puisEntrée. - Quitter :
Ctrl + X. - Couper une ligne :
Ctrl + K. - Coller une ligne :
Ctrl + U.
- Enregistrer :
2️⃣ Vim
Vim est un éditeur de texte avancé avec deux modes principaux :
- Ouvrir un fichier :
vim content.txt- Modes principaux :
- Mode normal : Navigation et commandes
- Mode insertion : Édition (touche
i)
- Commandes essentielles :
- Enregistrer et quitter :
:wq - Quitter sans enregistrer :
:q! - Supprimer :
dd| Copier :yy| Coller :p
- Enregistrer et quitter :
Pratique régulière recommandée pour maîtriser ces commandes de base.
🔀 Les flux de redirection
➡️ Redirections des sorties
En utilisant > et >>, on peut rediriger la sortie standard vers des fichiers. La sortie standard contient le résultat des commandes, tandis que l'erreur standard affiche les messages d'erreur. Par défaut, les deux s'affichent dans la console.
Les flux de sortie peuvent être redirigés vers d'autres destinations, comme des fichiers texte.
Si on exécute la commande ci-dessous, elle va générer une erreur :
cat no_filePour rediriger cette erreur générée vers un fichier, on utilise 2> ou 2>> :
cat no_file 2> errors_fileSignifications
< = <
> = >
≤ = ≤
≥ = ≥
Le message d'erreur sera enregistré dans errors_file au lieu de s'afficher dans la console.
Pour visualiser le contenu de ce fichier :
head errors_fileLes descripteurs de fichier sont :
- 0 (entrée standard)
- 1 (sortie standard)
- 2 (erreur standard).
> est l'équivalent de 1>, et l'entrée standard utilise < ou 0<.
Si on exécute la commande suivante :
head < root_contentCette commande est identique à head root_content. L'entrée standard < permet de passer le contenu d'un fichier en argument.
Exemple :
On crée le fichier nom.py avec la commande nano nom.py avec le contenu suivant :
name = input("Entrez votre nom\n")
print("Bonjour {} !".format(name))Ensuite, on écrit RootDev dans un fichier texte prenom via la sortie standard.
echo RootDev > prenom
On exécute notre "script" Python :
python3 nom.py < prenom
> Bonjour RootDev !Sans l'entrée standard, le programme demanderait le prénom avant d'afficher le message de bienvenue.
🔹 Opérateur pipe |
L'opérateur | permet d'utiliser la sortie d'une commande comme entrée d'une autre.
Exemple :
ls / | grep binls / affiche le contenu de la racine et grep filtre les lignes contenant bin. Les pipes peuvent être enchaînés :
L'opérateur && permet simplement d'enchaîner des commandes indépendantes.
ls -l && python3 --version && mkdir RootDevSi une commande échoue, les suivantes ne sont pas exécutées (évaluation paresseuse).
