Commandes de base Linux

Utilisation des commandes Linux

Gestion des fichiers et disques

  • (i) Listage de fichiers : ls
  • (ii) Redirection de sortie : >
  • (iii) Affichage paginé : more
  • (iv) Tubes : |
  • (v) Effacement de l'écran : clear
  • (vi) Changement de répertoire : cd
  • (vii) Affichage du chemin courant : pwd
  • (viii) Création de répertoires : mkdir
  • (ix) Suppression de répertoires : rmdir
  • (x) Suppression de fichiers : rm
  • (xi) Création de liens symboliques : ln
  • (xii) Affichage ou concaténation de fichiers : cat
  • (xiii) Recherche de texte : grep
  • (xiv) Recherche de fichiers : find
  • (xv) Copie de fichiers : cp
  • (xvi) Déplacement de fichiers : mv
  • (xvii) Archivage : tar
  • (xviii) Compression et décompression : gzip
  • (xix) Compression et décompression : bzip2
  • (xx) Compression et décompression : zip, unzip
  • (xxi) Localisation des commandes : which

I. Utilisation des commandes Linux

(i). Format des commandes Linux :

commande  [-options]  [paramètre1]  …

Explications :

commande : nom de la commande, mot anglais ou abréviation correspondant à la fonction [-options] : options, permettent de contrôler la commande, peuvent être omises, [] signifie optionnel paramètre1 … : paramètres passés à la commande : peut être zéro, un ou plusieurs

(ii). Consultation de la documentation

1 : --help

Généralement, informations d'aide intégrées aux commandes Linux

Exemple : ls --help

2 : man (manuel)

man est un manuel fourni par Linux, contenant la plupart des commandes et fonctions avec leurs explications

Ce manuel est divisé en plusieurs sections, on peut spécifier différentes sections lors de la consultation.

Exemple : man ls ; man 2 printf

Signification des sections de man :

  1. Commandes standard
  2. Appels système (comme open, write)
  3. Fonctions de bibliothèque (comme printf, fopen)
  4. Périphériques spéciaux (explications des fichiers de périphériques dans /dev)
  5. Formats de fichiers (comme passwd)
  6. Jeux et divertissements
  7. Divers (conventions, protocoles, variables globales comme environ)
  8. Commandes administratives (comme ifconfig)

man recherche dans les sections dans l'ordre numérique.

Fonctionnalités de man :

Touche Fonction
Espace Affiche la suivante du manuel
Entrée Fait défiler le manuel ligne par ligne
b Recule d'un écran
f Avance d'un écran
q Quitte la commande man
h Liste toutes les touches de fonction
/mot Recherche la chaîne de caractères mot

Note : On peut consulter sans spécifier la section, par exemple : man ls

(iii). Complètement automatique :

En tapant les premières lettres d'une commande puis la touche tab, le système complète automatiquement la commande

(iv). Historique des commandes :

Après l'exécution de commandes, on peut utiliser les touches haut/bas pour parcourir l'historique, history liste les commandes exécutées

II. Gestion des fichiers et disques

(i) Listage de fichiers : ls

  1. Afficher les informations sur les fichiers : ls

ls est l'abréviation de "list", sa fonction est de lister le contenu des répertoires, c'est l'une des commandes les plus utilisées par les utilisateurs, similaire à la commande dir sous DOS.

Les noms de fichiers ou répertoires Linux peuvent comporter jusqu'à 265 caractères, "." représente le répertoire courant, ".." représente le répertoire parent, les fichiers commençant par "." sont des fichiers cachés, l'option -a est nécessaire pour les afficher.

Paramètres courants de ls :

Paramètre Signification
-a Affiche tous les sous-répertoires et fichiers du répertoire spécifié, y compris les fichiers cachés
-l Affiche les détails des fichiers sous forme de liste
-h Associé à -l, affiche la taille des fichiers de manière lisible

Comme sous DOS/Windows, Unix/Linux permet également d'utiliser des caractères spéciaux pour référencer plusieurs noms de fichiers en même temps. Ces caractères spéciaux sont appelés métacaractères.

Métacaractère Signification
* Représente tous les caractères du nom de fichier
ls te* Recherche les fichiers commençant par te
ls *html Recherche les fichiers se terminant par html
? Représente un seul caractère quelconque dans le nom de fichier
ls ?.c Recherche les fichiers avec un caractère quelconque suivi de .c
ls a.? Recherche les fichiers avec exactement 3 caractères, les deux premiers étant a., le dernier quelconque
[] Les caractères entre crochets correspondent à n'importe quel caractère de l'ensemble. "-" indique une plage de caractères.
[abc] Correspond à a, b ou c
[a-f] Correspond à n'importe quel caractère de a à f
ls [a-f]* Trouve les fichiers commençant par un caractère entre a et f
ls a-f Recherche les fichiers nommés a-f, le "-" perd son rôle de métacaractère en dehors des crochets
\ Pour utiliser un métacaractère comme caractère ordinaire, ajoutez le caractère d'échappement devant. "?" et "*" perdent leur fonction de métacaractère lorsqu'ils sont à l'intérieur des crochets.
ls \*a Recherche les fichiers nommés *a

(ii) Redirection de sortie : >

Linux permet de rediriger le résultat d'une commande vers un fichier, le contenu qui devrait s'afficher dans le terminal est sauvegardé dans le fichier spécifié.

Par exemple : ls > test.txt (si test.txt n'existe pas, il est créé, s'il existe, son contenu est écrasé)

Note : > redirige et écrase le contenu existant, >> redirige et ajoute à la fin du fichier.

(iii) Affichage paginé : more

Lors de l'affichage de contenu trop long pour tenir sur un écran, l'écran défile rapidement et l'utilisateur ne peut pas lire correctement le contenu. La commande more permet d'afficher une page à la fois, la touche espace affiche la page suivante, q quitte l'affichage, h affiche l'aide.

(iv) Tubes : |

Un tube : la sortie d'une commande peut servir d'entrée à une autre commande via un tube.

On peut comparer un tube à un tuyau réel : on met quelque chose d'un côté, on récupère de l'autre. Le "|" a deux extrémités : l'extrémité gauche reçoit (écrit), l'extrémité droite envoie (lit).

(v) Effacement de l'écran : clear

clear efface l'affichage du terminal (similaire à cls sous DOS), on peut aussi utiliser le raccourci : Ctrl + l ("l" est une lettre).

(vi) Changement de répertoire : cd

Lors de l'utilisation d'Unix/Linux, il est souvent nécessaire de changer de répertoire de travail. La commande cd aide l'utilisateur à changer de répertoire de travail. Tous les répertoires et noms de fichiers Linux sont sensibles à la casse

cd peut être suivi d'un chemin absolu ou relatif. Si le répertoire est omis, on revient par défaut au répertoire principle de l'utilisateur.

Commande Signification
cd Change vers le répertoire principal de l'utilisateur (/home/nom_utilisateur), c'est le répertoire par défaut à la connexion.
cd ~ Change vers le répertoire principal de l'utilisateur (/home/nom_utilisateur)
cd . Change vers le répertoire courant
cd .. Change vers le répertoire parent
cd - Retourne au répertoire précédent

Note : Si le chemin commence à la racine, il doit être précédé de "/", comme "/mnt". Pour entrer dans un sous-répertoire, on n'ajoute généralement pas "/" devant.

(vii) Affichage du chemin courant : pwd

La commande pwd affiche le répertoire de travail courant. Cette commande est simple, il suffit de taper pwd sans paramètre.

(viii) Création de répertoires : mkdir

La commande mkdir permet de créer un nouveau répertoire. L'option -p permet de créer des répertoires récursivement. (touch crée des fichiers)

Note : Le nom du nouveau répertoire ne doit pas être identique à un répertoire ou fichier existant dans le répertoire courant, et le créateur doit avoir les droits d'écriture sur le répertoire courant.

(ix) Suppression de répertoires : rmdir

On peut utiliser la commande rmdir pour supprimer un répertoire. Il faut impérativement être en dehors du répertoire à supprimer, et celui-ci doit être vide, sinon la suppression échoue.

(x) Suppression de fichiers : rm

On peut utiliser rm pour supprimer des fichiers ou répertoires. Attention avec rm, car les fichiers supprimés ne peuvent pas être récupérés. Pour éviter la suppression accidentelle, on peut utiliser l'option -i avec rm pour confirmer un par un les fichiers à supprimer.

Paramètres courants et leurs significations :

Paramètre Signification
-i Mode interactif
-f Suppression forcée, ignore les fichiers inexistants, sans confirmation
-r Suppression récursive du contenu du répertoire, obligatoire pour supprimer des répertoires

(xi) Création de liens symboliques : ln

Les liens symboliques Linux sont similaires aux raccourcis sous Windows.

Il existe deux types de liens : les liens symboliques (soft links) et les liens physiques (hard links).

Liens symboliques : n'occupent pas d'espace disque, deviennent invalides si le fichier source est supprimé.

Liens physiques : ne peuvent lier que des fichiers normaux, pas des répertoires.

Format d'utilisation :

ln fichier_source fichier_lien
ln -s fichier_source fichier_lien (abréviation de "soft")

Si l'option -s est absente, on crée un lien physique. Les deux fichiers occupent la même espace disque, même si le fichier source est supprimé, le lien reste valide. L'option -s est donc plus couramment utilisée.

Note : Si le lien symbolique et le fichier source ne sont pas dans le même répertoire, il faut utiliser le chemin absolu pour le fichier source, pas le chemin relatif.

(xii) Affichage ou concaténation de fichiers : cat

(xiii) Recherche de texte : grep

Dans les systèmes Linux, grep est un puissant outil de recherche de texte. grep permet de rechercher des modèles dans des fichiers texte. Si un modèle correspondant est trouvé, grep affiche toutes les lignes contenant le modèle.

Le format général de grep est :

grep [-options] 'chaîne_de_recherche' nom_fichier

Quand on entre une chaîne de caractères en paramètre pour grep, il est préférable de la mettre entre guillemets simples ou doubles. Par exemple : grep 'a' 1.txt.

Options courantes :

Option Signification
-v Affiche toutes les lignes ne contenant pas le texte recherché (équivalent de la négation)
-n Affiche les lignes correspondantes et leur numéro
-i Ignore la casse

La chaîne de recherche dans grep peut être une expression régulière.

Une expression régulière est une formule logique qui opère sur des chaînes de caractères, utilisant des caractères spécifiques et leurs combinaisons pour former une "chaîne de règles" qui exprime une logique de filtrage.

Expressions régulières courantes dans grep :

Paramètre Signification
^a Début de ligne, recherche les lignes commençant par m ; grep -n '^a' 1.txt
ke$ Fin de ligne, recherche les lignes se terminant par ke ; grep -n 'ke$' 1.txt
[Ss]igna[Ll] Correspond à un des caractères de l'ensemble entre crochets ; recherche les mots signal, signaL, Signal, SignaL ; grep -n '[Ss]igna[Ll]' 1.txt
. (point) correspond à un caractère quelconque sauf saut de ligne ; correspond à e et e avec un caractère quelconque entre, peut matcher eee, eae, eve, mais pas ee, eaae ; grep -n 'e.e' 1.txt

(xiv) Recherche de fichiers : find

La commande find est très puissante, elle permet généralement de rechercher des fichiers répondant à certains critères dans un répertoire spécifique, ou de rechercher des fichiers appartenant à un utilisateur spécifique.

Utilisations courantes :

Commande Signification
find ./ -name test.sh Recherche tous les fichiers nommés test.sh dans le réperotire courant
find ./ -name '*.sh' Recherche tous les fichiers avec l'extension .sh dans le répertoire courant
find ./ -name "[A-Z]*" Recherche tous les fichiers commençant par une majuscule dans le répertoire courant
find /tmp -size 2M Recherche les fichiers de 2M dans le répertoire /tmp
find /tmp -size +2M Recherche les fichiers supérieurs à 2M dans le répertoire /tmp
find /tmp -size -2M Recherche les fichiers inférieurs à 2M dans le répertoire /tmp
find ./ -size +4k -size -5M Recherche les fichiers entre 4k et 5M dans le répertoire courant
find ./ -perm 777 Recherche les fichiers ou répertoires avec les permissions 777 dans le répertoire courant

(xv) Copie de fichiers : cp

La commande cp copie les fichiers ou répertoires donnés vers un autre fichier ou répertoire, équivalent de la commande copy sous DOS.

Options courantes :

Option Signification
-a Généralement utilisé pour copier des répertoires, conserve les liens et les attributs des fichiers, et copie récursivement les répertoires. En bref, conserve les attributs originaux des fichiers.
-f Écrase les fichiers existants sans demander confirmation
-i Copie interactive, demande confirmation avant d'écraser un fichier existant
-r Si le source est un répertoire, cp copie récursivement tous les sous-répertoires et fichiers, le fichier de destination doit être un nom de répertoire.
-v Affiche la progression de la copie

(xvi) Déplacement de fichiers : mv

L'utilisateur peut utiliser la commande mv pour déplacer des fichiers ou répertoires, ou pour renommer des fichiers ou répertoires.

Options courantes :

Option Signification
-f Mode non interactif, ne demande pas confirmation même si une écrasement se produit
-i Mode interactif, si mv va écraser un fichier existant, le système demande confirmation pour éviter l'écrasement accidentel
-v Affiche la progression du déplacement

(xvii) Archivage : tar

Les données informatiques nécessitent souvent d'être sauvegardées, tar est l'outil de sauvegarde le plus couramment utilisé sous Unix/Linux. Cette commande peut regrouper une série de fichiers dans un seul fichier d'archive, et peut aussi extraire les fichiers de l'archive pour restaurer les données.

Format d'utilisation de tar : tar [paramètres] nom_archive fichiers

La commande tar est particulière, ses paramètres peuvent commencer par "-" ou non.

Paramètres courants :

Paramètre Signification
-c Crée une archive, crée un fichier compressé
-v Liste le détail du processus d'archivage/extraction, affiche la progression
-f Spécifie le nom du fichier d'archive, f doit être suivi d'un fichier .tar, doit être placé en dernier
-t Liste les fichiers contenus dans l'archive
-x Extrait les fichiers de l'archive

Note : Hormis f qui doit être en dernier, les autres paramètres peuvent être dans n'importe quel ordre.

(xviii) Compression et décompression : gzip

tar combiné avec gzip permet de compresser et décompresser des fichiers. tar ne fait que l'archivage sans compression, gzip compresse le fichier archivé par tar, l'extension est généralement .tar.gz.

Format d'utilisation de gzip :

gzip  [options]  fichier_à_compresser

Options courantes :

Option Signification
-d Décompresse
-r Compresse tous les sous-répertoires

La commande tar n'a pas de fonction de compression, elle ne fait que l'archivage. Cependant, en ajoutant une option (-z) à la commande tar, on peut appeler gzip pour compresser, effectuant ainsi un processus d'archivage puis de compression.

Compression : tar cvzf nom_archive fichier1 fichier2 ...

-z : spécifie le format du fichier compressé : .tar.gz

Décompression : tar zxvf nom_archive

-z: spécifie le format du fichier compressé : .tar.gz

Décompression vers un répertoire spécifique : -C (majuscule "C")

(xix) Compression et décompression : bzip2

tar combiné avec bzip2 permet de compresser et décompresser des fichiers (utilisation similaire à gzip).

tar ne fait que l'archivage sans compression, bzip2 compresse le fichier archivé par tar, l'extension est généralement .tar.bz2.

En ajoutant l'option (-j) à la commande tar, on peut appeler bzip2 pour compresser, effectuant ainsi un processus d'archivage puis de compression.

Compression : tar -jcvf nom_archive fichiers... (tar jcvf archive.tar.bz2 *.c)

Décompression : tar -jxvf nom_archive (tar jxvf archive.tar.bz2)

(xx) Compression et décompression : zip, unzip

Pour compresser avec zip, le fichier cible n'a pas besoin d'extension spécifique, l'extension par défaut est zip.

Compression : zip [-r] fichier_cible(sans extension) fichier_source

Décompression : unzip -d répertoire_de_destination fichier_compressé

(xxi) Localisation des commandes : which

Étiquettes: Linux terminal Shell commandes administration système

Publié le 3 juillet à 18h49