Vous voulez copier et coller sur la ligne de commande du shell Bash? Nous allons vous montrer plusieurs techniques que vous préfériez le clavier ou la souris. Celles-ci fonctionnent que vous soyez sur un bureau graphique ou sur un TTY textuel traditionnel.
Table des matières
Les raccourcis clavier habituels ne fonctionnent pas
Copier et coller du texte est un élément essentiel de l’utilisation d’un ordinateur. Lorsque les gens utilisent un ordinateur Linux pour les premières fois, qu’ils proviennent du monde Windows ou macOS, ils sont souvent déconcertés lorsqu’ils essaient de copier et coller dans une fenêtre de terminal.
Sous Windows, vous utilisez Ctrl + C pour copier une section de texte en surbrillance et Ctrl + V pour la coller. Dans macOS, vous utilisez Commande + C pour le copier et Commande + V pour le coller. Ils suivent la même convention de C pour copier et V pour insérer.
Ces mêmes frappes fonctionnent dans la plupart des applications graphiques Linux, telles que l’éditeur gedit ou la LibreOffice suite bureautique Ctrl + C copie le texte en surbrillance et Ctrl + V le colle au curseur. Notre nouveau venu sur Linux ne pense même pas au fait que ces conventions ont été appliquées à ces applications. Ils utilisent les touches de la mémoire musculaire et poursuivent leur travail.
Une fois que notre nouveau venu ouvre une fenêtre de terminal et essaie de copier et coller au Coque Bash invite de commande, que tout change. Ctrl + C et Ctrl + V étaient des fonctions allouées bien avant que le copier-coller ne soit envisagé. En fait, ces frappes ont été recrutées bien avant l’invention des coques graphiques, à l’époque où un télétype (TTY) était une chose physique.
Ctrl + C et Ctrl + V dans les TTY
Lorsqu’un TTY était un appareil physique, Ctrl + C était choisi comme combinaison de touches pratique pour générer un signal. Ce signal est SIGINT, qui indique au processus en cours de se terminer. Étant donné qu’une fenêtre de terminal est un TTY émulé, cette combinaison de touches (et bien d’autres) a été préservée et répliquée dans l’émulation. Notez que c’est la fenêtre du terminal qui est l’émulation. Le shell Bash est un programme exécuté dans ce TTY émulé.
Nous pouvons facilement voir les fonctions qui ont été allouées à Ctrl + C et Ctrl + V. Supposons que vous tapez la commande suivante et appuyez sur « Entrée ».
ls -R /
Comme nous utilisons l’option -R (récursive), la commande ls commencera à lister tous les fichiers et répertoires, en commençant par le répertoire racine. Après quelques instants, vous réalisez que ce n’est pas ce que vous vouliez, alors vous terminez le processus en appuyant sur Ctrl + C.
Ctrl+C
Le processus ls est terminé. La preuve visible de Ctrl + C est mise en évidence dans la capture d’écran. Il s’affiche sous la forme ^ C.
La combinaison de touches Ctrl + V appelle «insertion verbatim». Cela vous permet d’entrer une représentation d’une touche dans ce que vous tapez, au lieu d’obtenir l’effet de la touche. Pour voir cela, essayez les commandes suivantes (ne tapez pas les virgules). (Par exemple, pour essayer le premier, appuyez sur Ctrl + V, puis sur Entrée.)
Ctrl+V, Enter
Ctrl+V, PgDn
Ctrl+V, RightArrow
Ctrl+V, Esc
En bref, vous remarquerez peut-être que Enter est représenté par ^ M. Nous avons vu précédemment que Ctrl + C apparaissait comme ^ C. Il semblerait que ^ représente Ctrl. Donc, Ctrl + M signifie probablement la même chose que Entrée. Cela signifie-t-il que nous pouvons entrer Entrée en tapant Ctrl + M? Essayez-le dans une fenêtre de terminal. Vous verrez que c’est le cas.
Donc, nous ne pouvons évidemment pas nous attendre à ce que Ctrl + C et Ctrl + V effectuent des copier-coller de texte alors qu’ils ont déjà des fonctions consacrées par le temps. Alors, que pouvons-nous utiliser?
Ctrl + Maj + C et Ctrl + Maj + V
Facilement mémorisables car ils sont très similaires à leurs homologues, Ctrl + Maj + C et Ctrl + Maj + V sont des remplacements directs pour Ctrl + C et Ctrl + V.
Si vous mettez en surbrillance du texte dans la fenêtre du terminal avec votre souris et appuyez sur Ctrl + Maj + C, vous copiez ce texte dans un tampon de presse-papiers.
Ctrl+Shift+C
Vous pouvez utiliser Ctrl + Maj + V pour coller le texte copié dans la même fenêtre de terminal ou dans une autre fenêtre de terminal.
Ctrl+Shift+V
Vous pouvez également coller dans une application graphique telle que gedit. Mais notez que lorsque vous collez dans une application – et non dans une fenêtre de terminal – vous devez utiliser Ctrl + V.
Et vous pouvez aussi aller dans l’autre sens. Vous pouvez mettre du texte en surbrillance dans gedit et appuyer sur Ctrl + C, puis le coller dans une fenêtre de terminal en utilisant Ctrl + Maj + V.
La combinaison de touches Ctrl + Insérer est la même que Ctrl + Maj + C, et la combinaison Maj + Insérer est la même que Ctrl + Maj + V. La mise en garde ici est que ceux-ci ne peuvent être utilisés que dans la même fenêtre de terminal.
Utilisation de la souris: clic droit
Vous pouvez utiliser la souris pour copier et coller dans une fenêtre de terminal. Vous devez utiliser la souris pour mettre en surbrillance le texte que vous allez copier, alors pourquoi ne pas l’utiliser pour effectuer les actions de copier-coller?
Une fois que vous avez mis en surbrillance du texte, cliquez avec le bouton droit de la souris et sélectionnez «Copier» dans le menu contextuel.
Pour coller le texte copié, cliquez à nouveau avec le bouton droit de la souris et sélectionnez «Coller» dans le menu contextuel.
Le texte est collé à la position du curseur sur la ligne de commande. Dans cet exemple, le chemin relatif n’a pas été donné correctement et Bash ne peut pas changer de répertoire. L’utilisateur a manqué le «~ /» depuis le début du chemin. Ils ont tapé le «~ /», puis copié le reste du chemin de leur tentative précédente et l’ont collé dans leur deuxième ligne de commande.
Lorsqu’ils appuient sur Entrée, ils sont déplacés vers le répertoire.
Cet exemple montre le collage dans la même fenêtre de terminal, mais vous pouvez utiliser cette technique du clic droit pour coller dans différentes fenêtres de terminal. Vous pouvez également coller dans des applications graphiques en utilisant cette méthode.
Utilisation de la souris: bouton central
Il existe un moyen encore plus rapide de copier et coller à l’aide de la souris, à condition que votre souris ait un bouton central. Si vous appuyez (doucement!) Sur votre molette de défilement et qu’elle clique, vous avez un bouton central.
Mettez en surbrillance du texte dans une fenêtre de terminal, puis appuyez sur le bouton du milieu. Le texte en surbrillance est collé à la position du curseur sur la ligne de commande. Le copier-coller se produit en même temps.
Alors, mettez du texte en surbrillance:
Appuyez ensuite sur le bouton du milieu:
Vous pouvez utiliser cette méthode pour coller entre différentes fenêtres de terminaux et dans des applications graphiques également. Mettez simplement le texte en surbrillance, passez à l’autre fenêtre de terminal ou application et appuyez sur le bouton du milieu.
Old School – Pas de souris
Et quand vous n’avez pas de souris? Si vous ne pouvez mettre aucun texte en surbrillance, comment pouvez-vous le copier et le coller?
Les serveurs Linux sont souvent configurés sans environnement de bureau graphique (GDE), ce qui signifie que vous n’avez pas accès à une souris. Même sur un ordinateur Linux qui exécute un environnement de bureau graphique comme GNOME et que vous avez une souris, il y aura des cas où vous ne pourrez pas utiliser la souris pour mettre du texte en surbrillance.
Par exemple, vous avez peut-être basculé vers l’un des TTY supplémentaires. Sur les distributions modernes, celles-ci sont situées entre Ctrl + Alt + F3 (TTY3) jusqu’à Ctrl + Alt + F6 (TTY6). (Ctrl + Alt + F2 vous ramènera à votre session GDE et Ctrl + Alt + F1 vous amènera à l’écran de connexion de votre GDE.)
Peut-être que vous utilisez même un véritable périphérique matériel TTY pour vous connecter à un ordinateur Linux ou Unix.
Quoi qu’il en soit, ces techniques fonctionneront pour vous. Le point à retenir ici est qu’il ne s’agit pas de copier-coller, mais de couper, de copier et de coller, et que vous ne pouvez couper et copier qu’à partir de la ligne de commande actuelle. Bien sûr, vous pouvez utiliser les touches fléchées pour faire défiler votre historique et trouver la ligne de commande à partir de laquelle vous souhaitez couper, copier et coller.
Les frappes que vous pouvez utiliser sont:
Ctrl + W: Coupez le mot avant le curseur et ajoutez-le au tampon du presse-papiers.
Ctrl + K: coupe la partie de la ligne après le curseur et l’ajoute au tampon du presse-papiers. Si le curseur est au début de la ligne, il coupera et copiera la ligne entière.
Ctrl + U: coupez la partie de la ligne avant le curseur et ajoutez-la au tampon du presse-papiers. Si le curseur est à la fin de la ligne, il coupera et copiera la ligne entière.
Ctrl + Y: collez le dernier texte coupé et copié.
Passons à TTY3. (Utilisez Ctrl + Alt + F1 pour revenir à votre bureau par la suite.)
Ctrl+Alt+F3
tty
Nous avons un fichier que nous souhaitons supprimer, vérifions qu’il est ici.
ls -l file_to_delete.txt
Si nous utilisons la touche Flèche vers le haut, nous appellerons la dernière commande que nous avons utilisée dans l’historique des commandes. Nous pourrions simplement éditer cette ligne, mais le but est de démontrer le couper, copier et coller, nous allons donc accomplir notre tâche de supprimer le fichier de manière légèrement prolongée.
Nous allons déplacer le curseur sur la première lettre du nom du fichier, puis appuyer sur Ctrl + K. Cela supprimera cette partie de la ligne et copiera le texte dans la mémoire tampon du presse-papiers.
Nous allons appuyer sur Retour arrière jusqu’à ce que nous effacions la ligne.
Nous allons taper le rm pour supprimer le fichier.
Et maintenant, nous pouvons appuyer sur Ctrl + Y et coller dans le reste de la ligne.
Ceci termine notre commande et nous pouvons appuyer sur Entrée pour supprimer le fichier.
Ce type de couper, copier et coller ne peut pas être utilisé entre les TTY supplémentaires. Vous ne pouvez pas couper, copier et coller entre TTY3 et TTY4, par exemple.
Les ATS supplémentaires sont mieux considérés comme une ligne d’ATS physiques assis côte à côte. Il n’y a aucun moyen de couper et coller entre les différents terminaux physiques, et il n’y a aucun moyen de le faire dans ces émulations.
Copiez ça, contrôlez
Quelle que soit la situation dans laquelle vous vous trouvez lorsque vous utilisez un ordinateur Linux, il y aura un moyen de copier et coller. Vous avez des options. Certains d’entre eux sont des options étranges, mais au moins il y a des options.