GNU/Linux Tutoriel
Démarrer avec GNU / Linux
Recherche…
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
Manipulation de fichiers
Les fichiers et répertoires (un autre nom pour les dossiers) sont au cœur de Linux. Il est donc très important de pouvoir créer, afficher, déplacer et supprimer ces fichiers depuis la ligne de commande. Ces commandes de manipulation de fichiers vous permettent d'effectuer les mêmes tâches qu'un explorateur de fichiers graphiques.
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
Visualiser le contenu d'un fichier avec pager (un écran à la fois):
less myFirstFile
Affichez les premières lignes d'un fichier:
head myFirstFile
Afficher les dernières lignes d'un fichier:
tail myFirstFile
Modifier un fichier:
vi myFirstFile
Voir 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-chemins: (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:
user@linux-computer:~$ mv myFirstFile secondFileName
Remplacez le répertoire de travail actuel par myFirstDirectory
:
cd myFirstDirectory
Supprimer un fichier:
rm myFirstFile
Déplacer dans le répertoire parent (qui est représenté comme ..
):
cd ..
Supprimer un répertoire vide:
rmdir myFirstDirectory
Supprimer un répertoire non vide (c.-à-d. Contient des fichiers et / ou d'autres répertoires):
rm -rf myFirstDirectory
Notez que lors de la suppression de répertoires, vous supprimez ./
not /
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
indique les autorisations de fichier, la taille et la date de la dernière modification. Donc, si le répertoire racine contenait un répertoire appelé test
et un fichier someFile
la commande:
user@linux-computer:~$ ls -l
Produirait 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
s'il s'agit d'un répertoire -
sinon. Les trois rwx
sont les autorisations de l'utilisateur sur le fichier, les trois suivantes sont les autorisations du groupe sur le fichier et les trois dernières sont les autorisations de tout le monde sur le fichier.
Le r
de rwx
signifie que si un fichier peut être lu, le w
représente si le fichier peut être modifié, et le x
représente si le fichier peut être exécuté. Si aucune permission n'est accordée, un -
sera à la place de r
, w
ou x
.
Donc, de dessus, l' user
peut lire et modifier someFile.txt
mais le groupe n'a que des droits en lecture seule.
Pour changer les droits, vous pouvez utiliser la commande chmod ### fileName
si vous avez des 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 dans le répertoire de 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
Faire maintenant 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
option h
affiche des tailles de fichiers lisibles par l'utilisateur. Fonctionnement
user@linux-computer:~$ ls -lh
Serait sortie:
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 utilisent a
option. Par exemple
user@linux-computer:~$ ls -a
La liste pourrait
.profile
someFile.txt
test
Taille totale du répertoire
Pour afficher la taille du répertoire actuel, utilisez l'option s
(l'option h
peut également être utilisée pour rendre la taille plus lisible).
user@linux-computer:~$ ls -s
Les sorties
total 4166
someFile.txt test
Vue récursive
Disons que test
répertoire test
a un fichier anotherFile
et que vous voulez le voir depuis le dossier racine, vous pouvez utiliser l’option R
qui listera l’arbre récursif.
user@linux-computer:~$ ls -R
Les sorties
.:
someFile.txt test
./test:
anotherFile
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
Commander | Facilité d'utilisation |
---|---|
man <name> | Lisez la page de manuel de <nom>. |
man <section> <name> | Lisez la page de manuel de <nom>, liée à la section donnée. |
man -k <editor> | Affiche tous les logiciels dont les pages de manuel contiennent le mot-clé <editor>. |
man -K <keyword> | Affiche toutes les pages de manuel contenant <keyword> à l'intérieur. |
apropos <editor> | Affiche toutes les applications dont la description d'une ligne correspond à l' éditeur de mots. Si vous ne parvenez pas à rappeler le nom de l'application, utilisez cette commande. |
help | Dans le shell Bash, cela affichera la liste de toutes les commandes bash disponibles. |
help <name> | Dans le shell Bash, cela affichera les informations sur la commande <name> bash. |
info <name> | Afficher toutes les informations sur <nom>. |
dpkg -l | Affiche une liste de tous les paquets installés sur un système basé sur Debian. |
dpkg -L packageName | Va lister les fichiers installés et les détails du chemin pour un paquet donné sur Debian. |
dpkg -l | grep -i <edit> | Renvoyer tous les paquets installés avec .deb avec <edit> indépendamment des cas. |
less /var/lib/dpkg/available | Renvoie les descriptions de tous les packages disponibles. |
whatis vim | Énumérez une description d'une ligne de vim. |
<command-name> --help | Afficher les informations d'utilisation sur le <nom-outil>. Parfois, la command -h fonctionne également, mais pas pour toutes les commandes. |
Identification de l'utilisateur et qui est qui dans le monde Linux
Commander | Facilité d'utilisation |
---|---|
hostname | Affiche le nom d'hôte du système. |
hostname -f | Affiche le nom de domaine complet du système. |
passwd | Changer le mot de passe de l'utilisateur actuel. |
whoami | Nom d'utilisateur des utilisateurs connectés au terminal. |
who | Liste de tous les utilisateurs actuellement connectés en tant qu'utilisateur. |
w | Affiche l'état actuel du système, l'heure, la durée, la liste des utilisateurs actuellement connectés sur le système et d'autres informations utilisateur. |
last | Qui a récemment utilisé le système. |
last root | Quand était la dernière fois que root a ouvert une session en tant qu'utilisateur. |
lastb | Affiche toutes les tentatives de connexion incorrectes dans le système. |
chmod | Changer les permissions - lire, écrire, exécuter un fichier ou un répertoire. |
Informations relatives au processus
Commander | Facilité d'utilisation |
---|---|
top | Énumérer tous les processus triés selon 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 des processus en cours d'exécution sur la session shell en cours |
ps -u root | Liste tous les processus et commandes root est en cours d'exécution |
ps aux | Liste tous les processus par tous les utilisateurs du système actuel |
Commandes de gestion de fichiers
Linux utilise certaines conventions pour les répertoires présents et parent. Cela peut être un peu déroutant pour les débutants.
Chaque fois que vous êtes dans un terminal sous Linux, vous serez dans le répertoire de travail en cours . Souvent, votre invite de commande affiche soit le répertoire de travail complet, soit la dernière partie de ce répertoire. Votre invite peut ressembler à l'un des éléments suivants:
user@host ~/somedir $
user@host somedir $
user@host /home/user/somedir $
qui dit 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 en cours.
Par conséquent, si le répertoire en cours 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 l'annuaire
Commander | Utilitaire |
---|---|
pwd | Obtenez le chemin complet du répertoire de travail en cours. |
cd - | Accédez au dernier répertoire dans lequel vous travailliez. |
cd ~ ou juste cd | Accédez au répertoire de base 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
Commander | Utilitaire |
---|---|
ls -l | Répertoriez les fichiers et répertoires dans le répertoire actuel au format long (table) (il est recommandé d'utiliser -l avec ls pour une meilleure lisibilité). |
ls -ld dir-name | Liste des informations sur le répertoire dir-name au lieu de son contenu. |
ls -a | Liste 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 tube nommé, > signifie porte). |
ls -lt | Répertorie les fichiers triés par heure de dernière modification avec les fichiers les plus récemment modifiés affichés en haut (l'option souvenir -l fournit le format long qui a une meilleure lisibilité). |
ls -lh | Lister les tailles de fichier dans un format lisible par l'homme. |
ls -lR | Affiche tous les sous-répertoires de manière récursive. |
tree | Génère une représentation arborescente du système de fichiers à partir du répertoire en cours. |
Fichier / répertoire créer, copier et supprimer
Commander | Utilitaire |
---|---|
cp -p source destination | Copiera le fichier de la source à la destination . -p signifie préservation. Il conserve 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 source_dir destination_dir | Copiera le répertoire source vers la destination spécifiée de manière récursive. |
mv file1 file2 | Sous Linux, il n’ya pas de commande de renommage en tant que telle. Par conséquent, mv déplace / renomme le fichier1 en fichier2. |
rm -i filename | Vous demande avant chaque suppression de fichier pour confirmation. SI VOUS ÊTES UNE NOUVELLE LIGNE DE COMMANDE UTILISATEUR À LINUX, VOUS DEVEZ TOUJOURS UTILISER rm -i . Vous pouvez spécifier plusieurs fichiers. |
rm -R dir-name | Va supprimer le répertoire dir-name manière récursive. |
rm -rf dir-name | Va supprimer le répertoire dir récursivement, en ignorant les fichiers inexistants et ne demandera jamais rien. ATTENTION, UTILISER CETTE COMMANDE! Vous pouvez spécifier plusieurs répertoires. |
rmdir dir-name | Supprime le répertoire dir-name , s'il est vide. Cette commande ne peut supprimer que les répertoires vides. |
mkdir dir-name | Créez un répertoire dir-name . |
mkdir -p dir-name/dir-name | Créez une hiérarchie de répertoires. Créez des répertoires parents si nécessaire, s'ils n'existent pas. Vous pouvez spécifier plusieurs répertoires. |
touch filename | Créez un filename , s'il n'existe pas, sinon changez l'horodatage du fichier en heure courante. |
Autorisations et groupes de fichiers / répertoires
Commander | Utilitaire |
---|---|
chmod <specification> filename | Modifier les autorisations de fichier. Spécifications = u utilisateur, groupe g , o autre, + ajouter une autorisation, - supprimer, r lire, w écrire, x exécuter. |
chmod -R <specification> dir-name | Modifiez les autorisations d'un répertoire de manière récursive. Pour modifier l'autorisation d'un répertoire et de tout ce qui se trouve dans ce répertoire, utilisez cette commande. |
chmod go=+r myfile | Ajoutez une autorisation de lecture pour le propriétaire et le groupe. |
chmod a +rwx myfile | Autoriser tous les utilisateurs à lire, écrire ou exécuter myfile . |
chmod go -r myfile | Supprimez 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 | Modifiez la propriété du groupe principal du fichier filename en groupe grp_owner . |
chgrp -R grp_owner dir-name | Changement de propriétaire du groupe principal du répertoire dir-name à groupe grp_owner récursive. Pour modifier la propriété d'un groupe dans un répertoire et tout ce qui se trouve dans ce répertoire, utilisez cette commande. |
Raccourcis utiles
Utiliser le terminal
Les exemples de ce document supposent que vous utilisez un shell compatible POSIX (tel que bash , sh , zsh , ksh ).
Une grande partie des fonctionnalités GNU / Linux est obtenue à l'aide du terminal. La plupart des distributions de Linux incluent des émulateurs de terminal qui permettent aux utilisateurs d'interagir avec un shell à partir de leur environnement de bureau. Un shell est un interpréteur de ligne de commande qui exécute les commandes entrées par l'utilisateur. Bash (Bourne Again SHell) est un shell par défaut commun 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):
Terminal ouvert
- Ctrl + Alt + T ou Super + T
Mouvement du curseur
- Ctrl + A Aller au début de la ligne sur laquelle vous tapez actuellement.
- Ctrl + E Allez à la fin de la ligne sur laquelle vous tapez actuellement.
- Ctrl + XX Déplacement entre le début de la ligne et la position actuelle du curseur.
- Alt + F Déplace le curseur d'un mot sur la ligne en cours.
- Alt + B Déplace le curseur d'un mot sur la ligne en cours.
- Ctrl + F Déplacer le curseur d'un caractère sur la ligne en cours.
- Ctrl + B Déplace le curseur en arrière d'un caractère sur la ligne en cours.
Manipulation de texte
- Ctrl + U Couper 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 la ligne entière.
- Ctrl + K Couper 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 la ligne entière.
- Ctrl + W Supprime le mot devant le curseur pour l'ajouter au presse-papiers.
- Ctrl + Y Colle 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 Permutez les deux derniers mots avant le curseur.
- Alt + L Met les minuscules du curseur à la fin du mot.
- Alt + U Rendre les majuscules du curseur à la fin du mot.
- Alt + C Capitaliser à la fin du mot commençant par le curseur (mot entier si le curseur est au début du mot).
- Alt + D Supprimer jusqu'à la fin du mot commençant par le 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 Permute 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 dans la ligne de commande sans l'exécuter, ce qui vous permet d'apporter des modifications avant d'exécuter la commande.
- Alt + R Rétablit 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.-à-d. Parcourez l'historique des commandes (similaire à la flèche vers le haut).
- Ctrl + N Affiche la prochaine commande exécutée, c.-à-d. Avancez dans l'historique des commandes (similaire à la flèche vers le bas).
Contrôle terminal
- Ctrl + L Efface l'écran, similaire à la commande clear.
- Ctrl + S Arrête toutes les sorties sur l'écran. Ceci est utile lors de l'exécution de commandes avec beaucoup de sortie longue. Mais cela n'arrête pas la commande en cours.
- Ctrl + Q Reprend la sortie à l'écran après l'avoir arrêté avec Ctrl + S.
- Ctrl + C Termine le processus en cours d'exécution et renvoie 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 ramener ce processus au premier plan, utilisez la commandefg
. Pour afficher tous les processus en arrière-plan, utilisez la commandejobs
. - Onglet Compléter automatiquement les fichiers et les noms de répertoire.
- Onglet Tab 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 à Backspace.
- Ctrl + J Identique à Return (historiquement Line Feed).
- Ctrl + M Identique à Retour (historiquement retour chariot).
- Ctrl + I Identique à Tab.
- Ctrl + G Caractère de Bell.
- Ctrl + @ Caractère nul.
- Esc Deadkey équivalent au modificateur Alt .
Fermer le terminal
- Ctrl + Maj + W Pour fermer l'onglet terminal.
- Ctrl + Maj + Q Pour fermer tout le terminal.
Alternativement, vous pouvez passer aux raccourcis vi en bash en utilisant set -o vi
. Utilisez set -o emacs
pour revenir aux raccourcis emacs .
Recherche de fichiers par motifs dans le nom / contenu
Une tâche courante de quelqu'un qui utilise la ligne de commande Linux (shell) consiste à rechercher des fichiers / répertoires portant un certain nom ou contenant un certain texte. Vous devez vous familiariser avec 2 commandes pour accomplir ceci:
Rechercher des fichiers par nom
find /var/www -name '*.css'
Cela imprimera le chemin d'accès complet / nom de fichier à 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 la font
motif 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'aviez espéré. 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é bien! Découvrez le résultat 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