Aperçu des commandes Linux les plus importantes
Comme la plupart des systèmes d’exploitation modernes, Linux fournit deux interfaces pour la saisie utilisateur. Tous les réglages que vous effectuez via l’interface graphique (Graphical User Interface, GUI) peuvent être en effet également effectués sous forme de lignes de commande via ce que l’on appelle le shell.
Le shell est un programme qui agit comme interface entre le système et l’utilisateur. On parle également d’interface système. Il comprend un interpréteur en ligne de commande qui accepte l’entrée de l’utilisateur via le clavier, l’évalue, met en route les programmes en conséquence et renvoie le résultat à l’utilisateur sous forme d’une sortie texte. Chaque shell a par ailleurs son propre langage de programmation permettant d’écrire des scripts shell, par exemple, pour appeler des programmes ou simplifier des tâches administratives.
Chaque shell fonctionne dans un terminal. Au début de l’ère informatique, ce sont des appareils indépendants, les terminaux « hardcopy » (imprimante ou écran et clavier), qui étaient utilisés. Ceux-ci ont été remplacés sur les ordinateurs modernes par des consoles virtuelles (ou émulateurs de terminaux), programmes qui fournissent une fenêtre graphique permettant aux utilisateurs d’interagir avec le shell.
Dès que vous appelez le terminal de votre système d'exploitation, le Shell défini par défaut dans les paramètres (par ex. Bourne again shell, Bash) se met en route et accepte les entrées depuis le prompt (invite de commande).
Au fil du temps, plusieurs interpréteurs de commandes ont été développés pour les systèmes d’exploitation unixoïdes. Ils diffèrent par leur fonctionnalité et leur facilité d’utilisation. En tant qu’utilisateur Linux, vous avez le choix de l’interpréteur en ligne de commande que vous souhaitez utiliser. La plupart des systèmes d’exploitation ont déjà plusieurs shells pré-installés. Le passage d’un shell à un autre se fait facilement depuis le terminal (voir chsh dans le chapitre Gestion des comptes utilisateurs). En plus des programmes standard Bash et Dash, les shells les plus connus sont Fish, le Z-Shell, Korn-Shell, (t)csh et Mksh.
- Les commandes de bases
- Pages d’aide
- Opérations sur les répertoires
- Opérations sur les fichiers
- Gestion des droits
- Options de recherche
- Informations utilisateurs
- Gestion des comptes utilisateurs
- Commandes système
- Informations du système
- Informations sur le matériel (hardware)
- Gestion des processus
- Pager (visionneur)
- Éditeurs
- Gestion de réseau
- Archivage et compression
- Gestion des partitions
- Divers
Domaine Internet pas cher
Bien plus qu'un simple domaine !
Personnalisez votre présence en ligne avec un nom de domaine pertinent.
L’interaction avec le shell se fait généralement par le biais de commandes avec lesquelles les programmes en ligne de commande du même nom peuvent être appelés. Pour chaque action que vous voulez exécuter via le terminal, utilisez un appel de programme selon le schéma de base suivant :
COMMANDE [OPTIONS] [ARGUMENTS]
Un appel de programme via le terminal est effectué grâce au nom du programme. La plupart du temps, il est possible d’utiliser certaines fonctions supplémentaires grâce à des options. Si un programme attend des arguments (par exemple sous forme de fichiers ou de chemins d’accès à un répertoire), ceux-ci sont généralement spécifiés après les options choisies.
Voici une vue d’ensemble des commandes Linux les plus courantes et des programmes de ligne de commande associés.
Les commandes de bases
Dans ce chapitre Commandes de base, vous trouverez des commandes Linux essentielles à connaître qui sont utilisées pour contrôler le terminal. Apprenez comment effacer la zone de visualisation du terminal, récupérer des entrées de terminal précédentes depuis l’historique ou terminer la session du terminal.
Commande | Description |
clear | Vider le terminal Utilisez la commande clear pour effacer le contenu de l’écran. clear Vous obtiendrez 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 combinaison de touches [CTRL] + [L]. |
exit | Fin de session La commande exit termine la session en cours et ferme le terminal. exit Vous pouvez également utiliser la combinaison de touches [CTRL] +[D]. |
help | Afficher une liste des commandes shell Utilisez la commande help pour afficher une liste de toutes les commandes shell intégrées. help Utilisez help directement avec une commande shell pour afficher une courte description de la commande correspondante. help COMMANDE |
history | Emissions des fichiers de l’historique Dans le bash, les 500 dernières commandes que vous avez saisies (par ligne de commande) sont enregistrées dans history. Cette fonction peut aider à la saisie des commandes. Elle permet en effet d’effectuer une recherche dans la liste des commandes précédemment saisies (grâce aux touches fléchées) et de les exécuter à nouveau en confirmant avec la touche Entrée. L’historique peut être recherché par mots-clés à l’aide de la combinaison [CTRL] +[R]. Vous avez également la possibilité d’afficher la liste complète numérotée dans le terminal. Utilisez la commande history sans options ni arguments : history Si vous voulez filtrer la sortie, combinez history via le pipe avec le programme en ligne de commande grep (voir les options de recherche) et un mot-clé. History | grep MOTDERECHERCHE |
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 documentation telles que Unix-Man-Pages et les pages d’information GNU sont disponibles directement depuis le terminal. Celles-ci comprennent une description détaillée de tous les utilitaires en lignes de commande, les appels système, les fichiers de configuration, les formats de fichiers et le cœur des fonctions.
Commande | Description |
apropos | Rechercher dans le manuel Utilisez apropos pour rechercher des mots-clés dans les titres de pages et les descriptions des pages de manuel de votre système d’exploitation. L’utilitaire en lignes de commande affiche toutes les correspondances, y compris une brève description dans le terminal. Orientez-vous vers le schéma suivant : apropos [OPTIONS] MOTDERECHERCHE La commande prend en charge différentes options. Limitez la recherche aux correspondances exactes avec l’option -e (--exact) ou utilisez des caractères de remplacement (-w’*MOTDERECHERCHE’) et des expressions régulières (-r). |
info | Accéder aux pages d’information GNU La commande info peut être utilisée pour produire des pages d’information GNU sur un sujet spécifique. Dans la plupart des cas, il s’agit de pages de manuel accessibles via man, mais à la différence de celles-ci, des liens vont faciliter la navigation dans le manuel. Utilisez la syntaxe suivante pour accéder à une page d’information GNU : info [OPTION] SUJET Un appel sans option et sans sujet spécifié vous amène au menu principal des pages d’information GNU. |
man | Utiliser le manuel La commande man ouvre les pages de manuel de votre distribution Linux (Man-Pages) directement dans le terminal. Utilisez le schéma suivant pour accéder à une page de manuel : man [OPTION] SUJET Les pages man Linux sont divisées en 10 domaines :
Par exemple, si vous voulez ouvrir la page de manuel pour une commande Linux spécifique, utilisez-la avec le nom de la commande : man clear Vous pouvez également limiter la recherche en saisissant le numéro de domaine : man 1 clear Dans les deux cas, la page d’aide pour la commande clear s’ouvre. Utilisez la touche [Q] pour la fermer et revenir au prompt. Pour rechercher des mots-clés dans les pages du manuel Linux, vous pouvez utiliser apropos. |
pinfo | Accéder aux pages d’information à la manière Lynx pinfo est une variante du programme en lignes de commande info, centrée sur le navigateur Lynx et qui affiche des pages d’information avec des liens surlignés. Utilisez pinfo selon le même schéma que la commande info : pinfo [OPTIONS] SUJET |
whatis | Recherche par mot-clé dans les pages du manuel Le programme en lignes de commande whatis est utilisé pour rechercher des mots-clés dans les pages de manuel. Appelez le programme avec le terme de votre choix pour rechercher des correspondances exactes dans le manuel de votre système d’exploitation. S’il trouve un équivalent, whatis émet une courte description dans le terminal. whatis [OPTIONS] MOTDERECHERCHE whatis prend également en charge les mots de remplacement (-w '*MOTDERECHERCHE') et les expressions régulières (-r). |
Opérations sur les répertoires
Les commandes Linux s’utilisent pour les opérations sur les répertoires ; elles permettent ainsi de créer, supprimer et gérer vos répertoires sur votre système via le terminal mais aussi de naviguer dans l’arborescence des répertoires. Parmi les commandes plus importantes de cette catégorie, on trouve cd, ls, mkdir, rmdir.
Commande | Descriptions |
cd | Navigation dans l’arborescence des répertoires La commande cd (pour change directory) est utilisée pour la navigation dans l’arborescence des répertoires. Voici la syntaxe de la commande : cd [OPTION] REPERTOIRE Si aucun répertoire cible n’est spécifié, cd passe automatiquement au répertoire home de l’utilisateur. Si cd est utilisé avec un signe moins (-), il passe au répertoire précédent. |
chroot | Exécuter le programme dans un nouveau répertoire racine La commande chroot (abréviation de change + root) est utilisée pour exécuter une commande dans un autre répertoire racine. Par exemple, chroot peut isoler les programmes critiques du reste du système de fichiers. On parle alors de chroot jail. L’utilisation du programme nécessite des droits root. Il est basé sur le schéma suivant : chroot REPERTOIRE COMMANDE |
ls | Liste du contenu de l’annuaire La commande ls (pour liste) sert à afficher le contenu d’un répertoire (les noms de tous les fichiers et dossiers du répertoire spécifié). La syntaxe de la commande est la suivante : ls [OPTIONS] REPERTOIRE Si ls est utilisé sans spécification de répertoire, la commande liste le contenu du répertoire courant. A l’aide des options supplémentaires, vous pourrez définir quelles informations à afficher et comment. |
mkdir | Créer un répertoire La commande mkdir signifie make directory. Il permet aux utilisateurs de Linux d’établir de nouveaux répertoires. Utilisez la syntaxe suivante pour créer un nouveau répertoire dans le répertoire courant : mkdir [OPTION] NOMREPERTOIRE Par ailleurs, vous pouvez créer plusieurs répertoires en même temps en séparant leurs noms par un espace : mkdir [OPTION] NOMREPERTOIRE1 NOMREPERTOIRE2 Si vous voulez en créer un dans un répertoire cible spécifique, spécifiez le chemin absolu ou relatif vers le répertoire. mkdir /home/user/Desktop/test mkdir ../Desktop/test Dans les deux exemples, le répertoire test est créé dans le répertoire Desktop. |
mkdirhier | Créer une hiérarchie de répertoires Avec mkdirhier, vous pouvez créer des hiérarchies de répertoires entiers avec une seule ligne de commande : mkdirhier [OPTION] /home/user/repertoire1/repertoire2/repertoire3 Si repertoire1 et repertoire2 existent déjà, mkdirhier crée simplement repertoire3. Autrement, ce sont les trois répertoires qui sont créés. |
pwd | Emission du nom de répertoire Utilisez pwd (abréviation de print working directory) pour faire afficher le nom du répertoire de travail actuel. Voici la syntaxe de la commande : pwd [OPTIONS] |
rmdir | Supprimer l’annuaire Si vous voulez supprimer un répertoire spécifique, utilisez la commande rmdir (remove directory) selon la syntaxe suivante : rmdir [OPTION] REPERTOIRE Avec rmdir, vous ne pouvez supprimer que les répertoires vides. Pour supprimer un répertoire comprenant des fichiers et sous-dossiers, utilisez la commande rm (remove) avec l’option -r. Attention : rmdir n’a pas besoin de confirmation pour procéder à la suppression. Les répertoires sélectionnés sont supprimés immédiatement, sans possibilité de revenir en arrière. |
tree | Supprimer des répertoires dans l’arborescence Alors que ls ne liste que le contenu des répertoires, la hiérarchie complète peut être affichée de manière récursive sous la forme d’une arborescence grâce au programme en ligne de commande tree. L’appel est effectué selon la syntaxe suivante : tree [OPTIONS] [REPERTOIRE] |
Opérations sur les fichiers
Les commandes Linux de cette section vous permettent d’effectuer diverses opérations 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.
Commande | Description |
basename | Emission du nom du fichier Un chemin d’accès est remis à la commande basename. Il renvoie directement au nom de fichier sans que le chemin d’accès antéposé ne doive être spécifié. La syntaxe de la commande correspond à la suivante : basename [OPTIONS] Chemin/vers/fichier [SUFFIXE] Par exemple, entrez $ basename /home/user/bild.jpg dans le terminal pour obtenir la sortie suivante : bild.jpg La spécification en plus du suffixe peut également être éliminée de la sortie : Entrée : $ basename /home/user/bild.jpg .jpg Sortie : bild La commande peut être étendue à plusieurs fichiers à l’aide d’options. |
cat | Fusionner les contenus de fichiers Le programme en ligne de commande cat (abréviation de concatenate) 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 Si vous avez plusieurs fichiers, il sera nécessaire de les séparer par des espaces : cat OPTIONS FICHIER1 FICHIER2 Les contenus des fichiers se lient à l’aide des signes de redirection (>, < et |). Par exemple, utilisez le chevron « supérieur à » (>) pour fusionner le contenu de deux fichiers dans un troisième fichier : cat fichier_1.txt fichier_2.txt > fichier_3.txt |
cmp | Comparer les fichiers octet par octet cmp fait partie du paquet diff et est utilisé comme ce dernier pour comparer le contenu des fichiers. A la différence de diff, le réglage se fait toutefois octet par octet et est donc particulièrement adapté aux fichiers binaires. Utilisez cmp selon le schéma suivant : cmp [OPTIONS] FICHIER1 FICHIER2 Si cmp trouve des différences, le programme en ligne de commande édite l’octet et le numéro de ligne de la première divergence dans le terminal. |
comm | Comparer les fichiers classés ligne par ligne 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 Si comm est appelé sans option, le programme crée une sortie avec trois colonnes : la première contient toutes les lignes qui n’apparaissent que dans FICHIER1, la deuxième celles qui n’apparaissent que dans FICHIER2 et la troisième celles qui apparaissent dans les deux fichiers. Le programme prend en charge trois options : 1 = supprime les lignes uniquement présentes dans FICHIER1 2 = supprime les lignes uniquement présentes dans FICHIER2 3 = supprime toutes les lignes contenues dans les deux fichiers |
cp | Copier des fichiers ou des répertoires La commande cp (pour copy) est utilisée pour copier des fichiers et des répertoires. La syntaxe de base de la commande est : cp [OPTIONS] SOURCE CIBLE Sous la SOURCE, on trouvera l’élément à copier. Comme CIBLE du processus de copie, on définira un fichier ou un répertoire. Si vous définissez 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. Si plusieurs fichiers sont copiés, la cible doit être un répertoire. Il en va de même si un répertoire est copié. Pour copier un fichier source vers un fichier de destination dans le répertoire courant : cp [OPTIONS] FICHIERSOURCE FICHIERCIBLE Exemple : cp fichier.txt fichier_copie.txt Pour copier un fichier source du répertoire courant dans un répertoire cible : cp [OPTIONS] FICHIERSOURCE REPERTOIRECIBLE Exemple : cp fichier.txt home/user/documents/2018 Pour copier plusieurs fichiers sources dans un répertoire cible : cp [OPTIONS] FICHIERSOURCE1 FICHIERSOURCE2 REPERTOIRECIBLE Exemple : cp fichier.txt fichier.odt home/user/documents/2018 Pour copier un répertoire source du répertoire courant dans un répertoire cible : cp REPERTOIRESOURCE REPERTOIRECIBLE Exemple : cp repertoire1 home/user/documents/2018 Si vous souhaitez copier des répertoires avec tous leurs contenus, les sous-répertoires doivent être inclus dans le processus de copie en utilisant OPTION -R. |
cut | Extraire le contenu d’un fichier 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 correspond à : cut [OPTIONS] FICHIER La position exacte de la section à extraire est définie à l’aide des options -b (position des octets), -c (position des caractères), -d (séparateur) et -f (champ). |
diff | Comparer des fichiers ou des répertoires Le programme en ligne de commande diff est utilisé pour comparer deux fichiers. Autrement, diff peut également être utilisé pour déterminer si deux répertoires contiennent des fichiers identiques. L’appel de la commande dans le terminal est comme suit : diff [OPTIONS] FICHIER1 FICHIER2 |
dirname | Emission du chemin d’accès du fichier dirname est la contrepartie 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] Par exemple, tapez $ dirname /home/user/image.jpg dans le terminal pour obtenir la sortie suivante : /home/user |
file | Emission du type de fichier La commande file peut être utilisée pour fournir des informations sur le type d’un fichier. L’appel repose sur le schéma suivant : file [OPTIONS] FICHIER |
ln | Créer un lien vers un fichier ou un répertoire Le programme en ligne de commande ln (abréviation pour link) permet d’établir un lien vers un fichier ou un répertoire. Ainsi, une autre entrée vers le répertoire est établie, ce qui vous permet d’accéder au fichier correspondant via un autre chemin d’accès. Le programme en ligne de commande ln doit toujours contenir au moins le chemin d’accès du fichier source. ln [OPTIONS] chemin/vers/fichiersource Dans le cas ci-dessus, le lien est créé sous le même nom dans le répertoire sur lequel vous travaillez. 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 Par défaut, ln crée ce qu’on appelle des hardlinks (ou lien matériel). Ceux-ci ne sont pas adaptés à la création de liens vers des répertoires. De plus, les liens matériels ne peuvent pas être utilisés au-delà des limites des partitions. La commande est donc souvent utilisée avec l’OPTION -s (--symbolic), grâce à laquelle des liens dits symboliques peuvent également être créés au-delà des limites du système de fichiers. Les liens symboliques ou soft links pointent toujours vers un chemin de fichier réel et en dépendent. |
lsof | Emission des fichiers ouverts dans le terminal lsof est l’abréviation de list open files, un programme d’aide qui affiche des informations sur les fichiers ouverts triés par le PID (identifiant de processus) dans le terminal. L’appel via le terminal s’effectue selon le schéma suivant : lsof [OPTIONS] Puisque les systèmes unixoïdes comme Linux suivent le principe « Everything 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 conséquent utilisées pour limiter les sorties. |
md5sum | Calculer les checksums La commande md5sum peut être utilisée pour calculer et vérifier les checksums MD5 ou l’empreinte d’un fichier. |
mv | Déplacer un fichier ou un répertoire Le programme en ligne de commande mv (move) copie un fichier ou un répertoire et supprime l’élément d’origine. Si cela est fait dans le même répertoire, mv peut être utilisé pour renommer les fichiers. La commande est basée sur le schéma suivant : mv [OPTION] SOURCE CIBLE Exemple d’application : Déplacer un fichier dans un autre répertoire : mv [OPTIONS] FICHIER SOURCE REPERTOIRECIBLE Par exemple : mv fichier1.txt home/user/documents/2018 Déplacer plusieurs fichiers sources vers un répertoire cible : mv [OPTIONS] FICHIERSOURCE1 FICHIERSOURCE2 REPERTOIRECIBLE Par exemple : mv fichier1.txt fichier2.txt home/user/documents/2018 Déplacer un sous-répertoire du répertoire courant vers un répertoire cible : mv [OPTIONS] NOMREPERTOIRE_OLD NOMREPERTOIRE_NEW Par exemple : mv repertoire1 home/user/documents/2018 Renommer un fichier dans le répertoire courant : mv [OPTIONS] NOMDEFICHIER_OLD NOMDEFICHIER_NEW Par exemple : mv fichier1.txt fichier2.txt Renommer un sous-répertoire dans le répertoire courant : mv [OPTIONS] NOMREPERTOIRE_OLD NOMREPERTOIRE_NEW Exemple : mv repertoire1 repertoire2 |
rename | Renommer les fichiers rename est un programme en ligne de commande qui vous permet de renommer des fichiers et dossiers en utilisant des expressions régulières (regex) compatibles perl. Contrairement à mv, rename convient aux opérations sur les fichiers où les noms de plusieurs fichiers doivent être partiellement ou complètement adaptés. Utilisez rename selon le schéma suivant : rename [OPTIONS] 'EXPRESSION_REGULIERES' FICHIERS Les expressions régulières correspondent à la syntaxe suivante pour les remplacements : s/MODELEDERECHERCHE/REMPLACEMENT/MODIFIER Dans l’exemple suivant, toutes les extensions de fichier.html sont renommées .xhtml. rename 's/\.html$/.xhtml/' *.html |
rm | Supprimer un fichier ou un répertoire Le programme en ligne de commande rm (remove) supprime des fichiers ou des répertoires entiers de manière irrémédiable. L’appel de programme est basé sur le schéma suivant : rm [OPTIONS] FICHIER ou rm [OPTIONS] REPERTOIRE Si vous voulez supprimer un répertoire avec tous ses sous-répertoires, utilisez rm avec OPTION -R (--recursive). rm -R REPERTOIRE Pour plusieurs fichiers ou répertoires, effectuez une séparation grâce aux espaces. rm [OPTIONS] FICHIER1 FICHIER2 … |
shred | « Déchiquetage » des fichiers shred est un programme en ligne de commande qui vous permet de supprimer des fichiers en toute sécurité. Les éléments sélectionnés sont écrasés pendant le processus de suppression et ne peuvent pas être restaurés. La syntaxe générale de la commande est : shred [OPTIONS] FICHIER Utilisez shred avec les options suivantes pour supprimer définitivement un seul fichier : shred -fuz fichier L’option -f force la suppression, tandis que -z écrase son contenu avec des zéros (les données aléatoires sont prédéfinies). Enfin, -u expulse le fichier du système de la même manière qu’avec la commande rm. |
sort | Trier les listes de fichiers et les sorties de programmes Utilisez la commande sort pour trier les listes de fichiers et les sorties de programme ligne par ligne, numériquement et alphabétiquement. Voici la syntaxe générale de la commande : sort [OPTIONS] FICHIER La méthode de tri peut être personnalisée à l’aide d’options : par exemple, de manière numérique (-n), aléatoire (-R) ou selon l’ordre inverse (-r). |
split | Fractionner des fichiers La commande split est utilisée pour diviser des fichiers. La syntaxe sous-jacente est : split [OPTIONS] [INPUT [PREFIXE]] La partie INPUT correspond au fichier à fractionner. 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 … 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écification peut être en octets (b), kilo-octets (k) ou mégaoctets (m). Exemple : split -b 95m archive.tgz split-archive.tgz. La commande split fractionne le fichier archive.tgz en fichiers de 95 mégaoctets et les nomme comme suit : split-archive.tar.aa split-archive.tar.ab split-archive.tar.ac Les fichiers fractionnés par split peuvent être fusionnés à l’aide de la ligne de commande cat. cat split-archive.tar.* > archive.tar |
stat | Émission des dates et marques de temps La commande stat (statut) peut être utilisée pour afficher les dates des accès et modifications des fichiers et répertoires sélectionnés. La syntaxe générale de la commande est : stat [OPTIONS] FICHIER Le format de sortie peut être ajusté à l’aide d’options. |
touch | Modifier la date La commande touch permet de changer les dates d’accès et les modifications des fichiers. Si touch est appliquée à un fichier inexistant, ce dernier est automatiquement créé. La commande permet donc de créer des fichiers vides. Utilisez touch selon le schéma suivant : touch [OPTIONS] FICHIER Pour régler un fichier à une date souhaitée, utilisez l’option -t, en spécifiant l'heure selon le format [AA]MMJJhhmm[.ss]. Exemple : touch -t 1803231037 fichier.txt La date d’accès et de modification sera fixée au 23 mars 2018, à 10h37. La modification peut être appliquée simplement à l’accès ou à la modification de la date à l’aide des options respectives -a et -m. Si la commande touch est utilisée sans l’option -t, la date et heure actuelles sont prises en compte. |
uniq | Éliminer les doublons des listes de fichiers et sorties de programmes La commande uniq est généralement utilisée avec sort pour se débarrasser 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 |
Gestion des droits
Sous Linux, les droits d’accès et de propriété des fichiers et des répertoires peuvent être facilement paramétrés via le terminal. Les lignes de commande les plus importantes pour la gestion des droits sont chown et chmod. L’appartenance à un groupe est gérée à l’aide de la commande chgrp.
Commande | Description |
chattr | Gérer les attributs des fichiers Le programme en ligne de commande chattr (abréviation de change attribute) permet d’octroyer des attributs aux fichiers ou répertoires. Une adaptation des attributs de fichiers est prise en charge par divers systèmes de fichiers (par exemple ext2, ext3, ext4, XFS, ReiserFS, JFS, JFS et OCFS2). Utilisez chattr selon la syntaxe suivante pour définir un attribut : chattr [OPTIONS] +ATTRIBUT FICHIER Les attributs définis peuvent être supprimés selon le même schéma : chattr [OPTIONS] -ATTRIBUT FICHIER Par exemple, définissez l’attribut -i pour empêcher les changements (suppressions ou modifications) dans un fichier ou un répertoire : chattr +i datei.txt D’autres attributs et options possibles peuvent être trouvés dans la page d’aide du programme chattr. |
chgrp | Gérer les groupes pour des fichiers ou répertoires La commande chgrp est l’abréviation de change group. Elle est utilisée pour gérer les appartenances d’un groupe à des fichiers et répertoires. Pour appliquer chgrp à un fichier ou répertoire sélectionné, vous devez avoir des droits propriétaire ou root. En outre, seuls les groupes auxquels vous appartenez vous-même sont disponibles pour la sélection. chgrp est utilisé selon la syntaxe suivante : chgrp [OPTIONS] GROUPE FICHIER ou : chgrp [OPTIONS] GROUPE REPERTOIRE L’option -R inclut les sous-dossiers et les fichiers contenus dans un répertoire. |
chmod | Gérer les droits d’accès Le programme en ligne de commande chmod (abréviation 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 ou : chmod [OPTIONS] MODE REPERTOIRE Le MODE sert pour le masque de droits applicable. Pour en savoir plus, notre article sur l’attribution des droits d’accès avec chmod détaille la manière de s’y prendre. L’option -R permet d’étendre les permissions aux sous-dossiers et fichiers contenus dans un répertoire. |
chown | Gérer les droits de propriété Habituellement, le créateur d’un fichier ou d’un répertoire est automatiquement son propriétaire (owner). La commande chown signifie change owner et permet donc de modifier les paramètres propriétaires. La commande est utilisée selon le schéma suivant : chown [OPTIONS] [UTILISATEUR][:[GROUPE]] FICHIER ou : chown [OPTIONS] [UTILISATEUR][:[GROUPE]] REPERTOIRE Il y a quatre combinaisons possibles pour définir les droits propriétaire pour les utilisateurs ou les groupes. Il est possible de réinitialiser le propriétaire et le groupe selon les spécifications suivantes : chown [OPTIONS] proprietaire_nom:groupes_nom fichier.txt 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 Enfin ci-dessous, l’utilisateur est réinitialisé en fonction de la spécification. Le groupe est défini sur le groupe par défaut de l’utilisateur connecté : chown [OPTIONS] propriétaire_nom: fichier.txt Les modifications peuvent être étendues aux sous-répertoires en utilisant OPTION -R. |
lsattr | Afficher les attributs de fichier Si vous voulez afficher les attributs qui ont été définis pour un fichier ou un répertoire, utilisez la commande lsattr (abréviation de list attributes) selon le schéma suivant : lsattr [OPTIONS] FICHIER/REPERTOIRE |
Options de recherche
Linux offre diverses commandes avec lesquelles il est possible d’effectuer des recherches directement depuis le terminal.
Commande | Description |
find | Effectuer une recherche dans le système de fichier find est un programme en ligne de commande utilisé pour rechercher des fichiers. L’appel de programme est basé sur la syntaxe suivante : find [OPTIONS] [REPERTOIRE] [CONDITIONDERECHERCHE][ACTIONS] Le répertoire spécifié est le répertoire de départ de la recherche. La recherche est alors effectuée dans ce répertoire ainsi que ses sous-répertoires. Si vous ne spécifiez pas de répertoire, find lance la recherche à partir de votre répertoire courant. Les options vous permettent de définir des critères de recherche et des actions. L’action par défaut est -print. Les critères de recherche courants sont le nom du fichier (-name NOMFICHIER[SUFFIXE]), un nom d’utilisateur (-user NOMUTILISATEUR), la taille du fichier (-size n[cwbkMG]), le jour de l’accès au fichier (-atime [+-]n) ou le jour des modifications effectuées (-mtime [+-]n). Les méta-caractères et caractères de remplacement peuvent être utilisés lors de la recherche de noms de fichiers. Mettez-les entre guillemets pour empêcher qu’ils ne soient interprétés par le Shell. Exemple : find /tmp -name "*.odt" -mtime -3 -size +20k Le répertoire de départ est /tmp. Le programme en ligne de commande find émet sur la sortie standard tous les fichiers avec l’extension .odt qui sont plus grands que 20k et qui ont été modifiés pour la dernière fois il y a moins de 3 jours. Pour plus d’options sur la commande find, reportez-vous à la page d’aide du programme. |
grep | Rechercher dans les fichiers texte La commande grep (abréviation de global regular expression print) peut être utilisée pour faire une recherche dans les fichiers texte (par exemple les fichiers log). N’importe quelle chaîne de caractères ou expression régulière peut être utilisée comme modèle de recherche. Utilisez grep selon la syntaxe suivante : grep [OPTIONS] MODELEDERECHERCHE [FICHIER(S)] Si grep rencontre une chaîne de caractères correspondant au modèle de recherche, le numéro de ligne est édité dans le terminal avec le nom du fichier. En principe, grep est appliqué à tous les fichiers du répertoire courant. L'option -r permet une recherche récursive dans les sous-répertoires. |
locate | Recherche dans l’index des fichiers Le programme en ligne de commande locate permet également de rechercher des fichiers via le terminal. Contrairement à find, cependant, ce n’est pas le répertoire de fichiers qui est fouillé, mais plutôt une base de données dédiée à cette fin et régulièrement mise à jour. Par conséquent, locate permet d’obtenir des résultats de recherche beaucoup plus rapidement que find. Pour rechercher un fichier spécifique dans la base de données, locate est appelé selon le schéma suivant : locate MODELEDERECHERCHE Le modèle de recherche peut contenir des méta-caractères tels que des caractères de remplacement (*). Mettez-les entre guillemets pour empêcher une interprétation par le Shell. Dans l’exemple suivant, locate émet tous les fichiers avec l’extension .png. locate "*.png" La commande locate est sensible à la casse. Pour ignorer les différences de majuscules et minuscules dans la recherche, utilisez l’option -i. Le fichier /var/lib/locatedb sert de base de données pour l’indexation des fichiers. Cette dernière contient une liste de tous les fichiers du système de fichiers à un moment donné et doit être mis à jour régulièrement. Pour ce faire, utilisez la commande updatedb. |
tre-agrep | Recherche imprécise dans les fichiers texte tre-agrep est également utilisé pour rechercher sur la base de modèles de recherche des strings dans les fichiers texte. Contrairement à grep, non seulement les correspondances exactes sont émises, mais aussi les correspondances moins précises telles qu’avec des inversions de lettres ou autres coquilles. Le programme est basé sur la bibliothèque TRE. La syntaxe de tre-agrep correspond à celle de la commande grep : tre-agrep [OPTIONS] MODELEDERECHERCHE FICHIER(S) Dans les options, vous pouvez définir le nombre maximum d’erreurs autorisées. Dans l’exemple suivant, un seul écart est toléré par rapport au modèle de recherche. tre-agrep -1 'Linux' test.txt tre-agrep édite toutes les lignes du fichier texte test.txt contenant des mots qui correspondent au modèle de recherche ou qui en diffèrent au maximum d’une lettre : par exemple Linus. |
updatedb | Mettre à jour l’index des fichiers Une recherche via locate ne fonctionnera de manière fiable que si le fichier /var/lib/locatedb est continuellement tenu à jour. La commande updatedb permet donc de mettre à jour la base de données manuellement. Notez que vous avez besoin pour ce faire de disposer des droits root: updatedb |
whereis | Rechercher des pages binaires, du code source ou les pages manuelles des programmes Avec la commande whereis, vous pouvez localiser les fichiers binaires, de code source ou les manuels des programmes sélectionnés. La syntaxe générale de la commande est : whereis [OPTIONS] PROGRAMME Exemple : whereis firefox En tant qu’output, whereis émet dans le terminal les chemins d'accès aux fichiers trouvés en les séparant par des espaces : firefox: /usr/bin/firefox/ usr/lib/firefox/ usr/share/man/man1/firefox.1.gz À l’aide des options, vous pouvez limiter la recherche à des types de fichiers ou des répertoires spécifiques. |
which | Retrouver des fichiers binaires à partir des programmes 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 Exemple : which firefox Output : /usr/bin/firefox En mode par défaut which émet le premier fichier qui est trouvé. Utilisez l’option -a pour afficher tous les fichiers qui correspondent au critère de recherche. |
Informations utilisateurs
Utilisez les programmes en ligne de commande de la catégorie suivante pour obtenir des informations détaillées sur les utilisateurs enregistrés dans le système ainsi que leurs groupes et processus.
Commande | Description |
finger | Appeler des informations sur les utilisateurs Le programme en ligne de commande finger est utilisé pour récupérer des informations sur les utilisateurs. La commande finger est donnée avec le nom de l’utilisateur en question : finger [Options] [NOMUTILISATEUR] Le résultat comprend les informations suivantes sur le compte utilisateur spécifié : nom de connexion, nom réel, temps de connexion, temps écoulé depuis la dernière activité (Idle-Time), répertoire d’accueil de l’utilisateur, login-shell, emplacement (Office number), mail et numéro de téléphone (si disponibles) ainsi que le contenu des fichiers .plan, .project, .pgpkey et .forward dans le répertoire d’accueil de l’utilisateur (si disponible). Utilisez finger sans nom d’utilisateur pour récupérer des informations sur votre propre compte. |
groups | Appeler les membres d’un groupe La commande groups dresse la liste des membres d’un groupe d’un compte utilisateur sélectionné. Utilisez la commande en ligne de commande selon le schéma suivant : groups [OPTIONS] [NOMUTILISATEUR] Utilisez groups sans nom d’utilisateur pour lister tous les groupes auxquels votre compte utilisateur appartient. |
id | Récupération des ID d’utilisateur et de groupe La commande id émet les identifiants d’utilisateur et de groupe du compte utilisateur sélectionné. id [OPTIONS] [NOMUTILISATEUR] Vous pouvez récupérer vos propres identifiants en passant la commande sans nom d’utilisateur. La portée de la sortie peut être limitée à l’aide des options. |
last | Récupérer les informations sur les utilisateurs connectés en dernier Utilisez la commande last selon le schéma ci-dessous pour obtenir la liste des utilisateurs qui se sont connectés en dernier, avec leur temps de connexion et de déconnexion : last [OPTIONS] Les informations correspondantes sont extraites du fichier wtmp sous /var/log/wtmp. Si vous voulez seulement consulter les informations d’un compte spécifique, saisissez la commande avec le nom d’utilisateur désiré. last [OPTIONS] [NOMUTILISATEUR] |
w | Récupérer les utilisateurs effectifs et leurs processus La commande w affiche une liste de tous les utilisateurs connectés, avec l’ensemble des processus qu’ils exécutent. Utilisez w en combinaison avec un nom d’utilisateur pour restreindre la commande à cet utilisateur : w [OPTIONS] [NOMUTILISATEUR] Si nécessaire, l’étendue et le format de la sortie peuvent être ajustés à l'aide des options. |
who | Obtenir des informations détaillées sur les utilisateurs enregistrés La commande who permet d’afficher des informations détaillées sur les utilisateurs connectés sur le système. La syntaxe générale de l’appel est la suivante : who [OPTION] [FICHERSOURCE] who prend en charge diverses options permettant d’ajuster la sortie d'informations. Par défaut, who recouvre à partir du fichier /var/run/run/utmp les données des utilisateurs alors connectés. Pour récupérer des informations sur les logins précédents, utilisez who avec le fichier source /var/log/wtmp : who [OPTION] /var/log/wtmp Pour obtenir des informations sur les connexions qui ont échoué, appelez who avec /var/log/btmp : who [OPTION] /var/log/btmp |
whoami | Récupérer votre propre nom d’utilisateur Utilisez la commande whoami pour récupérer votre propre nom d’utilisateur. whoami [OPTIONS] |
Gestion des comptes utilisateurs
Linux offre une série de programmes avec lesquels vous pouvez créer, supprimer et gérer les comptes utilisateurs et groupes directement à partir du terminal. Nous avons compilé ci-dessous un aperçu des commandes Linux les plus importantes pour la gestion des comptes utilisateurs. Dans cette catégorie, vous trouverez également des commandes de terminal Linux qui vous permettent d’appeler des programmes avec les droits d’autres utilisateurs, y compris des super users Root.
Commande | Description |
adduser | Créer un compte utilisateur La façon la plus simple de créer un compte utilisateur est d’utiliser le programme en ligne de commande adduser. Ceci nécessite des droits root. Voici la syntaxe utilisée : adduser [OPTIONS] NOMUTILISATEUR Si vous utilisez adduser sans options, un ID utilisateur, le répertoire d’accueil et un groupe d’utilisateurs du même nom seront automatiquement créés en plus du nouveau compte. Exemple : adduser test Sortie du terminal : Adding user 'test' (1001) … Adding new group 'test' (1001) … Adding new user 'test' (1001) with group 'test' … Creating home directory '/home/test' … Copying files from '/etc/skel' … Un dialogue est ensuite généré, dans lequel vous pouvez définir le mot de passe et les informations utilisateur avancées (nom réel, numéro de bureau, numéros de téléphone, etc.). Cela peut être toutefois ajusté ou bloqué grâce à des options additionnelles. Le script Perl adduser est basé sur le programme de bas niveau useradd. Il offre les mêmes fonctions mais de manière plus intuitive et conviviale. |
chfn | Paramétrer des informations utilisateur avancées La commande chfn (abréviation de change finger) permet de configurer les informations avancées d’un compte utilisateur telles que le nom réel, l’emplacement de son bureau et les numéros de téléphone privés et professionnels. La syntaxe générale de chfn est : chfn [OPTION "NOUVELLE VALEUR"] [NOMUTILISATEUR] La commande doit être exécutée avec des droits root. Vous pouvez définir les informations utilisateur que vous souhaitez remplacer par une nouvelle valeur à l’aide des options -f (nom réel), -r (emplacement de bureau), -w (numéro professionnel) et -h (numéro personnel). Dans l’exemple suivant, l’emplacement précédent du bureau de peter23 est remplacé par la nouvelle valeur 122. chfn -r "122" peter23 |
chsh | Modification du Shell par défaut La commande chsh (abréviation de change shell) modifie le shell de connexion d’un utilisateur sélectionné. Orientez-vous vers le schéma suivant lors de la saisie des données : chsh [OPTIONS] NOMUTILISATEUR Pour ajuster le shell de connexion d’un utilisateur, chsh est utilisé avec l’option -s. L’option est suivie du chemin d’accès vers l’interpréteur de commandes désiré (par exemple /usr/bin/fish). À noter : les utilisateurs sans droits root sont seulement autorisés à personnaliser leur propre shell. Si vous voulez changer le shell des autres utilisateurs, exécutez la commande avec des droits root. Exemple : sudo chsh -s /usr/bin/fish peter23 Pour l’utilisateur peter23, le shell fish (friendly interactive shell) est alors défini par défaut. Le changement d’interpréteur de commandes ne prend effet que lorsque l’utilisateur se déconnecte et se reconnecte. |
deluser | Supprimer un compte utilisateur deluser permet de supprimer dans les fichiers du compte système toutes les entrées d’un compte utilisateur sélectionné. L’utilisation de deluser nécessite des droits root. La commande est basée sur le schéma suivant : deluser [OPTIONS] NOMUTILISATEUR Exemple : deluser peter23 Le compte utilisateur peter23 est supprimé. Si vous souhaitez également supprimer tous les fichiers du répertoire personnel de l’utilisateur, utilisez la commande avec l’option --remove-home. Si tous les fichiers utilisateurs doivent être supprimés du système, l’option --remove-all-files est utilisée. deluser --remove-all-files peter23 Si tous les fichiers de l’utilisateur doivent être sauvegardés avant suppression, utilisez deluser avec l’option -backup-to et spécifiez le répertoire désiré. deluser --backup-to /chemin/acces/au/repertoire peter23 deluser est un script Perl qui offre les fonctions du programme de bas niveau userdel sous une forme plus conviviale. |
groupadd | Création de groupes d’utilisateurs La ligne de commande groupadd est utilisée pour établir de nouveaux groupes d’utilisateurs. Utilisez groupadd avec des droits root selon le schéma suivant : sudo groupadd [OPTIONS] GROUPE 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’utilisateurs, utilisez la commande groupadd avec l’option -g (GID). Dans l’exemple suivant, le groupe users est créé avec le GID 1425. groupadd -g 1425 users Si vous voulez créer un groupe système, utilisez l’option -r (root). |
delgroup | Supprimer un groupe d’utilisateurs La commande delgroup (abréviation de delete group) permet de supprimer un groupe d’utilisateurs existant. La syntaxe générale de delgroup est : delgroup [OPTIONS] GROUPE Les droits roots sont nécessaires pour pouvoir exécuter la commande. L’appel suivant entraîne la suppression du groupe users : delgroup users Tout comme deluser, il s’agit d’un script Perl qui fournit les fonctions du programme de bas niveau groupdel sous une forme plus conviviale. |
groupmod | Personnaliser le groupe d’utilisateurs Via groupmod, le nom et le GID d’un groupe d’utilisateurs 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 Utilisez groupmod avec l’option -g pour personnaliser le GID. L’utilisation de l’option -n permet de renommer le nom du groupe. Exemple : groupmod -g 1800 users Le GID du groupe d’utilisateurs est défini sur 1800. groupmod -n all users Le groupe d’utilisateurs est renommé all. |
newgrp | Modifier le groupe d’utilisateurs newgrp (abréviation de new group) est une commande qui permet aux utilisateurs connectés de changer leur ID de groupe sans avoir à se connecter et se déconnecter à nouveau. La syntaxe générale de la commande est : newgrp [-] [GROUPE] Si newgrp est remis avec le paramètre optionnel [-], le changement de groupe entraîne un redémarrage de l’environnement utilisateur, comme si l’utilisateur s’était reconnecté. Les utilisateurs qui utilisent newgrp sans spécification de groupe bascule vers le groupe par défaut spécifié dans /etc/passwd. En principe, un utilisateur doit être membre du groupe vers lequel il souhaite basculer. Les groupes protégés par mot de passe sont une exception. Si tel est le cas, le mot de passe sera demandé via le terminal avant le changement. |
passwd | Changer le mot de passe de l’utilisateur Utilisez le programme en ligne de commande passwd pour changer le mot de passe d’un utilisateur ou pour définir des intervalles de modification ou verrouillage de ce mot de passe. La commande est basée sur la syntaxe suivante : passwd [OPTIONS] NOMUTILISATEUR Si vous voulez changer le mot de passe d’un autre utilisateur, vous avez besoin des droits root. Utilisez la commande passwd sans nom d’utilisateur pour changer votre propre mot de passe. passwd Pour verrouiller le mot de passe de l’utilisateur sélectionné, utilisez la commande passwd avec l’option -l (lock). passwd -l NOMUTILISATEUR D’autres options offrent la possibilité de définir une période d’expiration pour les mots de passe (-x) ainsi que des intervalles de temps pour les avertissements (-w) ou le verrouillage (-i) : passwd -x MAX_JOURS -w WARN_JOURS -i INACTIF_JOURS NOMUTILISATEUR L’exemple suivant détermine que l’utilisateur peter24 doit renouveler son mot de passe tous les 30 jours. Il recevra un avertissement 5 jours avant la date limite. Si le mot de passe n’est pas renouvelé, il expire et le compte utilisateur peter24 est bloqué 3 jours plus tard. passwd -x 30 -w 5 -i 3 peter24 |
sudo | Exécuter des programmes avec les droits d’autres utilisateurs La commande sudo (abréviation de substitute user do) peut être placée devant les appels de programme pour les exécuter avec les droits d’un autre utilisateur. Un mot de passe doit être en principe saisi à cet effet. La commande sudo exige toujours le mot de passe de l’utilisateur appelant. Si la commande est donnée sans nom d’utilisateur, le super-utilisateur root est utilisé comme cible. sudo APPELPROGRAMME Dans /etc/sudoers, les administrateurs peuvent définir les personnes pouvant utiliser sudo et quels appels de programme sont autorisés. Pour utiliser la commande sudo, l’utilisateur doit appartenir au groupe sudo. Si vous voulez sélectionner un autre utilisateur cible, utilisez sudo avec l’option -u et le nom d’utilisateur souhaité. sudo -u NOMUTILISATEUR APPELPROGRAMME Un tel changement d’utilisateur n’est possible que si cela est déjà autorisé dans /etc/sudoers. Si vous voulez passer au shell root en permanence pour exécuter des commandes avec des droits administrateur, utilisez sudo avec l'option -i. sudo -i La commande sudo est utile car elle permet aux utilisateurs d’exécuter des commandes prédéfinies en tant qu’utilisateurs root, sans avoir à transmettre le mot de passe root. |
su | Travailler avec les droits d’autres utilisateurs La commande su permet également à un utilisateur d’exécuter temporairement des appels de programme avec les droits d’un utilisateur cible. Contrairement à sudo, les commandes ne sont toutefois pas exécutées directement. En effet, c’est plutôt un changement d’identité qui est opéré. De plus, su ne demande pas le mot de passe de l’utilisateur appelant, mais celui de l’utilisateur cible. Pour appeler des programmes en tant que super-utilisateur, un utilisateur doit par conséquent avoir en principe besoin du mot de passe root du système. De plus, contrairement à sudo, su n’est pas limité à un ensemble d’appels de programme prédéfinis par l’administrateur. Voici la syntaxe générale de la commande : su [OPTIONS] [NOMUTILISATEUR] Un appel sans NOMUTILISATEUR définit automatiquement root comme utilisateur cible. |
usermod | Personnaliser le compte utilisateur La commande en ligne de commande usermod vous permet de remanier les comptes utilisateurs déjà créés. Utilisez usermod avec les privilèges root selon le schéma suivant : usermod [OPTIONS] NOMUTILISATEUR Les options permettent de définir les modifications à apporter. Modifier le nom utilisateur (-l NOUVEAU_NOM) : usermod -l peter24 peter23 L’utilisateur peter23 s’appelle maintenant peter24. Créer un nouveau répertoire home (répertoire -d) et déplacez les anciens fichiers (-m) : usermod -d /chemin/vers/repertoire/peter24 -m peter24 Tous les fichiers de l’ancien répertoire d’accueil sont déplacés vers le nouveau répertoire d’accueil. Verrouiller l’utilisateur (-L) : usermod -L peter24 Le mot de passe de l’utilisateur peter24 est verrouillé. Ajouter des utilisateurs au groupe (-a) en conservant tous les autres membres du groupe (-G) : usermod -aG users peter24 Peter est ajouté au groupe users. |
Commandes système
Dans cette catégorie, nous vous présentons des commandes Linux de base pour le contrôle du système. Les commandes suivantes permettent de redémarrer et d’arrêter le système à partir du terminal, et ce à un moment spécifiquement choisi si besoin.
La plupart des commandes en ligne du panneau de contrôle doivent être exécutées avec les privilèges root.
Commande | Description |
logger | Créer des entrées log 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" Vous trouverez le journal système sous /var/log/syslog. |
reboot | Faire redémarrer le système reboot est une commande qui permet de faire redémarrer le système. Pour lancer un redémarrage, la commande doit être exécutée avec les droits root. reboot [OPTIONS] |
rtcwake | Démarrage et veille automatique du système 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] Sélectionnez un mode spécifique (-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 possibilité de sortir votre système de la veille à une heure définie précisément selon l’heure UNIX (-t). Exemple 1 : rtcwake -m standby -s 300 Le système est mis en mode veille pendant 5 minutes (300 secondes). Exemple 2 : rtcwake -m off -t 1490997660 Le système est éteint et remis en route à l’heure Unix 1490997660, ce qui correspond à la date suivante : 01.04.2017 - 00:01:00. L’heure Unix correspond au nombre de secondes depuis le 1.1.1970 à 00:00. Comme l’information en heure Unix est difficile à saisir, il est recommandé de la convertir en utilisant la commande date (voir ci-dessous). rtcwake -m off -t $(date -d '20170401 00:01' +%s) |
shutdown | Arrêt du système La commande shutdown peut être utilisée par les utilisateurs root pour arrêter le système. Elle est basée sur la syntaxe suivante : shutdown [OPTIONS] [TEMPS] [MESSAGE] Si vous souhaitez procéder à un arrêt du système, vous pouvez définir une heure. Utilisez un temps spécifique (hh:mm) ou un compte à rebours (+m). Les autres utilisateurs du système reçoivent une annonce d’arrêt. Si nécessaire, il peut être complété par un message individuel : Dans l’exemple suivant, le système s'arrêtera dans 10 minutes : shutdown +10 Si la commande shutdown est utilisée avec l'option -r, un redémarrage suit l’arrêt du système. shutdown -r +10 |
Informations du système
Dans cette rubrique « Informations du système », nous avons résumé les programmes en ligne de commande pour obtenir des informations et annonces de statuts, ainsi qu’une vue d’ensemble complète de l’état de votre système.
Commande | Description |
date | Récupérer la date système La commande date renvoie, comme son nom laisse le présager, à la date et heure du système. date [OPTIONS] [FORMATDESORTIE] Si vous voulez travailler 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 lesquelles les informations de date et d’heure peuvent être communiquées dans le format souhaité. Par exemple, utilisez l’option +%s pour afficher une date en heure Unix (nombre de secondes depuis 1970-01-01 00:00:00:00 UTC). Exemple : date -d '20170427 11:29' +%s Sortie : 1493285340 1493285340 est l’heure Unix correspondant au 27.04.2017 à 11h29. |
df | Obtenir l’espace libre du disque dur Utilisez la commande df (disk free) selon le schéma suivant pour afficher l’espace disque disponible des partitions montées. df [OPTIONS] Si la commande est utilisée avec un fichier spécifique, le système ne spécifie que l’espace libre de la partition sur laquelle se trouve le fichier. df [OPTIONS] [FICHIER] L’option -l (local) limite df aux systèmes de fichiers locaux. Des options sont également prises en charge pour personnaliser le format de sortie. Pour une sortie lisible par l’homme, il est conseillé l’option -h (human readable) : par exemple 3K 124M 1G. |
dmesg | Obtenir des annonces de la mémoire tampon du noyau Le programme dmesg (abréviation 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] 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 combinaison avec un pager tel que more, less ou tail. Exemple : dmesg | tail La sortie dmesg est transmise au pager tail à l’aide du pipe operator (|). Ceci permet que seuls les 10 derniers messages soient affichés dans le terminal. Une combinaison avec la commande grep permet de rechercher des messages spécifiques. |
du | Obtenir l’espace occupé sur le disque dur Si vous souhaitez savoir combien d’espace disque est occupé par des répertoires sur votre système, utilisez la commande du (abréviation de disk usage) selon le schéma suivant : du [OPTIONS] [REPERTOIRE] Spécifier un répertoire n’est pas obligatoire. L’espace disque occupé peut être édité dans un format compréhensible par l’homme en utilisant l’option -h. |
free | Obtenir les disponibilités de la mémoire vive La commande free émet des informations sur la mémoire vive. La syntaxe générale est : free [OPTIONS] La sortie émet deux données : Mem (Memory) et Swap. Mem est la mémoire de votre système. Si elle est épuisée, Linux transfère une partie des données stockées dans la RAM vers le disque dur. C’est ce qu’on appelle le swap space. free peut également se servir de l’option -h pour sortir les informations de la mémoire dans un format lisible par l’homme. |
hostname | Obtenir le nom d’hébergement Utilisez la commande hostname selon le schéma ci-dessous pour afficher le nom DNS du système. hostname [OPTIONS] |
uname | Obtenir des informations sur la machine d’exécution La commande uname (pour unix name) est utilisée pour obtenir des informations système sur la machine d’exécution. La commande prend en charge différentes options permettant de filtrer les informations de la sortie. uname [OPTIONS] |
uptime | Retrouver le temps d’exécution du système 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 |
vmstat | Obtenir des statistiques sur la mémoire virtuelle L’outil de monitoring vmstat peut être utilisé pour récupérer des informations sur la mémoire virtuelle, les opérations de lecture/écriture du disque ainsi que l’activité du processeur (CPU). Pour faire afficher les valeurs moyennes depuis le dernier démarrage du système, appelez vmstat comme suit : vmstat [OPTIONS] Autrement, vmstat permet un monitoring continue, dans lequel les valeurs du système sont appelées aussi souvent que nécessaire dans un intervalle de temps défini en secondes. vmstat [OPTIONS] [INTERVALE [REPETITIONS]] Exemple : vmstat 4 8 La requête s’effectue en huit passages toutes les 4 secondes. Pour interrompre la requête en cours, utilisez la combinaison de touches [CTRL] + [C]. |
Informations sur le matériel (hardware)
Les commandes Linux de cette catégorie vous fournissent des informations détaillées sur les composants matériels sous-jacents à votre système.
Commande | Description |
lscpu | Informations sur le processeur Utilisez lscpu (abréviation de list cpu) selon le schéma suivant pour afficher dans le terminal les informations sur l’architecture CPU. lscpu [OPTIONS] Pour les options possibles, reportez-vous aux pages d’aide de votre système d’exploitation. |
lshw | Informations sur le matériel (hardware) La commande lshw (pour list hardware) affiche des informations sur les composants hardware du terminal. Les informations portent sur le processeur, les modules de mémoire et les périphériques tels que les cartes son, cartes graphiques ou les lecteurs connectés à des interfaces PCI, USB ou IDE. Utilisez lshw selon le schéma suivant : lshw [OPTIONS] La commande prend en charge différentes options pour personnaliser le format de sortie (-html, -xml, -short, -businfo) et la quantité d’informations (par exemple -sanitize pour cacher les informations sensibles). |
lspci | Informations sur les périphériques PCI Utilisez lspci (abréviation de list pci) selon le schéma suivant pour afficher des informations détaillées sur les périphériques PCI : lspci [OPTIONS] Reportez-vous aux pages d’aide de votre système d’exploitation pour connaître les options possibles. |
lsusb | Informations sur les périphériques USB Utilisez lsusb (abréviation de list usb) pour afficher dans le terminal des informations détaillées sur les périphériques USB. lsusb [OPTIONS] Reportez-vous aux pages d’aide de votre système d’exploitation 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éveloppées dans ce chapitre font partie du répertoire standard pour la gestion des processus. Elles permettent de surveiller à partir du terminal tous les processus de votre système et d’intervenir si nécessaire.
Commande | Description |
chrt | Attributs en temps réel chrt est un programme en ligne de commande pour les contrôles de processus avancés qui permettent de déterminer et d’ajuster les attributs en temps réel (politique d’ordonnancement 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écifiques. La syntaxe générale de la commande est : chrt [OPTIONS] [PRIORITE] PID/COMMANDE [ARGUMENTS] Utilisez chrt sans spécifier de priorité mais avec l’option -p pour déterminer les attributs en temps réel des processus sélectionnés : chrt -p PID Exemple : chrt -p 1234 chrt édite les attributs temps réel du processus 1234. La commande est très souvent utilisée comme suit pour exécuter une commande et ses arguments avec une priorité en temps réel spécifique. chrt [OPTIONS] PRIORITE COMMANDE [ARGUMENTS] Exemple : chrt 99 firefox Le programme Firefox est lancé avec une priorité en temps réel de 99. Si, en revanche, la priorité en temps réel des processus en cours d’exécution doit être ajustée, la syntaxe suivante est utilisée : chrt -p PRIORITE PID Exemple : chrt -p 20 1234 La priorité en temps réel du processus 1234 est fixée à 20. De plus, chrt offre la possibilité de personnaliser ou de définir la règle de planification de l’exécution ou du redémarrage des processus à l’aide d’options. chrt utilise la politique d’ordonnancement SCHED_RR (Round Robin, explicitement avec l’option -r) comme valeur par défaut. Cela signifie que tous les processus prêts pour le calcul se voient attribuer un temps de traitement CPU les uns après les autres pour une période de temps donnée. Ceci permet de spécifier combien de temps un processus peut durer jusqu’à ce qu’il soit supplanté par un autre processus. La taille pour le laps de temps du processus dépend de la priorité. Linux présente 140 niveaux de priorité pour les processus (0 = priorité la plus élevée, 139 = priorité la plus faible). Les niveaux de 1 à 99 sont réservés aux processus dits prioritaires en temps réel. Les processus utilisateurs, par contre, sont généralement exécutés à un niveau de processus de 100 à 139. Ceci correspond à une valeur nice de -20 à +19 (voir nice). En plus de SCHED_RR, Linux a une autre politique d’ordonnancement pour les processus en temps réel : SCHED_FIFO (option -f). Comme SCHED_RR, SCHED_FIFO fonctionne en tant qu’algorithme first-in/first-out. Cependant, aucun intervalle de temps n’est utilisé. Les processus démarrés avec SCHED_FIFO s’exécutent jusqu’à ce qu’ils soient arrêtés ou remplacés par un processus ayant une priorité temps réel plus élevée. Les processus remplacés se déplacent vers la fin de la file d’attente. |
ionice | Affecter des classes d’ordonnancement d’E/S La commande ionice est utilisée pour influencer 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 Pour pouvoir exécuter ionice, des droits root sont nécessaires. La commande distingue trois classes d’ordonnancement qui sont passées avec l’option -cNOMBRE. Les valeurs numériques possibles sont 1, 2 et 3. 1 = Temps réel : l’action E/S est exécutée immédiatement. 2 = Best-Effort : l’action E/S est exécutée le plus rapidement 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. Le PID d’un processus en cours d’exécution est transmis avec l’option -pPID. Exemple : ionice -c2 -p1234 La classe d’ordonnancement 2 (Best Effort) est transférée au processus avec le PID 1234. |
kill | Arrêt et fin du processus via PID 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écifiant le signal souhaité et l’ID du processus sélectionné. kill [OPTIONS] [-SIGNAL] PID Les signaux courants sont : TERM : fait en sorte qu’un processus se termine tout seul (par défaut). KILL : force un processus à prendre fin (par le système). STOP : arrête un processus. CONT : reprend un processus arrêté. L’appel suivant envoie un signal au process 1234, lui demandant de se terminer lui-même. Comme aucun signal n’a été transmis, kill envoie le signal par défaut TERM. kill 1234 Permettez toujours aux processus de se terminer eux-mêmes et ne forcez l’action via KILL que si le processus adressé ne réagit pas comme prévu. kill -KILL 1234 Si vous voulez seulement faire une pause, utilisez les appels suivants pour arrêter temporairement le processus ou lui permettre de reprendre : kill -STOP 1234 kill -CONT 1234 Utilisez la commande kill avec l’option -l (--list) pour afficher tous les signaux possibles qui peuvent être transmis aux processus via kill. |
killall | Arrêter et terminer les processus par leur nom Utilisez killall avec un terme de recherche spécifique pour ne terminer que les processus dont les noms correspondent exactement (les 15 premiers caractères sont comparés). killall [OPTIONS] [-SIGNAL] [NOMPROCESSUS] L’option -e (--exact) permet d’étendre le réglage à tous les caractères du nom du processus. |
nice | Définir les priorités du processus La commande nice attribue une valeur comprise entre -20 et +19 à un processus au démarrage, après quoi la puissance de traitement disponible du système est distribuée. L’intervalle de -20 à +19 correspond 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] Sans autre spécification, 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. Dans l’exemple suivant, l’éditeur nano est lancé avec une priorité de 4 : nice -n 4 nano |
nohup | Déclencher le processus d’une session Normalement, tous les processus dépendants d’un utilisateur se terminent automatiquement dès que l’utilisateur ferme la session terminal (par exemple, via exit). La commande nohup (abréviation de no hangup) déclenche un processus à partir de la session en cours et permet de poursuivre son exécution même si vous vous déconnectez du système. Le signal HUP associé (hangup), qui provoque normalement l’arrêt automatique d’un processus, est supprimé par nohup. L’appel de programme est basé sur le schéma suivant : nohup COMMANDE |
pgrep | Récupérer un PID grâce à un terme de recherche 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 respectifs s’ils correspondent. La syntaxe générale de l’appel est : pgrep [OPTIONS] TERMEDERECHERCHE Par défaut, pgrep édite les PID de tous les processus qui contiennent le terme de recherche. Exemple : pgrep ssh Tous les processus qui contiennent le terme de recherche ssh dans leur nom sont répertoriés. Si vous souhaitez limiter la recherche à des correspondances exactes, utilisez la commande avec l’option -x. Exemple : pgrep -x sshd Seuls les processus dont le nom exact est sshd sont listés. 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 expressions régulières. |
pidof | Retrouver les PID La ligne de commande pidof affiche les numéros d’identification de tous les processus d’un programme (PID). Retrouver les PID via pidof selon le schéma suivant : pidof [OPTIONS] PROGRAMME Avec l’appel ci-dessous, les ID de tous les processus en cours du programme nano sont affichés dans le terminal : pidof nano Si vous souhaitez seulement afficher le premier ID de processus, utilisez pidof avec l’option -s (abréviation de single shot). |
pkill | Arrêter et terminer des processus grâce à des termes de recherche Comme kill, pkill envoie aussi un signal à un processus sélectionné. 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 expression 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] Des options supplémentaires peuvent être utilisées pour restreindre la commande aux processus d’un utilisateur particulier (-U UID), aux processus enfants d’un processus parent spécifique (-P PID), ou encore aux processus les plus récents (-n) ou les plus anciens (-o). Alors que pkill s’adresse à tous les processus dont les noms contiennent le terme de recherche, la commande killall ne s’adresse qu’aux processus ayant des correspondances exactes. |
ps | Obtenir une liste de tous les processus en cours d’exécution La commande ps affiche une liste de tous les processus en cours d’exécution dans le terminal. ps [OPTIONS] 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’exploitation. |
pstree | Récupérer les processus en cours sous forme d’arborescence Utilisez pstree pour afficher tous les processus en cours d’exécution dans une arborescence. La syntaxe générale de la commande est : pstree [OPTIONS] Le format et l’étendue de la sortie peuvent être personnalisés à l’aide de différentes options. |
renice | Ajuster les priorités des processus en cours d’exécution 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] L’adressage se fait à l’aide d'options via l’ID du processus (-p PID), l’ID de groupe (-g GID) ou un nom d’utilisateur (-u UTILISATEUR). Exemple : renice 12 -p 1234 La priorité 12 est attribuée au processus avec l’ID 1234. renice 3 -g 3456 Tous les processus en cours du groupe avec le GID 3456 se voient attribuer une priorité de 3. sudo renice -6 -u peter24 Tous les processus en cours d’exécution de l’utilisateur peter24 se voient attribuer une priorité de -6. Si vous utilisez renice sans option, la valeur par défaut -p est prise en compte et la chaîne qui suit est interprétée comme ID du processus. |
sleep | Retarder l’exécution du processus La commande sleep vous permet d’interrompre 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] Si vous utilisez sleep sans suffixe, le nombre spécifié est interprété comme un temps en secondes (s). Toutefois, vous pouvez également interrompre la session du terminal pendant des minutes (m), heures (h) ou jours (d) donnés. L’appel suivant interrompt la session pendant 4 minutes : sleep 4m La commande peut être utilisée par exemple pour retarder l’exécution de la commande qui suit : sleep 1h && reboot Le système attend une heure, puis exécute boot, ce qui provoque le redémarrage du système. |
taskset | Affecter des processus à des processeurs spécifiques taskset est une commande pour les contrôles de processus avancés qui est utilisée pour les systèmes multiprocesseurs afin d’assigner des processus ou des commandes à des processeurs spécifiques. La commande nécessite des droits root et utilise l’un des schémas suivants : taskset [OPTIONS] MASQUE COMMANDE taskset [OPTIONS] -p PID L’affectation de process/commande au processeur se fait à l’aide d’un masque en bits hexadécimaux. Par exemple : 0x00000001 = Prozessor #0 0x00000003 = Prozessor #0 et #1 0xFFFFFFFF = tous les processeurs (#0 jusqu’à #31) Comme une telle affectation des masques n’est pas très intuitive, taskset est généralement utilisé avec l’option -c (--cpu-list), qui permet un classement numérique des processeurs (par exemple 0, 5 7, 9-11). La commande suivante demande au processus 1234 d’utiliser les processeurs 1 et 2 : taskset -p 1234 -c 1,2 |
top | Vue d’ensemble dynamique des processus 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] La sortie des informations des processus peut être personnalisé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’utilisation de la mémoire. [N] = Trie les sorties numériquement par PID. [A] = Trie les sorties suivant l’ancienneté. [T] = Trie les sorties en fonction du temps. [U NOMUTILISATEUR ou UID] = Trie les sorties en fonction de l’utilisateur. Utilisez la touche de raccourci [H] pour afficher une page d’aide et [Q] pour quitter l’aperçu du processus. |
Pager (visionneur)
Vous voulez garder un bon aperçu aussi pour les contenus de fichiers ayant plusieurs pages ? À l’aide des programmes en ligne de commande de ce chapitre, vous pouvez sélectionner les parties que vous voulez afficher dans le terminal et même, si nécessaire, feuilleter le fichier en mode interactif.
Commande | Description |
head | Émission des premières lignes d’un fichier Le pager head est utilisé pour sortir la première partie d’un fichier. La syntaxe générale de la commande est : head [OPTIONS] Fichier Utilisez l’option -n NOMBRE_LIGNES pour définir le nombre de lignes à éditer en commençant par la première ligne. Exemple : head -n 3 exemple.txt Les trois premières lignes du fichier exemple.txt sont éditées. Si aucune ligne n’est spécifiée, head édite les 10 premières lignes du fichier donné. |
less | Afficher les fichiers texte dans le terminal 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 La sortie est automatiquement en mode interactif. Ceci vous permet de parcourir plus facilement le document sélectionné ou d’effectuer des recherches par mots-clés. La touche [Q] met fin au mode lecture interactive. Pour d’autres touches de commande et les options possibles, reportez-vous au manuel du programme. |
more | Afficher les fichiers texte dans le terminal Le pager more remplit la même fonction que less, mais offre une plus petite gamme de fonctions. Utilisez more selon le schéma suivant pour appeler un fichier texte et afficher son contenu dans le terminal : more [OPTIONS] FICHIER Le programme en ligne de commande affiche toujours une page d’écran complète du fichier sélectionné. Si un fichier contient plusieurs pages, more lance également un mode interactif qui vous permet de faire défiler le document ou de rechercher des mots-clés à l’aide des touches de commande. La touche [Q] permet de quitter le mode interactif. Pour les autres touches de commande et les options utilisables, reportez-vous aux pages d’aide de votre système d’exploitation. |
tail | Sortie des dernières lignes d’un fichier Tandis que head affiche par défaut les 10 premières lignes d’un fichier sélectionné, 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 traitement de texte graphique pour adapter les fichiers de configuration, travailler 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ésentons ci-dessous trois programmes que vous devriez connaître.
Commande | Description |
emacs | L’éditeur de texte Emacs Emacs est un éditeur de texte indépendant de la plateforme. Il démarre par défaut avec une interface utilisateur graphique, mais peut aussi être ouvert dans le terminal en utilisant l’option --no-window-system. emacs --no-window-system Emacs dispose d’un tutoriel intégré auquel vous pouvez accéder en appuyant sur [CTRL] + [H], [T]. |
nano | L’éditeur de texte Nano Nano est une réplique GNU de l’éditeur de texte basé sur le terminal Pico qui est utilisé dans le cadre du client de messagerie Pine. Si Nano offre une plus petite gamme de fonctions que les éditeurs comparables (par exemple Vim), il est particulièrement agréable à utiliser. Voici la syntaxe générale : nano [OPTIONS] FICHIER 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 enregistré dans le répertoire actuellement sélectionné. nano [OPTIONS] Les raccourcis pour piloter le programme sont listés au bas de la fenêtre d'édition. Vous trouverez de plus amples informations sur Nano dans les pages de manuel du programme. |
vim | L’éditeur de texte Vim Vim (abréviation de Vi Improved) est une suite de l’éditeur de texte Vi. Il se distingue par de nombreuses améliorations telles que le surlignement syntaxique, un système d’aide complet, un script natif, des autocomplétions du code et une sélection visuelle du texte. Le programme open source offre différents modes de fonctionnement pour le traitement de fichiers texte pur et peut être utilisé soit dans le terminal, soit comme application autonome avec interface utilisateur graphique (GVim). Le traitement du code de programme est au cœur du domaine d’application du programme. Si vous démarrez Vim dans la console, il est commandé par le clavier. Habituellement, le programme est appelé avec un fichier texte selon le schéma suivant : vim [OPTIONS] FICHIER Vim charge les fichiers ouverts dans une mémoire tampon (buffer). Toutes les modifications que vous apportez au fichier ouvert sont également stockées ici. Si vous ouvrez Vim sans spécifier un fichier, le programme démarre avec un buffer vide. Le fichier d’application d’origine n’est pas ajusté tant que le processus de sauvegarde n’est pas ordonné à l’aide de la combinaison de touches correspondante. S’il n’existe pas de fichier correspondant au nom donné lors de l’appel du programme, ce dernier sera créé lors du processus d’enregistrement. Une introduction 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 fondamentaux de l’éditeur de texte Vim vous aidera également sur son installation et les différents modes de fonctionnement 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 souhaitiez vérifier la connexion, consulter des informations sur le DNS, configurer des interfaces ou transférer des fichiers vers un autre ordinateur du réseau, une seule commande suffit avec les programmes suivants.
Commande | Description |
arp | Affichage et manipulation du cache ARP Le programme en ligne de commande arp vous permet de consulter le cache ARP de votre système d’exploitation et de le manipuler. Utilisez arp sans modificateur pour afficher le contenu de la table ARP dans le terminal. arp Autrement, vous avez la possibilité de limiter la sortie aux entrées d’un nom d’hébergement spécifique grâce à l’option -a (au lieu d’une adresse IP). arp -a NOMHEBERGEMENT Exemple : arp -a exemple.com Si vous voulez créer une entrée ARP, utilisez l’option -s selon le schéma suivant : arp -s NOMHEBERGEMENT MAC_ADRESSE Exemple : arp -s exemple.com 00:05:23:73:e6:cf Si une entrée existante doit être supprimée, arp est utilisé avec l’option -d. arp -d NOMHEBERGEMENT |
dig | Consulter des informations sur le DNS dig est un outil de recherche permettant de consulter des informations des serveurs DNS et de les émettre dans le terminal. L’utilitaire en ligne de commande est généralement utilisé pour consulter l’adresse IP et d’autres informations DNS pour un nom de domaine donné. Le schéma suivant est alors utilisé : dig [@SERVER] [DOMAIN] [TYP] SERVER est le serveur DNS dans lequel l’information désirée est recherchée. Si aucun serveur n’est spécifié, dig récupère le serveur DNS par défaut à partir de /etc/resolv.conf. DOMAIN représente le nom de domaine pour lequel l’information DNS doit être retrouvée. Avec TYP, le type de requête peut être fixé, par exemple ANY (toutes les entrées), A (enregistrement IPv4 d'un hôte) ou AAAA (enregistrement IPv6 d’un hôte). Le type défini par défaut est A. Utilisez dig avec l’option -x pour consulter le nom de domaine d’une adresse IP donnée lors d’une recherche inversée. dig [@SERVER] [-x IP-ADRESSE] Les arguments NAME, TYP et CLASSE ne sont pas nécessaires dans ce cas. |
ftp | Transfert de fichiers via FTP Grâce au programme en ligne de commande ftp, la plupart des distributions Linux disposent d’un programme client préinstallé pour le transfert de données via FTP (File Transfer Protocol). Ceci vous permet d’échanger des fichiers entre le système local et un autre ordinateur du réseau. Utilisez ftp selon le schéma ci-dessous pour établir une connexion avec le serveur FTP de l’ordinateur cible. ftp [OPTIONS] [HOST[PORT]] L’adressage s’effectue via le nom d’hôte ou l’adresse IP. La spécification d’un numéro de port n’est pas obligatoire. Pour que la connexion soit établie, un nom d’utilisateur et le mot de passe correspondant vous sont généralement demandés. Si la connexion réussit, ftp lance un interpréteur de ligne de commande qui accepte les entrées de l’utilisateur sous forme de commandes. Le programme prend en charge différentes commandes avec lesquelles vous pouvez parcourir et gérer le système de fichiers de l’ordinateur cible et transférer des fichiers d’un système à un autre. |
ip | Consulter et configurer des interfaces réseau Le programme en ligne de commande ip fait partie de la série de programmes iproute2, avec laquelle les interfaces réseau peuvent être consultées et configurées via le terminal. La syntaxe générale de la commande est : ip [OPTIONS] OBJET [COMMANDE [ARGUMENTS]] Pour définir quelle action est exécutée via ip, il est nécessaire d’utiliser des objets, des sous-commandes et leurs arguments. Le programme prend en charge divers objets tels qu’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 appliquées. Par exemple, si vous voulez obtenir l’adresse IP d’une interface réseau spécifique (par exemple eth0), utilisez la commande ip avec l’objet address, la commande show et l’argument dev eth0 : ip address show dev eth0 Bon à savoir : les objets et les commandes peuvent également être écrits de manière courte : ip a s dev eth0 Si vous voulez afficher toutes les informations d’une interface réseau (par exemple eth0), utilisez la commande ip avec l’objet link, la commande show et l’argument dev eth0 : ip link show dev eth0 et de la même manière : ip l s dev eth0 Pour activer ou désactiver une interface telle que eth0, procédez comme suit : ip link set eth0 up ip link set eth0 down Avec sa large gamme de fonctions, la série de programmes iproute2 remplace un certain nombre d’outils réseau plus anciens tels que ifconfig, route et netstat. Vous pourrez trouver une liste de toutes les options, objets, sous-commandes et arguments possibles pour ip ainsi que des informations sur les autres programmes iproute2 dans le manuel de votre système d’exploitation. |
iw | Consulter et configurer des interfaces WLAN Le programme en ligne de commande iw est utilisé pour configurer les interfaces WLAN et s’est imposé comme une alternative plus moderne à iwconfig. La syntaxe est similaire à celle de la commande ip : iw [OPTIONS] OBJET [COMMANDE] Les objets possibles sont : dev NOM_INTERFACE = interface réseau phy NOM_PERIPHERIQUE = périphérique réseau sans fil (via Nom) phy#INDEX_PERIPHERIQUE = périphérique réseau sans fil (via Index) reg = regulatory agent pour la configuration des paramètres régionaux. Utilisez iw avec la commande help pour afficher la syntaxe du programme et les options et commandes possibles. iw help Voici quelques exemples d’application du programme en ligne de commande iw ci-dessous. Emettre les propriétés des périphériques de toutes les interfaces WLAN : iw list Obtenir l’état de connexion (vitesse de transmission et puissance du signal) d’une interface WLAN (par ex. wlan0) : iw dev wlan0 link Environnement WLAN : iw dev wlan0 scan Utilisez iw avec la commande scan pour émettre tous les réseaux WLAN dans la zone de réception avec leurs propriétés (canal radio, cryptage, puissance du signal, etc.). Lire les paramètres régionaux : iw reg get Ajuster les paramètres régionaux : iw reg set FR Obtenir les propriétés du périphérique (par ex. de wlan0) : iw list dev wlan0 Propriétés détaillées du périphérique : iw dev wlan0 station dump Obtenir les événements : iw event |
netstat | Obtenir le statut des interfaces réseau Le programme en ligne de commande netstat est utilisé pour consulter l’état des interfaces réseau. La syntaxe générale de la commande est : netstat [OPTIONS] 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 statistiques d’interface (-i), les connexions masquées (-M) ou les messages netlink (-N). Le programme ss de la série de programmes iproute2 est une alternative à netstat. |
nslookup | Consulter des informations sur le DNS Comme dig, nslookup est aussi utilisé pour consulter des informations sur le DNS. Le programme en ligne de commande est disponible selon deux modes : interactif et non interactif. Lancez le mode interactif en entrant la commande nslookup dans le terminal sans autre spécification. nslookup Le programme peut maintenant accepter les commandes. Entrez par exemple un nom d’hôte (Domain) pour faire afficher l’adresse IP correspondante. Vous pouvez également lancer une requête de recherche inversée en entrant une adresse IP pour que le nom d’hôte qui lui est associé s’affiche. Le programme nslookup utilise automatiquement le serveur DNS par défaut du système. Entrez la commande exit pour quitter nslookup. Si vous voulez utiliser nslookup en mode non interactif, appelez le programme avec un nom d’hôte ou une adresse IP. nslookup [OPTIONS] [HOST/IP] Comme le programme est très ancien, il est recommandé aux utilisateurs d’utiliser dig à la place. |
ping | Vérifier la connexion réseau Utilisez l’utilitaire en ligne de commande ping pour vérifier l’accessibilité des autres ordinateurs du réseau. La commande est basée sur la syntaxe suivante : ping [OPTIONS] CIBLE Pour vérifier la connexion réseau, ping envoie un petit paquet de données au système cible spécifié (nom d’hôte ou IP) et évalue le temps jusqu’à ce que la réponse soit reçue. 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. Le programme en ligne de commande est donc également adapté pour déterminer l’adresse IP d’un domaine. Si ping est exécuté sans option, le programme s’exécute jusqu’à ce qu’il soit arrêté manuellement par les touches [CTRL] +[C]. Si vous voulez définir une heure de fin lors de l’appel du programme, utilisez les options -c CHIFFRE (nombre de demandes ping à envoyer) ou -w SECONDES (temps en secondes avant l’arrêt de ping). |
route | Affichage et traitement des tables de routage IP 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] route [OPTIONS] [add|del] [-net|-host] CIBLE Utilisez la commande sans option pour afficher la table de routage complète du noyau : route Pour définir un itinéraire vers un réseau, utilisez la sous-commande add. route add -net 10.0.0.0 Si la destination est un sous-réseau, le masque du sous-réseau doit être spécifié avec l’option netmask MASQUE : route add -net 10.0.0.0 netmask 256.245.155.0 Vous pouvez également configurer un itinéraire vers un ordinateur : route add -host 218.89.72.191 Si le système possède plusieurs interfaces réseau, l’option dev INTERFACE doit être utilisée pour spécifier l’interface à utiliser : route add -net 10.0.0.0 netmask 256.245.155.0 dev eth0 Si la destination ne peut être atteinte que par l’intermédiaire d’un routeur, il faut également le spécifier avec l’option gw ROUTER. route add -net 10.0.0.0 netmask 256.245.155.0 gw 10.0.1.261 Si vous voulez supprimer un routeur, utilisez la sous-commande del. route del -host 218.89.72.191 |
rsync | Synchroniser les fichiers Le programme en ligne de commande rsync permet de synchroniser des fichiers localement ou sur un réseau. Tout d’abord, la taille et la date de modification des fichiers concernés sont comparés. Si la source et la cible sont sur le même système, des fichiers différents sont copiés dans leur intégralité. Lors de la synchronisation sur un réseau, rsync utilise un algorithme de transfert delta, de sorte que seules les parties de fichier modifiées soient transférées du support de données source vers le système cible. La syntaxe de l’appel est : rsync [OPTIONS] SOURCE(S) CIBLE Exemple : rsync -a home/user/documents/ /home/user/backup Tous les fichiers de home/user/documents/ sont comparés avec les fichiers du répertoire /home/user/backup. La commande rsync est généralement exécutée avec l’option -a, ce qui garantit que tous les sous-répertoires et liens symboliques sont également copiés ainsi que tous les droits d’utilisateur. |
sftp | Transfert de fichiers via SFTP Le programme en ligne de commande sftp sert comme ftp au transfert de données dans le réseau. Toutes les opérations sont effectuées via une connexion SSH chiffrée (Secure Shell). Comme ftp, sftp établit une connexion à un ordinateur cible sur le réseau et démarre ensuite un mode de commande interactif. |
scp | Transfert de fichiers via SCP scp (abréviation de secure copy) est un autre programme pour le transfert sécurisé des données dans le réseau directement via le terminal : scp copie les données d’un ordinateur à un autre, en utilisant également le protocole réseau SSH. Le programme client fonctionne 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 Lorsque vous spécifiez le chemin d’accès de l’hôte distant, le nom d’utilisateur et le nom de l’hôte correspondant 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 Le fichier image.jpg est copié à partir du répertoire local images vers le répertoire archiv sur un ordinateur cible avec l’adresse exemple.com. Le programme scp prend également en charge le transfert de données dans le sens inverse ainsi qu’entre deux systèmes distants. scp [OPTIONS] [[user@]host:]FICHIER CHEMINACCES scp [OPTIONS] [[user@]host1:]FICHIER [[user@]host2:]CHEMINACCES D’autres options vous permettent d’ajuster le mode de transfert et les paramètres de cryptage. |
traceroute | Suivi des paquets de données Utilisez la commande traceroute selon le schéma ci-dessous pour tracer le chemin de transfert d’un paquet de données IP entre votre système et un ordinateur cible. traceroute [options] NOMHOTE traceroute peut être utilisé pour identifier quel routeur et points d’échange Internet un paquet IP traverse en allant vers l’ordinateur cible (par exemple pour rechercher la cause d’un retard). |
tty | Emission des noms de terminal 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] |
Archivage et compression
Linux offre diverses technologies avec lesquelles les fichiers peuvent être compressés et envoyés dans des archives. Veuillez noter que chaque archivage n’implique pas toujours une compression. Ainsi, le programme d’archivage de fichiers tar est généralement utilisé avec des programmes de compression tels que gzip, bzip2 ou xz.
Commande | Description |
tar | Écrire et extraire des fichiers dans les archives tar La commande tar signifie tape archiver, un programme développé à l’origine pour sauvegarder les données sur des lecteurs de bandes. Aujourd’hui encore, tar est l’un des programmes les plus populaires pour l’archivage de données sous Linux. Le programme permet d’écrire séquentiellement différents fichiers et répertoires dans un fichier tar et de les restaurer si nécessaire. Contrairement au format zip couramment utilisé sous Windows, tous les droits d’utilisateur du fichier archivé sont conservés même après que ce dernier est décompressé. Le programme en ligne de commande tar est appelé selon la syntaxe suivante : tar [OPTIONS] FICHIERS 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). Dans l’exemple suivant, fichier1.txt et fichier2.txt sont écrits dans l’archive example.tar qui vient d’être créée. tar -cf exemple.tar fichier1.txt fichier2.txt Pour visualiser le contenu d’une archive, utilisez tar avec les options -t (afficher le contenu d’une archive), -v (sortie détaillée) et -f (voir ci-dessus). tar -tvf exemple.tar Si les fichiers archivés doivent être décompressés dans le dossier courant, tar est utilisé avec les options -x (extraire les fichiers de l’archive) et -f (voir ci-dessus). tar -xf exemple.tar Avec -j (bzip2), -J (xz), -z (gzip) et -Z (compress), tar offre également des options qui permettent de compresser ou décompresser des archives en appelant un autre programme pendant le processus. Dans l’exemple suivant, fichier1.txt et fichier2.txt sont archivés dans exemple.tar.gz et compressés avec gzip. tar -czf exemple.tar.gz fichier_1.txt fichier_2.txt La commande suivante extrait et décompresse tous les fichiers archivés dans exemple.tar.gz. tar -xzf exemple.tar.gz |
gzip / gunzip | Compresser ou dézipper des fichiers avec gzip gzip (abréviation de GNU zip) est un programme qui facilite la compression et la décompression des fichiers. La syntaxe générale qui s’applique est : gzip [OPTIONS] FICHIER(S) Par exemple, utilisez gzip comme suit pour convertir le fichier exemple.txt au format compressé exemple.txt.gz : gzip exemple.txt Notez que gzip supprime le fichier d’application original dans le cadre du processus de dézippage par défaut. Ceci peut être modifié avec l’option -k. gzip -k exemple.txt Si nécessaire, le programme peut être appliqué à plusieurs fichiers en même temps. Chaque fichier source est converti en un fichier gz indépendant. La commande gzip exemple_1.txt exemple_2.txt exemple_3.txt génère les fichiers exemple_1.txt.gz, exemple_2.txt.gz et exemple_3.txt.gz. Si vous voulez écrire plusieurs fichiers dans une archive compressée commune, utilisez gzip avec le programme d’archivage tar. Pour décompresser un fichier gz, utilisez la commande gzip avec l’option -d. Autrement, vous pouvez utiliser la commande gunzip. gzip -d exemple.txt.gz gunzip exemple.txt.gz Les fichiers gz décompressés sont également supprimés par défaut. Si vous voulez conserver le fichier gz en plus du fichier extrait, utilisez l’option -k. La compression gzip est basée sur l’algorithme Deflate (une combinaison d'encodage Huffman et LZ77). Par rapport à d’autres méthodes de compression, gzip se caractérise par sa rapidité. Cependant, le niveau de compression est relativement faible. |
bzip2 / bunzip2 | Compression et décompression de fichiers avec bzip Une alternative 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 compression en trois étapes qui permet un niveau de compression bien plus élevé. Tout d’abord, les fichiers donnés sont sujet à la transformation Burrows-Wheeler puis move-to-front. Enfin, la compression réelle des données s’effectue dans le cadre d’un codage Huffman. Les fichiers compressés avec bzip2 vont porter l’extension.bz2. Voici le schéma pour compresser les fichiers : bzip2 [OPTIONS] FICHIER(S) bzip2 peut également être appliqué aux archives tar. La décompression se fait de la même manière que gzip avec l’option -d. Autrement, vous pouvez avoir recours à la commande bunzip2. Le haut niveau de compression se répercute sur une certaine lenteur d’exécution. |
xz | Compresser et décompresser des fichiers avec xz Le programme en ligne de commande xz convertit les fichiers au format de compression 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) La décompression se fait avec l’option -d ou avec la commande unxz. 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. xz prend en charge différents algorithmes de compression. L'algorithme Lempel-Ziv-Markov est généralement utilisé comme standard (LZMA/LZMA2). |
cpio | Écrire et extraire dans un fichier d’archive cpio (abréviation 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). |
Vous pourrez trouver une description détaillée des programmes en ligne de commande énumérés ici dans notre article sur les fondamentaux de l’archivage et de la compression sous Linux. De plus amples informations sur les méthodes de compression mais également sur leur différence avec la déduplication peuvent aussi être consultées dans notre sujet sur la réduction des données.
Gestion des partitions
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épertoire de votre système d’exploitation. C’est ce qu’on appelle le « montage » d’une partition. Si nécessaire, cela peut être fait via l’interface utilisateur graphique. Autrement, les programmes en ligne de commande tels que lsblk, blkid et mount offrent la possibilité de consulter des informations sur les périphériques de stockage connectés et de les monter ou démonter selon les besoins.
Commande | Description |
mount /unmount | Monter les systèmes de fichiers Si un système de fichiers doit être intégré dans la structure de répertoire du système d’exploitation, le programme en ligne de commande mount est utilisé sous Linux. La syntaxe générale de la commande est : mount [OPTIONS] PERIPHERIQUE MOUNTPOINT PERIPHERIQUE = Le chemin d’accès du périphérique de stockage que vous voulez monter en tant que partition. MOUNTPOINT = L’emplacement de la structure de répertoire de votre système d’exploitation où vous voulez monter la partition. Le point de montage est généralement spécifié comme un chemin absolu. Exemple : mount /dev/sdd /media/usb Le périphérique sdd est monté dans le répertoire /media/usb. En règle générale, Linux reconnaît automatiquement le système de fichiers de l’appareil. Si ce n’est pas le cas, l’option -t vous permet de spécifier explicitement le système de fichiers (par exemple ext4) : mount -t ext4 /dev/sdd /media/usb Si un système de fichiers déjà intégré doit être démonté, la commande unmount est utilisée : unmount [OPTIONS] PERIPHERIQUE ou unmount [OPTIONS] MOUNTPOINT Si vous voulez afficher tous les systèmes de fichiers qui sont inclus dans votre système d’exploitation, utilisez la commande mount avec l’option -l. mount -l La sortie peut être limitée aux systèmes de fichiers d’un certain type via -t. |
lsblk | Liste des informations sur les périphériques de stockage de type bloc connectés Utilisez la commande lsblk (abréviation de list block devices) pour afficher tous les périphériques de stockage de type bloc et partitions connectés sous forme d’arborescence. L’appel est basé sur la syntaxe suivante : lsblk [OPTIONS] La sortie comprend les informations suivantes : NAME = Nom de l’appareil (par ex. sda) ou nom de la partition (par ex. sda1, sda2 etc.) MAJ:MIN = major:minor Numéro de l’appareil RM = support amovible (1 = applicable, 0 = non applicable) SIZE = capacité de mémoire de l’appareil RO = dispositif de lecture seule (1 = vrai, 0 = faux) TYPE = type de périphérique MOUNTPOINT = point de montage Si nécessaire, la sortie peut être personnalisée à l’aide de l’option -o (--output) tout comme la liste des attributs souhaités pour récupérer des informations supplémentaires telles que le numéro d’identification (UUID), le système de fichiers (FSTYPE) ou l’état (STATE). Exemple : lsblk -o NAME,FSTYPE,UUID, SIZE,OWNER,GROUP,MODE,TYPE,MOUNTPOINT Les périphériques de stockage vides sont ignorés par défaut. Si vous voulez les inclure tout de même dans votre visualisation, utilisez lsblk en combinaison avec l’option -a (--all). Si vous voulez seulement récupérer des informations sur un périphérique spécifique, utilisez lsblk selon le schéma suivant : lsblk [OPTIONS] PERIPHERIQUE Exemple : lsblk /dev/sda |
blkid | Liste des informations sur les périphériques de stockage de type bloc connectés Semblable à lsblk, blkid fournit également des informations sur les périphériques de stockage de type bloc connectés. Utilisez blkid selon la syntaxe ci-dessous pour récupérer le numéro d’identification (UUID) et le type de système de fichiers (TYPE) de tous les périphériques de stockage en bloc connectés. blkid [OPTIONS] Pour obtenir un tableau, utilisez l’option -o avec la valeur list. blkid -o list blkid peut également être limité à un appareil sélectionné : blkid [OPTIONS] PERIPHERIQUE Exemple : blkid /dev/sda1 |
dd | Copie au bit près de fichiers, partitions ou supports de données 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] La source et la cible données peuvent très bien être des fichiers individuels, tout comme des partitions entières (par ex. /dev/sda1) ou un périphérique de stockage complet (par ex. /dev/sda). Exemple : dd if=/dev/sda5 of=/dev/sdb1 La cinquième partition entière de /dev/sda est copiée au bit près sur la première partition de /des/sdb. Les options permettent de limiter le processus de copie à un nombre de blocs de mémoire de la taille désirée. |
Divers
Voici d’autres commandes Linux standard qui ne s’appliquent pas aux autres catégories énumérées dans cet article.
Commande | Description |
alias | Définir des diminutifs pour utiliser les programmes Le programme en ligne de commande alias permet de définir des diminutifs pour appeler des programmes. Utilisez alias selon la syntaxe suivante : alias DIMINUTIF= 'COMMANDE' 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. Exemple : alias ll='ls -l' La chaîne ll est définie comme alias pour la commande ls avec l’option -l (sortie détaillée). |
at | Exécuter une commande au moment voulu Pour exécuter une commande à un temps précis, appeler le programme en ligne de commande at selon la syntaxe suivante : at TEMPS Exemple : at 10:00 AM 6/22/2017 Entrez ensuite la commande à exécuter et fermez le mode interactif avec [CTRL] +[D]. |
cal | Afficher le calendrier Utilisez cal selon le schéma suivant pour afficher un calendrier dans le terminal : cal [OPTIONS] [[MOIS] Annee] Exemple : cal 12 2017 Le système affiche une synthèse mensuelle pour décembre 2017. |
echo | Émission de chaînes de caractère sur la sortie standard Utilisez la commande echo pour émettre des chaînes de caractères (strings) ligne par ligne sur la sortie standard (généralement le terminal). La syntaxe générale de la commande est : echo [OPTIONS] STRING |
pr | Préparer les fichiers texte pour impression Utilisez le programme en ligne de commande pr pour préparer les fichiers texte à l’impression. La syntaxe générale de la commande est : pr [OPTIONS] Fichier 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. |
script | Enregistrer les sessions du terminal 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 enregistrement d’une session précédente, il sera écrasé. L’enregistrement démarre automatiquement lorsque le programme est appelé : script Utilisez les touches [CTRL] + [D] pour arrêter l’enregistrement. Si vous voulez enregistrer dans un fichier autre que typescript, utilisez script avec un nom de fichier ou un chemin d’accès. script FICHIER |
seq | Affichage de séquences de nombres Utilisez la commande seq pour émettre une série de chiffres sur la sortie par défaut. Définissez une valeur de début, une valeur de fin et éventuellement un incrément. seq [OPTIONS] VALEURDEBUT INCREMENT VALEURFIN Exemple : seq 0 2 10 A partir de la valeur de 0, le programme compte par pas de deux jusqu’à 10. |
tasksel | Aide à l’installation pour les applications standard Le programme en ligne de commande tasksel sert d’aide à l’installation pour les applications standard (serveur de messagerie, DNS, OpenSSH, LAMP, etc. Utilisez cet outil pour installer automatiquement et dans l’ordre approprié tous les paquets et programmes requis pour une tâche. Appelez tasksel avec l’option --list-tasks pour obtenir une liste de toutes les applications standard disponibles. tasksel --list-tasks Si vous voulez obtenir plus d’informations sur une application standard de cette liste, utilisez tasksel avec l’option --task-desc et la tâche correspondante. Exemple : tasksel --task-desc mail-server Les informations sur la tâche « mail-server » sont affichées. Si vous voulez lister tous les paquets appartenant à la tâche « mail-server », utilisez tasksel avec l’option --task-packages. tasksel --task-packages mail-server Pour installer tous les paquets d’une application standard, utilisez la sous-commande install. Des droits root sont nécessaires. Exemple : tasksel install mail-server Le programme en ligne de commande démarre l’installation de tous les paquets nécessaires à la tâche « mail-server ». |
tee | Doubler la sortie du programme 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 En règle générale, tee est utilisé avec la redirection pipe (|). ls | tee exemple.txt La commande ls liste le contenu du répertoire courant. La sortie du programme est transférée via le pipe au programme en ligne de commande tee, qui l’affiche dans le terminal mais aussi l’écrit dans le fichier exemple.txt. |
time | Mesure de la durée d’exécution des programmes Utilisez la commande time selon le schéma suivant pour déterminer la durée d’exécution des programmes que vous lancez via le terminal. time [OPTIONS] Commande [ARGUMENTS] |
tr | Remplacer des caractères dans les fichiers texte Utilisez tr pour supprimer ou remplacer autant de caractères que souhaité par d’autres. Pour ce faire, tr lit le flux de données de l’entrée standard et l’écrit sur la sortie standard selon la modification souhaitée. Si un jeu de caractères doit être remplacé par un autre, tr est utilisé avec deux arguments. tr OPTION JEUDECARACTERE1 JEUDECARACTERE2 Le deuxième argument (JEUDECARACTERE1) remplace le premier (JEUDECARACTERE1). Si vous voulez supprimer une chaîne de caractères, utilisez tr avec l’option -d et donnez comme argument la séquence à supprimer. tr -d JEUDECARACTERE Le programme en ligne de commande est généralement utilisé en combinaison avec des opérateurs de redirection (< et >) pour ajuster les fichiers. tr 'a-z' 'A-Z' < exemple1.txt > exemple2.txt tr lit le contenu du fichier exemple1.txt, remplace les lettres minuscules de a à z par des lettres majuscules et émet le résultat dans le fichier exemple2.txt. |
wall | Envoi de messages à tous les utilisateurs connectés Le programme en ligne de commande wall vous permet d’envoyer un message à tous les utilisateurs connectés au système. Pour envoyer un message, le programme commence par : wall 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 utilisateurs 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 utilisateurs à accéder en écriture à votre terminal. Pour ce faire, utilisez la commande mesg : mesg [y/n] Statut actuel : mesg Accorder l’accès : mesg y Refuser l’accès : mesg n Si vous voulez envoyer le contenu d’un fichier à tous les utilisateurs connectés, utilisez wall avec une touche de redirection et le nom de fichier correspondant : wall < NOMFICHIER |
watch | Exécution de commandes à intervalle régulier Le programme en ligne de commande watch vous permet d’exécuter une commande à intervalles réguliers. La syntaxe pour le programme est la suivante : watch [OPTIONS] COMMANDE L’intervalle de temps est défini à l’aide de l’option -n SECONDES. Pour mettre fin à watch, appuyez sur [CTRL] + [C]. Voici un exemple sur l’affichage de la disponibilité de la mémoire vive à intervalle de 10 secondes. watch -n 10 free |
wc | Compter les lignes, les mots, les lettres, les caractères et/ou les octets des fichiers texte Le programme en ligne de commande wc (abréviation de word count) affiche le nombre de lignes, de mots, de lettres, de caractères et/ou d’octets d’un fichier texte. La syntaxe générale de la commande est : wc [OPTIONS] FICHIER Exemple : wc exemple.txt Sortie : 14 18 143 exemple.txt Si wc est utilisé sans option, la sortie correspond 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 (caractères), -L (longueur de la ligne la plus longue) et -w (mots). |
xargs | Convertir l’entrée standard en lignes de commande 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 xargs est par exemple utilisé avec la commande find. Ci-dessous, find identifie tous les fichiers du répertoire courant qui correspondent 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 |
L’aperçu présenté dans cet article ne prétend pas être exhaustif, mais décrit simplement des commandes Linux de base avec des exemples d’application méticuleusement choisis pour pouvoir travailler quotidiennement avec les systèmes d’exploitation unixoid. Pour une description complète des programmes 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’exploitation. Une version en ligne de ces pages d’aide et de documentation est également proposée par Michael Kerrisk dans le cadre du projet Linux Man Pages sur kernel.org/doc/man-pages.