Comme la plupart des systèmes d’ex­ploi­ta­tion modernes, Linux fournit un shell, que vous pouvez utiliser pour contrôler votre système à l’aide de commandes de ligne de commande. Tous les pa­ra­mètres que vous dé­fi­nis­sez via l’interface graphique uti­li­sa­teur (GUI in­for­ma­tique) peuvent également être effectués sous forme de lignes de commande. Nous vous pré­sen­tons les commandes Linux les plus im­por­tantes et ex­pli­quons leur fonction et leur ap­pli­ca­tion.

Liste des 50 commandes Linux les plus im­por­tantes

Commande Des­crip­tion
sudo Exécuter des pro­grammes avec les droits d’un autre uti­li­sa­teur
ls Lister le contenu du ré­per­toire
cd Naviguer dans l’ar­bo­res­cence des ré­per­toires
touch Modifier les dates
mkdir Créer un ré­per­toire
rm Supprimer un fichier
rmdir Supprimer un ré­per­toire
mv Déplacer un fichier ou un ré­per­toire
cp Copier des fichiers ou des ré­per­toires
pwd Afficher la position actuelle dans l’ar­bo­res­cence des ré­per­toires
zip Com­pres­ser des fichiers dans des archives zip
unzip Dé­com­pres­ser des fichiers dans des archives zip
ln Créer un lien vers un fichier ou un ré­per­toire
cat Fusionner les contenus des fichiers
grep Re­cher­cher dans les fichiers texte
diff Trouver les dif­fé­rences entre les fichiers texte
cmp Comparer les fichiers octet par octet
tar Écrire et extraire des fichiers dans des archives tar
echo Afficher une chaîne de caractère sur la sortie standard
clear Effacer le contenu du terminal
ssh Se connecter à un autre or­di­na­teur via un « shell » sécurisé
wget Té­lé­char­ger un fichier di­rec­te­ment depuis Internet
ping Envoyer une requête au serveur et mesurer la latence
ftp, sftp Trans­fé­rer des fichiers via (S)FTP
ip Consulter et con­fi­gu­rer des in­ter­faces réseau
apt/pacman/yum Té­lé­char­ger et gérer les paquets logiciels
netstat Afficher l’état des in­ter­faces réseau
tra­ce­route Suivre les paquets de données
route Afficher et traiter les tables de routage IP
dig Consulter des in­for­ma­tions sur le DNS
mount/unmount Monter/démonter les systèmes de fichiers
dd Copier des fichiers, des par­ti­tions ou des supports de données au niveau des bits
chmod Gérer les droits d’accès
chown Gérer les droits de propriété
adduser Ajouter/modifier un compte uti­li­sa­teur
passwd Créer/modifier des mots de passe pour les comptes uti­li­sa­teur
groupadd Créer des groupes d’uti­li­sa­teurs
chattr Gérer les attributs des fichiers
lsattr Afficher les attributs des fichiers
chgrp Gérer les af­fi­lia­tions de groupe pour les fichiers et ré­per­toires
man Consulter le manuel d’uti­li­sa­tion du système d’ex­ploi­ta­tion
shutdown, reboot Éteindre/re­dé­mar­rer le système
top Vue d’ensemble dynamique des processus
lscpu Afficher les in­for­ma­tions sur le pro­ces­seur
lshw Afficher les in­for­ma­tions sur le matériel
kill Arrêter et terminer un processus via son PID
killall Arrêter et terminer des processus par leur nom
nice Définir les priorités des processus
pgrep Iden­ti­fier le PID via un terme de recherche
ps Afficher la liste de tous les processus en cours d’exécution

La commande Linux sudo

Exécuter des pro­grammes avec les droits d’autres uti­li­sa­teurs La commande Linux sudo (abré­via­tion de subs­ti­tute user do) peut être placée devant les appels de programme pour les exécuter avec les droits d’un autre uti­li­sa­teur. Un mot de passe doit être en principe saisi à cet effet. La commande sudo exige toujours le mot de passe de l’uti­li­sa­teur appelant.

Si la commande est donnée sans nom d’uti­li­sa­teur, le super-uti­li­sa­teur root est utilisé comme cible.

sudo -u NOMUTILISATEUR APPELPROGRAMME
bash

La commande Linux ls

La commande Linux ls (pour liste) sert à afficher le contenu d’un ré­per­toire (les noms de tous les fichiers et dossiers du ré­per­toire spécifié).

La syntaxe de la commande est la suivante :

ls [OPTIONS] REPERTOIRE
bash

Si ls est utilisé sans spé­ci­fi­ca­tion de ré­per­toire, la commande liste le contenu du ré­per­toire courant. À l’aide des options sup­plé­men­taires, vous pourrez définir quelles in­for­ma­tions à afficher et comment.

La commande Linux cd

La commande cd (pour change directory) est utilisée pour la na­vi­ga­tion dans l’ar­bo­res­cence des ré­per­toires.

Voici la syntaxe de la commande :

cd [OPTION] REPERTOIRE
bash

Si aucun ré­per­toire cible n’est spécifié, cd passe au­to­ma­ti­que­ment au ré­per­toire home de l’uti­li­sa­teur. Si cd est utilisé avec un signe moins (-), il passe au ré­per­toire précédent.

La commande Linux touch

La commande touch permet de changer les dates d’accès et les mo­di­fi­ca­tions des fichiers. Si touch est appliquée à un fichier inexis­tant, ce dernier est au­to­ma­ti­que­ment créé. La commande permet donc de créer des fichiers vides. Utilisez touch selon le schéma suivant :

touch [OPTIONS] FICHIER
bash

Pour régler un fichier à une date souhaitée, utilisez l’option -t, en spé­ci­fiant l’heure selon le format [AA]MMJJhhmm[.ss].

Exemple :

touch -t 1803231037 fichier.txt
bash

La date d’accès et de mo­di­fi­ca­tion sera fixée au 23 mars 2018, à 10h37. La mo­di­fi­ca­tion peut être appliquée sim­ple­ment à l’accès ou à la mo­di­fi­ca­tion de la date à l’aide des options res­pec­tives -a et -m. Si la commande touch est utilisée sans l’option -t, la date et heure actuelles sont prises en compte.

La commande Linux mkdir

La commande Linux mkdir signifie make directory. Il permet aux uti­li­sa­teurs de Linux d’établir de nouveaux ré­per­toires. Utilisez la syntaxe suivante pour créer un nouveau ré­per­toire dans le ré­per­toire courant :

mkdir [OPTION] NOMREPERTOIRE
bash

Si vous voulez en créer un dans un ré­per­toire cible spé­ci­fique, spécifiez le chemin absolu ou relatif vers le ré­per­toire.

La commande Linux rm

La commande Linux rm (remove) supprime des fichiers ou des ré­per­toires entiers de manière ir­ré­mé­diable. L’appel de programme est basé sur le schéma suivant :

rm [OPTIONS] FICHIER/REPERTOIRE
bash

Si vous voulez supprimer un ré­per­toire avec tous ses sous-ré­per­toires, utilisez rm avec OPTION -R (–recursive).

La commande Linux rmdir

Si vous voulez supprimer un ré­per­toire spé­ci­fique, utilisez la commande rmdir (remove directory) selon la syntaxe suivante :

rmdir [OPTION] REPERTOIRE
bash

Avec rmdir, vous ne pouvez supprimer que les ré­per­toires vides. Pour supprimer un ré­per­toire com­pre­nant des fichiers et sous-dossiers, utilisez la commande rm (remove) avec l’option -r.

Dans des articles séparés du Digital Guide, vous trouverez d’autres façons de supprimer un fichier Linux ou de supprimer un ré­per­toire Linux.

La commande Linux mv

La commande Linux mv (move) copie un fichier ou un ré­per­toire et supprime l’élément d’origine. Si cela est fait dans le même ré­per­toire, mv peut être utilisé pour renommer les fichiers.

La commande est basée sur le schéma suivant :

mv [OPTION] SOURCE CIBLE
bash

La commande Linux cp

La commande Linux cp (pour copy) est utilisée pour copier des fichiers et des ré­per­toires. La syntaxe de base de la commande est :

cp [OPTIONS] SOURCE CIBLE
bash

Sous la SOURCE, on trouvera l’élément à copier. Comme CIBLE du processus de copie, on définira un fichier ou un ré­per­toire. Si vous dé­fi­nis­sez un fichier existant comme fichier cible, son contenu sera écrasé par celui du fichier source. Autrement, vous pouvez créer un nouveau fichier pour la cible portant le nom de votre choix.

La commande Linux pwd

Utilisez la commande Linux pwd (abré­via­tion de print working directory) pour faire afficher le nom du ré­per­toire de travail actuel.

Voici la syntaxe de la commande :

pwd [OPTIONS]
bash

La commande Linux zip

zip permet de com­pres­ser plusieurs fichiers dans une archive zip. La syntaxe de la commande est la suivante :

zip FICHIER(S) DESTINATION
bash

La DES­TI­NA­TION est le nom ou le chemin d’accès du fichier zip cor­res­pon­dant. FICHIERS fait référence aux noms ou chemins d’accès des fichiers à com­pres­ser (séparés par des espaces).

La commande Linux unzip

Vous pouvez utiliser unzip pour extraire des fichiers d’archives zip. La syntaxe est la suivante :

unzip FICHIER.zip -d DESTINATION
bash

Ici, FICHIER fait référence à l’archive zip d’où les fichiers doivent être extraits. En option, vous pouvez utiliser l’option -d TARGET pour spécifier un ré­per­toire cible dans lequel les fichiers cor­res­pon­dants doivent être stockés. Sinon, les fichiers sont stockés dans le ré­per­toire habituel.

La commande Linux ln

La commande Linux ln (abré­via­tion pour link) permet d’établir un lien vers un fichier ou un ré­per­toire. Ainsi, une autre entrée vers le ré­per­toire est établie, ce qui vous permet d’accéder au fichier cor­res­pon­dant via un autre chemin d’accès. ln doit toujours contenir au moins le chemin d’accès du fichier source.

ln [OPTIONS] chemin/vers/fichiersource
bash

Dans le cas ci-dessus, le lien est créé sous le même nom dans le ré­per­toire sur lequel vous tra­vail­lez. Vous pouvez également spécifier un chemin d’accès cible et nommer le lien comme vous le souhaitez :

ln [OPTIONS] chemin/vers/fichiersource chemin/vers/lien
bash

La commande Linux cat

La commande cat (abré­via­tion de con­ca­te­nate) a été développé comme un outil de fusion de contenu de fichier et peut être utilisé comme pager pour afficher du contenu dans le terminal.

Utilisez la syntaxe suivante pour appeler la commande cat dans le terminal pour lire un fichier et le sortir sur stdout (sortie standard) :

cat OPTIONS FICHIER
bash

Si vous avez plusieurs fichiers, il sera né­ces­saire de les séparer par des espaces :

cat OPTIONS FICHIER1 FICHIER2
bash

La commande Linux grep

La commande Linux grep peut être utilisée pour faire une recherche dans les fichiers texte. N’importe quelle chaîne de ca­rac­tères ou ex­pres­sion régulière peut être utilisée comme modèle de recherche. Utilisez grep selon la syntaxe suivante :

grep [OPTIONS] MODELEDERECHERCHE [FICHIER(S)]
bash

Si grep rencontre une chaîne de ca­rac­tères cor­res­pon­dant au modèle de recherche, le numéro de ligne est édité dans le terminal avec le nom du fichier. En principe, la commande est appliquée à tous les fichiers du ré­per­toire courant. L’option -r permet une recherche récursive dans les sous-ré­per­toires.

La commande Linux diff

diff est utilisé pour comparer deux fichiers. Autrement, la commande diff peut également être utilisé pour dé­ter­mi­ner si deux ré­per­toires con­tien­nent des fichiers iden­tiques.

L’appel de la commande dans le terminal est comme suit :

diff [OPTIONS] FICHIER1 FICHIER2
bash

La commande Linux cmp

cmp fait partie du paquet diff et est utilisé comme ce dernier pour comparer le contenu des fichiers. À la dif­fé­rence de diff, le réglage se fait toutefois octet par octet et est donc par­ti­cu­liè­re­ment adapté aux fichiers binaires. Utilisez cmp selon le schéma suivant :

cmp [OPTIONS] FICHIER1 FICHIER2
bash

Si cmp trouve des dif­fé­rences, le programme en ligne de commande édite l’octet et le numéro de ligne de la première di­ver­gence dans le terminal.

La commande Linux tar

La commande tar permet d’écrire sé­quen­tiel­le­ment dif­fé­rents fichiers et ré­per­toires dans un fichier tar et de les restaurer si né­ces­saire. Con­trai­re­ment au format zip cou­ram­ment utilisé sous Windows, tous les droits d’uti­li­sa­teur du fichier archivé sont conservés même après que ce dernier est dé­com­pressé. tar est appelé selon la syntaxe suivante :

tar [OPTIONS] FICHIERS
bash

Si vous voulez créer une nouvelle archive, utilisez tar avec les options -c (create new archive) et -f (write archive or read from specified file).

Pour en savoir plus, consultez notre article « Créer une sau­ve­garde avec tar : voici comment fonc­tionne l’archivage ».

La commande Linux echo

Utilisez la commande echo pour émettre des chaînes de ca­rac­tères (strings) ligne par ligne sur la sortie standard (gé­né­ra­le­ment le terminal).

La syntaxe générale de la commande est :

echo [OPTIONS] STRING
bash

La commande Linux clear

Utilisez la commande clear pour effacer le contenu de l’écran.

clear
bash

Vous ob­tien­drez un terminal vide avec une invite de commande (prompt). Au lieu d’utiliser cette commande, vous pouvez également vider votre terminal à l’aide de la com­bi­nai­son de touches [CTRL] + [L].

La commande Linux ssh

Vous pouvez utiliser ssh pour connecter votre or­di­na­teur à un or­di­na­teur externe via le protocole SSH, ce qui signifie que vous êtes alors dans le shell de l’autre or­di­na­teur. La syntaxe est la suivante :

ssh NOMUTILISATEUR@NOMHÔTE
bash

Ici, NO­MU­TI­LI­SA­TEUR et NOMHÔTE désignent le nom d’uti­li­sa­teur sous lequel vous souhaitez vous connecter et l’adresse de l’or­di­na­teur externe.

La commande Linux wget

Vous pouvez utiliser la commande Linux wget pour té­lé­char­ger des fichiers depuis Internet. Utilisez la syntaxe suivante :

wget [OPTION] LIEN
bash

Ici, LIEN indique l’URL où le fichier peut être trouvé. Vous pouvez utiliser l’argument optionnel -c pour continuer un té­lé­char­ge­ment qui a été in­ter­rompu.

La commande Linux ping

Utilisez la commande Linux ping pour vérifier l’ac­ces­si­bi­lité des autres or­di­na­teurs du réseau. La commande est basée sur la syntaxe suivante :

ping [OPTIONS] CIBLE
bash

En plus du temps aller-retour (Round trip time, RTT, ce qui désigne le temps écoulé entre l’envoi du paquet de données et la réception de la réponse), ping émet l’adresse IP du système cible sur le terminal.

La commande Linux ftp ou sftp

Cette commande vous permet d’échanger des fichiers entre le système local et un autre or­di­na­teur du réseau. Utilisez FTP (File Transfer Protocol selon le schéma ci-dessous pour établir une connexion avec le serveur FTP de l’or­di­na­teur cible.

ftp [OPTIONS] [HOST[PORT]]
bash

L’adressage s’effectue via le nom d’hôte ou l’adresse IP. La spé­ci­fi­ca­tion d’un numéro de port n’est pas obli­ga­toire. N’utilisez le protocole FTP que dans les réseaux auxquels vous faites confiance, car ce protocole n’est pas sécurisé. Pour des raisons de sécurité, il est presque toujours conseillé d’utiliser SFTP (SSH File Transfer Protocol).

Le programme en ligne de commande sftp sert comme ftp au transfert de données dans le réseau, mais dans ce cas, le transfert est chiffré. SFTP utilise le protocole SSH (Secure Shell) par défaut, ainsi que ses méthodes d’au­then­ti­fi­ca­tion : nous vous ex­pli­quons comment utiliser les clés SSH pour votre connexion réseau dans un autre article.

La commande Linux ip

Le programme en ligne de commande ip fait partie de la série de pro­grammes iproute2, avec laquelle les in­ter­faces réseau peuvent être con­sul­tées et con­fi­gu­rées via le terminal. La syntaxe générale de la commande est :

ip [OPTIONS] OBJET [COMMANDE [ARGUMENTS]]
bash

Pour définir quelle action est exécutée via ip, il est né­ces­saire d’utiliser des objets, des sous-commandes et leurs arguments.

Le programme prend en charge divers objets tels que address (adresse IP), link (interface réseau), route (entrée dans la table de routage) ou tunnel, auxquels des sous-commandes comme add, change, del, list ou show peuvent être ap­pli­quées.

Par exemple, si vous voulez obtenir l’adresse IP d’une interface réseau spé­ci­fique (par exemple eth0), utilisez la commande ip avec l’objet address, la commande show et l’argument dev eth0 :

ip address show dev eth0
bash

Découvrez comment afficher une adresse IP sous Linux plus en détail dans un autre article.

Les commandes Linux apt, pacman et yum

Chaque dis­tri­bu­tion Linux dispose d’un Packet Manager qui permet de té­lé­char­ger et de gérer les paquets de logiciels. La syntaxe pour l’ins­tal­la­tion d’une ap­pli­ca­tion est la suivante :

apt install [PACKET] # Distributions basées sur Debian comme Ubuntu
pacman -S [PACKET] # Distributions basées sur Arch
yum install [PACKET] # Distributions basées sur Red Hat
bash

[PACKET] est le nom du paquet ou du programme que vous voulez installer. Dans la plupart des cas, ces commandes doivent être exécutées via sudo en mode root. Pour les autres dis­tri­bu­tions qui utilisent d’autres ges­tion­naires de paquets, les commandes peuvent être dif­fé­rentes. Chaque ges­tion­naire a également des commandes pour supprimer des paquets, mettre à jour la liste des paquets et mettre à jour tous les paquets installés, entre autres. Sur Ubuntu, ces commandes sont les suivantes :

apt remove [PACKET] # supprimer un paquet
apt update # mettre à jour la liste des paquets
apt upgrade # mettre à jour les paquets
bash

La commande Linux netstat

Le programme en ligne de commande netstat est utilisé pour consulter l’état des in­ter­faces réseau. La syntaxe générale de la commande est :

netstat [OPTIONS]
bash

Utilisez netstat sans option pour afficher toutes les sockets ouvertes dans le terminal. Vous pouvez également utiliser les options suivantes pour afficher les tables de routage (-r), les sta­tis­tiques d’interface (-i), les con­nexions masquées (-M) ou les messages netlink (-N). Apprenez tout ce qu’il y a à savoir sur le sujet dans notre article d’in­tro­duc­tion à netstat.

La commande Linux tra­ce­route

Pour suivre le chemin de transfert d’un paquet de données IP entre votre système et un or­di­na­teur cible, vous pouvez utiliser la commande Linux traceroute. Utilisez la syntaxe suivante :

traceroute [options] NOMHOTE
bash

traceroute peut être utilisé pour iden­ti­fier quel routeur et points d’échange Internet un paquet IP traverse en allant vers l’or­di­na­teur cible (par exemple pour re­cher­cher la cause d’un retard).

La commande Linux route

Le programme en ligne de commande route peut être utilisé pour consulter et éditer les tables de routage IP du noyau. La commande est basée sur la syntaxe suivante :

route [OPTIONS] [add|del] [-net|-host] CIBLE
bash

Utilisez la commande sans option pour afficher la table de routage complète du noyau :

route
bash

Pour définir un iti­né­raire vers un réseau, utilisez la sous-commande add.

route add -net 10.0.0.0
bash

La commande Linux dig

dig est un outil de recherche per­met­tant de consulter des in­for­ma­tions des serveurs DNS et de les émettre dans le terminal. L’uti­li­taire en ligne de commande est gé­né­ra­le­ment utilisé pour consulter l’adresse IP et d’autres in­for­ma­tions DNS pour un nom de domaine donné. Le schéma suivant est alors utilisé :

dig [@SERVER] [DOMAIN] [TYP]
bash

SERVER est le serveur DNS dans lequel l’in­for­ma­tion désirée est re­cher­chée. Si aucun serveur n’est spécifié, dig récupère le serveur DNS par défaut à partir de /etc/resolv.conf. DOMAIN re­pré­sente le nom de domaine pour lequel l’in­for­ma­tion DNS doit être retrouvée. Avec TYP, le type de requête peut être fixé, par exemple ANY (toutes les entrées), A (en­re­gis­tre­ment IPv4 d’un hôte) ou AAAA (en­re­gis­tre­ment IPv6 d’un hôte). Le type défini par défaut est A.

La commande Linux mount/unmount

Si un système de fichiers doit être intégré dans la structure de ré­per­toire du système d’ex­ploi­ta­tion, le programme en ligne de commande mount est utilisé sous Linux. La syntaxe générale de la commande est :

mount [OPTIONS] PERIPHERIQUE MOUNTPOINT
bash

PE­RI­PHE­RIQUE = Le chemin d’accès du pé­ri­phé­rique de stockage que vous voulez monter en tant que partition.

MOUNT­POINT = L’em­pla­ce­ment de la structure de ré­per­toire de votre système d’ex­ploi­ta­tion où vous voulez monter la partition. Le point de montage est gé­né­ra­le­ment spécifié comme un chemin absolu.

Exemple :

mount /dev/sdd /media/usb
bash

Le pé­ri­phé­rique sdd est monté dans le ré­per­toire /media/usb.

La commande Linux dd

Le programme en ligne de commande dd permet un processus de copie dans lequel les données sont lues bit par bit à partir d’un fichier d’entrée (if) et écrites dans un fichier de sortie (of). La syntaxe pour appeler le programme est la suivante :

dd if=Source of=Cible [OPTIONS]
bash

La source et la cible données peuvent très bien être des fichiers in­di­vi­duels, tout comme des par­ti­tions entières (par ex. /dev/sda1) ou un pé­ri­phé­rique de stockage complet (par ex. /dev/sda).

Exemple :

dd if=/dev/sda5 of=/dev/sdb1
bash

La commande Linux chmod

Le programme en ligne de commande chmod (abré­via­tion de change mode) est utilisé pour attribuer des droits dans les systèmes de fichiers unixoid (par exemple ext2, ext3, ext4, reiser, xfs). La syntaxe générale de la commande est la suivante :

chmod [OPTIONS] MODE FICHIER
bash

ou :

chmod [OPTIONS] MODE REPERTOIRE
bash

Le MODE sert pour le masque de droits ap­pli­cable. Pour en savoir plus, notre article sur l’at­tri­bu­tion des droits d’accès avec chmod détaille la manière de s’y prendre. L’option -R permet d’étendre les per­mis­sions aux sous-dossiers et fichiers contenus dans un ré­per­toire.

La commande Linux chown

La commande chown signifie change owner et permet donc de modifier les pa­ra­mètres pro­prié­taires.

chown [OPTIONS] [UTILISATEUR][:[GROUPE]] FICHIER
bash

ou :

chown [OPTIONS] [UTILISATEUR][:[GROUPE]] REPERTOIRE
bash

Il y a quatre com­bi­nai­sons possibles pour définir les droits pro­prié­taire pour les uti­li­sa­teurs ou les groupes. Il est possible de réi­ni­tia­li­ser le pro­prié­taire et le groupe selon les spé­ci­fi­ca­tions suivantes :

chown [OPTIONS] proprietaire_nom:groupes_nom fichier.txt
bash
# Pour réinitialiser le groupe (l’utilisateur reste inchangé), on suivra :
chown [OPTIONS] :groupes_nom fichier.txt
# Pour réinitialiser le propriétaire (le groupe reste inchangé), on suivra :
chown [OPTIONS] propriétaire_nom fichier.txt
# Pour réinitialiser l’utilisateur en fonction de la spécification (e groupe est défini sur le groupe par défaut de l’utilisateur connecté), on suivra :
chown [OPTIONS] propriétaire_nom: fichier.txt
# Les modifications peuvent être étendues aux sous-répertoires en utilisant OPTION `-R`.
bash

La commande Linux adduser

La façon la plus simple de créer un compte uti­li­sa­teur est d’utiliser le programme en ligne de commande adduser. Il s’agit d’un script Perl basé sur la commande Linux useradd et qui offre les mêmes fonctions de manière con­vi­viale. La commande adduser nécessite les pri­vi­lèges de l’uti­li­sa­teur root et s’utilise selon la syntaxe suivante :

adduser [OPTIONS] NOMUTILISATEUR
bash

Si vous utilisez adduser sans options, un ID uti­li­sa­teur, le ré­per­toire d’accueil et un groupe d’uti­li­sa­teurs du même nom seront au­to­ma­ti­que­ment créés en plus du nouveau compte.

adduser test
bash

Un dialogue est ensuite généré, dans lequel vous pouvez définir le mot de passe et les in­for­ma­tions uti­li­sa­teur avancées (nom réel, numéro de bureau, numéros de téléphone, etc.).

La commande Linux passwd

Utilisez la commande Linux passwd pour changer le mot de passe d’un uti­li­sa­teur ou pour définir des in­ter­valles de mo­di­fi­ca­tion ou ver­rouil­lage de ce mot de passe. La commande est basée sur la syntaxe suivante :

passwd [OPTIONS] NOMUTILISATEUR
bash

Si vous voulez changer le mot de passe d’un autre uti­li­sa­teur, vous avez besoin des droits root. Utilisez la commande passwd sans nom d’uti­li­sa­teur pour changer votre propre mot de passe. Pour ver­rouil­ler le mot de passe de l’uti­li­sa­teur sé­lec­tionné, utilisez la commande passwd avec l’option -l (-lock).

D’autres options offrent la pos­si­bi­lité de définir une période d’ex­pi­ra­tion pour les mots de passe (-x) ainsi que des in­ter­valles de temps pour les aver­tis­se­ments (-w) ou le ver­rouil­lage (-i) :

La commande Linux groupadd

La ligne de commande groupadd est utilisée pour établir de nouveaux groupes d’uti­li­sa­teurs. Utilisez groupadd avec des droits root selon le schéma suivant :

sudo groupadd [OPTIONS] GROUPE
bash

Chaque groupe créé reçoit un ID de groupe unique (GID). Les ID de groupe compris entre 0 et 99 sont réservés aux groupes systèmes. Si vous voulez définir vous-même le GID d’un nouveau groupe d’uti­li­sa­teurs, utilisez la commande groupadd avec l’option -g (GID).

Si vous voulez créer un groupe système, utilisez l’option -r (root).

La commande Linux chattr

Le programme en ligne de commande chattr (abré­via­tion de change attribute) permet d’octroyer des attributs aux fichiers ou ré­per­toires. Utilisez chattr selon la syntaxe suivante pour définir un attribut :

chattr [OPTIONS] +ATTRIBUT FICHIER
bash

Remplacez le signe plus par un signe moins pour supprimer à nouveau les attributs. Par exemple, dé­fi­nis­sez l’attribut -i pour empêcher les chan­ge­ments (sup­pres­sions ou mo­di­fi­ca­tions) d’un fichier ou d’un ré­per­toire.

D’autres attributs et options possibles peuvent être trouvés dans la page d’aide du programme chattr.

La commande Linux lsattr

Si vous voulez afficher les attributs qui ont été définis pour un fichier ou un ré­per­toire, utilisez la commande lsattr (abré­via­tion de list at­tri­butes) selon le schéma suivant :

lsattr [OPTIONS] FICHIER/REPERTOIRE
bash

La commande Linux chgrp

La commande chgrp est l’abréviation dechange group. Elle est utilisée pour gérer les ap­par­te­nances d’un groupe à des fichiers et ré­per­toires. Pour appliquer chgrp à un fichier ou ré­per­toire sé­lec­tionné, vous devez avoir des droits pro­prié­taire ou root. En outre, seuls les groupes auxquels vous ap­par­te­nez vous-même sont dis­po­nibles pour la sélection. chgrp est utilisé selon la syntaxe suivante :

chgrp [OPTIONS] GROUPE FICHIER
bash

ou :

chgrp [OPTIONS] GROUPE REPERTOIRE
bash

L’option -R inclut les sous-dossiers et les fichiers contenus dans un ré­per­toire.

La commande Linux man

La commande man ouvre les pages de manuel de votre dis­tri­bu­tion Linux (Man-Pages) di­rec­te­ment dans le terminal. Utilisez le schéma suivant pour accéder à une page de manuel :

man [OPTION] SUJET
bash

Les pages manuels Linux sont divisées en 10 domaines : commandes uti­li­sa­teur, appel système, fonctions du langage de pro­gram­ma­tion C, fichiers spé­ci­fiques, formats de fichier, jeux, divers, commandes pour l’ad­mi­nis­tra­tion du système, fonctions cœur (noyau Linux), nouvelles commandes.

La commande Linux shutdown

La commande shutdown peut être utilisée par les uti­li­sa­teurs root pour arrêter le système. Elle est basée sur la syntaxe suivante :

shutdown [OPTIONS] [TEMPS] [MESSAGE]
bash

Si vous souhaitez procéder à un arrêt du système, vous pouvez définir une heure. Utilisez un temps spé­ci­fique (hh:mm) ou un compte à rebours (+m). Les autres uti­li­sa­teurs du système reçoivent une annonce d’arrêt. Si né­ces­saire, il peut être complété par un message in­di­vi­duel. Si la commande shutdown est utilisée avec l’option -r, un re­dé­mar­rage suit l’arrêt du système.

La commande Linux top

Utilisez la commande top pour obtenir une vue d’ensemble dynamique de tous les processus en cours d’exécution. L’appel repose sur le schéma suivant :

top [OPTIONS]
bash

La sortie des in­for­ma­tions des processus peut être per­son­na­li­sée à l’aide de diverses options. En outre, l’aperçu des processus top prend en charge (entre autres choses) les touches de raccourci suivantes pour trier les sorties :

  • [P] = Trie les sorties par charge CPU
  • [M] = Trie les sorties en fonction de l’uti­li­sa­tion de la mémoire
  • [N] = Trie les sorties nu­mé­ri­que­ment par PID
  • [A] = Trie les sorties suivant l’an­cien­neté
  • [T] = Trie les sorties en fonction du temps
  • [U NO­MU­TI­LI­SA­TEUR ou UID] = Trie les sorties en fonction de l’uti­li­sa­teur

Utilisez la touche de raccourci [H] pour afficher une page d’aide et [Q] pour quitter l’aperçu du processus.

La commande Linux lscpu

Utilisez lscpu (abré­via­tion de list cpu) selon le schéma suivant pour afficher dans le terminal les in­for­ma­tions sur l’ar­chi­tec­ture CPU.

lscpu [OPTIONS]
bash

Pour les options possibles, reportez-vous aux pages d’aide de votre système d’ex­ploi­ta­tion.

La commande Linux lshw

La commande lshw (pour list hardware) affiche des in­for­ma­tions sur les com­po­sants hardware du terminal. Utilisez lshw selon le schéma suivant :

lshw [OPTIONS]
bash

La commande prend en charge dif­fé­rentes options pour per­son­na­li­ser le format de sortie (-html, -xml, -short, -businfo) et la quantité d’in­for­ma­tions (par exemple -sanitize pour cacher les in­for­ma­tions sensibles).

La commande Linux kill

kill est un programme en ligne de commande qui peut être utilisé pour arrêter et mettre fin aux processus. La commande est passée selon le schéma ci-dessous en spé­ci­fiant le signal souhaité et l’ID du processus sé­lec­tionné.

kill [OPTIONS] [-SIGNAL] PID
bash

Les signaux courants sont :

  1. TERM : fait en sorte qu’un processus se termine tout seul (par défaut)
  2. KILL : force un processus à prendre fin (par le système)
  3. STOP : arrête un processus
  4. CONT : reprend un processus arrêté

La commande Linux killall

Utilisez la commande Linux killall avec un terme de recherche spé­ci­fique pour ne terminer que les processus dont les noms cor­res­pon­dent exac­te­ment (les 15 premiers ca­rac­tères sont comparés).

killall [OPTIONS] [-SIGNAL] [NOMPROCESSUS]
bash

L’option -e (–exact) permet d’étendre le réglage à tous les ca­rac­tères du nom du processus.

La commande Linux nice

La commande nice attribue une valeur comprise entre -20 et +19 à un processus au démarrage, après quoi la puissance de trai­te­ment dis­po­nible du système est dis­tri­buée. L’in­ter­valle de -20 à +19 cor­res­pond aux niveaux de priorité Linux de 100 à 139. Un processus avec une valeur nice de -20 a ainsi une priorité plus élevée qu’un processus avec une valeur nice de 19. La syntaxe seule est :

nice [OPTION] [COMMANDE]
bash

Sans autre spé­ci­fi­ca­tion, chaque processus commence avec une valeur nice de 0. Utilisez l’option -n pour définir les priorités du processus. Notez que les priorités négatives ne peuvent être assignées qu’avec des droits root.

La commande Linux pgrep

Le programme en ligne de commande pgrep compare la liste des processus en cours d’exécution à un terme de recherche et affiche leurs PID res­pec­tifs s’ils cor­res­pon­dent. La syntaxe générale de l’appel est :

pgrep [OPTIONS] TERMEDERECHERCHE
bash

Par défaut, pgrep édite les PID de tous les processus qui con­tien­nent le terme de recherche.

Si vous souhaitez limiter la recherche à des cor­res­pon­dances exactes, utilisez la commande avec l’option -x.

Si vous voulez récupérer le nom du processus avec le PID, utilisez pgrep avec l’option -l. pgrep prend en compte (comme grep) les termes de recherche basés sur des ex­pres­sions ré­gu­lières.

La commande Linux ps

La commande Linux ps affiche une liste de tous les processus en cours d’exécution dans le terminal.

ps [OPTIONS]
bash

Si vous avez besoin d’une sortie détaillée, utilisez ps avec les options -f (détaillé) ou -F (très détaillé). Vous trouverez d’autres options possibles dans les pages de manuel de votre système d’ex­ploi­ta­tion.

Les commandes Linux de bases

Dans ce chapitre, vous trouverez des commandes Linux es­sen­tielles à connaître qui sont utilisées pour contrôler le terminal. Apprenez comment effacer la zone de vi­sua­li­sa­tion du terminal, récupérer des entrées de terminal pré­cé­dentes depuis l’his­to­rique ou terminer la session du terminal.

1. exit

La commande exit termine la session en cours et ferme le terminal.

exit
bash

Vous pouvez également utiliser la com­bi­nai­son de touches [CTRL] +[D].

2. help

Utilisez la commande help pour afficher une liste de toutes les commandes shell intégrées. Utilisez help di­rec­te­ment avec une commande shell pour afficher une courte des­crip­tion de la commande cor­res­pon­dante.

help COMMANDE
bash

3. history

Dans le bash, les 500 dernières commandes que vous avez saisies (par ligne de commande) sont en­re­gis­trées dans l’his­to­rique (history). Cette fonction peut aider à la saisie des commandes. Elle permet en effet d’effectuer une recherche dans la liste des commandes pré­cé­dem­ment saisies (grâce aux touches fléchées) et de les exécuter à nouveau.

L’his­to­rique peut être recherché par mots-clés à l’aide de la com­bi­nai­son [CTRL] +[R]. Vous avez également la pos­si­bi­lité d’afficher la liste complète numérotée dans le terminal. Utilisez la commande history sans options ni arguments :

history
bash

Si vous voulez filtrer la sortie, combinez history via le pipe Linux avec le programme en ligne de commande grep (voir les options de recherche) et un mot-clé.

History | grep MOTDERECHERCHE
bash

Pages d’aide

Vous ne savez pas comment résoudre l’un de vos problèmes ? Pas de panique : sous Linux, diverses pages d’aide et de do­cu­men­ta­tion telles que Unix-Man-Pages et les pages d’in­for­ma­tion GNU sont dis­po­nibles di­rec­te­ment depuis le terminal. Celles-ci com­pren­nent une des­crip­tion détaillée de tous les uti­li­taires en lignes de commande, les appels système, les fichiers de con­fi­gu­ra­tion, les formats de fichiers et le cœur des fonctions. Avec la commande Linux whatis et apropos, vous pouvez trouver des pro­grammes en ligne de commande dans la catégorie des pages d’aide, qui vous per­met­tent ensuite de re­cher­cher des mots-clés dans les pages de manuel de votre système d’ex­ploi­ta­tion.

1. apropos

Utilisez apropos pour re­cher­cher des mots-clés dans les titres de pages et les des­crip­tions des pages de manuel de votre système d’ex­ploi­ta­tion. Orientez-vous vers le schéma suivant :

apropos [OPTIONS] MOTDERECHERCHE
bash

La commande prend en charge dif­fé­rentes options. Limitez la recherche aux cor­res­pon­dances exactes avec l’option -e ou utilisez des ca­rac­tères de rem­pla­ce­ment (-w'*MOTDERECHERCHE') et des ex­pres­sions ré­gu­lières (-r).

2. info

La commande info peut être utilisée pour produire des pages d’in­for­ma­tion GNU sur un sujet spé­ci­fique. Dans la plupart des cas, il s’agit de pages de manuel ac­ces­sibles via man, mais à la dif­fé­rence de celles-ci, des liens vont faciliter la na­vi­ga­tion dans le manuel. Utilisez la syntaxe suivante :

info [OPTION] SUJET
bash

Un appel sans option et sans sujet spécifié vous amène au menu principal des pages d’in­for­ma­tion GNU.

3. pinfo

pinfo est une variante du programme en lignes de commande info, centrée sur le na­vi­ga­teur Lynx et qui affiche des pages d’in­for­ma­tion avec des liens surlignés. Utilisez pinfo selon le même schéma que la commande info :

pinfo [OPTIONS] SUJET
bash

4. whatis

Le programme en lignes de commande whatis est utilisé pour re­cher­cher des mots-clés dans les pages de manuel. Appelez le programme avec le terme de votre choix pour re­cher­cher des cor­res­pon­dances exactes dans le manuel de votre système d’ex­ploi­ta­tion. S’il trouve un équi­valent, whatis émet une courte des­crip­tion dans le terminal.

whatis [OPTIONS] MOTDERECHERCHE
bash

whatis prend également en charge les mots de rem­pla­ce­ment (-w\'*MOTDERECHERCHE') et les ex­pres­sions ré­gu­lières (-r).

Opé­ra­tions sur les ré­per­toires

Les commandes Linux s’utilisent pour les opé­ra­tions sur les ré­per­toires ; elles per­met­tent ainsi de créer, supprimer et gérer vos ré­per­toires sur votre système via le terminal mais aussi de naviguer dans l’ar­bo­res­cence des ré­per­toires. Parmi les commandes plus im­por­tantes de cette catégorie, on trouve cd, ls, mkdir, rmdir.

1. chroot

La commande chroot (abré­via­tion de change + root) est utilisée pour exécuter une commande dans un autre ré­per­toire racine. Par exemple, chroot peut isoler les pro­grammes critiques du reste du système de fichiers. L’uti­li­sa­tion du programme nécessite des droits root. Il est basé sur le schéma suivant :

chroot REPERTOIRE COMMANDE
bash

2. mkdirhier

Avec mkdirhier, vous pouvez créer des hié­rar­chies de ré­per­toires entiers avec une seule ligne de commande :

mkdirhier [OPTION] /home/user/repertoire1/repertoire2/repertoire3
bash

Si repertoire1 et repertoire2 existent déjà, mkdirhier crée sim­ple­ment repertoire3. Autrement, ce sont les trois ré­per­toires qui sont créés.

3. tree

Alors que ls ne liste que le contenu des ré­per­toires, la hié­rar­chie complète peut être affichée de manière récursive sous la forme d’une ar­bo­res­cence grâce au programme en ligne de commande tree. L’appel est effectué selon la syntaxe suivante :

tree [OPTIONS] [REPERTOIRE]
bash

Opé­ra­tions sur les fichiers

Les commandes Linux de cette section vous per­met­tent d’effectuer diverses opé­ra­tions sur les fichiers à partir du terminal. Utilisez les commandes Linux de base telles que cp, mv et rm pour copier, déplacer, renommer ou supprimer des fichiers de votre système.

1. basetree

Un chemin d’accès est remis à la commande basename. Il renvoie di­rec­te­ment au nom de fichier sans que le chemin d’accès antéposé ne doive être spécifié. La syntaxe de la commande cor­res­pond à la suivante :

basename [OPTIONS] Chemin/vers/fichier [SUFFIXE]
bash

La commande peut être étendue à plusieurs fichiers à l’aide d’options.

2. comm

Utilisez le programme en ligne de commande comm pour comparer des fichiers classés (par exemple avec sort) ligne par ligne. L’appel est basé sur la syntaxe suivante :

comm [OPTIONS] FICHIER1 FICHIER2…
bash

Le programme prend en charge trois options :

  • 1 = supprime les lignes uni­que­ment présentes dans FICHIER1
  • 2 = supprime les lignes uni­que­ment présentes dans FICHIER2
  • 3 = supprime toutes les lignes contenues dans les deux fichiers

3. cut

La commande cut vous permet d’extraire un contenu bloc par bloc à partir du texte d’un fichier (par exemple, les fichiers log ou CSV). La syntaxe de la commande cor­res­pond à :

cut [OPTIONS] FICHIER
bash

La position exacte de la section à extraire est définie à l’aide des options -b (position des octets), -c (position des ca­rac­tères), -d (sé­pa­ra­teur) et -f (champ).

4. dirname

dirname est la con­tre­par­tie de basename. Cette commande Linux permet d’extraire la partie du chemin d’accès vers le fichier et de l’émettre dans le terminal sans nom de fichier. La syntaxe de la commande est la suivante :

dirname [OPTIONS]
bash

5. file

La commande file peut être utilisée pour fournir des in­for­ma­tions sur le type d’un fichier. L’appel repose sur le schéma suivant :

file [OPTIONS] FICHIER
bash

6. lsof

La commande Linux lsof est l’abré­via­tion de list open files, un programme d’aide qui affiche des in­for­ma­tions sur les fichiers ouverts triés par le PID (iden­ti­fiant de processus) dans le terminal. L’appel via le terminal s’effectue selon le schéma suivant :

lsof [OPTIONS]
bash

Puisque les systèmes unixoïdes comme Linux suivent le principe « Eve­ry­thing is a file » (Tout est un fichier), la liste des sorties lsof peut être longue. En règle générale, des options sont par con­sé­quent utilisées pour limiter les sorties.

7. md5sum

La commande md5sum peut être utilisée pour calculer et vérifier les checksums MD5 ou l’empreinte d’un fichier.

8. paste

Tout comme cat, le programme en ligne de commande paste permet d’éditer des contenus de fichiers sur la sortie standard. Mais alors que cat ne fait qu’ajouter des contenus les uns aux autres, paste les relie par colonnes. Le schéma de base de la commande est le suivant :

paste [OPTIONS] FICHIER1 FICHIER2 …
bash

Le sé­pa­ra­teur utilisé par paste peut être per­son­na­lisé à l’aide de l’option -d. Les ta­bu­la­tions servent de sé­pa­ra­teur par défaut. L’option -s (mode sériel) permet d’activer un deuxième mode : dans ce mode, toutes les lignes des fichiers d’entrée sont trans­fé­rées dans la sortie, chaque ligne contenant le contenu d’un seul fichier d’entrée.

9. rename

rename est un programme en ligne de commande qui vous permet de renommer des fichiers et dossiers en utilisant des ex­pres­sions ré­gu­lières (regex) com­pa­tibles perl. Con­trai­re­ment à mv, rename convient aux opé­ra­tions sur les fichiers où les noms de plusieurs fichiers doivent être par­tiel­le­ment ou com­plè­te­ment adaptés. Utilisez rename selon le schéma suivant :

rename [OPTIONS] 'EXPRESSION_REGULIERES' FICHIERS
bash

Les ex­pres­sions ré­gu­lières cor­res­pon­dent à la syntaxe suivante pour les rem­pla­ce­ments :

s/MODELEDERECHERCHE/REMPLACEMENT/MODIFIER
bash

10. shred

shred est un programme en ligne de commande qui vous permet de supprimer des fichiers en toute sécurité. Les éléments sé­lec­tion­nés sont écrasés pendant le processus de sup­pres­sion et ne peuvent pas être restaurés. La syntaxe générale de la commande est :

shred [OPTIONS] FICHIER
bash

11. sort

Utilisez la commande sort pour trier les listes de fichiers et les sorties de programme ligne par ligne, nu­mé­ri­que­ment et al­pha­bé­ti­que­ment. Voici la syntaxe générale de la commande :

sort [OPTIONS] FICHIER
bash

La méthode de tri peut être per­son­na­li­sée à l’aide d’options : par exemple, de manière numérique (-n), aléatoire (-R) ou selon l’ordre inverse (-r).

12. split

La commande split est utilisée pour diviser des fichiers. La syntaxe sous-jacente est :

split [OPTIONS] [INPUT [PREFIXE]]
bash

La partie INPUT cor­res­pond au fichier à frac­tion­ner. Indiquez ensuite le préfixe pour les noms des fichiers divisés. Le préfixe est basé sur le schéma suivant :

PREFIXEaa, PREFIXEab, PREFIXEac …
bash

Si aucun préfixe n’est défini, split utilise le préfixe standard x. L’option -b (octets) peut être utilisée pour fixer la taille des fichiers divisés. La spé­ci­fi­ca­tion peut être en octets (b), kilo-octets (k) ou mé­gaoc­tets (m).

Exemple :

split -b 95m archive.tgz split-archive.tgz.
bash

13. stat

La commande stat (statut) peut être utilisée pour afficher les dates des accès et mo­di­fi­ca­tions des fichiers et ré­per­toires sé­lec­tion­nés. La syntaxe générale de la commande est :

stat [OPTIONS] FICHIER
bash

Le format de sortie peut être ajusté à l’aide d’options.

14. uniq

La commande Linux uniq est gé­né­ra­le­ment utilisée avec sort pour se dé­bar­ras­ser des lignes en double des fichiers triés. Dans l’exemple suivant, la commande sort est reliée à uniq par le pipe (|) pour trier tout d’abord le fichier et ensuite éliminer les doublons :

sort fichier.txt | uniq
bash

Options de recherche

Linux offre diverses commandes avec les­quelles il est possible d’effectuer des re­cherches di­rec­te­ment depuis le terminal.

1. find

La commande Linux find est un programme en ligne de commande utilisé pour re­cher­cher des fichiers. L’appel de programme est basé sur la syntaxe suivante :

find [OPTIONS] [REPERTOIRE] [CONDITIONSDERECHERCHE][ACTIONS]
bash

Le ré­per­toire spécifié est le point de départ de la recherche. La recherche est alors effectuée dans ce ré­per­toire ainsi que ses sous-ré­per­toires. Si vous ne spécifiez pas de ré­per­toire, find lance la recherche à partir du ré­per­toire courant.

Les options vous per­met­tent de définir des critères de recherche et des actions. L’action par défaut est -print, qui permet d’afficher les noms complets des fichiers cor­res­pon­dants sur la sortie standard, en général le terminal. Les critères de recherche courants sont le nom du fichier, un nom d’uti­li­sa­teur, la taille du fichier, le jour de l’accès au fichier ou le jour des mo­di­fi­ca­tions ef­fec­tuées. Elles sont listées dans la page de manuel Linux cor­res­pon­dante.

2. locate

Le programme en ligne de commande locate permet également de re­cher­cher des fichiers via le terminal. Con­trai­re­ment à find, cependant, ce n’est pas le ré­per­toire de fichiers qui est fouillé, mais plutôt une base de données dédiée à cette fin et ré­gu­liè­re­ment mise à jour. Par con­sé­quent, locate permet d’obtenir des résultats de recherche beaucoup plus ra­pi­de­ment que find. Pour re­cher­cher un fichier spé­ci­fique dans la base de données, locate est appelé selon le schéma suivant :

locate MODELEDERECHERCHE
bash

Le modèle de recherche peut contenir des mé­ta­ca­rac­tères tels que des ca­rac­tères de rem­pla­ce­ment (*). Mettez-les entre guil­le­mets pour empêcher une in­ter­pré­ta­tion par le Shell.

3. tre-agrep

tre-agrep est également utilisé pour re­cher­cher sur la base de modèles de recherche des strings dans les fichiers texte. Con­trai­re­ment à grep, non seulement les cor­res­pon­dances exactes sont émises, mais aussi les cor­res­pon­dances moins précises telles qu’avec des in­ver­sions de lettres ou autres coquilles. Le programme est basé sur la bi­blio­thèque TRE. La syntaxe de tre-agrep cor­res­pond à celle de la commande grep :

tre-agrep [OPTIONS] MODELEDERECHERCHE FICHIER(S)
bash

Dans les options, vous pouvez définir le nombre maximum d’erreurs au­to­ri­sées. Dans l’exemple suivant, un seul écart est toléré par rapport au modèle de recherche.

tre-agrep -1 'Linux' test.txt
bash

4. updatedb

Une recherche via locate ne fonc­tion­nera de manière fiable que si le fichier /var/lib/locatedb est con­ti­nuel­le­ment tenu à jour. La commande updatedb permet donc de mettre à jour la base de données ma­nuel­le­ment. Notez que vous avez besoin pour ce faire de disposer des droits root :

updatedb
bash

5. whereis

Avec la commande whereis, vous pouvez localiser les fichiers binaires, de code source ou les manuels des pro­grammes sé­lec­tion­nés. La syntaxe générale de la commande est :

whereis [OPTIONS] PROGRAMME
bash

À l’aide des options, vous pouvez limiter la recherche à des types de fichiers ou des ré­per­toires spé­ci­fiques.

6. which

Si vous voulez retrouver le fichier binaire d’un programme, utilisez la commande which selon le schéma ci-dessous, qui permet d’afficher le chemin dans le terminal.

which [OPTIONS] PROGRAMME
bash

En mode par défaut which émet le premier fichier qui est trouvé. Utilisez l’option -a pour afficher tous les fichiers qui cor­res­pon­dent au critère de recherche.

In­for­ma­tions uti­li­sa­teurs

Utilisez les pro­grammes en ligne de commande de la catégorie suivante pour obtenir des in­for­ma­tions dé­tail­lées sur les uti­li­sa­teurs en­re­gis­trés dans le système ainsi que leurs groupes et processus.

1. finger

Le programme en ligne de commande finger est utilisé pour récupérer des in­for­ma­tions sur les uti­li­sa­teurs. La commande finger est donnée avec le nom de l’uti­li­sa­teur en question :

finger [Options] [NOMUTILISATEUR]
bash

Utilisez finger sans nom d’uti­li­sa­teur pour récupérer des in­for­ma­tions sur votre propre compte.

2. groups

La commande groups dresse la liste des membres d’un groupe d’un compte uti­li­sa­teur sé­lec­tionné. Utilisez la commande en ligne de commande selon le schéma suivant :

groups [OPTIONS] [NOMUTILISATEUR]
bash

Utilisez groups sans nom d’uti­li­sa­teur pour lister tous les groupes auxquels votre compte uti­li­sa­teur ap­par­tient.

3. id

La commande id émet les iden­ti­fiants d’uti­li­sa­teur et de groupe du compte uti­li­sa­teur sé­lec­tionné. Vous pouvez récupérer vos propres iden­ti­fiants en passant la commande sans nom d’uti­li­sa­teur.

id [OPTIONS] [NOMUTILISATEUR]
bash

La portée de la sortie peut être limitée à l’aide des options.

4. last

Utilisez la commande last selon le schéma ci-dessous pour obtenir la liste des uti­li­sa­teurs qui se sont connectés en dernier, avec leur temps de connexion et de dé­con­nexion :

last [OPTIONS]
bash

Les in­for­ma­tions cor­res­pon­dantes sont extraites du fichier wtmp sous /var/log/wtmp. Si vous voulez seulement consulter les in­for­ma­tions d’un compte spé­ci­fique, saisissez la commande avec le nom d’uti­li­sa­teur de votre choix.

last [OPTIONS] [NOMUTILISATEUR]
bash

5. w

La commande w affiche une liste de tous les uti­li­sa­teurs connectés, avec l’ensemble des processus qu’ils exécutent. Utilisez w en com­bi­nai­son avec un nom d’uti­li­sa­teur pour res­treindre la commande à cet uti­li­sa­teur :

w [OPTIONS] [NOMUTILISATEUR]
bash

Si né­ces­saire, l’étendue et le format de la sortie peuvent être ajustés à l’aide des options.

6. who

La commande who permet d’afficher des in­for­ma­tions dé­tail­lées sur les uti­li­sa­teurs connectés sur le système. La syntaxe générale de l’appel est la suivante :

who [OPTION] [FICHERSOURCE]
bash

who prend en charge diverses options per­met­tant d’ajuster la sortie d’in­for­ma­tions. Par défaut, who recouvre à partir du fichier /var/run/run/utmp les données des uti­li­sa­teurs alors connectés. Pour récupérer des in­for­ma­tions sur les logins pré­cé­dents, utilisez who avec le fichier source /var/log/wtmp :

7. whoami

Utilisez la commande whoami pour récupérer votre propre nom d’uti­li­sa­teur.

whoami [OPTIONS]
bash

Gestion des comptes uti­li­sa­teurs

Linux offre une série de pro­grammes avec lesquels vous pouvez créer, supprimer et gérer les comptes uti­li­sa­teurs et groupes di­rec­te­ment à partir du terminal. Nous avons compilé ci-dessous un aperçu des commandes Linux les plus im­por­tantes pour la gestion des comptes uti­li­sa­teurs. Dans cette catégorie, vous trouverez également des commandes de terminal Linux qui vous per­met­tent d’appeler des pro­grammes avec les droits d’autres uti­li­sa­teurs, y compris des super users Root.

1. chfn

La commande chfn (abré­via­tion de change finger) permet de con­fi­gu­rer les in­for­ma­tions avancées d’un compte uti­li­sa­teur telles que le nom réel, l’em­pla­ce­ment de son bureau et les numéros de téléphone privés et pro­fes­sion­nels. La syntaxe générale de chfn est :

chfn [OPTION "NOUVELLE VALEUR"] [NOMUTILISATEUR]
bash

Vous pouvez définir les in­for­ma­tions uti­li­sa­teur que vous souhaitez remplacer par une nouvelle valeur à l’aide des options -f (nom réel), -r (em­pla­ce­ment de bureau), -w (numéro pro­fes­sion­nel) et -h (numéro personnel).

2. chsh

La commande chsh (abré­via­tion de change shell) modifie le shell de connexion d’un uti­li­sa­teur sé­lec­tionné. Orientez-vous vers le schéma suivant lors de la saisie des données :

chsh [OPTIONS] NOMUTILISATEUR
bash

Pour ajuster le shell de connexion d’un uti­li­sa­teur, chsh est utilisé avec l’option -s.

3. deluser

deluser permet de supprimer dans les fichiers du compte système toutes les entrées d’un compte uti­li­sa­teur sé­lec­tionné. L’uti­li­sa­tion de deluser nécessite des droits root et est basée sur le schéma suivant :

deluser [OPTIONS] NOMUTILISATEUR
bash

Si vous souhaitez également supprimer tous les fichiers du ré­per­toire personnel de l’uti­li­sa­teur, utilisez la commande avec l’option --remove-home. Si tous les fichiers uti­li­sa­teurs doivent être supprimés du système, l’option --remove-all-files est utilisée.

4. delgroup

La commande delgroup (abré­via­tion de delete group) permet de supprimer un groupe d’uti­li­sa­teurs existant. Les droits roots sont né­ces­saires pour pouvoir exécuter la commande. La syntaxe générale de delgroup est :

delgroup [OPTIONS] GROUPE
bash

5. groupmod

Via groupmod, le nom et le GID d’un groupe d’uti­li­sa­teurs existant peuvent être ajustés. La commande en ligne de commande est utilisée avec les droits root selon le schéma suivant :

groupmod OPTIONS GROUPE
bash

Utilisez groupmod avec l’option -g pour per­son­na­li­ser le GID. L’uti­li­sa­tion de l’option -n permet de renommer le nom du groupe.

6. newgrp

newgrp (abré­via­tion de new group) est une commande qui permet aux uti­li­sa­teurs connectés de changer leur ID de groupe sans avoir à se connecter et se dé­con­nec­ter à nouveau. La syntaxe générale de la commande est :

newgrp [-] [GROUPE]
bash

Si newgrp est remis avec le paramètre optionnel [-], le chan­ge­ment de groupe entraîne un re­dé­mar­rage de l’en­vi­ron­ne­ment uti­li­sa­teur, comme si l’uti­li­sa­teur s’était re­con­necté. Les uti­li­sa­teurs qui utilisent newgrp sans spé­ci­fi­ca­tion de groupe bascule vers le groupe par défaut spécifié dans /etc/passwd.

7. su

La commande su permet également à un uti­li­sa­teur d’exécuter tem­po­rai­re­ment des appels de programme avec les droits d’un uti­li­sa­teur cible. Con­trai­re­ment à sudo, les commandes ne sont toutefois pas exécutées di­rec­te­ment. En effet, c’est plutôt un chan­ge­ment d’identité qui est opéré. De plus, su ne demande pas le mot de passe de l’uti­li­sa­teur appelant, mais celui de l’uti­li­sa­teur cible. Pour appeler des pro­grammes en tant que super-uti­li­sa­teur, un uti­li­sa­teur doit par con­sé­quent avoir en principe besoin du mot de passe root du système. De plus, con­trai­re­ment à sudo, su n’est pas limité à un ensemble d’appels de programme pré­dé­fi­nis par l’ad­mi­nis­tra­teur. Voici la syntaxe générale de la commande :

su [OPTIONS] [NOMUTILISATEUR]
bash

Un appel sans NO­MU­TI­LI­SA­TEUR définit au­to­ma­ti­que­ment root comme uti­li­sa­teur cible.

8. usermod

La commande en ligne de commande usermod vous permet de remanier les comptes uti­li­sa­teurs déjà créés. Utilisez usermod avec les pri­vi­lèges root selon le schéma suivant :

usermod [OPTIONS] NOMUTILISATEUR
bash

Les options per­met­tent de définir les mo­di­fi­ca­tions à apporter. Par exemple, vous pouvez modifier le nom d’uti­li­sa­teur avec -l NOUVEAU_NOM. Pour plus d’options, consultez la page manuel cor­res­pon­dante.

Commandes système

Dans cette catégorie, nous vous pré­sen­tons des commandes Linux de base pour le contrôle du système. Les commandes suivantes per­met­tent de re­dé­mar­rer et d’arrêter le système à partir du terminal, et ce à un moment spé­ci­fi­que­ment choisi si besoin. La plupart des commandes en ligne du panneau de contrôle doivent être exécutées avec les pri­vi­lèges root.

1. logger

Le programme en ligne de commande logger peut être utilisé pour créer des entrées dans le journal système. La commande logger suit le schéma suivant :

logger "VOTRE MESSAGE"
bash

Vous trouverez le journal système sous /var/log/syslog.

2. reboot

reboot est une commande qui permet de faire re­dé­mar­rer le système. Pour lancer un re­dé­mar­rage, la commande doit être exécutée avec les droits root.

reboot [OPTIONS]
bash

3. rtcwake

rtcwake est une commande qui permet de planifier le démarrage et la veille du système. Elle est basée sur la syntaxe suivante :

rtcwake [OPTIONS] [MODE] [Temps]
bash

Sé­lec­tion­nez un mode spé­ci­fique (-m MODE) sur lequel le système doit se mettre en veille pour une durée définie en secondes (-s TEMPS EN SECONDE). Autrement, vous avez aussi la pos­si­bi­lité de sortir votre système de la veille à une heure définie pré­ci­sé­ment selon l’heure UNIX (-t).

In­for­ma­tions du système

Dans cette rubrique, nous avons résumé les pro­grammes en ligne de commande pour obtenir des in­for­ma­tions et annonces de statuts, ainsi qu’une vue d’ensemble complète de l’état de votre système.

1. date

La commande date renvoie, comme son nom laisse le présager, à la date et heure du système.

date [OPTIONS] [FORMATDESORTIE]
bash

Si vous voulez tra­vail­ler avec une certaine date dans un appel de programme (voir rtcwake), ceci peut être défini avec l’option ‘-d ‘DATE’`. Par ailleurs, diverses options pourront être prises en charge, avec les­quelles les in­for­ma­tions de date et d’heure peuvent être com­mu­ni­quées dans le format souhaité.

2. df

Utilisez la commande df (disk free) selon le schéma suivant pour afficher l’espace disque dis­po­nible des par­ti­tions montées.

df [OPTIONS]
bash

Si la commande est utilisée avec un fichier spé­ci­fique, le système ne spécifie que l’espace libre de la partition sur laquelle se trouve le fichier. L’option -l (local) limite df aux systèmes de fichiers locaux. Des options sont également prises en charge pour per­son­na­li­ser le format de sortie. De plus, des options per­met­tant d’adapter le format de sortie sont également prévues.

3. dmesg

Le programme dmesg (abré­via­tion de display message) émet dans le terminal des messages à partir de la mémoire tampon du noyau, ce qui vous permet de localiser les erreurs de matériel. Utilisez dmesg selon le schéma suivant :

dmesg [OPTIONS]
bash

La sortie dmesg contient tous les messages du processus de démarrage et est donc tout aussi longue. Le programme en ligne de commande est souvent utilisé en com­bi­nai­son avec un pager tel que more, less ou tail.

4. free

La commande free émet des in­for­ma­tions sur la mémoire vive. La syntaxe générale est :

free [OPTIONS]
bash

La sortie émet deux données : Mem (Memory) et Swap. free peut également se servir de l’option -h pour sortir les in­for­ma­tions de la mémoire dans un format lisible par l’homme.

5. hostname

Utilisez la commande hostname selon le schéma ci-dessous pour afficher le nom DNS du système.

hostname [OPTIONS]
bash

6. uname

La commande uname (pour unix name) est utilisée pour obtenir des in­for­ma­tions système sur la machine d’exécution. La commande prend en charge dif­fé­rentes options per­met­tant de filtrer les in­for­ma­tions de la sortie. Vous les trouverez dans la page manuel Linux cor­res­pon­dante.

uname [OPTIONS]
bash

7. uptime

Si vous voulez retrouver la durée d’exécution de votre système depuis le dernier processus de démarrage, utilisez la commande en ligne de commande uptime selon le schéma suivant :

Uptime
bash

8. vmstat

L’outil de mo­ni­to­ring vmstat peut être utilisé pour récupérer des in­for­ma­tions sur la mémoire virtuelle, les opé­ra­tions de lecture/écriture du disque ainsi que l’activité du pro­ces­seur (CPU). Pour faire afficher les valeurs moyennes depuis le dernier démarrage du système, appelez vmstat comme suit :

vmstat [OPTIONS]
bash

Autrement, vmstat permet un mo­ni­to­ring continue, dans lequel les valeurs du système sont appelées aussi souvent que né­ces­saire dans un in­ter­valle de temps défini en secondes.

vmstat [OPTIONS] [INTERVALE [REPETITIONS]]
bash

In­for­ma­tions sur le matériel (hardware)

Les commandes Linux de cette catégorie vous four­nis­sent des in­for­ma­tions dé­tail­lées sur les com­po­sants matériels sous-jacents à votre système.

1. lspci

Utilisez lspci (abré­via­tion de list pci) selon le schéma suivant pour afficher des in­for­ma­tions dé­tail­lées sur les pé­ri­phé­riques PCI :

lspci [OPTIONS]
bash

Reportez-vous aux pages d’aide de votre système d’ex­ploi­ta­tion pour connaître les options possibles.

2. lsusb

Utilisez lsusb (abré­via­tion de list usb) pour afficher dans le terminal des in­for­ma­tions dé­tail­lées sur les pé­ri­phé­riques USB.

lsusb [OPTIONS]
bash

Reportez-vous aux pages de manuel de votre système d’ex­ploi­ta­tion pour connaître les options possibles.

Gestion des processus

Sous Linux, l’instance d’un programme en cours d’exécution est appelée processus. Les commandes de terminal dé­ve­lop­pées dans ce chapitre font partie du ré­per­toire standard pour la gestion des processus. Elles per­met­tent de sur­veil­ler à partir du terminal tous les processus de votre système et d’in­ter­ve­nir si né­ces­saire.

1. chrt

chrt est un programme en ligne de commande pour les contrôles de processus avancés qui per­met­tent de dé­ter­mi­ner et d’ajuster les attributs en temps réel (politique d’or­don­nan­ce­ment et priorité) des processus en cours d’exécution ou d’exécuter des commandes et leurs arguments avec des attributs en temps réel spé­ci­fiques. La syntaxe générale de la commande est :

chrt [OPTIONS] [PRIORITE] PID/COMMANDE [ARGUMENTS]
bash

Utilisez chrt sans spécifier de priorité mais avec l’option -p pour dé­ter­mi­ner les attributs en temps réel des processus sé­lec­tion­nés.

De plus, chrt offre la pos­si­bi­lité de per­son­na­li­ser ou de définir la règle de pla­ni­fi­ca­tion de l’exécution ou du re­dé­mar­rage des processus à l’aide d’options. De plus amples in­for­ma­tions à ce sujet sont dis­po­nibles dans la page de manuel cor­res­pon­dante.

2. ionice

La commande ionice est utilisée pour in­fluen­cer la priorité d’un processus qui utilise l’interface d’E/S du noyau. La syntaxe générale de la commande est :

ionice [OPTIONS] COMMANDE
bash

Pour pouvoir exécuter ionice, des droits root sont né­ces­saires. La commande distingue trois classes d’or­don­nan­ce­ment qui sont passées avec l’option -cNOMBRE. Les valeurs nu­mé­riques possibles sont 1, 2 et 3.

  • 1 = Temps réel : l’action E/S est exécutée im­mé­dia­te­ment.
  • 2 = Best-Effort : l’action E/S est exécutée le plus ra­pi­de­ment possible.
  • 3 = Idle : l’action E/S n’est exécutée que si aucun autre processus ne prend en compte du temps E/S.

3. nohup

Nor­ma­le­ment, tous les processus dé­pen­dants d’un uti­li­sa­teur se terminent au­to­ma­ti­que­ment dès que l’uti­li­sa­teur ferme la session terminal (par exemple, via exit). La commande Linux nohup (abré­via­tion de no hangup) déclenche un processus à partir de la session en cours et permet de pour­suivre son exécution même si vous vous dé­con­nec­tez du système.

nohup COMMANDE
bash

4. pidof

La ligne de commande pidof affiche les numéros d’iden­ti­fi­ca­tion de tous les processus d’un programme (PID). Retrouver les PID via pidof selon le schéma suivant :

pidof [OPTIONS] PROGRAMME
bash

Si vous souhaitez seulement afficher le premier ID de processus, utilisez pidof avec l’option -s (abré­via­tion de single shot).

5. pkill

Comme kill, pkill envoie aussi un signal à un processus sé­lec­tionné. Cependant, l’adressage ne s’effectue pas par le PID. À la place, un terme de recherche est comparé avec les noms des processus en cours d’exécution. Il peut être formulé comme une ex­pres­sion régulière. pkill utilise également par défaut le signal TERM si aucun autre signal n’a été défini. La syntaxe générale de la commande est :

pkill [OPTIONS] [-SIGNAL] [TERMEDERECHERCHE]
bash

Des options sup­plé­men­taires peuvent être utilisées pour res­treindre la commande aux processus d’un uti­li­sa­teur par­ti­cu­lier (-U UID), aux processus enfants d’un processus parent spé­ci­fique (-P PID), ou encore aux processus les plus récents (-n) ou les plus anciens (-o).

6. pstree

Utilisez pstree pour afficher tous les processus en cours d’exécution dans une ar­bo­res­cence. La syntaxe générale de la commande est :

pstree [OPTIONS]
bash

Le format et l’étendue de la sortie peuvent être per­son­na­li­sés à l’aide de dif­fé­rentes options.

7. renice

La commande renice permet d’ajuster la priorité d’un processus en cours d’exécution. La syntaxe générale est :

renice PRIORITE [OPTIONS]
bash

8. sleep

La commande Lunix sleep vous permet d’in­ter­rompre la session du terminal en cours pendant une période de temps donnée. La syntaxe générale de la commande est :

sleep NOMBRE[SUFFIXE]
bash

Si vous utilisez sleep sans suffixe, le nombre spécifié est in­ter­prété comme un temps en secondes (s). Toutefois, vous pouvez également in­ter­rompre la session du terminal pendant des minutes (m), heures (h) ou jours (d) donnés.

9. taskset

taskset est une commande pour les contrôles de processus avancés qui est utilisée pour les systèmes mul­ti­pro­ces­seurs afin d’assigner des processus ou des commandes à des pro­ces­seurs spé­ci­fiques. La commande nécessite des droits root et utilise l’un des schémas suivants :

taskset [OPTIONS] MASQUE COMMANDE
taskset [OPTIONS] -p PID
bash

L’af­fec­ta­tion de process/commande au pro­ces­seur se fait à l’aide d’un masque en bits hexa­dé­ci­maux.

Comme une telle af­fec­ta­tion des masques n’est pas très intuitive, taskset est gé­né­ra­le­ment utilisé avec l’option -c (–cpu-list), qui permet un clas­se­ment numérique des pro­ces­seurs (par exemple 0, 5 7, 9-11).

Pager (vi­sion­neur)

Vous voulez garder un bon aperçu aussi pour les contenus de fichiers ayant plusieurs pages ? À l’aide des pro­grammes en ligne de commande de ce chapitre, vous pouvez sé­lec­tion­ner les parties que vous voulez afficher dans le terminal et même, si né­ces­saire, feuil­le­ter le fichier en mode in­te­rac­tif.

1. head

La commande Linux head est utilisé pour sortir la première partie d’un fichier. La syntaxe générale de la commande est :

head [OPTIONS] Fichier
bash

Utilisez l’option -n NOMBRE_LIGNES pour définir le nombre de lignes à éditer en com­men­çant par la première ligne.

2. less

Le programme de ligne de commande less permet d’afficher le contenu d’un fichier texte dans le terminal. La syntaxe générale est :

less [OPTIONS] FICHIER
bash

La sortie est au­to­ma­ti­que­ment en mode in­te­rac­tif. Ceci vous permet de parcourir plus fa­ci­le­ment le document sé­lec­tionné ou d’effectuer des re­cherches par mots-clés. La touche [Q] met fin au mode lecture in­te­rac­tive. Pour d’autres touches de commande et les options possibles, reportez-vous au manuel du programme.

3. tail

Tandis que head affiche par défaut les 10 premières lignes d’un fichier sé­lec­tionné, tail affiche les 10 dernières. Les deux pagers sont utilisés selon le même schéma (voir head).

Éditeurs

Sous Linux, vous n’avez pas besoin d’un programme de trai­te­ment de texte graphique pour adapter les fichiers de con­fi­gu­ra­tion, tra­vail­ler des sections de code ou rédiger des notes courtes. Des éditeurs de texte simples et rapides peuvent être utilisés dans le terminal. Nous vous pré­sen­tons ci-dessous trois pro­grammes que vous devriez connaître.

1. emacs

Emacs est un éditeur de texte in­dé­pen­dant de la pla­te­forme. Il démarre par défaut avec une interface uti­li­sa­teur graphique, mais peut aussi être ouvert dans le terminal en utilisant l’option --no-window-system.

emacs --no-window-system
bash

Emacs dispose d’un tutoriel intégré auquel vous pouvez accéder en appuyant sur [CTRL] + [H], [T].

2. nano

Nano est un éditeur de texte basé sur un terminal. Si Nano offre une plus petite gamme de fonctions que les éditeurs com­pa­rables (par exemple Vim), il est par­ti­cu­liè­re­ment agréable à utiliser. Voici la syntaxe générale :

nano [OPTIONS] FICHIER
bash

Le programme ouvre le fichier spécifié dans une fenêtre Edit du terminal. Si vous appelez Nano sans nom de fichier, un nouveau fichier texte est créé et en­re­gis­tré dans le ré­per­toire ac­tuel­le­ment sé­lec­tionné.

3. vim

Vim (abré­via­tion de Vi Improved) est une suite de l’éditeur de texte Vi. Il se distingue par de nom­breuses amé­lio­ra­tions telles que le sur­lig­ne­ment syn­taxique, un système d’aide complet, un script natif, des au­to­com­plé­tions du code et une sélection visuelle du texte.

Le programme open source offre dif­fé­rents modes de fonc­tion­ne­ment pour le trai­te­ment de fichiers texte pur et peut être utilisé soit dans le terminal, soit comme ap­pli­ca­tion autonome avec interface uti­li­sa­teur graphique (GVim). Le trai­te­ment du code de programme est au cœur du domaine d’ap­pli­ca­tion du programme.

Si vous démarrez Vim dans la console, il est commandé par le clavier. Ha­bi­tuel­le­ment, le programme est appelé avec un fichier texte selon le schéma suivant :

vim [OPTIONS] FICHIER
bash

Une in­tro­duc­tion complète à Vim est proposée par le programme vimtutor, que vous pouvez également lancer à partir de la ligne de commande. De plus, notre article sur les fon­da­men­taux de l’éditeur de texte Vim vous aidera également sur son ins­tal­la­tion et les dif­fé­rents modes de fonc­tion­ne­ment du programme.

Gestion de réseau

La gestion de réseau sous Linux s’effectue également de manière simple depuis le terminal. Que vous sou­hai­tiez vérifier la connexion, consulter des in­for­ma­tions sur le DNS, con­fi­gu­rer des in­ter­faces ou trans­fé­rer des fichiers vers un autre or­di­na­teur du réseau, une seule commande suffit avec les pro­grammes suivants.

1. arp

Le programme en ligne de commande arp vous permet de consulter le cache ARP de votre système d’ex­ploi­ta­tion et de le manipuler. Utilisez arp sans mo­di­fi­ca­teur pour afficher le contenu de la table ARP dans le terminal.

arp [OPTION]
bash

Vous pouvez également limiter la sortie avec des options ou créer ou supprimer des entrées :

  • -a HOSTNAME = Limiter la sortie aux entrées pour des noms d’hôtes spé­ci­fiques (al­ter­na­tive à une adresse IP)
  • -s HOSTNAME MAC_ADDRESS = Créer une entrée ARP avec le nom d’hôte et l’adresse MAC.
  • -d HOSTNAME = Supprimer l’entrée ARP

2. iw

Le programme en ligne de commande iw est utilisé pour con­fi­gu­rer les in­ter­faces WLAN et s’est imposé comme une al­ter­na­tive plus moderne à iwconfig. La syntaxe est similaire à celle de la commande ip :

iw [OPTIONS] OBJET [COMMANDE]
bash

Les objets possibles sont :

  • dev NOM_INTERFACE = interface réseau
  • phy NOM_PE­RI­PHE­RIQUE = pé­ri­phé­rique réseau sans fil (via Nom)
  • phy#INDEX_PE­RI­PHE­RIQUE = pé­ri­phé­rique réseau sans fil (via Index)
  • reg = re­gu­la­tory agent pour la con­fi­gu­ra­tion des pa­ra­mètres régionaux

Une vue d’ensemble des commandes et options possibles peut être trouvée dans la page de manuel cor­res­pon­dante.

3. nslookup

Comme dig, nslookup est aussi utilisé pour consulter des in­for­ma­tions sur le DNS. Le programme en ligne de commande est dis­po­nible selon deux modes : in­te­rac­tif et non in­te­rac­tif. Si vous voulez utiliser nslookup en mode non-in­te­rac­tif, appelez le programme en com­bi­nai­son avec un nom d’hôte ou une adresse IP.

nslookup [OPTIONS] [HOST/IP]
bash

Pour lancer le mode in­te­rac­tif, entrez la commande nslookup dans le terminal sans aucune in­for­ma­tion sup­plé­men­taire, puis entrez les noms d’hôtes ou les adresses IP pour afficher les adresses IP ou les noms d’hôtes associés.

Comme le programme est très ancien, il est re­com­mandé aux uti­li­sa­teurs d’utiliser dig à la place.

4. rsync

Le programme en ligne de commande rsync permet de syn­chro­ni­ser des fichiers lo­ca­le­ment ou sur un réseau. Tout d’abord, la taille et la date de mo­di­fi­ca­tion des fichiers concernés sont comparés.

Si la source et la cible sont sur le même système, des fichiers dif­fé­rents sont copiés dans leur in­té­gra­lité. Lors de la syn­chro­ni­sa­tion sur un réseau, rsync utilise un al­go­rithme de transfert delta, de sorte que seules les parties de fichier modifiées soient trans­fé­rées du support de données source vers le système cible. La syntaxe de l’appel est :

rsync [OPTIONS] SOURCE(S) CIBLE
bash

La commande rsync est gé­né­ra­le­ment exécutée avec l’option -a, ce qui garantit que tous les sous-ré­per­toires et liens sym­bo­liques sont également copiés ainsi que tous les droits d’uti­li­sa­teur.

5. scp

La commande Linux scp (abré­via­tion de secure copy) permet le transfert sécurisé des données dans le réseau di­rec­te­ment via le terminal : scp copie les données d’un or­di­na­teur à un autre, en utilisant également le protocole réseau SSH. Le programme client fonc­tionne de la même manière que l’option fichier cp, mais il est utilisé selon la syntaxe suivante :

scp [OPTIONS] FICHIER [[user@]remote_host:]CHEMINACCES
bash

Lorsque vous spécifiez le chemin d’accès de l’hôte distant, le nom d’uti­li­sa­teur et le nom de l’hôte cor­res­pon­dant sont indiqués. Vous pouvez utiliser des chemins d’accès relatifs ou absolus pour les fichiers locaux.

Exemple :

scp /home/max/images/image.jpg max@exemple.com:/home/max/archiv
bash

D’autres options vous per­met­tent d’ajuster le mode de transfert et les pa­ra­mètres de chif­fre­ment.

6. tty

La commande tty émet le nom de fichier du terminal défini comme entrée par défaut. La syntaxe générale de la commande est :

tty [OPTIONS]
bash

Archivage et com­pres­sion

Linux offre diverses tech­no­lo­gies avec les­quelles les fichiers peuvent être com­pres­sés et envoyés dans des archives. Veuillez noter que chaque archivage n’implique pas toujours une com­pres­sion. Ainsi, le programme d’archivage de fichiers tar est gé­né­ra­le­ment utilisé avec des pro­grammes de com­pres­sion tels que gzip, bzip2 ou xz.

1. gzip

gzip est un programme qui facilite la com­pres­sion et la dé­com­pres­sion des fichiers. La syntaxe générale qui s’applique est :

gzip [OPTIONS] FICHIER(S)
bash

Notez que gzip supprime le fichier d’ap­pli­ca­tion original dans le cadre du processus de dézippage par défaut. Ceci peut être modifié avec l’option -k.

Si né­ces­saire, le programme peut être appliqué à plusieurs fichiers en même temps. Chaque fichier source est converti en un fichier gz in­dé­pen­dant.

Si vous voulez écrire plusieurs fichiers dans une seule archive com­pres­sée, utilisez gzip en com­bi­nai­son avec le programme d’archivage tar.

Si vous voulez dé­com­pres­ser un fichier gz, utilisez la commande gzip avec l’option -d.

2. bzip2

Une al­ter­na­tive populaire à gzip est le programme en ligne de commande bzip2. Il utilise la même syntaxe que gzip, mais est basé sur un processus de com­pres­sion en trois étapes qui permet un niveau de com­pres­sion bien plus élevé.

Les fichiers com­pres­sés avec bzip2 vont porter l’extension .bz2. Voici le schéma pour com­pres­ser les fichiers :

bzip2 [OPTIONS] FICHIER(S)
bash

bzip2 peut également être appliqué aux archives tar. La dé­com­pres­sion se fait de la même manière que gzip avec l’option -d.

3. xz

Le programme en ligne de commande xz convertit les fichiers au format de com­pres­sion de données du même nom xz. L’appel de programme suit le même schéma que pour gzip et bzip2.

xz [OPTIONS] FICHIER(S)
bash

Les fichiers qui sont com­pres­sés avec xz utilisent l’extension .xz. La dé­com­pres­sion fonc­tionne comme avec gzip et bzip avec l’option -d. La commande unxz peut aussi être utilisée. Comme les fichiers gz et bz2, les fichiers xz ne sont pas des fichiers d’archive. Si vous voulez écrire plusieurs fichiers dans le même fichier xz compressé, vous devez également utiliser l’outil d’archivage tar.

4. cpio

cpio (abré­via­tion de copy in, copy out) est un programme d’archivage avec lequel les données peuvent être écrites et extraites d’un fichier d’archives (.cpio).

Gestion des par­ti­tions

Si vous voulez accéder à un système de fichiers Linux sur une autre partition, vous devez d’abord l’inclure dans la structure de ré­per­toire de votre système d’ex­ploi­ta­tion. C’est ce qu’on appelle le « montage » d’une partition. Si né­ces­saire, cela peut être fait via l’interface uti­li­sa­teur graphique. Autrement, les pro­grammes en ligne de commande tels que lsblk, blkid et mount offrent la pos­si­bi­lité de consulter des in­for­ma­tions sur les pé­ri­phé­riques de stockage connectés et de les monter ou démonter selon les besoins.

1. lsblk

Utilisez la commande lsblk (abré­via­tion de list block devices) pour afficher tous les pé­ri­phé­riques de stockage de type bloc et par­ti­tions connectés sous forme d’ar­bo­res­cence. L’appel est basé sur la syntaxe suivante :

lsblk [OPTIONS]
bash

Si né­ces­saire, la sortie peut être per­son­na­li­sée à l’aide de l’option -o (–output) tout comme la liste des attributs souhaités pour récupérer des in­for­ma­tions sup­plé­men­taires telles que le numéro d’iden­ti­fi­ca­tion (UUID), le système de fichiers (FSTYPE) ou l’état (STATE).

Les pé­ri­phé­riques de stockage vides sont ignorés par défaut. Si vous voulez les inclure tout de même dans votre vi­sua­li­sa­tion, utilisez lsblk en com­bi­nai­son avec l’option -a (–all). Si vous voulez seulement récupérer des in­for­ma­tions sur un pé­ri­phé­rique spé­ci­fique, utilisez lsblk selon le schéma suivant :

lsblk [OPTIONS] PERIPHERIQUE
bash

2. blkid

Semblable à lsblk, blkid fournit également des in­for­ma­tions sur les pé­ri­phé­riques de stockage de type bloc connectés. Utilisez blkid selon la syntaxe ci-dessous pour récupérer le numéro d’iden­ti­fi­ca­tion (UUID) et le type de système de fichiers (TYPE) de tous les pé­ri­phé­riques de stockage en bloc connectés.

blkid [OPTIONS]
bash

Pour obtenir un tableau, utilisez l’option -o avec la valeur list. blkid peut également être limité à un appareil sé­lec­tionné :

blkid [OPTIONS] PERIPHERIQUE
bash

Divers

Voici d’autres commandes Linux standard qui ne s’ap­pli­quent pas aux autres ca­té­go­ries énumérées dans cet article.

1. alias

L’in­te­rac­tion avec le shell se fait gé­né­ra­le­ment par le biais de commandes pouvant être utilisées pour appeler des pro­grammes de ligne de commande du même nom. Vous appelez un programme pour chaque action que vous souhaitez effectuer via le terminal. La commande Linux alias vous permet de définir des di­mi­nu­tifs pour appeler des pro­grammes. Utilisez alias selon le modèle suivant :

alias DIMINUTIF= 'COMMANDE'
```bash
La mention COMMANDE ci-dessus peut alors être remplacée par n’importe quel programme en ligne de commande avec ses options comprises. La commande et ses options seront alors liées à la chaîne de caractères utilisée dans DIMINUTIF.
**2. at**
Pour exécuter une commande à un temps précis, appeler le programme en ligne de commande `at` selon la syntaxe suivante :
```bash
at TEMPS
bash

Entrez ensuite la commande à exécuter et fermez le mode in­te­rac­tif avec [CTRL] +[D].

3. cal

Utilisez cal selon le schéma suivant pour afficher un ca­len­drier dans le terminal :

cal [OPTIONS] [[MOIS] Annee]
bash

4. pr

Utilisez le programme en ligne de commande pr pour préparer les fichiers texte à l’im­pres­sion. La syntaxe générale de la commande est :

pr [OPTIONS] Fichier
bash

Par défaut, pr crée un en-tête de page contenant le nom du fichier, la date du jour et le numéro de page.

5. script

Le programme en ligne de commande script vous permet d’écrire une session de terminal dans le fichier typescript. Si typescript contient déjà un en­re­gis­tre­ment d’une session pré­cé­dente, il sera écrasé. L’en­re­gis­tre­ment démarre au­to­ma­ti­que­ment lorsque le programme est appelé :

script
bash

Utilisez les touches [CTRL] + [D] pour arrêter l’en­re­gis­tre­ment. Si vous voulez en­re­gis­trer dans un fichier autre que typescript, utilisez script avec un nom de fichier ou un chemin d’accès.

6. seq

Utilisez la commande seq pour émettre une série de chiffres sur la sortie par défaut. Dé­fi­nis­sez une valeur de début, une valeur de fin et éven­tuel­le­ment un incrément.

seq [OPTIONS] VALEURDEBUT INCREMENT VALEURFIN
bash

7. tasksel

Le programme en ligne de commande tasksel sert d’aide à l’ins­tal­la­tion pour les ap­pli­ca­tions standard (serveur de mes­sa­ge­rie, DNS, OpenSSH, LAMP, etc. Utilisez cet outil pour installer au­to­ma­ti­que­ment et dans l’ordre approprié tous les paquets et pro­grammes requis pour une tâche. Appelez tasksel avec l’option --list-tasks pour obtenir une liste de toutes les ap­pli­ca­tions standard dis­po­nibles.

tasksel --list-tasks
bash

Si vous voulez obtenir plus d’in­for­ma­tions sur une ap­pli­ca­tion standard de cette liste, utilisez tasksel avec l’option --task-desc et la tâche cor­res­pon­dante.

Si vous voulez lister tous les paquets ap­par­te­nant à la tâche « mail-server », utilisez tasksel avec l’option --task-packages.

Pour installer tous les paquets d’une ap­pli­ca­tion standard, utilisez la sous-commande install. Des droits root sont né­ces­saires.

8. tee

La commande Linux tee est un programme en ligne de commande qui peut être utilisé pour doubler la sortie d’un programme. Une sortie est émise à la sortie standard et une autre est écrite dans un fichier stipulé avec la commande tee. La syntaxe générale de la commande est la suivante :

tee [OPTIONS] FICHIER
bash

En règle générale, tee est utilisé avec la re­di­rec­tion pipe (|).

ls | tee exemple.txt
bash

9. time

Utilisez la commande time selon le schéma suivant pour dé­ter­mi­ner la durée d’exécution des pro­grammes que vous lancez via le terminal.

time [OPTIONS] Commande [ARGUMENTS]
bash

10. tr

Utilisez tr pour supprimer ou remplacer autant de ca­rac­tères que souhaité par d’autres. Pour ce faire, tr lit le flux de données de l’entrée standard (par exemple un fichier) et l’écrit sur la sortie standard selon la mo­di­fi­ca­tion souhaitée. Si un jeu de ca­rac­tères doit être remplacé par un autre, tr est utilisé avec deux arguments.

tr OPTION JEUDECARACTERE1 JEUDECARACTERE2
bash

Le deuxième argument (JEU­DE­CA­RAC­TERE1) remplace le premier (JEU­DE­CA­RAC­TERE1). Si vous voulez supprimer une chaîne de ca­rac­tères, utilisez tr avec l’option -d et donnez comme argument la séquence à supprimer.

tr -d JEUDECARACTERE
bash

Le programme en ligne de commande est gé­né­ra­le­ment utilisé en com­bi­nai­son avec des opé­ra­teurs de re­di­rec­tion (< et >) pour ajuster les fichiers.

tr 'a-z' 'A-Z' &lt; exemple1.txt &gt; exemple2.txt
bash

tr lit le contenu du fichier exemple1.txt, remplace les lettres mi­nus­cules de a à z par des lettres ma­jus­cules et émet le résultat dans le fichier exemple2.txt.

11. wall

Le programme en ligne de commande wall vous permet d’envoyer un message à tous les uti­li­sa­teurs connectés au système. Pour envoyer un message, le programme commence par :

wall
bash

Confirmez l’appel du programme avec [Enter] et écrivez votre message. Confirmez également avec [Enter] et validez l’envoi en appuyant sur les touches [CTRL]+[D]. Tous les uti­li­sa­teurs connectés au système reçoivent votre message dans le terminal sous forme de broadcast message. Attention : pour recevoir des messages, vous devez autoriser les autres uti­li­sa­teurs à accéder en écriture à votre terminal. Pour ce faire, utilisez la commande mesg.

Si vous voulez envoyer le contenu d’un fichier à tous les uti­li­sa­teurs connectés, utilisez wall avec une touche de re­di­rec­tion et le nom de fichier cor­res­pon­dant :

wall &lt; NOMFICHIER
bash

12. watch

Le programme en ligne de commande watch vous permet d’exécuter une commande à in­ter­valles réguliers. La syntaxe pour le programme est la suivante :

watch [OPTIONS] COMMANDE
bash

L’in­ter­valle de temps est défini à l’aide de l’option -n SECONDES. Pour mettre fin à watch, appuyez sur [CTRL] + [C].

13. wc

La commande Linux wc (abré­via­tion de word count) affiche le nombre de lignes, de mots, de lettres, de ca­rac­tères et/ou d’octets d’un fichier texte. La syntaxe générale de la commande est :

wc [OPTIONS] FICHIER
bash

Si wc est utilisé sans option, la sortie cor­res­pond au schéma LIGNES MOTS CARACTÈRES FICHIER. Pour filtrer la sortie, le programme en ligne de commande permet les options suivantes : -l (lignes), -c (octets), -m (ca­rac­tères), -L (longueur de la ligne la plus longue) et -w (mots).

14. xargs

La commande Linux xargs est utilisé pour passer une sortie de commande pré­cé­dente en argument à une commande. En général, on fait appel au symbole (|). Voici la syntaxe générale de xargs :

COMMANDE1 | xargs [OPTIONS] COMMANDE2
bash

xargs est par exemple utilisé avec la commande find. Ci-dessous, find identifie tous les fichiers du ré­per­toire courant qui cor­res­pon­dent au modèle de recherche .tmp et émet leurs noms dans la sortie standard. Les noms de fichiers sont alors captés par xargs et passés en arguments à la commande rm.

$ find . -name '*.tmp' | xargs rm
bash

L’aperçu présenté dans cet article ne prétend pas être exhaustif, mais décrit sim­ple­ment des commandes Linux de base avec des exemples d’ap­pli­ca­tion mé­ti­cu­leu­se­ment choisis pour pouvoir tra­vail­ler quo­ti­dien­ne­ment avec les systèmes d’ex­ploi­ta­tion unixoid. Pour une des­crip­tion complète des pro­grammes en ligne de commande énumérés ci-dessus et de toutes les autres commandes, vous pourrez vous référer aux pages de manuel de votre système d’ex­ploi­ta­tion. Une version en ligne de ces pages d’aide et de do­cu­men­ta­tion est également proposée par Michael Kerrisk dans le cadre du projet Linux Man Pages sur kernel.org/doc/man-pages.

Aller au menu principal