Débuter avec GNULinux
- Raccourcis utiles
- Utilisation du terminal
- Ouvrir le terminal
- Mouvement du curseur
- Manipulation de texte
- Accès à l’historique
- Contrôle des terminaux
- Caractères spéciaux
- Commandes de gestion de fichiers
- Navigation dans les répertoires
- Liste des fichiers dans un répertoire
- Fichier/répertoire créer, copier et supprimer
- Autorisations et groupes de fichiers/répertoires
- Bonjour le monde
- Utilitaires Linux de base
- Recherche de fichiers par modèles dans le nom/contenu
- Rechercher des fichiers par nom
- Rechercher des fichiers contenant du texte
- Manipulation de fichiers
- Détails du fichier/répertoire
Sur cette page
- Raccourcis utiles
- Utilisation du terminal
- Ouvrir le terminal
- Mouvement du curseur
- Manipulation de texte
- Accès à l’historique
- Contrôle des terminaux
- Caractères spéciaux
- Commandes de gestion de fichiers
- Navigation dans les répertoires
- Liste des fichiers dans un répertoire
- Fichier/répertoire créer, copier et supprimer
- Autorisations et groupes de fichiers/répertoires
- Bonjour le monde
- Utilitaires Linux de base
- Recherche de fichiers par modèles dans le nom/contenu
- Rechercher des fichiers par nom
- Rechercher des fichiers contenant du texte
- Manipulation de fichiers
- Détails du fichier/répertoire
Raccourcis utiles
Utilisation du terminal
Les exemples de ce document supposent que vous utilisez un shell compatible POSIX (tel que bash, sh, zsh, ksh).
De grandes parties des fonctionnalités GNU/Linux sont réalisées à l’aide du terminal. La plupart des distributions de Linux incluent des émulateurs de terminaux qui permettent aux utilisateurs d’interagir avec un shell depuis leur environnement de bureau. Un shell est un interpréteur de ligne de commande qui exécute les commandes saisies par l’utilisateur. Bash (Bourne Again SHell) est un shell par défaut courant parmi de nombreuses distributions Linux et est le shell par défaut pour macOS.
Ces raccourcis fonctionneront si vous utilisez Bash avec les raccourcis clavier emacs (définis par défaut) :
Ouvrir le terminal
- Ctrl + Alt + T ou Super + T
Mouvement du curseur
- Ctrl + A Aller au début de la ligne sur laquelle vous êtes en train de taper.
- Ctrl + E Aller à la fin de la ligne sur laquelle vous êtes en train de taper.
- Ctrl + XX Se déplacer entre le début de la ligne et la position actuelle du curseur.
- Alt + F Avance le curseur d’un mot sur la ligne courante.
- Alt + B Déplace le curseur d’un mot en arrière sur la ligne courante.
- Ctrl + F Avance le curseur d’un caractère sur la ligne courante.
- Ctrl + B Déplace le curseur d’un caractère en arrière sur la ligne courante.
Manipulation de texte
- Ctrl + U Coupe la ligne de la position actuelle au début de la ligne, en l’ajoutant au presse-papiers. Si vous êtes au bout de la ligne, coupez toute la ligne.
- Ctrl + K Coupe la ligne de la position actuelle à la fin de la ligne, en l’ajoutant au presse-papiers. Si vous êtes au début de la ligne, coupez toute la ligne.
- Ctrl + W Supprimer le mot avant le curseur, en l’ajoutant au presse-papiers.
- Ctrl + Y Collez la dernière chose du presse-papiers que vous avez coupée récemment (annulez la dernière suppression à la position actuelle du curseur).
- Alt + T Échange les deux derniers mots avant le curseur.
- Alt + L Mettre en minuscules du curseur à la fin du mot.
- Alt + U Mettre en majuscule du curseur à la fin du mot.
- Alt + C Mettre en majuscule jusqu’à la fin du mot commençant au curseur (mot entier si le curseur est au début du mot).
- Alt + D Supprimer jusqu’à la fin du mot commençant au curseur (mot entier si le curseur est au début du mot).
- Alt + . Imprime le dernier mot écrit dans la commande précédente.
- Ctrl + T Échange les deux derniers caractères avant le curseur.
Accès à l’historique
- Ctrl + R Vous permet de rechercher parmi les commandes précédemment utilisées.
- Ctrl + G Quitter le mode de recherche d’historique sans exécuter de commande.
- Ctrl + J Vous permet de copier la commande correspondante actuelle sur la ligne de commande sans l’exécuter, ce qui vous permet d’apporter des modifications avant d’exécuter la commande.
- Alt + R Annule toutes les modifications apportées à une commande que vous avez extraite de votre historique, si vous l’avez modifiée.
- Ctrl + P Affiche la dernière commande exécutée, c’est-à-dire revient en arrière dans l’historique des commandes (similaire à la flèche vers le haut).
- Ctrl + N Affiche la prochaine commande exécutée, c’est-à-dire avance dans l’historique des commandes (similaire à la flèche vers le bas).
Contrôle des terminaux
- Ctrl + L Efface l’écran, similaire à la commande clear.
- Ctrl + S Arrête toute sortie à l’écran. Ceci est utile lors de l’exécution de commandes avec beaucoup de sorties longues. Mais cela n’arrête pas la commande en cours d’exécution.
- Ctrl + Q Reprendre la sortie à l’écran après l’avoir arrêtée avec Ctrl+S.
- Ctrl + C Terminer le processus en cours et renvoyer l’invite.
- Ctrl + D Déconnectez-vous de la session shell en cours, similaire à la commande exit ou logout. Dans certaines commandes, agit comme un signal de fin de fichier pour indiquer qu’une fin de fichier a été atteinte.
- Ctrl + Z Suspend (pause) le processus de premier plan en cours d’exécution, qui renvoie l’invite du shell. Vous pouvez ensuite utiliser la commande
bg
permettant à ce processus de s’exécuter en arrière-plan. Pour remettre ce processus au premier plan, utilisez la commandefg
. Pour afficher tous les processus d’arrière-plan, utilisez la commandejobs
. - Tab Fichiers à saisie semi-automatique et noms de répertoires.
- TabTab Affiche toutes les possibilités, lorsque les caractères saisis ne correspondent pas de manière unique à un nom de fichier ou de répertoire.
Caractères spéciaux
- Ctrl + H Identique à Retour arrière.
- Ctrl + J Identique à Return (historiquement Line Feed).
- Ctrl + M Identique à Retour (historiquement Retour chariot).
- Ctrl + I Identique à Tab.
- Ctrl + G Caractère de cloche.
- Ctrl + @ Caractère nul.
- Esc [Deadkey] (https://en.wikipedia.org/wiki/Dead_key) équivaut au modificateur Alt.
Fermer le terminal
- Ctrl + Maj + W Pour fermer l’onglet du terminal.
- Ctrl + Maj + Q Pour fermer tout le terminal.
Alternativement, vous pouvez passer aux raccourcis clavier vi dans bash en utilisant set -o vi
. Utilisez set -o emacs
pour revenir aux raccourcis clavier emacs.
Commandes de gestion de fichiers
Linux utilise certaines conventions pour les répertoires présents et parents. Cela peut être un peu déroutant pour les débutants.
Chaque fois que vous êtes dans un terminal sous Linux, vous serez dans ce qu’on appelle le répertoire de travail actuel. Souvent, votre invite de commande affichera soit le répertoire de travail complet, soit seulement la dernière partie de ce répertoire. Votre invite pourrait ressembler à l’une des suivantes :
[email protected] ~/somedir $
[email protected] somedir $
[email protected] /home/user/somedir $
qui indique que votre répertoire de travail actuel est /home/user/somedir
.
Sous Linux, ..
représente le répertoire parent et
.
représente le répertoire courant.
Par conséquent, si le répertoire courant est /home/user/somedir
, alors cd ../somedir
ne changera pas le répertoire de travail.
Le tableau ci-dessous répertorie certaines des commandes de gestion de fichiers les plus utilisées
Navigation dans les répertoires
Commande | Utilité |
---|---|
mot de passe |
Récupère le chemin complet du répertoire de travail courant. |
cd- |
Accédez au dernier répertoire dans lequel vous travailliez. |
cd ~ ou juste cd |
Accédez au répertoire personnel de l’utilisateur actuel. |
cd .. |
Aller dans le répertoire parent du répertoire courant (attention à l’espace entre cd et .. ) |
Liste des fichiers dans un répertoire
Commande | Utilité |
---|---|
ls-l |
Liste les fichiers et répertoires du répertoire courant au format long (tableau) (il est recommandé d’utiliser -l avec ls pour une meilleure lisibilité). |
ls -ld nom-répertoire |
Liste les informations sur le répertoire dir-name au lieu de son contenu. |
ls-a |
Lister tous les fichiers y compris ceux cachés (Les noms de fichiers commençant par un . sont des fichiers cachés sous Linux). |
ls-F |
Ajoute un symbole à la fin d’un nom de fichier pour indiquer son type (* signifie exécutable, / signifie répertoire, @ signifie lien symbolique, = signifie socket, | signifie canal nommé, > signifie porte). |
ls-lt |
Liste les fichiers triés par date de dernière modification avec les fichiers les plus récemment modifiés affichés en haut (rappelez-vous que l’option -l fournit le format long qui a une meilleure lisibilité). |
ls-lh |
Répertoriez les tailles de fichier dans un format lisible par l’homme. |
ls -lR |
Affiche tous les sous-répertoires de manière récursive. |
arbre |
Génèrera une représentation arborescente du système de fichiers à partir du répertoire courant. |
Fichier/répertoire créer, copier et supprimer
Commande | Utilité |
---|---|
cp -p source destination |
Copiera le fichier de source vers destination. -p signifie préservation. Il préserve les attributs d’origine du fichier lors de la copie comme le propriétaire du fichier, l’horodatage, le groupe, les autorisations, etc. |
cp -R rép_source rép_destination |
Copiera le répertoire source vers la destination spécifiée de manière récursive. |
mv fichier1 fichier2 |
Sous Linux, il n’y a pas de commande rename en tant que telle. Par conséquent, mv déplace/renomme le fichier1 en fichier2. |
rm -i nom_fichier |
Vous demande avant chaque suppression de fichier une confirmation. SI VOUS ÊTES UN NOUVEL UTILISATEUR DE LA LIGNE DE COMMANDE LINUX, VOUS DEVEZ TOUJOURS UTILISER rm -i . Vous pouvez spécifier plusieurs fichiers. |
rm -R nom-répertoire |
Supprime le répertoire dir-name de manière récursive. |
rm -rf nom-répertoire |
Supprime le répertoire dir de manière récursive, en ignorant les fichiers inexistants et ne demandera jamais rien. ATTENTION EN UTILISANT CETTE COMMANDE ! Vous pouvez spécifier plusieurs répertoires. |
rmdir nom-répertoire |
Supprime le répertoire dir-name , s’il est vide. Cette commande ne peut supprimer que les répertoires vides. |
mkdir dir-name |
Créer un répertoire dir-name . |
mkdir -p nom-répertoire/nom-répertoire |
Créer une hiérarchie de répertoires. Créez des répertoires parents selon vos besoins, s’ils n’existent pas. Vous pouvez spécifier plusieurs répertoires. |
touch filename |
Créer un fichier filename , s’il n’existe pas, sinon changer l’horodatage du fichier à l’heure actuelle. |
Autorisations et groupes de fichiers/répertoires
Commande | Utilité |
---|---|
chmod <spécification> nom de fichier |
Modifiez les autorisations de fichier. Spécifications = u utilisateur, g groupe, o autre, + ajouter une permission, - supprimer, r lire, w écrire, x exécuter. |
chmod -R <spécification> nom-répertoire |
Modifier les autorisations d’un répertoire de manière récursive. Pour modifier l’autorisation d’un répertoire et de tout ce qu’il contient, utilisez cette commande. |
chmod go=+r monfichier |
Ajoutez une autorisation de lecture pour le propriétaire et le groupe. |
chmod a +rwx monfichier |
Autoriser tous les utilisateurs à lire, écrire ou exécuter monfichier . |
chmod go -r monfichier |
Supprimer l’autorisation de lecture du groupe et des autres. |
chown owner1 filename |
Changer la propriété d’un fichier à l’utilisateur owner1 . |
chgrp grp_owner filename |
Modifier la propriété du groupe principal du fichier filename au groupe grp_owner . |
chgrp -R grp_owner dir-name |
Modifier la propriété du groupe principal du répertoire dir-name au groupe grp_owner de manière récursive. Pour modifier la propriété du groupe d’un répertoire et de tout ce qu’il contient, utilisez cette commande. |
Bonjour le monde
Tapez le code suivant dans votre terminal, puis appuyez sur Entrée :
echo "Hello World"
Cela produira la sortie suivante :
Hello World
Utilitaires Linux de base
Linux a une commande pour presque toutes les tâches et la plupart d’entre elles sont intuitives et faciles à interpréter.
Obtenir de l’aide sous Linux
Commande | Convivialité |
---|---|
homme <nom> |
Lisez la page de manuel de <nom>. |
man <section> <nom> |
Lisez la page de manuel de <nom>, liée à la section donnée. |
man -k <éditeur> |
Affiche tous les logiciels dont les pages de manuel contiennent le mot-clé <editor>. |
man -K <mot-clé> |
Affiche toutes les pages de manuel contenant <mot-clé> en leur sein. |
à propos <éditeur> |
Sortez toutes les applications dont la description d’une ligne correspond au mot editor. Lorsque pas en mesure de rappeler le nom de l’application, utilisez cette commande. |
aide |
Dans le shell Bash, cela affichera la liste de toutes les commandes bash disponibles. |
aide <nom> |
Dans le shell Bash, cela affichera les informations sur la commande bash <nom>. |
infos <nom> |
Afficher toutes les informations sur <nom>. |
dpkg-l |
Affiche une liste de tous les packages installés sur un système basé sur Debian. |
dpkg -L nompaquet |
Répertoriera les fichiers installés et les détails du chemin d’accès pour un paquet donné sur Debian. |
dpkg -l | grep -i <modifier> |
Renvoie tous les packages installés .deb avec <edit>, quel que soit le cas. |
moins /var/lib/dpkg/disponible |
Retourne les descriptions de tous les packages disponibles. |
qu'est-ce que vim |
Énumérez une description d’une ligne de vim. |
<nom-commande> --help |
Afficher les informations d’utilisation sur <nom-outil>. Parfois, command -h fonctionne également, mais pas pour toutes les commandes. |
Identification de l’utilisateur et qui est qui dans le monde Linux |
Commande | Convivialité |
---|---|
nom d'hôte |
Afficher le nom d’hôte du système. |
nom d'hôte -f |
Affiche le nom de domaine complet (FQDN) du système. |
passwd |
Modifier le mot de passe de l’utilisateur actuel. |
whoami |
Nom d’utilisateur des utilisateurs connectés au terminal. |
qui |
Liste de tous les utilisateurs actuellement connectés en tant qu’utilisateur. |
w |
Afficher l’état actuel du système, l’heure, la durée, la liste des utilisateurs actuellement connectés au système et d’autres informations sur l’utilisateur. |
dernier |
Qui a récemment utilisé le système. |
dernière racine |
À quand remonte la dernière fois que root s’est connecté en tant qu’utilisateur. |
dernier |
Affiche toutes les mauvaises tentatives de connexion au système. |
chmod |
Modification des autorisations - lecture, écriture, exécution d’un fichier ou d’un répertoire. |
Informations relatives au processus
Commande | Convivialité |
---|---|
haut |
Répertorier tous les processus triés en fonction de leur utilisation actuelle des ressources système. Affiche un affichage continuellement mis à jour des processus (par défaut 3 secondes). Utilisez la touche q pour quitter le haut. |
ps |
Liste les processus en cours d’exécution sur la session shell actuelle |
ps -u racine |
Lister tous les processus et commandes que root exécute |
ps aux |
Lister tous les processus par tous les utilisateurs sur le système actuel |
Recherche de fichiers par modèles dans le nom/contenu
Une tâche courante d’une personne utilisant la ligne de commande Linux (shell) consiste à rechercher des fichiers/répertoires portant un certain nom ou contenant un certain texte. Il y a 2 commandes avec lesquelles vous devez vous familiariser afin d’accomplir ceci :
Rechercher des fichiers par nom
find /var/www -name '*.css'
Cela imprimera le chemin/nom de fichier complet de tous les fichiers sous /var/www
qui se terminent par .css
. Exemple de sortie :
/var/www/html/text-cursor.css
/var/www/html/style.css
Pour plus d’informations:
man find
Rechercher des fichiers contenant du texte
grep font /var/www/html/style.css
Cela imprimera toutes les lignes contenant le motif font
dans le fichier spécifié. Exemple de sortie :
font-weight: bold;
font-family: monospace;
Un autre exemple:
grep font /var/www/html/
Cela ne fonctionne pas comme vous l’espériez. Vous obtenez:
grep: /var/www/html/: Is a directory
Vous devez grep
récursivement pour le faire fonctionner, en utilisant l’option -R
:
grep -R font /var/www/html/
Hé sympa ! Découvrez la sortie de celui-ci :
/var/www/html/admin/index.php: echo '<font color=red><b>Error: no dice</b></font><br/>';
/var/www/html/admin/index.php: echo '<font color=red><b>Error: try again</b></font><br/>';
/var/www/html/style.css: font-weight: bold;
/var/www/html/style.css: font-family: monospace;
Notez que lorsque grep
correspond à plusieurs fichiers, il préfixe les lignes correspondantes avec les noms de fichiers. Vous pouvez utiliser l’option -h
pour vous en débarrasser, si vous le souhaitez.
Pour plus d’informations:
man grep
Manipulation de fichiers
Les fichiers et les répertoires (un autre nom pour les dossiers) sont au cœur de Linux, il est donc très important et assez puissant de pouvoir les créer, les afficher, les déplacer et les supprimer à partir de la ligne de commande. Ces commandes de manipulation de fichiers vous permettent d’effectuer les mêmes tâches qu’un explorateur de fichiers graphique effectuerait.
Créez un fichier texte vide appelé “myFile” :
touch myFile
Renommez myFile
en myFirstFile
:
mv myFile myFirstFile
Afficher le contenu d’un fichier :
cat myFirstFile
Afficher le contenu d’un fichier avec pager (un écran à la fois) :
less myFirstFile
Afficher les premières lignes d’un fichier :
head myFirstFile
Afficher les dernières lignes d’un fichier :
tail myFirstFile
Modifier un fichier :
vi myFirstFile
Voyez quels fichiers se trouvent dans votre répertoire de travail actuel :
ls
Créez un répertoire vide appelé “myFirstDirectory” :
mkdir myFirstDirectory
Créer un répertoire multi-chemin : (crée deux répertoires, src et myFirstDirectory)
mkdir -p src/myFirstDirectory
Déplacez le fichier dans le répertoire :
mv myFirstFile myFirstDirectory/
Vous pouvez également renommer le fichier :
[email protected]:~$ mv myFirstFile secondFileName
Remplacez le répertoire de travail actuel par myFirstDirectory
:
cd myFirstDirectory
Supprimer un fichier :
rm myFirstFile
Déplacez-vous dans le répertoire parent (qui est représenté par ..
):
cd ..
Supprimez un répertoire vide :
rmdir myFirstDirectory
Supprimez un répertoire non vide (c’est-à-dire qu’il contient des fichiers et/ou d’autres répertoires) :
rm -rf myFirstDirectory
Notez que lors de la suppression de répertoires, vous supprimez ./
et non /
qui effacera tout votre système de fichiers.
Détails du fichier/répertoire
La commande ls
a plusieurs options qui peuvent être utilisées ensemble pour afficher plus d’informations.
Détails/Droits
L’option l
affiche les autorisations de fichier, la taille et la date de la dernière modification. Donc, si le répertoire racine contient un répertoire appelé test
et un fichier someFile
la commande :
[email protected]:~$ ls -l
Sortirait quelque chose comme
-rw-r--r-- 1 user users 70 Jul 22 13:36 someFile.txt
drwxrwxrwx 2 user users 4096 Jul 21 07:18 test
Les autorisations sont au format drwxrwxrwx
. Le premier caractère représente le type de fichier d
si c’est un répertoire -
sinon. Les trois “rwx” suivants sont les autorisations dont dispose l’utilisateur sur le fichier, les trois suivants sont les autorisations dont dispose le groupe sur le fichier et les trois derniers sont les autorisations que tout le monde a sur le fichier.
Le r
de rwx
signifie si un fichier peut être lu, le w
représente si le fichier peut être modifié et le x
signifie si le fichier peut être exécuté. Si une autorisation n’est pas accordée, un -
sera à la place de r
, w
ou x
.
Ainsi, à partir d’en haut, user
peut lire et modifier someFile.txt
mais le groupe n’a que des droits en lecture seule.
Pour modifier les droits, vous pouvez utiliser la commande chmod ### fileName
si vous avez les droits sudo. ‘r’ est représenté par une valeur de 4, ‘w’ est représenté par 2 et ‘x’ est représenté par un 1.
Donc, si seulement vous voulez pouvoir modifier le contenu du répertoire test
Owner rwx = 4+2+1 = 7
Group r-x = 4+0+1 = 5
Other r-x = 4+0+1 = 5
Donc toute la commande est
chmod 755 test
Maintenant, faire un ls -l
montrerait quelque chose comme
drwxr-xr-x 2 user users 4096 Jul 21 07:20 test
Taille lisible
Utilisée conjointement avec l’option l
, l’option h
affiche des tailles de fichiers lisibles par l’homme. Fonctionnement
[email protected]:~$ ls -lh
Sortirait :
total 4166
-rw-r--r-- 1 user users 70 Jul 22 13:36 someFile.txt
drwxrwxrwx 2 user users 4.0K Jul 21 07:18 test
Caché
Pour afficher les fichiers cachés, utilisez l’option a
. Par exemple
[email protected]:~$ ls -a
Pourrait lister
.profile
someFile.txt
test
Taille totale du répertoire
Pour afficher la taille du répertoire courant, utilisez l’option s
(l’option h
peut également être utilisée pour rendre la taille plus lisible).
[email protected]:~$ ls -s
Les sorties
total 4166
someFile.txt test
Vue récursive
Disons que le répertoire test
avait un fichier anotherFile
et que vous vouliez le voir à partir du dossier racine, vous pouvez utiliser l’option R
qui listerait l’arbre récursif.
[email protected]:~$ ls -R
Les sorties
.:
someFile.txt test
./test:
anotherFile