La ligne de commande Linux

Apprends à travailler avec assurance dans le shell Linux. Lis l’invite de commande, saisis des commandes avec les bonnes options et les bons arguments, et trouve de l’aide dans les pages de manuel et l’aide intégrée. Déplace-toi dans l’arborescence des répertoires à l’aide de chemins absolus et relatifs, liste le contenu de chaque répertoire, puis crée, copie, déplace, renomme et supprime des fichiers et des répertoires sans perdre de données par accident. Sélectionne plusieurs fichiers à la fois avec des caractères génériques, réutilise des commandes de l’historique et utilise les variables et PATH pour contrôler le fonctionnement du shell.

DébutantUnité 2 sur 7 de la formation Formation : Linux : ligne de commande, scripts shell et administration

Ce que tu vas apprendre

  1. Reconnais le shell et son invite, saisis des commandes correctement avec des options et des arguments, et utilise les touches qui rendent le travail en ligne de commande plus rapide et plus sûr.
    • Distingue le shell, le terminal et l’invite de commande
      Distingue le shell de la fenêtre du terminal, lis les informations de l’invite sur ton identité et ton emplacement, et utilise les touches de base pour exécuter, arrêter et répéter des commandes.
    • Écris des commandes avec des options et des arguments
      Construis une commande avec son nom, ses options et ses arguments, combine les options courtes, utilise les options longues et leurs valeurs, et traite correctement les espaces et les noms inhabituels.
  2. Utilise les pages de manuel et l’aide rapide intégrée aux commandes et au shell pour découvrir ce que fait une commande et quelles sont ses options, sans quitter le terminal.
    • Lis les pages de manuel et effectue des recherches dans le manuel
      Ouvre une page de manuel, comprends ses rubriques et la notation SYNOPSIS, déplace-toi et effectue des recherches dans la page, choisis une section du manuel et trouve la bonne page lorsque tu ne connais pas le nom de la commande.
    • Utilise l’aide rapide et les autres documentations
      Obtiens un aperçu rapide des options avec --help, lis l’aide des commandes internes du shell, trouve des documents supplémentaires dans /usr/share/doc et les pages info, et utilise les messages d’erreur comme indices.
  3. Comprends comment Linux organise les fichiers dans une arborescence unique, déplace-toi à l’aide de chemins absolus et relatifs, puis liste et examine le contenu de chaque répertoire.
    • Comprends l’arborescence des répertoires
      Décris l’arborescence unique qui commence au répertoire racine, reconnais les principaux répertoires système et le répertoire personnel, et respecte les règles concernant les noms et les fichiers cachés.
    • Déplace-toi à l’aide de chemins absolus et relatifs
      Repère où tu te trouves, change de répertoire et écris des chemins depuis la racine ou le répertoire courant, avec .. et avec ~, en choisissant le type de chemin adapté à chaque tâche.
    • Liste et examine le contenu des répertoires
      Liste les fichiers avec ls et ses options courantes, lis chaque colonne d’un affichage détaillé et affiche les fichiers cachés, les tailles et le contenu des sous-répertoires selon différents ordres de tri.
  4. Gère les fichiers et les répertoires depuis le shell : crée-les, copie-les, déplace-les ou renomme-les, et supprime-les en toute sécurité, en sachant exactement ce que fait chaque commande lorsque des noms existent déjà.
    • Crée des fichiers et des répertoires
      Crée des répertoires, y compris des répertoires imbriqués, crée des fichiers vides ou mets à jour leurs horodatages avec touch, et supprime des répertoires vides.
    • Copie, déplace et renomme
      Copie des fichiers et des répertoires entiers avec cp, déplace et renomme avec mv, prévois où se trouvera le résultat et évite d’écraser des fichiers par accident.
    • Supprime des fichiers et des répertoires en toute sécurité
      Supprime des fichiers et des arborescences avec rm, utilise les options qui demandent confirmation ou forcent la suppression, et suis une méthode qui évite de supprimer les mauvais éléments.
  5. Utilise les motifs du shell contenant des caractères génériques pour désigner plusieurs fichiers à la fois, prévois exactement les noms auxquels un motif correspond et utilise ces motifs en toute sécurité avec les commandes de copie, de déplacement et de suppression.
    • Sélectionne les noms de fichiers avec *, ? et [ ]
      Écris des motifs avec *, ? et des expressions entre crochets, y compris des plages et des négations, et prévois les noms existants auxquels ils correspondent, en tenant compte de la casse et des fichiers cachés.
    • Utilise les caractères génériques en toute sécurité dans les commandes
      Prévois ce que le shell transmet à une commande après le développement, vérifie les motifs avant de les utiliser, empêche leur développement avec des guillemets et utilise les accolades pour générer des noms.
  6. Rappelle et répète des commandes de l’historique, stocke des valeurs dans des variables du shell et d’environnement, et contrôle la recherche des programmes par le shell à l’aide de PATH.
    • Rappelle et réutilise des commandes de l’historique
      Parcours, recherche et réexécute des commandes précédentes, utilise le développement de l’historique avec prudence et découvre où Bash conserve l’historique et ce qu’il enregistre.
    • Définis et utilise des variables du shell et des variables d’environnement
      Crée, lis et supprime des variables, exporte-les dans l’environnement, utilise les variables d’environnement courantes, protège correctement les valeurs et rends les paramètres permanents.
    • Contrôle la recherche des commandes par le shell avec PATH
      Explique comment le shell associe un nom de commande à un programme, lis et complète PATH, exécute un programme absent de PATH et vérifie quel programme un nom lance.

Ligne de commande Linux : cours

6 chapitres

1

Travaille à l’invite de commande

Une session de terminal te permet de saisir des instructions et d’en voir les résultats. Le shell lit chaque instruction, tandis que l’invite t’aide à garder la trace de ton compte utilisateur et de ton emplacement. Tu apprendras à utiliser les touches qui complètent les noms et corrigent une ligne, puis à construire des commandes avec des noms, des options et des arguments. Il est important de bien placer les espaces et les guillemets : le shell agit sur les mots qu’il reçoit, et une petite modification de la saisie peut désigner un autre fichier.

1.1 Distingue le shell, le terminal et l’invite de commande

Un shell lit les commandes et lance les opérations qu’elles demandent. Un terminal est la fenêtre dans laquelle tu saisis du texte et vois la sortie. Ouvrir un autre terminal lance normalement une autre session de shell. Une console fournit un écran textuel directement relié à la machine ; une connexion SSH peut donner accès à un shell sur un autre ordinateur.

Lis l’invite

Dans l’exemple d’invite sam@laptop:~$, sam est l’utilisateur, laptop est l’hôte et ~ désigne le répertoire personnel. Le $ final indique généralement un utilisateur ordinaire. La présentation des invites peut changer : utilise donc des commandes pour confirmer les détails si nécessaire. whoami affiche le nom du compte et pwd affiche le répertoire courant.

Une invite # indique par convention root, le compte administrateur. Travaille comme utilisateur ordinaire et n’utilise les droits d’administration que lorsqu’une tâche les exige. Un symbole d’invite affiché avant un exemple de commande ne fait pas partie de la commande à saisir.

Lance une première session

Saisis chaque ligne séparément et appuie sur Entrée :

whoami
pwd
date
echo Hello

Pour le compte de l’exemple, les deux premiers résultats sont sam et /home/sam. date affiche la date et l’heure actuelles ; echo Hello affiche Hello. La sortie d’une commande apparaît sous la ligne saisie, suivie d’une nouvelle invite. Certaines commandes qui réussissent n’affichent rien : mkdir reports crée un répertoire sans message. Examine le résultat avec ls si tu as besoin de le confirmer.

Bash, le Bourne Again Shell, est largement utilisé sous Linux. Il existe aussi d’autres shells, comme zsh et fish. echo $0 montre comment le shell courant a été lancé ; echo $SHELL affiche le shell de connexion configuré pour le compte. Lancer un autre shell peut donner des réponses différentes. Une fenêtre de terminal ne détermine pas elle-même quel shell s’y exécute.

Modifie la saisie et reprends la main
ToucheAction
TabCompléter un nom de commande ou de fichier ; appuyer deux fois pour voir les possibilités en cas d’ambiguïté
Haut / BasParcourir les commandes saisies précédemment
Ctrl+CAnnuler la ligne en cours de saisie ou interrompre un programme en cours au premier plan
Ctrl+LEffacer l’écran ; clear fait de même
Ctrl+D sur une ligne videFermer le shell, comme exit

Supposons que tu saisisses ls Doc et appuies sur Tab. Si Documents est le seul nom correspondant, la complétion le complète. Si plusieurs noms commencent par Doc, Bash a besoin de caractères supplémentaires ou d’un choix. La complétion aide à respecter l’orthographe et la casse : Documents et documents sont des noms différents.

Un programme en plein écran peut attendre sa propre touche au lieu d’afficher l’invite du shell. Appuie sur q pour quitter man ou less. Une commande cat seule, sans fichier, attend du texte saisi ; Ctrl+C te ramène au shell. Ctrl+C n’est donc pas le raccourci habituel pour copier dans un terminal. Beaucoup d’émulateurs de terminal utilisent Ctrl+Maj+C et Ctrl+Maj+V pour copier et coller.

La disposition du clavier influe aussi sur la saisie de symboles comme ~, [ et {. Certaines dispositions utilisent AltGr, et une touche morte ~ peut nécessiter un appui sur Espace avant de s’afficher. Respecte exactement la casse des commandes : LS et ls sont deux noms de commande différents.

Points clés

  • Le shell interprète les commandes ; le terminal affiche la session.
  • L’invite aide à identifier le compte, l’hôte et le répertoire courant.
  • Utilise Tab pour compléter les noms et Ctrl+C pour interrompre ou annuler.
  • Ctrl+D sur une ligne vide ferme le shell ; q ferme le pageur du manuel.

1.2 Écris des commandes avec des options et des arguments

Une ligne de commande se compose de mots. Le premier désigne ce qu’il faut exécuter, les options modifient son comportement et les arguments fournissent les objets ou les valeurs sur lesquels la commande agit. Des espaces séparent ces mots.

Identifie les éléments

Dans ls -l /etc, ls est la commande, -l demande un affichage détaillé et /etc est l’argument qui désigne le répertoire. La forme d’utilisation command [options] [arguments] décrit cette organisation ; tu ne saisis pas ces crochets.

Les options courtes utilisent un tiret et une lettre. ls -a -l, ls -al et ls -la demandent le même affichage. Les options longues utilisent deux tirets, comme dans ls --all. Garde les options longues séparées ; réunir des mots après un seul tiret ne crée pas une option longue. Par exemple, ls -all est lu comme les options courtes -a -l -l.

Une option peut aussi nécessiter une valeur. Dans touch -d 2025-01-31 old.txt, la date appartient à -d ; old.txt est l’argument qui désigne le fichier. La forme longue est touch --date=2025-01-31 old.txt. Lis la description de l’utilisation pour savoir si une option nécessite une valeur et comment la fournir.

Garde chaque nom en un seul morceau

Le shell traite les espaces non protégés par des guillemets comme des séparations entre les mots. Chacune de ces trois lignes désigne un seul fichier :

ls "Annual Report.pdf"
ls 'Annual Report.pdf'
ls Annual\ Report.pdf

Les guillemets ou la barre oblique inverse protègent l’espace ; ils ne font pas partie du nom du fichier. Sans cette protection, ls Annual Report.pdf demande deux fichiers. Un effet similaire apparaît avec echo : echo Hello world reçoit deux mots et affiche un seul espace entre eux, tandis que echo "Hello world" conserve les trois espaces dans un seul argument.

Évite les ambiguïtés dans les options

Place les options avant les arguments qui désignent des fichiers. Les commandes GNU les acceptent souvent aussi après, mais les placer en premier rend la ligne plus facile à lire et fonctionne plus largement. Pour les commandes qui le permettent, -- met fin au traitement des options. rm -- -draft.txt traite donc -draft.txt comme un nom de fichier. Le chemin ./-draft.txt commence aussi par un point : rm ./-draft.txt évite ainsi un premier caractère qui ressemble à une option.

La signification d’une lettre d’option dépend de sa commande. cp -r copie les répertoires récursivement, mais ls -r inverse le tri ; ls -R liste les répertoires récursivement. ls -h modifie l’affichage des tailles et ne demande pas l’aide. Un tiret demi-cadratin copié, –, est lui aussi différent du - ordinaire qu’exigent les options.

Découvre ce qu’un nom exécute

Une commande peut être un fichier de programme, une commande interne du shell ou un alias qui se développe en une autre ligne de commande. cd est intégré à Bash parce qu’il change le répertoire de ce shell. ls est normalement un programme, souvent associé à un alias qui ajoute de la couleur. type cd et type ls indiquent la signification active.

Si ls-l échoue avec command not found, Bash a cherché ce nom entier. Insère l’espace manquant : ls -l. Si une commande signale une option inconnue, vérifie l’orthographe de l’option et sa documentation ; modifier le chemin du fichier ne corrigera pas une erreur d’option.

Points clés

  • Les espaces séparent la commande, les options et les arguments.
  • Protège par des guillemets ou par échappement un espace qui fait partie d’un même nom.
  • Les options courtes peuvent se combiner ; les options longues utilisent deux tirets.
  • Une option peut nécessiter sa propre valeur.
  • -- ou un chemin commençant par ./ permet de traiter un nom de fichier qui commence par un tiret.
  • type distingue une commande interne, un alias et un fichier de programme.
2

Trouve de l’aide en ligne de commande

L’aide en ligne de commande te permet de répondre à une question précise sans mémoriser toutes les options. Une page de manuel fournit une référence complète ; l’aide rapide d’une commande donne un rappel plus court. Bash possède aussi un système d’aide distinct pour les commandes internes du shell. Tu apprendras à choisir la bonne source, à lire la notation abrégée d’une ligne d’utilisation, à rechercher dans une longue page et à utiliser un message d’erreur pour décider quoi vérifier ensuite.

2.1 Lis les pages de manuel et effectue des recherches dans le manuel

Une page de manuel est une référence détaillée sur une commande ou une fonction du système désignée par son nom. Ouvre-en une avec man ls. La page apparaît normalement dans less, un pageur qui affiche un écran à la fois et permet de rechercher sans quitter le terminal.

Lis la structure de la page

La rubrique NAME indique la commande et son rôle. SYNOPSIS donne sa forme d’appel. DESCRIPTION et OPTIONS expliquent son comportement et ses options. EXAMPLES peut montrer des utilisations concrètes, tandis que FILES et ENVIRONMENT décrivent les fichiers et les variables associés. SEE ALSO indique les pages associées. Les rubriques varient, car certaines commandes nécessitent des informations dont d’autres n’ont pas besoin.

Une ligne d’utilisation comme ls [OPTION]... [FILE]... est une notation compacte :

  • Le texte littéral, souvent en gras, se saisit tel qu’il est affiché.
  • Le texte servant de paramètre fictif, souvent en italique ou souligné, se remplace par ta valeur.
  • Les crochets entourent les éléments facultatifs.
  • ... signifie que l’élément précédent peut être répété.
  • Une barre verticale sépare les choix possibles.

Dans cette forme de ls, les groupes d’options et de fichiers sont tous deux facultatifs : ls seul est donc valide. Dans mkdir [OPTION]... DIRECTORY..., le groupe des répertoires n’a pas de crochets : au moins un nom de répertoire est obligatoire. Ne saisis pas DIRECTORY simplement parce qu’il apparaît dans le manuel.

Recherche pendant la lecture

Espace ou Page suivante avance d’un écran ; b recule. Les flèches déplacent d’une ligne à la fois. g en minuscule va au début et G en majuscule à la fin. Saisis /human et appuie sur Entrée pour rechercher « human ». Utilise n pour le résultat suivant et N pour le précédent. Appuie sur q pour quitter la page ; h ouvre l’aide du pageur.

Pour une recherche pratique, ouvre man ls, cherche /human et lis l’entrée de -h, --human-readable. Cette option fonctionne avec un affichage qui montre les tailles, comme -l. Quitte le manuel et exécute ls -lh. Un fichier de 2 048 octets apparaît sous la forme 2.0K. Utiliser ls -h seul donne toujours une simple liste de noms, car aucune colonne de taille n’a été demandée.

Choisis la bonne section du manuel
SectionSujet
1Commandes utilisateur
2Appels système
3Fonctions de bibliothèque
4Fichiers spéciaux de périphériques
5Formats de fichiers
6Jeux
7Présentations générales et conventions
8Commandes d’administration système

La référence passwd(5) désigne l’explication du format du fichier de mots de passe dans la section 5. Exécute man 5 passwd pour la sélectionner. man passwd seul ouvre normalement la page de la commande dans la section 1.

Si tu connais le rôle d’une commande mais pas son nom, exécute apropos directory ou man -k directory. Ces commandes recherchent dans les noms et les descriptions courtes indexés. Si tu connais déjà un nom et veux une description de son rôle en une ligne, utilise whatis ls ou man -f ls. Un nouveau système peut avoir un index vide : une recherche par mot-clé infructueuse ne prouve donc pas que la commande est absente.

Certaines installations minimales ne comportent pas de manuels. L’absence d’une page pour man cd s’explique aussi souvent par le fait que cd est une commande interne du shell. Utilise help cd pour obtenir la description fournie par Bash.

Points clés

  • Utilise man command pour consulter une référence et /word pour y effectuer une recherche.
  • Dans SYNOPSIS, les crochets indiquent les éléments facultatifs ; les points de suspension indiquent une répétition.
  • Un numéro de section permet de choisir parmi les pages qui portent un même nom.
  • apropos recherche les rôles des commandes ; whatis recherche un nom connu.
  • Utilise help pour les commandes internes de Bash comme cd.

2.2 Utilise l’aide rapide et les autres documentations

Tu n’as pas toujours besoin d’une page de manuel complète. Une liste rapide des options, l’aide propre à une commande interne ou un message d’erreur peut répondre à la question immédiate. Choisis une source qui décrit la commande que tu exécutes réellement.

Choisis l’aide adaptée à la commande

type cp indique normalement un fichier de programme : cp --help donne donc son utilisation et ses options. type cd indique une commande interne du shell : help cd décrit donc la version de Bash. help seul liste les commandes internes de Bash ; il ne fournit pas de page d’aide pour le programme externe ls.

La plupart des commandes GNU prennent en charge --help, mais la signification des options courtes varie. Pour ls, -h indique des tailles lisibles et non l’aide. Lire ls --help est le moyen fiable de vérifier les options de ls sans les déduire de celles d’un autre programme.

Supposons que tu veuilles créer reports/2026/q1, mais que les répertoires parents n’existent pas. Traite la question étape par étape :

  1. apropos directory suggère mkdir pour créer des répertoires.
  2. mkdir --help affiche -p, --parents et explique la création des parents manquants.
  3. mkdir -p reports/2026/q1 crée tout le chemin.

La recherche dans l’aide indique le comportement recherché, et pas seulement le nom de la commande. C’est utile lorsque tu connais déjà mkdir mais que sa forme ordinaire signale l’absence d’un parent.

Va au-delà de la liste des options

Les manuels GNU Info sont des documents plus longs, composés de pages liées entre elles. info coreutils ouvre la documentation des utilitaires de base pour les fichiers. Dans Info, n passe au nœud suivant, p au précédent, u remonte d’un niveau, Entrée suit un lien sélectionné et q quitte le programme. Un nœud est une partie du manuel constitué de pages liées.

Les paquets installés peuvent aussi fournir de la documentation sous /usr/share/doc/. Par exemple, ls /usr/share/doc/bash liste la documentation du paquet Bash. Ces répertoires peuvent contenir des fichiers README, des journaux des modifications, des textes de licence et des exemples. Le suffixe .gz indique un fichier compressé ; zless peut afficher du texte compressé.

Utilise une erreur comme indice

Une erreur indique généralement la commande, l’objet et la raison. Dans ls: cannot access 'note.txt': No such file or directory, ls s’est exécuté, mais n’a pas trouvé ce chemin. Vérifie pwd, l’orthographe et la casse, ainsi que le répertoire contenant le fichier. Saisir de nouveau ls en majuscules créerait un autre problème lié au nom de la commande.

rmdir: failed to remove 'photos': Directory not empty signifie que la cible existe mais contient encore des entrées. Les lister, y compris les entrées cachées, explique pourquoi la suppression a échoué. Une option inconnue est un autre problème : un message concernant --bogus te dirige vers ls --help parce que l’option elle-même n’est pas valide.

L’aide locale correspond mieux au programme installé qu’un exemple quelconque trouvé sur le web. ls --version indique la version de GNU lorsque tu dois comparer des documentations. Avant d’utiliser une commande copiée que tu ne connais pas, identifie chaque option dans l’aide de cette commande, surtout si elle supprime des fichiers ou s’exécute avec des droits d’administration.

Points clés

  • Choisis command --help pour les options d’un programme et help name pour les commandes internes de Bash.
  • info et /usr/share/doc/ peuvent fournir des explications plus longues et des exemples.
  • Utilise la commande, le chemin et la raison indiqués dans une erreur pour décider quoi vérifier ensuite.
3

Navigue dans le système de fichiers Linux

Les fichiers et les répertoires se trouvent dans une arborescence unique, et chaque commande travaille depuis un endroit précis de cette arborescence. Un chemin lui indique où aller ou quoi examiner. Tu suivras des chemins depuis la racine et depuis ton répertoire courant, utiliseras des raccourcis pour le répertoire personnel et les répertoires parents, et liras des affichages qui montrent plus que les noms. Ces compétences te permettent de vérifier ton emplacement et les objets sur lesquels tu travailles avant toute modification.

3.1 Comprends l’arborescence des répertoires

Linux organise les fichiers et les répertoires dans une arborescence unique. Un fichier contient des données ; un répertoire, appelé dossier dans un gestionnaire de fichiers graphique, contient des entrées nommées pour les fichiers et les autres répertoires. L’arborescence commence au répertoire racine, /.

Suis l’arborescence

Une barre oblique sépare les composants d’un chemin : /home/sam/photos mène de / à home, puis à sam, puis à photos. Les autres disques apparaissent dans la même arborescence, souvent sous /media ou /mnt ; ils n’ont pas besoin de lettres de lecteur. Une barre oblique inverse n’est pas un séparateur de chemin sous Linux. Bash l’utilise pour protéger le caractère suivant, comme dans Annual\ Report.pdf.

Les emplacements importants ont des rôles différents :

EmplacementRôle principal
/homeRépertoires personnels des utilisateurs ordinaires
/rootRépertoire personnel de root
/etcConfiguration du système
/bin, /usr/binFichiers des programmes courants
/sbin, /usr/sbinProgrammes d’administration système
/tmpDonnées temporaires qui peuvent être effacées automatiquement
/varDonnées changeantes, y compris les journaux sous /var/log
/devFichiers de périphériques

Beaucoup de distributions actuelles relient /bin à /usr/bin et /sbin à /usr/sbin. Tu peux donc voir deux noms de répertoires menant aux mêmes programmes installés. Le répertoire racine / et le répertoire /root désignent toutefois des endroits différents : le premier est le point de départ de l’arborescence et le second est le répertoire personnel d’un compte.

Reconnais tes propres fichiers

Pour l’utilisateur sam de l’exemple, le répertoire personnel est /home/sam, que le shell abrège en ~. /home est son parent, pas le répertoire personnel de sam. Les documents et paramètres personnels se trouvent normalement dans le répertoire personnel ; /tmp ne convient pas à ce que tu dois conserver, car les données temporaires peuvent être supprimées automatiquement.

Considère cette organisation :

/home/sam/
  .bashrc
  Documents/
    cv.pdf
    letter.txt
  photos/
  projects/
    notes.txt
    website/
      index.html
      style.css

Le chemin complet vers la feuille de style est /home/sam/projects/website/style.css. Le fichier notes.txt se trouve à côté de website, et non à l’intérieur. Les entrées de chaque répertoire déterminent la prochaine étape possible dans l’arborescence.

Lis les noms exactement

Les noms sont sensibles à la casse : notes.txt, Notes.txt et NOTES.TXT peuvent désigner trois fichiers. Les noms ne peuvent contenir ni / ni octet nul. De simples lettres, chiffres, points, tirets et traits de soulignement rendent les noms courants faciles à saisir ; les systèmes de fichiers Linux courants limitent un nom à 255 octets.

Un suffixe comme .txt fait partie du nom et ne prouve pas son contenu. file report examine les données et peut identifier un PDF même si le nom ne comporte pas .pdf.

Un point initial cache une entrée dans l’affichage ordinaire de ls. .bashrc, .profile et .config contiennent couramment des paramètres. Caché signifie omis de l’affichage par défaut, et non protégé contre l’accès ; ls -a révèle ces noms. L’entrée spéciale . désigne le répertoire lui-même et .. son parent. À la racine, .. mène toujours à /.

Points clés

  • Les chemins Linux appartiennent à une arborescence unique dont la racine est /.
  • /home/sam, /home et /root sont des répertoires différents.
  • Les noms de fichiers sont sensibles à la casse ; les extensions ne déterminent pas leur contenu.
  • Un point initial cache un nom dans un affichage ordinaire, mais pas aux personnes autorisées à y accéder.
  • . désigne le répertoire courant et .. son parent.

3.2 Déplace-toi à l’aide de chemins absolus et relatifs

Un chemin indique à une commande où trouver un objet. Pour lire correctement un chemin, détermine d’abord son point de départ. Un chemin absolu commence à / ; un chemin relatif commence au répertoire de travail courant du shell.

Établis ton point de départ

pwd affiche ton répertoire courant. Depuis /home/sam, le chemin projects/website mène à /home/sam/projects/website. Depuis /etc, ce même chemin relatif désignerait /etc/projects/website. Le chemin absolu /home/sam/projects/website désigne le même emplacement depuis l’un ou l’autre point de départ.

cd change le répertoire courant. Il ne liste pas le contenu de la destination et n’ouvre pas de fichier. cd projects entre dans un répertoire enfant nommé projects ; cd /etc va à l’emplacement absolu /etc. Sans argument, cd revient au répertoire personnel. cd - revient au répertoire de travail précédent et affiche cet emplacement.

Suis un chemin étape par étape

Pars de /home/sam/projects/website et examine cd ../../photos :

  1. Le premier .. mène à /home/sam/projects.
  2. Le second .. mène à /home/sam.
  3. photos descend dans /home/sam/photos.

La commande entière effectue un seul changement vers la destination finale. Depuis le répertoire website, cd .. s’arrête à projects, tandis que cd ../.. s’arrête au répertoire personnel. Le répertoire de départ compte à chaque fois : après un déplacement, une deuxième commande relative part de ton nouvel emplacement.

Un ./ initial désigne explicitement le répertoire courant. ./notes.txt et notes.txt désignent le même fichier local. ls ../photos liste un répertoire proche sans y déplacer ton shell ; seule une commande qui change le répertoire de travail, comme cd, change la base des chemins relatifs suivants.

Utilise le raccourci du répertoire personnel

Au début d’un mot non protégé par des guillemets, Bash développe ~ en ton répertoire personnel. cd ~/Documents fonctionne donc depuis n’importe où pour sam. ~alex désigne le répertoire personnel d’alex.

Protéger le tilde par des guillemets empêche ce développement : cd "~/Documents" cherche un répertoire littéralement nommé ~ sous le répertoire courant. Si la suite contient un espace, laisse le tilde hors des guillemets :

cd ~/"My Files"

Tu peux aussi écrire cd "$HOME/My Files" ; les guillemets doubles conservent l’espace tout en permettant le développement de la valeur de la variable.

Diagnostique un chemin qui échoue

cd /projects cherche projects directement sous /, et non sous ton répertoire personnel. cd.. est un seul nom de commande ; écris cd ... Un documents en minuscules échoue si le nom réel est Documents. Vérifie le point de départ, chaque composant et sa casse exacte. La complétion par Tab peut compléter un nom existant et éviter une faute de frappe.

Les chemins absolus conviennent aux instructions qui doivent fonctionner depuis différents emplacements. Les chemins relatifs sont pratiques pour travailler à proximité. Les deux formes fonctionnent aussi comme arguments de fichiers pour cp, mv, ls et d’autres commandes ; l’interprétation d’un chemin ne dépend pas de son utilisation avec cd.

Points clés

  • Utilise pwd pour établir la base d’un chemin relatif.
  • Les chemins absolus commencent par / ; les chemins relatifs partent du répertoire courant.
  • Lis chaque .. comme une étape vers le répertoire parent.
  • cd, cd - et cd .. ont des destinations différentes.
  • Laisse ~ hors des guillemets lorsque tu veux le développer en répertoire personnel.

3.3 Liste et examine le contenu des répertoires

ls affiche le contenu du répertoire courant ou les fichiers et répertoires que tu désignes. Un affichage peut répondre à plus que « Que trouve-t-on ici ? » : les options révèlent les entrées cachées, les détails, les tailles, l’ordre et les sous-répertoires.

Choisis ce qu’il faut afficher

ls et ls -l seuls omettent les entrées cachées. -a les inclut avec . et .. ; -A inclut les entrées cachées sans ces deux noms spéciaux. -F ajoute une barre oblique après les noms des répertoires. Les couleurs de sortie sont une autre aide visuelle, mais les couleurs exactes dépendent du système.

ls projects liste ce qui se trouve dans projects. ls -ld projects affiche quant à lui les détails de l’entrée du répertoire lui-même. L’option -d change l’objet affiché, et non le niveau de détail.

Lis un affichage détaillé

Examine cette ligne produite par ls -l :

-rw-r--r-- 1 sam sam 2048 Mar  3 14:20 notes.txt

Lis-la de gauche à droite :

  1. - indique un fichier ordinaire ; d indiquerait un répertoire et l un lien symbolique.
  2. Les neuf caractères suivants décrivent les droits du propriétaire, du groupe et des autres.
  3. 1 est le nombre de liens physiques.
  4. Les deux champs sam indiquent le propriétaire et le groupe.
  5. 2048 est la taille du fichier en octets.
  6. La date et l’heure indiquent la dernière modification du contenu.
  7. notes.txt est le nom.

ls -lh affiche cette taille sous la forme 2.0K. L’option -h modifie le format des tailles, tandis que -l fournit la colonne des tailles. ls -h seul affiche toujours les noms sans les tailles.

La taille propre d’un répertoire correspond à l’espace utilisé pour ses entrées ; ce n’est pas la somme de toutes les données qu’il contient. La ligne total 12 indique les blocs de disque utilisés par les entrées listées, et non douze fichiers. Utilise les lignes des noms de fichiers pour voir les entrées elles-mêmes.

Trie le résultat
OptionsCe qui apparaît en premier
Aucune option de triLes noms dans l’ordre des paramètres régionaux
-tLes entrées modifiées le plus récemment
-SLes entrées les plus volumineuses
-r avec un autre ordreL’inverse de cet ordre

Par exemple, ls -lt place d’abord les modifications les plus récentes, tandis que ls -ltr les place en dernier. ls -lhS affiche des tailles lisibles, les plus grandes en premier. La casse et la ponctuation peuvent être triées différemment selon les paramètres régionaux : ne conclus donc pas qu’un fichier manque simplement parce que son nom n’est pas à l’endroit attendu.

Examine les niveaux inférieurs

ls -R projects liste le contenu de projects, puis celui de ses sous-répertoires. Avec notes.txt à côté d’un répertoire website, le premier titre est projects: et ses entrées comprennent ces deux noms. Un titre ultérieur, projects/website:, indique l’affichage qui contient index.html et style.css.

-R en majuscule est récursif. -r en minuscule inverse seulement le tri. Combiner -a avec un affichage récursif révèle aussi les entrées cachées, ce qui peut rendre le résultat beaucoup plus long. Pour les métadonnées d’un seul répertoire, ls -ld est généralement plus clair.

Points clés

  • -l ajoute des détails et -h rend les tailles affichées plus faciles à lire.
  • -a inclut les entrées cachées ; -A omet uniquement . et ...
  • -d liste un répertoire lui-même ; -R liste ses sous-répertoires.
  • -t, -S et -r contrôlent l’ordre.
  • La taille d’un répertoire et la ligne total ne représentent ni le nombre ni la taille totale de tous les fichiers qu’il contient.
  • Un affichage détaillé indique le type, les droits, les liens, le propriétaire, le groupe, la taille, la date de modification et le nom.
4

Crée, copie, déplace et supprime des fichiers et des répertoires

Créer un répertoire, copier un fichier et renommer un fichier modifient chacun l’arborescence d’une manière différente. Le résultat dépend aussi de l’existence préalable de la destination. Tu créeras une petite structure de répertoires, prévoiras où aboutissent les copies et les déplacements, et distingueras la suppression d’un répertoire vide de celle d’une arborescence entière. Lire la commande comme une action sur des chemins précis de source et de destination aide à éviter les écrasements et les suppressions accidentels.

4.1 Crée des fichiers et des répertoires

mkdir crée des répertoires et touch crée des fichiers vides ou met à jour des horodatages existants. Ce sont deux actions distinctes : un répertoire fournit un emplacement pour des entrées, tandis qu’un fichier vide est déjà un fichier, même s’il ne contient aucune donnée.

Crée d’abord le répertoire

mkdir drafts crée un répertoire sous ton emplacement courant. mkdir drafts final crée deux répertoires de même niveau. Si un nom demandé existe déjà, mkdir sans option signale File exists.

Les parents d’un chemin doivent normalement exister. Si reports manque, mkdir reports/2026/q1 ne peut pas atteindre l’emplacement demandé. Ajoute -p pour créer les répertoires parents manquants :

mkdir -p reports/2026/q1

Cette commande crée chaque niveau manquant et accepte les niveaux déjà présents sous forme de répertoires. La répéter est utile pour préparer une structure dont les parties existantes doivent rester en place. Elle ne transforme pas un fichier ordinaire existant en répertoire.

Ajoute des fichiers vides

touch todo.txt crée un fichier de zéro octet si ce nom est absent. Si le fichier existe, touch conserve son contenu et met à jour ses dates d’accès et de modification. Cette commande ne sert pas à vider un fichier. Tu peux nommer plusieurs fichiers, comme dans touch a.txt b.txt, ou choisir un horodatage avec touch -d 2025-01-31 old.txt.

Les fichiers qui ont un contenu sont normalement créés par un programme qui enregistre des données, comme un éditeur. Créer un fichier avec touch lui donne un nom et un contenu vide ; la commande n’ajoute pas de texte pour toi.

Construis un petit projet

Depuis ton répertoire personnel, exécute :

mkdir -p website/css website/images
touch website/index.html website/css/style.css
ls -R website

La première ligne crée website et ses deux répertoires enfants. La deuxième place index.html dans website et style.css dans website/css. Elle ne place aucun de ces fichiers dans images. Dans l’affichage récursif, website: contient css, images et index.html ; website/css: contient style.css ; website/images: ne contient aucune entrée ordinaire.

Remarque que la commande touch dépend des répertoires parents créés par mkdir. Inverser ces deux étapes échouerait si website n’existait pas encore.

Supprime un répertoire vide

rmdir website/images supprime ce répertoire vide. rmdir website/css échoue tant que style.css s’y trouve. Une entrée cachée rend elle aussi un répertoire non vide : examine-le donc avec ls -A si l’affichage ordinaire semble vide.

rmdir -p reports/2026/q1 supprime q1, puis essaie de supprimer 2026, puis reports. La commande s’arrête lorsqu’un parent n’est pas vide. Cette option remonte l’arborescence, tandis que mkdir -p crée les parents manquants en descendant.

Les espaces séparent toujours les arguments. mkdir My Project demande deux répertoires ; mkdir "My Project" en demande un. Un nom simple comme my-project évite l’espace. Les noms Reports et reports sont distincts : utilise donc la même casse dans la commande de création et dans les chemins ultérieurs.

Points clés

  • mkdir crée des répertoires ; -p crée aussi les parents manquants.
  • touch crée un fichier vide absent ou met à jour un fichier existant sans l’effacer.
  • Crée les répertoires parents avant les fichiers qu’ils doivent contenir.
  • rmdir ne supprime que les répertoires vides, c’est-à-dire sans entrée cachée non plus.

4.2 Copie, déplace et renomme

Une copie laisse la source en place. Un déplacement change son nom ou son emplacement. Pour prévoir le résultat de l’une ou l’autre action, examine le chemin source, le chemin de destination et l’existence éventuelle de la destination.

Prévois la destination d’une copie

cp notes.txt notes-backup.txt crée un second fichier nommé notes-backup.txt. Si Documents est un répertoire existant, cp notes.txt Documents/ crée plutôt Documents/notes.txt. La barre oblique finale exprime l’intention de copier dans un répertoire.

Lorsqu’il y a plusieurs sources, le dernier argument doit être un répertoire existant. cp cv.pdf letter.txt backup/ place les deux fichiers indiqués dans backup. Cette commande ne crée pas automatiquement un répertoire de destination manquant.

Les répertoires nécessitent une copie récursive. cp website website-old omet le répertoire parce qu’aucune option récursive n’a été fournie. cp -r website website-old copie l’arborescence, mais le résultat dépend de la destination :

Avant la copieEmplacement de l’arborescence copiée
website-old n’existe paswebsite-old/index.html, et ainsi de suite
website-old existe comme répertoirewebsite-old/website/index.html, et ainsi de suite

Un répertoire de destination existant reçoit le répertoire source sous son nom. Il n’est pas automatiquement remplacé par le contenu de la source.

Déplace ou renomme

mv draft.txt final.txt renomme un fichier. mv final.txt Documents/ le déplace dans un répertoire existant. mv website site renomme un répertoire lorsque site est absent et ne nécessite pas d’option récursive.

Au sein d’un même système de fichiers, un déplacement modifie normalement les entrées de répertoire sans copier toutes les données. Un déplacement entre systèmes de fichiers peut nécessiter de copier puis de supprimer les données : un déplacement volumineux n’est donc pas forcément instantané.

Si archive n’existe pas, mv notes.txt archive renomme le fichier en archive. mv notes.txt archive/ exige au contraire un répertoire et échoue si ce répertoire est absent. Utilise la barre oblique lorsqu’un nouveau nom de fichier ne serait pas le résultat voulu.

Contrôle le remplacement et les métadonnées

cp et mv sans option peuvent écraser un fichier de destination existant sans demander confirmation. -i demande confirmation avant le remplacement ; -n ignore les destinations existantes ; -v affiche les actions. Des alias peuvent ajouter des options : utilise donc type cp ou type mv si le comportement observé diffère.

Une copie ordinaire nouvellement créée reçoit une nouvelle date de modification. cp -p conserve les horodatages et les droits, tandis que cp -a conserve récursivement les attributs d’une arborescence et est utile pour les sauvegardes. Ne suppose pas qu’une copie simple conserve la date de sa source simplement parce que les contenus correspondent.

Suis une opération complète

Depuis /home/sam, crée d’abord backup. cp projects/notes.txt backup/ crée backup/notes.txt. Ensuite, mv backup/notes.txt backup/notes-2026.txt ne change que le nom de la copie. Enfin, cp -r projects/website backup/ crée backup/website, avec ses fichiers. Les originaux projects/notes.txt et projects/website restent à leur place, car aucun des deux n’a été la source d’un déplacement.

Points clés

  • cp laisse la source en place ; mv change son nom ou son emplacement.
  • Un répertoire de destination existant reçoit la source sous son nom.
  • Avec plusieurs sources, le dernier argument doit être un répertoire.
  • cp -r copie une arborescence ; mv n’a pas besoin d’option récursive.
  • -i demande confirmation avant d’écraser et -n ignore une destination existante.
  • cp -p conserve les horodatages et les droits ; cp -a conserve récursivement une arborescence.

4.3 Supprime des fichiers et des répertoires en toute sécurité

rm supprime les fichiers désignés par ses arguments. Contrairement à la mise à la corbeille dans un gestionnaire de fichiers graphique, cette commande ne les place pas dans une corbeille. Une sauvegarde est normalement le moyen de récupérer les fichiers après leur suppression.

Choisis la bonne commande de suppression

rm old.txt supprime un fichier et rm a.txt b.txt supprime plusieurs fichiers désignés. rm old sans option refuse si old est un répertoire. rmdir old ou la commande GNU rm -d old ne supprime un répertoire que s’il est vide. rm -r old supprime récursivement son contenu, puis le répertoire lui-même.

Cette distinction est utile lorsque tu t’attends à trouver un répertoire vide. Si rmdir échoue avec Directory not empty, tu peux examiner le contenu inattendu. Une suppression récursive supprimerait aussi ce contenu.

Contrôle les demandes de confirmation
OptionEffet
-iDemander confirmation avant chaque suppression
-IDemander une fois avant de supprimer plus de trois fichiers ou avant une suppression récursive
-fNe pas demander confirmation ; ignorer les noms inexistants
-vAfficher les actions de suppression

Lors d’une saisie interactive ordinaire, rm peut aussi demander confirmation pour un fichier protégé en écriture. -f supprime cette question. Cette option ne rend pas la suppression réversible et n’élimine pas toutes les causes possibles d’échec d’une commande.

Vérifie les cibles exactes

Suis cette méthode avant une suppression qui pourrait toucher plusieurs noms :

  1. Exécute pwd pour confirmer ton emplacement.
  2. Liste les noms exacts ou le motif que tu comptes supprimer.
  3. Examine la liste, notamment pour voir si des répertoires sont sélectionnés.
  4. Utilise la même expression cible avec rm, en ajoutant -i lorsqu’une confirmation est utile.

Supposons que le répertoire contienne draft1.tmp, draft2.tmp, final.txt et notes.tmp. ls *.tmp affiche les trois fichiers temporaires. rm -i *.tmp demande confirmation pour ces trois noms ; final.txt ne correspond pas au motif. Répondre n ignore un fichier, tandis que y confirme sa suppression.

Respecte l’écriture des chemins

Un espace sépare les mots, même dans une commande dangereuse. Ajouter un espace entre ~/ et le nom d’un élément enfant transforme un chemin relatif au répertoire personnel en deux cibles distinctes. Vérifie toute la ligne avant d’appuyer sur Entrée. Évite la suppression récursive forcée pour le nettoyage courant lorsqu’une commande plus ciblée suffit. Par défaut, rm de GNU protège / lui-même ; cette protection ne protège pas tous les chemins situés sous / contre un motif erroné.

Un tiret initial peut être pris pour une option. rm -- -draft.txt met fin à l’analyse des options avant le nom du fichier. rm ./-draft.txt le désigne aussi sans ambiguïté. Pour un espace dans un nom, utilise rm "old notes.txt" ; la version sans guillemets désigne séparément old et notes.txt.

Une erreur demande un diagnostic, pas automatiquement des droits plus étendus. Si une suppression échoue, vérifie si la cible est un répertoire, si son chemin est correct et ce qu’indique exactement le message. Répéter une commande mal saisie avec des droits d’administration augmente la portée possible de l’erreur.

Points clés

  • rm supprime directement ; la commande n’envoie pas les fichiers dans une corbeille.
  • Utilise rmdir pour un répertoire vide et rm -r pour une arborescence.
  • Vérifie le répertoire de travail et les cibles exactes avant la suppression.
  • -i demande confirmation pour chaque cible ; -f supprime les questions et ignore les noms inexistants.
  • Les espaces, les guillemets et les tirets initiaux changent la façon dont les arguments de suppression sont interprétés.
5

Sélectionne des fichiers avec des caractères génériques

Un caractère générique permet de transformer un court motif en plusieurs noms de fichiers. Bash effectue cette recherche de correspondances avant de lancer la commande : un même motif peut donc servir à afficher, copier ou supprimer des fichiers. Tu détermineras exactement les noms qui correspondent, tiendras compte de la casse et des entrées cachées, et verras comment les guillemets changent ce qui parvient à un programme. Le développement des accolades fournit un autre outil utile : il produit de nouveaux noms même lorsqu’aucun fichier ne porte ces noms.

5.1 Sélectionne les noms de fichiers avec *, ? et [ ]

Un motif de nom de fichier est un motif utilisé pour sélectionner des noms de fichiers. Bash remplace un motif non protégé par des guillemets par les noms existants qui lui correspondent avant de lancer la commande. Tu peux utiliser le même motif avec ls, cp, mv ou une autre commande qui accepte ces noms.

Recherche les correspondances partie par partie
Partie du motifCe à quoi elle correspond
*Toute suite de caractères, y compris une suite vide
?Exactement un caractère
[12]Un caractère : 1 ou 2
[0-9]Un chiffre dans la plage
[!0-9]Un caractère hors de la plage des chiffres

Un motif correspond au nom entier. report* correspond à report parce que l’astérisque peut correspondre à une suite vide. beach?.jpg correspond à beach1.jpg, mais pas à beach10.jpg : deux chiffres ne peuvent pas correspondre à un seul point d’interrogation. beach[12].jpg limite ce caractère à 1 ou 2.

Pour un exemple détaillé de sélection, supposons que photos contienne beach1.jpg, beach2.jpg, beach10.jpg, city1.jpg, city2.png, IMG_01.JPG, notes.txt et .index. Le motif *.jpg correspond aux trois photos de plage et à city1.jpg. city* correspond aussi à city2.png, car il impose une condition au début du nom, et non au suffixe. [!b]* correspond aux noms dont le premier caractère n’est pas b, en excluant les noms de plage ainsi que le fichier caché .index.

Tiens compte de la casse et des points initiaux

Par défaut, la recherche de correspondances est sensible à la casse. *.jpg ne sélectionne pas IMG_01.JPG. Le motif *.[jJ][pP][gG] accepte les deux casses pour chaque caractère du suffixe : il inclut donc les deux formes.

Pour sélectionner un nom commençant par un point dans la recherche ordinaire de Bash, il faut placer explicitement un point au début du composant de chemin concerné. * omet .index ; .i* le sélectionne. Cette règle s’applique aussi à l’intérieur d’un répertoire : photos/* omet les noms cachés dans photos. Le motif ne sélectionne pas les fichiers cachés simplement parce que ls -a est la commande qui le reçoit ; le développement a déjà eu lieu avant le démarrage de ls.

Un caractère générique ne franchit pas /. photos/*.jpg sélectionne les correspondances directement dans photos. */notes.txt sélectionne un fichier correspondant situé exactement un niveau de répertoire sous le répertoire courant. Il ne recherche pas dans tous les répertoires plus profonds.

Lis attentivement les ensembles de caractères

[abc] correspond à un seul caractère, et non à un choix entre des noms de fichiers entiers. Un ! ou un ^ initial inverse l’ensemble. Une plage comme [a-f] suit les règles des paramètres régionaux, qui peuvent influer sur l’ordre et les correspondances. Les classes nommées utilisent une autre paire de crochets : [[:digit:]], [[:upper:]] et [[:lower:]]. La classification de leurs caractères suit les paramètres régionaux ; les minuscules ne se limitent pas aux lettres ASCII de a à z.

Les motifs de noms de fichiers et les expressions régulières suivent des règles différentes. Dans un motif de nom de fichier, un point est un point littéral et * est déjà une instruction complète signifiant « toute suite de caractères ». N’emprunte pas la signification de . ou de * à un motif de recherche textuelle pour prévoir les correspondances de noms de fichiers.

Points clés

  • Bash développe les motifs de noms de fichiers en noms existants correspondants avant l’exécution d’une commande.
  • * correspond à zéro caractère ou plus ; ? et un ensemble entre crochets correspondent chacun à un caractère.
  • La casse et un point initial influent sur les correspondances.
  • Les caractères génériques agissent dans un composant de chemin et ne franchissent pas /.
  • Les plages et les classes de caractères dépendent des paramètres régionaux.
  • Les motifs de noms de fichiers et les expressions régulières interprètent les symboles différemment.

5.2 Utilise les caractères génériques en toute sécurité dans les commandes

Un programme reçoit les noms produits par Bash, et non l’expression contenant des caractères génériques qui les a sélectionnés. Il est donc utile de vérifier le résultat du développement : tu peux examiner les arguments sélectionnés avant qu’une commande ne modifie des fichiers.

Développe, puis exécute

Si notes.txt et todo.txt sont les seuls noms en .txt, ls *.txt reçoit ces deux noms. Le shell effectue la recherche des correspondances ; ls peut ensuite lister chaque argument selon ses propres règles. Les répertoires correspondants comptent aussi comme des noms : un motif ne garantit donc pas que chaque cible est un fichier ordinaire.

echo *.tmp affiche les mots obtenus après développement sans modifier de fichiers. ls -d -- *.tmp liste les entrées correspondantes elles-mêmes, y compris les entrées de répertoires, au lieu d’afficher leur contenu. Pour des noms de fichiers simples, ces aperçus permettent de vérifier facilement la sélection avant de copier, déplacer ou supprimer.

Dans la configuration par défaut de Bash, un motif sans correspondance reste inchangé. Si aucun nom en .pdf n’existe, echo *.pdf affiche *.pdf ; ls *.pdf essaie d’accéder à ce nom littéral et signale qu’il n’existe pas. Un astérisque affiché peut donc indiquer l’absence de correspondance, et non une véritable liste de fichiers sélectionnés.

Décide qui doit recevoir le motif

Les guillemets empêchent le développement des caractères génériques. echo '*.txt', echo "*.txt" et echo \*.txt affichent tous le motif littéral. À l’inverse, echo *.txt demande à Bash de sélectionner les noms existants correspondants. Les guillemets conviennent lorsque le programme lui-même doit recevoir les caractères spéciaux ou lorsqu’un fichier réel contient un astérisque dans son nom.

Distingue ce choix de la protection des espaces par des guillemets. Un nom de fichier sélectionné par le développement d’un motif reste un seul argument même s’il contient un espace. Mais une variable contenant un chemin doit normalement être entourée de guillemets doubles lors de son utilisation, car son développement sans guillemets peut être découpé en mots.

Vérifie la destination de la commande

cp *.jpg ~/backup/ copie les noms correspondants dans un répertoire de sauvegarde existant. mv draft* archive/ déplace les noms correspondants dans un répertoire d’archivage existant. Une barre oblique finale impose une destination qui soit un répertoire, ce qui aide à repérer une destination manquante au lieu de renommer silencieusement une source unique.

Un * large inclut les répertoires. cp * backup/ copie les fichiers ordinaires mais omet les répertoires en l’absence de copie récursive. Ajouter -r inclut les répertoires, y compris backup lui-même lorsqu’il se trouve dans le répertoire courant ; cp refuse alors de copier ce répertoire dans lui-même. Place une sauvegarde hors de l’ensemble des sources sélectionnées ou choisis un motif plus ciblé.

Les espaces changent la sélection. *.tmp est un seul motif ; * .tmp est un motif large accompagné d’un argument distinct dont le nom commence par un point. Vérifie l’expression exacte que tu utiliseras.

Génère de nouveaux noms avec les accolades

Le développement des accolades produit des mots, qu’ils existent ou non :

mkdir -p project/{src,docs,tests}
touch file{1..3}.txt
cp notes.txt{,.bak}

La première ligne crée trois éléments enfants portant les noms indiqués. La deuxième produit file1.txt, file2.txt et file3.txt. La dernière se développe en cp notes.txt notes.txt.bak ; son premier choix entre accolades est vide. Utilise les accolades pour générer des noms et les motifs de noms de fichiers pour sélectionner ceux qui existent.

Points clés

  • Vérifie le motif exact avant d’utiliser une commande qui modifie des fichiers.
  • Sans correspondance, le motif reste littéral dans la configuration par défaut de Bash.
  • Les guillemets ou une barre oblique inverse conservent les caractères génériques tels quels.
  • Les motifs de noms de fichiers sélectionnent les répertoires ainsi que les fichiers ordinaires.
  • Le développement des accolades crée des mots même lorsque les fichiers correspondants n’existent pas.
6

Réutilise des commandes et manipule des variables

Un shell peut mémoriser tes commandes et conserver des valeurs que tu réutilises. L’historique réduit la saisie, les variables donnent des noms à des valeurs utiles et l’environnement transmet certaines valeurs aux programmes nouvellement lancés. La variable d’environnement PATH indique à Bash où chercher les fichiers de programme. Tu relieras ces fonctions à la protection des caractères, à la résolution des commandes et aux fichiers de démarrage afin d’expliquer ce qui fonctionne maintenant et ce dont une session de terminal ultérieure héritera.

6.1 Rappelle et réutilise des commandes de l’historique

Bash conserve une liste d’historique des commandes saisies dans le shell. Tu peux rappeler une ligne, l’examiner, en modifier une partie et exécuter la version modifiée. C’est particulièrement utile pour un long chemin ou une combinaison d’options utilisés récemment.

Rappelle une ligne avant de l’exécuter

Les flèches haut et bas parcourent les commandes précédentes. La ligne rappelée devient une saisie modifiable ; elle n’est exécutée que lorsque tu appuies sur Entrée. history affiche la liste numérotée et history 5 limite la sortie aux entrées récentes.

Ctrl+R recherche en remontant l’historique. Saisis une partie d’une commande, comme mkdir, pour trouver la ligne correspondante la plus récente. Appuie de nouveau sur Ctrl+R pour obtenir une correspondance plus ancienne. Entrée exécute la commande affichée, tandis que Ctrl+G annule la recherche. Lis tout le résultat, car le fragment recherché peut apparaître dans plusieurs commandes ayant des chemins différents.

Comprends les raccourcis avec un point d’exclamation

Le développement de l’historique réécrit les expressions avant l’exécution :

ExpressionTexte réutilisé
!!La commande précédente
!42L’entrée 42 de l’historique
!lsLa dernière commande commençant par ls
!$Le dernier argument de la commande précédente

Par exemple, immédiatement après mkdir -p reports/2026, cd !$ se développe en cd reports/2026. Le raccourci renvoie à la commande précédente : une autre commande saisie entre ces lignes changerait donc ce que !$ sélectionne. Pour répéter une commande numérotée, utilise son numéro d’entrée ; pour réutiliser son dernier argument, utilise un raccourci de mot dans le contexte approprié.

Le développement affiche normalement la commande développée et l’exécute aussitôt. Cet affichage n’est pas une demande de confirmation. Un modificateur :p, comme dans !rm:p, affiche le développement sans l’exécuter. Le rappel par les flèches ou Ctrl+R est souvent plus facile lorsque tu veux examiner et modifier une ligne potentiellement destructive. Tu peux rencontrer sudo !! pour répéter la dernière commande avec des droits d’administration ; examine l’action prévue avant de décider si des droits supplémentaires sont appropriés.

Sache ce qui est enregistré

Le shell actif conserve l’historique en mémoire. À sa fermeture, il l’écrit normalement dans le fichier désigné par HISTFILE, généralement ~/.bash_history. Chaque terminal possède sa propre liste en mémoire : deux terminaux ouverts n’affichent donc pas nécessairement le même historique à ce moment-là.

HISTSIZE limite le nombre de commandes conservées en mémoire. La valeur intégrée par défaut de Bash est de 500, même si les distributions la modifient souvent. HISTFILESIZE limite le nombre de lignes dans le fichier d’historique enregistré. Ces paramètres contrôlent deux emplacements différents : modifier l’un ne signifie donc pas que tu as changé les deux limites.

HISTCONTROL=ignorespace omet les lignes commençant par un espace ; ignoredups omet une ligne identique à la précédente ; ignoreboth combine les deux. Ce sont des choix de configuration, qui ne permettent pas de supposer qu’un terminal quelconque laisse une commande sans l’enregistrer. history -d 42 supprime une entrée et history -c efface la liste courante en mémoire.

Les mots de passe placés dans les arguments d’une commande peuvent être enregistrés dans l’historique. Laisse un programme demander un mot de passe à sa propre invite au lieu de le placer dans la ligne de commande.

Points clés

  • Le rappel avec les flèches et Ctrl+R permettent d’examiner une commande avant d’appuyer sur Entrée.
  • !!, les entrées numérotées, les préfixes et !$ renvoient à des textes antérieurs différents.
  • Le développement de l’historique s’exécute normalement immédiatement ; :p l’affiche sans l’exécuter.
  • La liste d’historique active et le fichier d’historique enregistré ont des limites distinctes.
  • Ne place pas de mots de passe dans les arguments de commande.

6.2 Définis et utilise des variables du shell et des variables d’environnement

Une variable donne un nom à une valeur. Bash peut substituer cette valeur dans des lignes de commande ultérieures. Une variable d’environnement est aussi transmise aux programmes lancés depuis ce shell, ce qui leur permet de lire des paramètres comme la langue ou l’emplacement du répertoire personnel.

Affecte et lis une valeur

Écris une affectation sans espace autour de = :

city=Lisbon
echo "$city"
echo "${city}_trip"

La première ligne stocke Lisbon ; les lignes suivantes affichent Lisbon et Lisbon_trip. Les accolades indiquent où se termine le nom de la variable. Sans elles, $city_trip désigne une autre variable nommée city_trip.

city = Lisbon n’est pas une affectation : Bash essaie d’exécuter une commande nommée city avec deux arguments. Les noms sont sensibles à la casse et peuvent contenir des lettres, des chiffres et des traits de soulignement, mais ne peuvent pas commencer par un chiffre. Dans l’utilisation ordinaire de Bash, lire une variable non définie donne une valeur vide. unset city supprime la valeur.

Choisis les guillemets adaptés
SaisieAction de Bash
echo "$HOME"Développe HOME et garde le résultat en un seul morceau
echo '$HOME'Transmet le texte littéral $HOME
echo \$HOMEProtège le signe dollar et affiche aussi $HOME

Après greeting="Good morning", echo "$greeting, $USER" affiche la salutation et le nom du compte comme un seul argument. Entoure de guillemets doubles une variable utilisée comme chemin si sa valeur peut contenir des espaces. Les guillemets simples protègent tout ce qu’ils contiennent, y compris le signe dollar : ils ne peuvent donc pas servir au même usage que les guillemets doubles lorsque tu veux développer une variable.

Transmets des paramètres aux programmes fils

Une affectation ordinaire crée une variable du shell. export city la marque pour l’environnement ; export city=Lisbon combine les deux actions. Compare :

city=Lisbon
bash -c 'echo $city'
export city
bash -c 'echo $city'

Si city n’avait pas été exportée auparavant, le premier shell fils affiche une ligne vide. Après l’exportation, un nouveau processus fils reçoit Lisbon. L’exportation transmet une copie au lancement ; elle ne met pas à jour les programmes déjà en cours d’exécution.

env et printenv listent les entrées de l’environnement, tandis que printenv HOME en affiche une. set liste aussi les variables et les fonctions du shell. Les paramètres courants comprennent HOME pour le répertoire personnel, USER pour l’utilisateur, PWD pour le répertoire de travail, SHELL pour le shell de connexion, LANG pour la langue et les formats régionaux, et PATH pour la recherche des programmes. Des noms en minuscules pour tes propres valeurs évitent les conflits avec ces noms conventionnels en majuscules.

Contrôle la durée de vie et le démarrage

Une affectation placée devant une commande fournit un paramètre à cette seule commande : TZ=Asia/Tokyo date affiche l’heure de Tokyo sans remplacer le réglage du fuseau horaire du shell. LC_ALL=C ls --help demande les messages originaux non traduits.

Un paramètre non enregistré défini à l’invite appartient à ce shell ; ouvrir un autre terminal ne le rend pas permanent. Place un paramètre réutilisé comme export EDITOR=nano dans ~/.bashrc pour les shells Bash interactifs qui ne sont pas des shells de connexion. Les shells de connexion lisent les fichiers de profil, qui chargent souvent ce fichier. Un nouveau shell qui n’est pas un shell de connexion lit le paramètre enregistré ; source ~/.bashrc applique le fichier dans le shell courant.

Points clés

  • Les affectations n’ont pas d’espaces autour de = ; $name lit la valeur.
  • Les guillemets doubles permettent le développement tout en conservant les espaces ; les guillemets simples gardent le texte littéral.
  • export transmet une variable aux programmes fils lancés par la suite.
  • env affiche l’environnement ; set inclut aussi les variables et les fonctions du shell.
  • Une affectation placée en tête peut ne concerner qu’une seule commande.
  • Les fichiers de démarrage rendent les paramètres enregistrés disponibles dans les shells ultérieurs.

6.3 Contrôle la recherche des commandes par le shell avec PATH

Lorsque tu saisis un nom de commande, Bash doit déterminer ce qu’il signifie. Il peut s’agir d’un alias, d’une fonction, d’une commande interne ou d’un fichier de programme. PATH contrôle la recherche des fichiers de programme pour un nom qui ne contient pas de barre oblique.

Lis la liste de recherche

PATH contient des noms de répertoires séparés par des deux-points, par exemple /usr/local/bin:/usr/bin:/bin. echo "$PATH" affiche la liste. Bash examine d’abord les significations définies dans le shell ; pour un nom de programme externe, il parcourt les répertoires indiqués de gauche à droite et utilise le premier exécutable correspondant.

Ce sont les noms des répertoires qui comptent, et non le seul fait qu’un programme soit installé quelque part. Un fichier situé hors de la liste de recherche n’est pas trouvé par son seul nom. Les programmes courants se trouvent généralement sous /usr/bin ou /bin ; les programmes d’administration utilisent /usr/sbin ou /sbin ; les installations locales utilisent souvent /usr/local/bin. Les programmes personnels peuvent se trouver sous ~/bin ou ~/.local/bin.

Si deux répertoires de PATH contiennent un programme de même nom, le premier répertoire est prioritaire lors d’une nouvelle recherche.

Examine la commande active

type cd indique une commande interne du shell. type ls peut indiquer /usr/bin/ls ou signaler un alias qui ajoute de la couleur. type -a echo liste les correspondances internes et externes. which ls indique normalement un chemin de programme trouvé dans PATH, mais peut manquer des fonctions du shell que type connaît. Utilise type lorsque tu veux comprendre ce que Bash fera réellement.

Exécute un chemin explicite

Le PATH habituel omet le répertoire courant. Un fichier exécutable nommé backup dans le répertoire courant nécessite donc ./backup, sauf si son répertoire figure dans PATH. Un nom de commande contenant / désigne directement un emplacement :

./backup
/home/sam/bin/backup

Les deux formes contournent la recherche dans PATH. La première est relative à ton répertoire de travail ; la seconde part de /. Le fichier doit quand même être exécutable. Le seul fait de pouvoir le lister ou le lire ne permet pas de l’exécuter.

Complète sans remplacer

Pour ajouter un répertoire personnel à la fin, conserve la valeur existante :

export PATH="$PATH:$HOME/bin"

Le deux-points sépare l’ancienne liste du répertoire ajouté. Avec un exécutable backup dans /home/sam/bin, une commande backup ultérieure peut maintenant le trouver. L’ajout à la fin laisse tout programme correspondant déjà présent avant ton nouveau répertoire. Placer le nouveau répertoire en premier changerait le nom en double qui est prioritaire.

PATH=$HOME/bin écarte au contraire tous les répertoires existants de la valeur. Les commandes externes comme ls peuvent cesser de fonctionner lorsqu’elles sont appelées par leur seul nom. Ouvrir un nouveau terminal avec la configuration de démarrage normale rétablit son PATH normal ; pour le shell courant, export PATH=/usr/local/bin:/usr/bin:/bin fournit une liste de réparation de base. Les commandes internes peuvent encore fonctionner, car elles ne sont pas trouvées à l’aide de PATH.

Pour conserver un ajout voulu dans les nouveaux shells interactifs qui ne sont pas des shells de connexion, enregistre sa ligne d’exportation dans ~/.bashrc.

Points clés

  • PATH est une liste séparée par des deux-points, parcourue de gauche à droite pour rechercher les commandes externes.
  • type indique aussi les alias, les fonctions et les commandes internes.
  • Une commande contenant / désigne directement un chemin et contourne PATH.
  • Conserve $PATH lorsque tu complètes la liste.
  • L’ordre de recherche détermine quel programme externe est prioritaire lorsque plusieurs portent le même nom.

Ligne de commande Linux : exemples

6 Leçons Interactives

1

Construis et lis une commande

11 étapes
Lis une invite, utilise les touches de base et construis des lignes de commande sans ambiguïté.
  1. 1
    IntroductionLis une session de terminal

    Un terminal affiche un échange : tu saisis une commande, le shell l’interprète et tout résultat apparaît en dessous. L’invite indique où une nouvelle ligne peut commencer.

    Nous allons lire cette invite, utiliser quelques touches et construire une commande dont les espaces et les options ont exactement le sens voulu. Le but est de comprendre la ligne avant d’appuyer sur Entrée.

  2. 2
    ExplicationIdentifie le shell et la fenêtre

    Le shell est l’interpréteur. Le terminal est la fenêtre qui affiche ses entrées et ses sorties. Bash est un shell Linux couramment utilisé ; une autre fenêtre de terminal peut elle aussi exécuter Bash.

    Dans sam@laptop:~$, l’invite indique sam sur laptop, dans son répertoire personnel. Le signe dollar final indique par convention un utilisateur ordinaire. Ne saisis pas ce symbole d’invite lorsque tu entres un exemple de commande.

  3. 3
    ExempleDemande qui tu es et où tu te trouves

    Saisis whoami et lis le résultat : pour notre compte d’exemple, c’est sam. Saisis ensuite pwd ; depuis le répertoire personnel, la commande affiche /home/sam. Chaque commande occupe une ligne de saisie distincte.

    La sortie est une information renvoyée par la commande, pas un texte que tu dois saisir de nouveau. Une nouvelle invite signifie que le shell est prêt. Une commande réussie peut aussi ne rien afficher : la longueur de la sortie ne mesure donc pas la réussite.

  4. 4
    ConseilComplète, annule ou quitte

    Commence à saisir un nom de répertoire et appuie sur Tab pour le compléter. Si plusieurs noms conviennent, ajoute des caractères ou appuie deux fois sur Tab pour voir les possibilités. La complétion suit l’orthographe et la casse réelles des noms existants.

    Ctrl+C annule la saisie ou interrompt un programme au premier plan. Ctrl+D sur une ligne vide ferme le shell. Dans un pageur de manuel, q quitte la page ; cette même touche a un sens différent de celui d’une commande saisie à l’invite du shell.

  5. 5
    DéfiChoisis la touche pour reprendre la saisie

    Tu as saisi ls-l, remarqué l’espace manquant et tu veux annuler toute la ligne avant son exécution. Quelle touche te ramène à une nouvelle ligne de saisie ?

    ---reveal---

    Appuie sur Ctrl+C. Cette combinaison annule la saisie en attente sans l’exécuter. Ctrl+L efface l’écran ; ce n’est pas la même chose qu’annuler ce que tu as saisi. Tu pourrais aussi corriger la ligne en ls -l, mais l’action demandée ici est l’annulation.

  6. 6
    ExplicationAttribue un rôle à chaque mot

    Lis ls -l /etc comme trois mots ayant trois rôles. ls désigne la commande, -l modifie son comportement et /etc indique ce qu’il faut lister. Les espaces de séparation permettent à Bash de transmettre ces éléments séparément.

    Les options courtes ont un tiret ; les options longues en ont deux. ls -la combine -l et -a, tandis que ls --all est une seule option longue. Certaines options nécessitent aussi des valeurs, que leur texte d’aide indique.

  7. 7
    ExempleGarde ensemble un nom contenant un espace

    Supposons qu’un fichier soit nommé « Annual Report.pdf ». Saisir ls Annual Report.pdf fournit deux arguments de fichier, car l’espace non protégé par des guillemets sépare les mots.

    Écris ls "Annual Report.pdf" pour garder le nom ensemble. Les guillemets simples fonctionnent aussi pour ce nom littéral, ou tu peux échapper son espace comme dans Annual\ Report.pdf. Les caractères de protection guident le shell ; ils ne deviennent pas des caractères du nom de fichier.

  8. 8
    Point cléLes options dépendent de leur commande

    Une lettre familière peut avoir des significations différentes selon le programme. cp -r copie les répertoires récursivement, mais ls -r ne fait qu’inverser l’ordre. L’option d’affichage récursif est -R en majuscule.

    De même, ls -h formate les tailles ; cette option ne demande pas l’aide. Lis la commande et l’option ensemble. Deviner à partir d’une option utilisée avec une autre commande peut produire une commande valide qui fait autre chose que ce que tu voulais.

  9. 9
    DéfiConstruis un affichage clair

    Un fichier est nommé « Course Plan.txt ». Comment demander son affichage détaillé sans demander deux fichiers distincts ?

    ---reveal---

    Utilise ls -l "Course Plan.txt". Le premier espace sépare la commande de l’option et le suivant sépare l’option de l’argument entre guillemets. L’espace interne reste dans un seul nom. ls-l serait au contraire un autre nom de commande et Course Plan.txt sans guillemets serait interprété comme deux arguments cibles.

  10. 10
    DéfiTraite deux types de texte particulier

    Le fichier que tu dois lister est « -old notes.txt ». Tu veux ses détails et dois traiter à la fois le tiret initial et l’espace interne. Écris une commande GNU ls pour ce fichier.

    ---reveal---

    Utilise ls -l -- "-old notes.txt". Les guillemets gardent le nom ensemble, tandis que -- indique à ls d’arrêter l’analyse des options. Les guillemets seuls ne suppriment pas le tiret initial : ils règlent donc le problème de l’espace, mais pas celui de l’option. ls -l "./-old notes.txt" fonctionne aussi.

  11. 11
    RécapitulatifLis la ligne avant d’appuyer sur Entrée

    Reconnais l’invite, puis lis la ligne saisie comme une commande avec des options et des arguments distincts. Protège les espaces dans les noms, vérifie la signification des options pour la commande utilisée et sers-toi de la complétion pour réduire les fautes de frappe.

    Lorsque la saisie est incorrecte, annule-la ou modifie-la avant l’exécution ; lorsqu’un programme occupe tout l’écran, utilise sa propre commande de sortie ou d’interruption.

2

Trouve le comportement de commande dont tu as besoin

10 étapes
Utilise la notation du manuel, les recherches, l’aide des commandes internes et les messages d’erreur pour résoudre une tâche.

Enregistre cette unité pour suivre chaque Leçon Interactive pas à pas.

  1. 1
    IntroductionTrouve une réponse dans l’aide
  2. 2
    ExplicationOuvre le manuel de la commande
  3. 3
    ExempleInterprète les éléments facultatifs et répétés
  4. 4
    ConseilRecherche et reviens à l’invite
  5. 5
    DéfiSélectionne la page dont tu as besoin
  6. 6
    LienChoisis l’aide selon le type de commande
  7. 7
    ExempleLis la raison d’un échec
  8. 8
    DéfiChoisis une référence pour une commande interne
  9. 9
    DéfiPasse du rôle à une commande fonctionnelle
  10. 10
    RécapitulatifAssocie la question à la référence
3

Navigue dans une arborescence de répertoires et examine-la

13 étapes
Suis des chemins absolus et relatifs, puis sélectionne les affichages qui répondent à une question précise.

Enregistre cette unité pour suivre chaque Leçon Interactive pas à pas.

  1. 1
    IntroductionSuis un trajet dans l’arborescence
  2. 2
    ExplicationPars de la racine
  3. 3
    ExempleLis une petite arborescence
  4. 4
    DéfiReconnais une entrée enfant cachée
  5. 5
    ExplicationÉtablis le point de départ du trajet
  6. 6
    ExempleRemonte de deux parents
  7. 7
    ConseilUtilise les raccourcis du répertoire personnel et de l’emplacement précédent
  8. 8
    DéfiTrouve un répertoire au même niveau que le parent
  9. 9
    ExplicationAjoute les détails nécessaires
  10. 10
    ExempleDistingue la taille de l’ordre de tri
  11. 11
    DéfiChoisis l’affichage adapté à la question
  12. 12
    DéfiSuis un déplacement et un examen
  13. 13
    RécapitulatifDistingue l’emplacement de l’affichage
4

Construis, copie, renomme et nettoie

14 étapes
Suis une structure de répertoires à travers sa création, sa copie, son déplacement et la suppression de répertoires vides.

Enregistre cette unité pour suivre chaque Leçon Interactive pas à pas.

  1. 1
    IntroductionPrévois l’organisation finale
  2. 2
    ExempleCrée les parents
  3. 3
    ExempleAjoute des fichiers à la structure
  4. 4
    DéfiVérifie ce qui doit exister en premier
  5. 5
    ExplicationCopie un fichier dans un répertoire
  6. 6
    ExempleCopie l’arborescence
  7. 7
    ExempleRenomme un élément dans la copie
  8. 8
    ConseilImpose un répertoire lorsque c’est la destination voulue
  9. 9
    DéfiLocalise un élément enfant copié
  10. 10
    ExplicationSupprime un répertoire enfant vide
  11. 11
    ConseilVérifie la cible avant la suppression
  12. 12
    DéfiChoisis une action réservée aux répertoires vides
  13. 13
    DéfiSuis tout le nettoyage
  14. 14
    RécapitulatifLis les actions comme des modifications de chemins
5

Analyse un motif avant de l’utiliser

12 étapes
Prévois le développement des noms de fichiers, les motifs littéraux et les mots générés par les accolades.

Enregistre cette unité pour suivre chaque Leçon Interactive pas à pas.

  1. 1
    IntroductionPrévois une sélection avec des caractères génériques
  2. 2
    ExplicationDétermine le nombre de caractères associé à chaque symbole
  3. 3
    ExempleLimite les caractères possibles à un emplacement
  4. 4
    Point cléLa casse et les points restent importants
  5. 5
    DéfiSélectionne les correspondances exactes
  6. 6
    ExplicationLaisse d’abord le shell développer le motif
  7. 7
    ExempleLis un motif littéral
  8. 8
    DéfiDétermine ce qui parvient au programme
  9. 9
    ConseilGarde la destination hors de la sélection
  10. 10
    ExempleGénère des noms avant que les fichiers existent
  11. 11
    DéfiGénère, déplace, puis sélectionne
  12. 12
    RécapitulatifDistingue la sélection de la génération
6

Réutilise des commandes et suis les paramètres hérités

15 étapes
Suis les références à l’historique, la protection des variables, les environnements des processus fils et la recherche avec PATH.

Enregistre cette unité pour suivre chaque Leçon Interactive pas à pas.

  1. 1
    IntroductionRéutilise une ligne et une valeur
  2. 2
    ExplicationRappelle une ligne pour pouvoir la modifier
  3. 3
    ExempleComprends ce que le raccourci réutilise
  4. 4
    DéfiIdentifie bien la commande précédente
  5. 5
    ExplicationAffecte une valeur sans la découper
  6. 6
    ExempleChoisis ce que les guillemets permettent
  7. 7
    ExemplePartage une copie avec un processus fils
  8. 8
    DéfiPrévois l’héritage et la modification locale
  9. 9
    LienChoisis la durée d’un paramètre
  10. 10
    ExplicationRecherche une commande externe
  11. 11
    ExempleAjoute un répertoire personnel à la fin
  12. 12
    Point cléUne barre oblique désigne directement un emplacement
  13. 13
    DéfiConserve la priorité du premier résultat
  14. 14
    DéfiRelie le rappel, la protection et la recherche
  15. 15
    RécapitulatifSuis le texte, les valeurs et leur portée

Ligne de commande Linux : QCM

50 Questions Pratiques en 5 séries

Série 1 : Lis les commandes, l’aide et les chemins10 Questions Pratiques

Question 1 sur 10

Un terminal affiche sam@laptop:~/training$ et attend une saisie. Quel emplacement l’invite indique-t-elle ?
  1. Le répertoire racine /
  2. Le répertoire personnel /home/sam
  3. Le répertoire /home/training
  4. Le répertoire /home/sam/training
Afficher la réponseMasquer la réponse
Réponse : D
Le tilde représente le répertoire personnel de sam et /training désigne son répertoire enfant. L’invite indique donc /home/sam/training. Lire seulement le tilde ferait manquer le composant enfant et placerait à tort le shell dans le répertoire personnel.

Question 2 sur 10

Comment demander un affichage détaillé du seul fichier nommé « Team Schedule.pdf » ?
  1. ls-l "Team Schedule.pdf"
  2. ls -l Team Schedule.pdf
  3. ls -l /Team/Schedule.pdf
  4. ls -l "Team Schedule.pdf"
Afficher la réponseMasquer la réponse
Réponse : D
L’espace après ls sépare la commande de son option et les guillemets gardent le nom du fichier dans un seul argument. Sans guillemets, Bash fournit deux noms distincts, Team et Schedule.pdf. Ajouter des barres obliques décrirait un autre chemin au lieu de protéger l’espace.

Question 3 sur 10

Tu as saisi une ligne de commande sans encore appuyer sur Entrée. Comment l’annuler et revenir à une nouvelle invite ?
  1. Appuie sur Ctrl+C.
  2. Appuie sur Ctrl+D.
  3. Appuie sur Ctrl+L.
  4. Appuie sur la flèche haut.
Afficher la réponseMasquer la réponse
Réponse : A
Ctrl+C annule la ligne de saisie avant son exécution. Ctrl+L ne fait qu’effacer l’affichage et peut laisser la saisie courante en place. Ctrl+D a un autre rôle, notamment fermer le shell sur une ligne vide ; ce n’est pas le raccourci d’annulation de la ligne.

Question 4 sur 10

Tu as besoin de la documentation sur le format de /etc/passwd, mais man passwd ouvre la page de la commande de changement de mot de passe. Quelle commande ouvre la page nécessaire ?
  1. man -k passwd
  2. man 1 passwd
  3. man 5 passwd
  4. whatis passwd
Afficher la réponseMasquer la réponse
Réponse : C
La section 5 du manuel décrit les formats de fichiers : la préciser sélectionne donc la page sur le format de fichier qui porte le nom passwd. La section 1 est celle de la commande utilisateur déjà ouverte. Une recherche par mot-clé ou une description en une ligne peut identifier des pages, mais ne sélectionne pas directement la référence demandée sur le format.

Question 5 sur 10

type export indique que export est une commande interne du shell. Comment lire l’aide de Bash à son sujet ?
  1. help export
  2. export --help
  3. whatis export
  4. info coreutils
Afficher la réponseMasquer la réponse
Réponse : A
Bash fournit la documentation de ses commandes internes par help : help export cible donc directement cette commande. Appliquer aux commandes internes la forme habituelle --help des programmes externes n’est pas fiable. Le type de commande indiqué par type permet de savoir quel système d’aide consulter.

Question 6 sur 10

Le SYNOPSIS indique mkdir [OPTION]... DIRECTORY.... Que faut-il fournir pour une utilisation simple et valide ?
  1. Une option et exactement un nom de répertoire.
  2. Au moins un nom de répertoire ; les options sont facultatives.
  3. Au moins une option ; les noms de répertoires sont facultatifs.
  4. Exactement un nom de répertoire entouré de crochets.
Afficher la réponseMasquer la réponse
Réponse : B
Le paramètre fictif du répertoire se trouve hors des crochets qui indiquent les éléments facultatifs : au moins un répertoire est donc obligatoire. Les points de suspension autorisent d’autres arguments de répertoire, tandis que le groupe d’options entre crochets peut être omis. Considérer tout paramètre fictif en majuscules comme facultatif serait une mauvaise lecture de la notation d’utilisation.

Question 7 sur 10

Ton répertoire de travail est /home/sam/labs/module. Quel répertoire absolu cd ../../downloads sélectionne-t-il ?
  1. /home/sam/downloads
  2. /home/downloads
  3. /downloads
  4. /home/sam/labs/downloads
Afficher la réponseMasquer la réponse
Réponse : A
Le premier .. mène à /home/sam/labs et le second à /home/sam. Le dernier composant entre ensuite dans son répertoire enfant downloads. S’arrêter après une seule remontée placerait à tort la destination dans labs ; il faut suivre les deux composants parents.

Question 8 sur 10

Tu veux les détails de l’entrée du répertoire assets lui-même, sans lister les fichiers qu’il contient. Quelle commande le permet ?
  1. ls -l assets
  2. ls -ld assets
  3. ls -lR assets
  4. ls -lA assets
Afficher la réponseMasquer la réponse
Réponse : B
L’option -d indique à ls d’afficher l’entrée du répertoire lui-même et -l ajoute ses métadonnées. Sans -d, ls -l assets liste les entrées de ce répertoire. Ajouter des options pour les entrées cachées ou la récursion modifie l’affichage du contenu, mais ne sélectionne pas l’entrée du répertoire lui-même.

Question 9 sur 10

ls ordinaire n’affiche rien dans settings, mais ls -A settings affiche .localrc. Pourquoi les résultats diffèrent-ils ?
  1. Le fichier appartient à root et n’apparaît qu’avec -A.
  2. Le point initial cache l’entrée dans l’affichage ordinaire.
  3. Le répertoire est vide jusqu’à ce qu’un affichage caché crée un fichier.
  4. Le suffixe rend l’entrée lisible uniquement par des commandes spéciales.
Afficher la réponseMasquer la réponse
Réponse : B
Un point initial rend un nom caché dans l’affichage par défaut, et -A inclut ces entrées. L’option d’affichage ne crée pas de fichiers et n’accorde pas d’accès supplémentaire. Un affichage ordinaire vide peut donc correspondre à un répertoire non vide contenant des noms cachés.

Question 10 sur 10

Depuis /home/sam, tu exécutes cd projects, puis ls ../downloads, puis cd ../photos. Tous les répertoires indiqués existent. Dans quel répertoire te trouves-tu et que sélectionne ensuite cd - ?
  1. Maintenant : /home/photos ; ensuite : /home/sam/projects.
  2. Maintenant : /home/sam/photos ; ensuite : /home/sam/downloads.
  3. Maintenant : /home/sam/photos ; ensuite : /home/sam/projects.
  4. Maintenant : /home/sam/projects/photos ; ensuite : /home/sam/projects.
Afficher la réponseMasquer la réponse
Réponse : C
Après le premier déplacement, tu te trouves dans /home/sam/projects ; l’affichage de ../downloads ne change pas cet emplacement. Le dernier déplacement relatif remonte à sam puis entre dans photos. cd - revient au répertoire de travail précédent, projects, et non au répertoire simplement listé.
Série 2 : Prévois les modifications des fichiers et des répertoires10 Questions Pratiques

Enregistre cette unité pour voir chaque réponse et t'entraîner sur chaque série.

Question 1 sur 10

Le répertoire lab n’existe pas. Comment créer lab/week2/input et ses parents manquants en une seule commande ?
  1. mkdir -p lab/week2/input
  2. touch lab/week2/input
  3. mkdir lab/week2/input
  4. mkdir -r lab/week2/input
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 2 sur 10

records contient jan.csv et stored existe déjà comme répertoire vide. Quel chemin contient le fichier copié après cp -r records stored ?
  1. stored/records/records.csv
  2. stored/jan.csv
  3. records/stored/jan.csv
  4. stored/records/jan.csv
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 3 sur 10

agenda.txt contient des notes de réunion. Que se passe-t-il lorsque tu exécutes touch agenda.txt ?
  1. Son contenu est effacé et son nom reste identique.
  2. Son contenu est déplacé dans un nouveau fichier nommé agenda.txt.bak.
  3. Son contenu reste intact et ses horodatages sont mis à jour.
  4. Son contenu reste intact et ses horodatages restent identiques.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 4 sur 10

rough.txt existe et archive n’existe pas. Que fait mv rough.txt archive sans alias ?
  1. Crée archive et y place rough.txt.
  2. Copie le fichier sous archive et conserve rough.txt.
  3. Refuse, car déplacer un fichier exige une option récursive.
  4. Renomme rough.txt en un fichier nommé archive.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 5 sur 10

old-cache est un répertoire qui devrait être vide. Quelle commande ne le supprime que si c’est bien le cas ?
  1. rm -r old-cache
  2. rmdir old-cache
  3. rm -rf old-cache
  4. rm -rv old-cache
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 6 sur 10

Un fichier ordinaire est littéralement nommé -scratch.log. Comment transmettre ce nom à rm de GNU sans alias sans qu’il soit lu comme des options ?
  1. rm -- -scratch.log
  2. rm -i -scratch.log
  3. rm "-scratch.log"
  4. rm --scratch.log
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 7 sur 10

Tu veux qu’un fichier nouvellement copié conserve les horodatages et les droits de la source. Quelle forme de commande GNU le demande ?
  1. cp -v source.txt saved.txt
  2. cp -p source.txt saved.txt
  3. cp -i source.txt saved.txt
  4. cp -r source.txt saved.txt
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 8 sur 10

unit/part ne contient que .prefs. Pourquoi rmdir unit/part échoue-t-il alors que ls unit/part sans option semble vide ?
  1. rmdir exige une option récursive pour les chemins imbriqués.
  2. rmdir ne peut pas supprimer un répertoire sous un autre répertoire.
  3. L’entrée cachée signifie que le répertoire n’est pas vide.
  4. Un fichier commençant par un point transforme le chemin en chemin absolu.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 9 sur 10

Depuis /home/sam, source/item.txt existe et saved est un répertoire vide. Tu exécutes cp -r source saved, puis mv saved/source saved/session. Où se trouvent maintenant le fichier original et sa copie ?
  1. Original : saved/source/item.txt ; copie : saved/session/item.txt.
  2. Original : source/item.txt ; copie : saved/item.txt.
  3. Original : source/item.txt ; copie : saved/session/item.txt.
  4. Original : source/session/item.txt ; copie : saved/source/item.txt.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 10 sur 10

Depuis /home/sam/work, ../safe est un répertoire vide et part ne contient que keep.txt. Tu exécutes cp part/keep.txt ../safe/, mv part/keep.txt keep.txt, puis rmdir part. Que reste-t-il ?
  1. Les deux copies sont dans work/part ; part reste présent.
  2. safe/part/keep.txt et work/keep.txt ; part est supprimé.
  3. Seulement safe/keep.txt ; part et le fichier déplacé sont supprimés.
  4. safe/keep.txt et work/keep.txt ; part est supprimé.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Série 3 : Recherche des correspondances de noms et utilise les valeurs du shell10 Questions Pratiques

Enregistre cette unité pour voir chaque réponse et t'entraîner sur chaque série.

Question 1 sur 10

Un répertoire contient task.txt, task4.txt et task42.txt. Quel nom correspond à task?.txt ?
  1. task4.txt uniquement
  2. task.txt et task4.txt
  3. task4.txt et task42.txt
  4. task.txt uniquement
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 2 sur 10

Dans la configuration par défaut de Bash, aucune entrée en .zip ne correspond dans le répertoire de travail. Qu’affiche echo *.zip ?
  1. Les noms de toutes les entrées visibles
  2. Une ligne vide
  3. No such file or directory
  4. *.zip
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 3 sur 10

Tu veux trouver une commande antérieure contenant upload, l’examiner et la modifier avant de l’exécuter. Quelle fonction convient pour la trouver ?
  1. L’effacement de l’écran avec Ctrl+L
  2. La recherche inversée avec Ctrl+R
  3. Le développement immédiat avec !upload
  4. L’effacement de la liste avec history -c
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 4 sur 10

Après folder="Project Plans", quel argument ls "$folder" reçoit-il pour le chemin ?
  1. Deux noms : Project et Plans
  2. Un nom littéral : "Project Plans"
  3. Un nom littéral : $folder
  4. Un nom : Project Plans
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 5 sur 10

Les noms visibles sont rec1.csv, rec2.csv, rec3.csv et rec12.csv. Quels noms correspondent à rec[!2].csv ?
  1. rec1.csv et rec3.csv
  2. rec1.csv et rec12.csv
  3. rec2.csv et rec3.csv
  4. rec3.csv et rec12.csv
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 6 sur 10

Pour une nouvelle recherche de commande externe, PATH vaut /opt/team/bin:/usr/bin:/bin. Les deux premiers répertoires contiennent chacun un exécutable nommé report. Aucun alias, fonction ou commande interne ne porte ce nom. Qu’est-ce qui s’exécute ?
  1. L’exécutable /usr/bin/report
  2. Les deux exécutables, dans l’ordre de PATH
  3. L’exécutable /opt/team/bin/report
  4. L’exécutable ./report
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 7 sur 10

Un répertoire contient pic1.png et pic2.png. Qu’affiche echo "pic*.png" ?
  1. pic1.png pic2.png
  2. pic*.png
  3. pic1.png uniquement
  4. Une ligne vide
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 8 sur 10

region n’est pas définie. Tu exécutes region=west, puis bash -c 'echo $region'. Pourquoi le shell fils affiche-t-il une ligne vide ?
  1. Les guillemets simples empêchent tout développement dans le shell fils.
  2. Un autre shell Bash ne peut pas lire les noms en minuscules.
  3. La variable n’a pas été exportée dans l’environnement du fils.
  4. Un shell fils ne peut lire que les noms présents dans PATH.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 9 sur 10

Dans la configuration par défaut de Bash, le répertoire ne contient que les fichiers ordinaires item1.dat, item2.dat, item12.dat, .item3.dat, ainsi qu’un répertoire out vide. Tu exécutes cp item?.dat out/, puis mv out/item2.dat out/chosen.dat. Quels fichiers se trouvent dans out ?
  1. item1.dat, item2.dat et chosen.dat
  2. item1.dat, item12.dat et chosen.dat
  3. item1.dat et chosen.dat
  4. item1.dat, .item3.dat et chosen.dat
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 10 sur 10

PATH vaut initialement /usr/bin:/bin. Les fichiers exécutables /usr/bin/scan et /home/sam/bin/scan existent et aucun scan n’est défini dans le shell. Tu exécutes export PATH="$PATH:$HOME/bin" avec HOME égal à /home/sam. Depuis /home/sam/bin, que s’exécute-t-il pour scan et pour ./scan ?
  1. Nom seul : /usr/bin/scan ; chemin explicite : /home/sam/bin/scan.
  2. Les deux exécutent /usr/bin/scan.
  3. Nom seul : /home/sam/bin/scan ; chemin explicite : /usr/bin/scan.
  4. Les deux exécutent /home/sam/bin/scan.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Série 4 : Relie les chemins, les motifs et le comportement des commandes10 Questions Pratiques

Enregistre cette unité pour voir chaque réponse et t'entraîner sur chaque série.

Question 1 sur 10

ls signale unrecognized option '--time-sort'. Quelle est la vérification suivante la plus directe pour le programme GNU installé ?
  1. Exécuter pwd pour changer la règle de tri.
  2. Exécuter help ls pour une commande interne de Bash.
  3. Renommer le répertoire dont le contenu est listé.
  4. Lire ls --help pour connaître les options acceptées.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 2 sur 10

Tu veux un affichage détaillé avec des tailles lisibles, les entrées les plus volumineuses en premier, y compris les entrées cachées mais sans . ni ... Quelle commande GNU le fournit ?
  1. ls -lhS
  2. ls -lhAS
  3. ls -lhAt
  4. ls -lhAr
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 3 sur 10

Un résumé d’utilisation indique -d, --date=STRING. Dans touch --date=2026-02-18 checkpoint, quel est le rôle de 2026-02-18 ?
  1. Cette valeur désigne le répertoire de destination.
  2. Cette valeur sélectionne la section 2026 du manuel.
  3. Cette valeur fournit un deuxième argument de fichier.
  4. Cette valeur fournit la valeur de l’option de date.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 4 sur 10

Les noms sont clip.jpg, clip.JPG, clip.Jpg et clip.jpeg. Quels noms correspondent à clip.[jJ][pP][gG] ?
  1. clip.jpg et clip.jpeg
  2. clip.JPG et clip.Jpg
  3. Les quatre noms de fichiers
  4. Les trois noms se terminant par un suffixe jpg de trois lettres
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 5 sur 10

Tu dois examiner la commande sélectionnée par !cp sans l’exécuter. Quelle expression d’historique affiche seulement son développement ?
  1. !cp:p
  2. !!cp
  3. !cp$
  4. history -c
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 6 sur 10

Depuis /home/sam/jobs/run, ../data contient a.txt et /home/sam/store existe déjà. Tu exécutes cp -r ../data ../../store/, puis mv ../../store/data/a.txt ../../store/data/b.txt. Quel nouveau chemin contient la copie et où se trouve la source ?
  1. Copie : /home/sam/store/b.txt ; source : /home/sam/jobs/data/a.txt.
  2. Copie : /home/sam/store/data/b.txt ; source : /home/sam/jobs/data/a.txt.
  3. Copie : /home/sam/store/data/b.txt ; source : /home/sam/jobs/run/data/a.txt.
  4. Copie : /home/sam/jobs/store/data/b.txt ; source : /home/sam/store/data/a.txt.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 7 sur 10

area n’était pas définie. Tu exécutes area=north, export area, bash, puis, dans le shell fils, area=south et exit. Qu’affiche echo "$area" de retour dans le parent, et pourquoi ?
  1. south, car l’exportation lie les valeurs des deux shells.
  2. north, car le fils a reçu sa propre copie.
  3. Rien, car le fils a effacé la variable du parent.
  4. north south, car l’exportation combine leurs valeurs.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 8 sur 10

Dans la configuration par défaut de Bash, le répertoire ne contient que red1.tmp, red2.tmp, red10.tmp et un répertoire save vide. Après cp red[12].tmp save/ et mv save/red1.tmp save/final.txt, qu’affiche echo save/*.tmp ?
  1. save/red2.tmp
  2. save/red2.tmp save/red10.tmp
  3. save/final.txt save/red2.tmp
  4. save/red1.tmp save/red2.tmp
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 9 sur 10

Un exécutable checkup se trouve dans ton répertoire courant, qui est absent de PATH. Il n’existe aucune autre commande portant ce nom. Comment exécuter ce fichier ?
  1. export checkup
  2. PATH checkup
  3. ./checkup
  4. type checkup
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 10 sur 10

Depuis /home/sam/team/drafts, tu exécutes cd ../final, puis cd -, puis ls ../../photos. Tous les répertoires existent. Où te trouves-tu et quel répertoire l’affichage a-t-il examiné ?
  1. Dans /home/sam/team/final ; répertoire examiné : /home/sam/photos.
  2. Dans /home/sam/photos ; répertoire examiné : /home/sam/team/drafts.
  3. Dans /home/sam/team/drafts ; répertoire examiné : /home/sam/photos.
  4. Dans /home/sam/team/drafts ; répertoire examiné : /home/photos.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Série 5 : Résous plusieurs choix en ligne de commande10 Questions Pratiques

Enregistre cette unité pour voir chaque réponse et t'entraîner sur chaque série.

Question 1 sur 10

Tu sais que le rôle d’une commande concerne les répertoires, mais tu as oublié son nom. Comment rechercher le mot « directory » dans les descriptions du manuel installé ?
  1. whatis directory
  2. apropos directory
  3. help directory
  4. man directory
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 2 sur 10

Après tag=blue, qu’affiche echo '$tag' ?
  1. $tag
  2. tag=blue
  3. blue
  4. Une ligne vide
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 3 sur 10

Au départ, bundle n’existe pas. Tu exécutes mkdir -p bundle/raw bundle/log, touch bundle/raw/x, mv bundle/raw/x bundle/log/, puis rmdir -p bundle/raw. Que reste-t-il sous bundle ?
  1. Seulement raw, contenant x ; bundle reste présent.
  2. Seulement log, contenant x ; bundle reste présent.
  3. Les deux répertoires enfants vides ; x a été supprimé.
  4. Rien ; bundle et les deux répertoires enfants sont supprimés.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 4 sur 10

Bash, dans sa configuration par défaut, démarre dans un répertoire vide. Tu exécutes touch note{2..4}.txt, mkdir bin, mv note[24].txt bin/, puis echo note?.txt. Qu’est-ce qui s’affiche ?
  1. note2.txt note3.txt note4.txt
  2. note2.txt note4.txt
  3. note?.txt
  4. note3.txt
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 5 sur 10

PATH vaut /usr/bin:/bin, HOME vaut /home/sam, et des fichiers exécutables render existent dans /usr/bin et /home/sam/bin. Aucun alias, fonction ou commande interne ne s’appelle render. Après export PATH="$HOME/bin:$PATH", quel fichier externe render seul sélectionne-t-il et quelle est la valeur complète de PATH obtenue ?
  1. /usr/bin/render ; /usr/bin:/bin:/home/sam/bin
  2. /home/sam/bin/render ; /usr/bin:/bin:/home/sam/bin
  3. /usr/bin/render ; /home/sam/bin:/usr/bin:/bin
  4. /home/sam/bin/render ; /home/sam/bin:/usr/bin:/bin
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 6 sur 10

Un fichier s’appelle -review notes.txt. Quelle commande GNU ls unique demande ses détails tout en traitant le tiret initial et l’espace ?
  1. ls -l "-review notes.txt"
  2. ls -l -- -review notes.txt
  3. ls -l -- "-review notes.txt"
  4. ls-l ./-review\ notes.txt
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 7 sur 10

Dans la configuration par défaut de Bash, un répertoire ne contient que unit1.tmp, unit2.tmp, unit10.tmp, .unit3.tmp et final.txt, tous des fichiers ordinaires. Après vérification, tu exécutes rm -i unit?.tmp sans alias et réponds y à chaque demande. Quels fichiers ordinaires restent ?
  1. unit10.tmp et final.txt
  2. .unit3.tmp et final.txt
  3. unit1.tmp, unit2.tmp et final.txt
  4. unit10.tmp, .unit3.tmp et final.txt
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 8 sur 10

Immédiatement après mkdir -p samples/day7, tu exécutes pwd, puis echo !$. Que sélectionne le raccourci d’historique ?
  1. Le répertoire samples/day7
  2. Le chemin affiché par pwd
  3. Le mot pwd
  4. Le mot mkdir
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 9 sur 10

Depuis /home/sam, projects ne contient que .prefs et un répertoire src ; src contient main.c. Le répertoire archive existe et est vide. Tu exécutes ls projects, cp -r projects/src archive/, mv projects/src archive/live, puis rmdir projects. Que reste-t-il dans projects et archive ?
  1. Projects contient .prefs ; archive contient src/main.c et live/main.c.
  2. Projects contient .prefs et src/main.c ; archive contient live/main.c.
  3. Projects contient .prefs ; archive contient main.c et live/main.c.
  4. projects est supprimé ; archive contient src/main.c et live/main.c.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 10 sur 10

Avec HOME égal à /home/sam, tu définis dest="$HOME/Field Notes" et exécutes export dest. Un shell Bash fils exécute cd "$dest", puis définit dest=elsewhere et se ferme. Le répertoire existe. Dans quel chemin le fils est-il entré et quelle est ensuite la valeur de dest dans le parent ?
  1. Fils : /home/sam/Field Notes ; parent : /home/sam/Field Notes.
  2. Fils : /home/sam/Field ; parent : elsewhere.
  3. Fils : $HOME/Field Notes littéral ; parent : elsewhere.
  4. Fils : /home/sam/Field Notes ; parent : une valeur vide.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Tu bloques sur ton propre exercice ? Aide aux Devoirs

Mots-Clés

79 Mots-Clés, chacun avec sa définition

A

Affichage détaillé
Un affichage détaillé est la sortie demandée avec ls -l, qui montre des métadonnées comme le type, le propriétaire, le groupe, la taille et la date de modification.
ls -l notes.txt affiche les détails d’un seul fichier ; ajouter -h transforme une taille de 2 048 octets en 2.0K.
Affichage récursif
Un affichage récursif parcourt un répertoire et ses sous-répertoires en montrant les entrées de chaque emplacement sous un titre de chemin distinct.
ls -R projects affiche projects:, puis des titres pour les répertoires enfants comme projects/website:.
Aide de Bash
L’aide de Bash est l’interface de documentation intégrée des commandes Bash, accessible avec help suivi du nom d’une commande interne.
help export explique l’exportation des variables, tandis que help seul liste les commandes internes disponibles.
Aide rapide
L’aide rapide est un court résumé de l’utilisation et des options fourni par un programme, généralement avec l’option longue GNU --help.
Utilise mkdir --help pour trouver l’option de création des parents sans parcourir toute la page de manuel.
Alias
Un alias est un nom court défini dans le shell qui se développe en texte de commande, souvent pour ajouter des options par défaut à une commande existante.
Une distribution peut définir ls comme ls --color=auto ; type ls révèle ce texte de commande supplémentaire.
Aperçu du développement
Un aperçu du développement affiche les noms sélectionnés par un motif avant qu’une opération ne les modifie, ce qui aide à repérer des cibles plus nombreuses que prévu.
ls -d -- draft* affiche les entrées correspondantes elles-mêmes, afin que les répertoires correspondants soient visibles comme cibles.
apropos
apropos est une commande de recherche dans l’index du manuel qui trouve les noms de pages et les descriptions courtes correspondant à un mot-clé lié au rôle d’une commande.
apropos directory aide à identifier mkdir ou rmdir lorsque tu te souviens de la tâche mais pas du nom de la commande.
Argument
Un argument est une valeur transmise à une commande, par exemple un chemin sur lequel agir, un texte à afficher ou une valeur nécessaire à une option.
Dans cp report.txt saved/, les deux arguments de chemin désignent le fichier source et le répertoire de destination.

B

Bash
Bash, le Bourne Again Shell, est un interpréteur de commandes largement utilisé sous Linux, doté de commandes internes, de la complétion, de variables et d’un historique des commandes.
Bash fournit directement help cd parce que cd est une de ses commandes internes, et non un fichier de programme distinct.

C

Caractère générique
Un caractère générique est un caractère de motif qui correspond à une classe ou à une suite de caractères, comme * pour une suite ou ? pour un caractère.
Le motif part?.txt accepte part4.txt mais exclut un nom avec deux chiffres à l’emplacement du point d’interrogation.
Chemin absolu
Un chemin absolu commence par / et décrit un emplacement depuis le répertoire racine ; son sens ne dépend donc pas de ton emplacement courant.
/home/sam/photos désigne le même répertoire, que le shell se trouve dans /etc ou dans le répertoire personnel de sam.
Chemin explicite de la commande
Un chemin explicite de la commande contient une barre oblique et désigne directement l’emplacement d’un programme, en contournant la recherche dans les répertoires de PATH.
Depuis /home/sam/bin, ./backup et /home/sam/bin/backup désignent tous deux le même exécutable local.
Chemin relatif
Un chemin relatif décrit un emplacement depuis le répertoire de travail et ne commence pas par la barre oblique qui rattache un chemin absolu à la racine.
Depuis /home/sam/projects, ../photos atteint le répertoire photos de sam en remontant puis en descendant.
Classe de caractères
Une classe de caractères désigne un groupe de caractères selon les règles des paramètres régionaux, comme [[:digit:]] pour les chiffres ou [[:lower:]] pour les minuscules.
Une classe de minuscules peut inclure d’autres lettres que les lettres ASCII de a à z, selon les paramètres régionaux courants.
Commande
Une commande est une instruction dont le premier mot désigne une fonction du shell ou un programme, suivi d’éventuelles options et d’éventuels arguments.
Dans ls -l /var, le nom de la commande est ls ; les mots restants contrôlent l’affichage et en désignent la cible.
Commande interne
Une commande interne est une commande intégrée au shell lui-même ; son exécution ne nécessite donc pas de trouver un fichier de programme distinct.
type cd indique une commande interne et help cd fournit la documentation de la commande Bash qui change de répertoire.
Composant de chemin
Un composant de chemin est un nom situé entre des barres obliques dans un chemin ; les caractères génériques ordinaires correspondent à des noms à l’intérieur d’un composant sans franchir /.
data/*.csv sélectionne directement dans data ; ce motif ne sélectionne pas aussi les noms correspondants sous data/old.
Compte root
Le compte root est le compte administrateur du système, doté de droits étendus pour modifier les fichiers et les paramètres système.
Une invite se terminant par # indique root par convention ; le travail ordinaire doit utiliser un compte ordinaire.
Copie
Une copie crée une autre instance des données d’un fichier à une destination tout en laissant la source en place, comme le demande cp.
cp memo.txt stored/ crée stored/memo.txt lorsque stored existe, tout en laissant le mémo original à sa place.
Copie en mode archive
Une copie en mode archive est une copie récursive demandée avec cp -a qui conserve les attributs des fichiers, ce qui est utile pour copier une arborescence de répertoires.
cp -a site site-backup conserve les attributs de l’arborescence au lieu de la traiter comme une copie ordinaire de fichier nouvellement créée.

D

Date de modification
Une date de modification indique quand le contenu d’un fichier a été modifié pour la dernière fois ; ls -t l’utilise pour trier les entrées de la plus récente à la plus ancienne.
Exécuter touch met à jour cet horodatage sans changer les données du fichier et peut donc modifier l’ordre chronologique.
Déplacement
Un déplacement change le nom ou l’emplacement d’un fichier ou d’un répertoire, à l’aide de mv sans l’option récursive nécessaire à la copie d’une arborescence.
mv memo.txt stored/ place le fichier existant dans stored : son ancien chemin ne désigne donc plus ce fichier déplacé.
Destination
Une destination est l’emplacement cible ou le nouveau nom d’une opération ; son type, lorsqu’elle existe déjà, aide à déterminer le résultat d’une copie ou d’un déplacement.
Si archive est absent, mv notes.txt archive utilise archive comme nouveau nom de fichier au lieu de créer un répertoire.
Développement de l’historique
Le développement de l’historique réécrit les expressions contenant un point d’exclamation en texte de commande antérieur avant l’exécution, comme !! pour la commande précédente.
Immédiatement après mkdir drafts, cd !$ réutilise le dernier argument, mais une autre commande intercalée le change.
Développement des accolades
Le développement des accolades génère des mots à partir de choix indiqués ou d’une séquence sans vérifier l’existence de fichiers, comme dans file{1..3}.txt.
mkdir work/{src,docs} reçoit deux noms de répertoires générés, même si aucun des deux enfants n’existe encore.
Développement des noms de fichiers
Le développement des noms de fichiers est une fonction du shell qui remplace un motif sans guillemets par les noms existants correspondants avant l’exécution de la commande.
Avec deux journaux correspondants, ls *.log reçoit deux noms de fichiers plutôt que le motif littéral contenant un astérisque.
Développement des variables
Le développement des variables remplace un nom précédé d’un signe dollar par sa valeur ; les accolades peuvent délimiter le nom et les guillemets doubles conserver les espaces internes.
echo "${city}_trip" ajoute du texte à la valeur de city, tandis que $city_trip lirait un autre nom de variable.
Développement du tilde
Le développement du tilde remplace un ~ sans guillemets au début d’un mot du shell par un chemin de répertoire personnel, ce qui facilite la saisie des chemins qui en partent.
cd ~/Documents atteint ton répertoire de documents depuis n’importe où, mais protéger le tilde par des guillemets empêche cette substitution.
Documentation du paquet
La documentation du paquet est un ensemble d’informations supplémentaires installées avec un logiciel, souvent stockées sous /usr/share/doc/ dans un répertoire propre au paquet.
Lister /usr/share/doc/bash peut révéler des fichiers README, des journaux des modifications, un texte de licence et des exemples.

E

Entrée cachée
Une entrée cachée est un fichier ou un répertoire dont le nom commence par un point, ce qui conduit ls à l’omettre par défaut dans son affichage ordinaire.
Le fichier de configuration .bashrc apparaît avec ls -a, même si un affichage ordinaire du répertoire personnel l’omet.
Environnement
L’environnement est l’ensemble des valeurs nommées qu’un processus transmet aux programmes qu’il lance, afin qu’ils reçoivent des paramètres au démarrage.
Un programme nouvellement lancé peut lire HOME dans son environnement pour trouver le répertoire personnel du compte.
Exécutable
Un exécutable est un fichier qui peut être lancé comme programme et qui nécessite un droit d’exécution en plus d’un emplacement approprié.
Un exécutable nommé backup dans le répertoire courant peut être lancé avec ./backup lorsque son répertoire est absent de PATH.
export
export est la commande interne de Bash qui marque une variable pour l’inclure dans l’environnement des programmes fils lancés par la suite.
Modifier une variable exportée dans un fils ne change pas la copie du parent ; chaque processus détient sa propre valeur.
Expression entre crochets
Une expression entre crochets correspond à un caractère d’un ensemble ou d’une plage indiqués ; un ! ou un ^ initial inverse cet ensemble.
part[13].txt correspond aux noms ayant 1 ou 3 à cet endroit, mais pas à la terminaison à deux chiffres 13.

É

Écrasement
Un écrasement remplace le contenu d’un fichier de destination existant au cours d’une opération, ce que cp ou mv sans option peut faire sans demander confirmation.
Utilise cp -i notes.txt saved.txt pour demander confirmation avant de remplacer saved.txt lorsqu’un fichier portant ce nom existe déjà.

F

Fichier
Un fichier est un objet nommé qui contient des données, comme du texte, une image ou des instructions de programme, dans l’arborescence des répertoires Linux.
Un programme peut identifier un PDF à partir de son contenu même si son nom de fichier ne se termine pas par .pdf.
Fichier d’historique
Un fichier d’historique stocke l’historique des commandes entre les sessions, normalement à ~/.bash_history ; son chemin est contenu dans HISTFILE.
Deux terminaux ouverts peuvent afficher des listes actives différentes même s’ils enregistrent normalement dans le même fichier d’historique.
Fichier de démarrage
Un fichier de démarrage contient des paramètres lus au lancement d’un shell ; Bash utilise des fichiers différents pour les shells de connexion et les shells interactifs qui ne sont pas des shells de connexion.
Une exportation dans ~/.bashrc est lue par un nouveau shell Bash interactif qui n’est pas un shell de connexion ; un profil de connexion peut aussi charger ce fichier.

H

HISTCONTROL
HISTCONTROL est un paramètre de Bash qui détermine les lignes de saisie exclues de l’historique, comme les commandes répétées ou commençant par un espace.
La valeur ignoreboth combine ignorespace et ignoredups ; un autre shell peut utiliser un réglage différent.
Historique des commandes
L’historique des commandes est l’enregistrement par le shell des lignes saisies auparavant, que l’on peut lister, rechercher, rappeler, modifier et réexécuter.
Appuie sur la flèche haut pour rappeler une commande de copie précédente, change sa destination et examine la ligne modifiée avant d’appuyer sur Entrée.
Horodatage
Un horodatage enregistre une date et une heure associées à un événement concernant un fichier, comme la modification de son contenu ou son accès ; des commandes peuvent consulter ou mettre à jour ces valeurs.
touch -d 2025-01-31 old.txt demande une date choisie au lieu d’utiliser l’heure actuelle pour la mise à jour.

I

Invite de commande
Une invite de commande est un texte qui indique qu’un shell est prêt à recevoir une saisie ; sa présentation peut indiquer le compte, l’hôte et le répertoire courant.
Dans sam@laptop:~$, le tilde indique le répertoire personnel et le signe dollar final indique généralement un utilisateur ordinaire.

M

Manuel Info
Un manuel Info est un document de référence composé de pages liées, utilisé par les projets GNU et organisé en nœuds que l’on peut parcourir depuis un terminal.
info coreutils ouvre un manuel plus long ; n, p et u permettent de se déplacer entre ses nœuds liés.
Message d’erreur
Un message d’erreur signale l’échec d’une opération et indique généralement la commande, l’objet concerné et la raison pour laquelle elle n’a pas pu se poursuivre.
Un message No such file or directory produit par ls invite à vérifier le chemin, la casse et le répertoire de travail.
Métadonnées
Les métadonnées sont des informations sur un fichier ou un répertoire, comme son type, son propriétaire, son groupe, ses droits, sa taille et ses horodatages, et non son contenu.
Un affichage détaillé peut montrer quand un rapport a changé sans afficher son texte.
mkdir
mkdir est la commande de création de répertoires ; son option -p crée les parents manquants et accepte les composants du chemin déjà présents comme répertoires.
mkdir -p app/css prépare les deux répertoires si app manque, afin qu’un fichier puisse ensuite être créé dans css.
Motif de nom de fichier sans correspondance
Un motif de nom de fichier sans correspondance est un motif auquel aucune entrée ne correspond et que Bash laisse par défaut inchangé comme argument de la commande.
Sans fichier PDF présent, echo *.pdf affiche le motif tandis que ls *.pdf signale que ce chemin littéral est absent.
Motif littéral
Un motif littéral est un texte de motif transmis inchangé à une commande, par exemple parce que des guillemets ont protégé ses caractères génériques.
echo "*.txt" affiche l’astérisque et le suffixe même si le répertoire contient des fichiers qui leur correspondraient.

O

Option
Une option est un argument qui modifie le comportement d’une commande, généralement écrit sous la forme d’un tiret et d’une lettre ou d’un nom précédé de deux tirets.
L’option -l indique à ls de produire un affichage détaillé au lieu d’afficher seulement les noms.
Option de forçage
L’option de forçage, -f dans rm de GNU, supprime les demandes de confirmation et ignore les noms inexistants, ce qui rend la vérification de l’expression cible encore plus nécessaire.
Ajouter -f ne fournit aucun moyen de récupération ; cette option change seulement le traitement des questions et des noms inexistants lors de la suppression.
Ordre de recherche
L’ordre de recherche détermine quel fichier de programme correspondant est sélectionné ; lors d’une nouvelle recherche, les répertoires placés plus tôt dans PATH sont prioritaires.
Placer ton répertoire bin personnel en premier peut sélectionner ton programme avant un fichier de même nom dans /usr/bin.

P

Page de manuel
Une page de manuel est un document de référence sur une commande ou une fonction du système, généralement organisé en rubriques nommées comme SYNOPSIS et DESCRIPTION.
man ls ouvre la référence de la commande d’affichage, où tu peux rechercher une option dont tu as besoin.
Pageur
Un pageur affiche le texte un écran à la fois et fournit des touches de déplacement et de recherche pour lire des documents plus longs que la fenêtre du terminal.
Le pageur habituel de man permet de rechercher avec /size, de parcourir les correspondances avec n et de quitter avec q.
Paramètres régionaux
Les paramètres régionaux sont un ensemble de réglages linguistiques et régionaux qui peuvent influer sur les messages des programmes, le format des dates, l’ordre de tri et les classes de caractères.
Deux systèmes peuvent classer différemment les noms de fichiers en majuscules et en minuscules parce que leurs paramètres régionaux diffèrent.
PATH
PATH est une variable d’environnement qui liste des répertoires séparés par des deux-points, parcourus de gauche à droite pour rechercher une commande externe nommée sans /.
Ajouter :$HOME/bin à la fin conserve les répertoires précédents et leur priorité lorsqu’un nom de programme apparaît deux fois.
Protection des caractères
La protection des caractères empêche certaines interprétations par le shell et permet de conserver des espaces ou des caractères spéciaux dans un seul argument.
Les guillemets dans ls "Work Plan.txt" gardent l’espace dans le nom du fichier au lieu de le découper en deux mots.

R

Recherche inversée
Une recherche inversée recherche du texte en remontant l’historique des commandes ; dans Bash, elle utilise Ctrl+R, que l’on répète pour atteindre des correspondances plus anciennes.
Saisir un fragment de chemin après Ctrl+R peut permettre de trouver une longue commande même si tu ne te souviens pas de son premier mot.
Répertoire
Un répertoire est un objet qui contient des entrées nommées pour des fichiers et d’autres répertoires ; un gestionnaire de fichiers graphique l’appelle généralement dossier.
Le répertoire /home/sam/projects peut contenir à la fois notes.txt et un répertoire enfant nommé website.
Répertoire de travail
Le répertoire de travail est l’emplacement courant du shell dans l’arborescence et le point de départ utilisé pour interpréter les chemins relatifs.
Après cd projects, le nom relatif notes.txt désigne un fichier dans ce répertoire nouvellement sélectionné.
Répertoire parent
Un répertoire parent est le répertoire situé un niveau au-dessus d’un autre dans un chemin ; le nom spécial .. désigne ce parent.
Depuis /home/sam/projects/website, un .. mène à projects, tandis que deux mènent au répertoire personnel de sam.
Répertoire personnel
Un répertoire personnel est l’emplacement propre à un compte pour ses fichiers et ses paramètres, généralement /home/username pour un utilisateur Linux ordinaire.
Pour sam, ~ se développe en /home/sam ; /home seul est le répertoire qui contient les répertoires personnels des utilisateurs.
Répertoire racine
Le répertoire racine, noté /, est le point de départ de l’arborescence unique du système de fichiers Linux, au-dessus de tout autre chemin absolu.
Le chemin /etc commence au répertoire racine ; il ne désigne pas un enfant de ton répertoire de travail courant.
Résolution des commandes
La résolution des commandes est le processus par lequel le shell associe un nom à une fonction du shell ou à un exécutable externe dans son chemin de recherche.
type echo peut indiquer la commande interne de Bash avant un fichier echo externe qui existe aussi dans un répertoire de PATH.
rm
rm est la commande de suppression des fichiers, dotée d’une option récursive pour les arborescences de répertoires ; elle ne déplace pas les cibles dans une corbeille.
rm -i old.txt demande confirmation avant de supprimer ce fichier, ce qui te permet de refuser l’action.
rmdir
rmdir est une commande qui supprime les répertoires vides et refuse une cible qui contient des entrées de fichiers ordinaires ou cachées.
Si rmdir cache signale un contenu non vide alors que ls sans option semble vide, utilise ls -A cache pour vérifier les entrées cachées.

S

Section du manuel
Une section du manuel est un groupe numéroté de pages qui distingue des sujets comme les commandes utilisateur, les formats de fichiers et les commandes d’administration.
Un même nom peut avoir plusieurs pages ; man 5 passwd sélectionne la page du format de fichier plutôt que celle de la commande.
Sensibilité à la casse
La sensibilité à la casse signifie que les majuscules et les minuscules sont distinctes lors de la recherche de noms : leur usage peut donc changer l’objet sélectionné.
Les noms Plans et plans peuvent désigner des répertoires différents ; la complétion aide à respecter la casse.
Shell
Un shell est un programme qui interprète les commandes saisies et lance le travail demandé, à l’aide de ses propres fonctions ou d’autres programmes.
Bash interprète pwd dans une session de terminal et affiche le répertoire où le shell travaille.
Source
Une source est le fichier ou le répertoire dont une opération prend les données ou l’objet ; elle précède la destination dans les formes de base de cp et mv.
Dans cp notes.txt archive/, notes.txt fournit les données et archive/ indique où placer la copie.
Suppression interactive
Une suppression interactive demande confirmation avant de continuer ; rm -i de GNU pose une question distincte pour chaque cible.
Pour une sélection de fichiers temporaires vérifiée, rm -i *.tmp demande confirmation pour les noms correspondants avant de les supprimer.
Suppression récursive
Une suppression récursive supprime un répertoire et son contenu, y compris les répertoires imbriqués, comme le demande rm -r de GNU.
Utilise rmdir old-cache lorsqu’un élément enfant inattendu doit arrêter le nettoyage au lieu d’être supprimé avec son parent.
SYNOPSIS
Le SYNOPSIS est la forme d’appel compacte d’une page de manuel ; il montre le texte littéral de la commande, les valeurs à remplacer, les éléments facultatifs et les répétitions.
La forme mkdir [OPTION]... DIRECTORY... autorise des options facultatives mais exige au moins un nom de répertoire.

T

Taille en unités lisibles
Une taille en unités lisibles utilise des unités compactes comme K, M et G au lieu d’un long nombre d’octets, comme le demande ls -h de GNU.
Combine -h avec -l : le premier formate les tailles, tandis que le second fournit la colonne qui les affiche.
Terminal
Un terminal est l’interface qui affiche une session textuelle et accepte la saisie au clavier, souvent sous la forme d’une fenêtre dans laquelle s’exécute un shell.
Ouvrir un second terminal peut lancer un shell distinct avec son propre répertoire de travail et son propre historique.
touch
touch est une commande qui met à jour les horodatages des fichiers existants ou crée des fichiers vides lorsque les noms demandés n’existent pas.
touch checklist.txt conserve le texte d’une liste existante ; la commande ne vide pas le fichier avant de mettre à jour ses dates.

V

Variable
Une variable est une valeur nommée utilisée par le shell, affectée avec name=value et lue par un développement comme $name.
Après topic=linux, echo "$topic" affiche la valeur stockée, tandis que unset topic supprime la variable.
Variable d’environnement
Une variable d’environnement est une valeur nommée mise à la disposition des programmes fils nouvellement lancés, souvent en marquant une variable du shell avec export.
export city permet à un shell Bash fils lancé ensuite de lire la valeur de city auparavant détenue uniquement par le parent.
Variable du shell
Une variable du shell est une valeur nommée détenue par un shell ; une affectation ordinaire non exportée ne transmet pas cette valeur aux programmes nouvellement lancés.
Définir city=Lisbon seul ne fournit pas cette valeur à un nouveau shell Bash fils, sauf si city est déjà exportée.

W

whatis
whatis est une commande de consultation qui affiche la description indexée en une ligne d’un nom connu de page de manuel, sans ouvrir son texte complet.
whatis ls donne une courte description de son rôle ; man ls fournit la référence plus longue lorsque tu as besoin de détails.

À propos de cette unité

Par StudeliSignaler une erreur

Crée ton propre Matériel d'Étude

Transforme tes notes, diapos et documents en Guides d'Étude, Questions Pratiques, Flashcards et 6 autres outils.

Commencer