Comment copier et coller du texte sur le shell Bash de Linux



Vous souhaitez reproduire des portions de texte dans l’invite de commande Bash ? Nous allons explorer différentes méthodes, que vous préfériez l’utilisation du clavier ou de la souris. Ces techniques sont valables, que vous soyez dans un environnement graphique ou dans un terminal textuel standard.

Pourquoi les raccourcis clavier habituels ne fonctionnent pas

La possibilité de copier et coller est essentielle pour l’utilisation d’un ordinateur. Les utilisateurs qui découvrent Linux, qu’ils viennent de Windows ou de macOS, sont souvent surpris lorsque leurs tentatives de copier-coller dans un terminal échouent.

Sous Windows, on utilise généralement Ctrl+C pour la copie et Ctrl+V pour le collage. Sur macOS, les raccourcis équivalents sont Commande+C et Commande+V. La logique est la même : « C » pour copier et « V » pour insérer.

Ces combinaisons fonctionnent dans la majorité des applications graphiques sous Linux, comme l’éditeur gedit ou la suite bureautique LibreOffice. Ctrl+C copie le texte sélectionné et Ctrl+V le colle à l’emplacement du curseur. Les nouveaux utilisateurs de Linux n’ont pas à réfléchir à l’existence de ces conventions; ils utilisent les raccourcis par habitude.

Cependant, lorsqu’un nouvel utilisateur ouvre un terminal et tente de copier-coller dans l’invite de commande Bash, tout change. Les combinaisons Ctrl+C et Ctrl+V avaient déjà des fonctions attribuées bien avant l’invention du copier-coller. En réalité, ces raccourcis étaient utilisés bien avant l’apparition des environnements graphiques, à l’époque où le télétype (TTY) était une entité physique.

Ctrl+C et Ctrl+V dans les TTY

Lorsque le TTY était un appareil physique, Ctrl+C était la combinaison de touches utilisée pour envoyer un signal. Ce signal est le SIGINT, qui demande au processus en cours de s’interrompre. Étant donné qu’une fenêtre de terminal émule un TTY, cette combinaison de touches (ainsi que de nombreuses autres) a été préservée dans cette émulation. Il est important de noter que l’émulation se fait au niveau de la fenêtre de terminal, tandis que le shell Bash est un programme qui s’exécute au sein de ce TTY émulé.

Il est facile de visualiser les actions attribuées à Ctrl+C et Ctrl+V. Imaginez que vous saisissez la commande suivante et que vous appuyez sur « Entrée » :

ls -R /

En utilisant l’option -R (récursive), la commande ls commence à lister l’ensemble des fichiers et dossiers, en commençant par la racine. Après quelques secondes, si vous vous rendez compte que ce n’est pas ce que vous vouliez faire, vous pouvez mettre fin au processus en appuyant sur Ctrl+C.

Ctrl+C

Le processus ls est alors interrompu. La preuve de l’action Ctrl+C apparaît à l’écran sous la forme ^C.

La combinaison de touches Ctrl+V active « l’insertion littérale ». Cela permet d’introduire dans le texte une représentation d’une touche plutôt que son action. Pour voir cela en pratique, essayez les commandes suivantes (ne tapez pas les virgules). Par exemple, pour la première, appuyez sur Ctrl+V, puis sur Entrée.)

Ctrl+V, Enter
Ctrl+V, PgDn
Ctrl+V, RightArrow
Ctrl+V, Esc

Vous remarquerez que la touche Entrée est représentée par ^M. De même, nous avons vu que Ctrl+C est affiché comme ^C. Il semble que ^ représente Ctrl. Par conséquent, Ctrl+M équivaut probablement à la touche Entrée. Cela signifie-t-il qu’il est possible de simuler un « Entrée » en tapant Ctrl+M ? Essayez dans un terminal, vous verrez que c’est le cas.

Il est clair que l’on ne peut pas demander à Ctrl+C et Ctrl+V de copier-coller du texte, car elles ont déjà des fonctions établies de longue date. Alors, quelles sont les options disponibles ?

Ctrl+Maj+C et Ctrl+Maj+V

Similaires aux raccourcis classiques, mais avec la touche Maj, Ctrl+Maj+C et Ctrl+Maj+V sont les équivalents directs de Ctrl+C et Ctrl+V pour le copier-coller.

Si vous sélectionnez du texte dans le terminal avec votre souris et que vous appuyez sur Ctrl+Maj+C, ce texte sera copié dans le presse-papier.

Ctrl+Shift+C

Vous pouvez utiliser Ctrl+Maj+V pour coller le texte copié dans le même terminal ou dans un autre.

Ctrl+Shift+V

Vous pouvez également coller dans une application graphique comme gedit. Toutefois, il est important de noter que lorsque vous collez dans une application (et non dans une fenêtre de terminal), vous devez utiliser Ctrl+V.

Et inversement, vous pouvez sélectionner du texte dans gedit et appuyer sur Ctrl+C, puis le coller dans un terminal à l’aide de Ctrl+Maj+V.

Les raccourcis Ctrl+Insertion équivalent à Ctrl+Maj+C, et Maj+Insertion correspond à Ctrl+Maj+V. Il est important de préciser que ces raccourcis ne sont valables que dans la même fenêtre de terminal.

Utilisation de la souris : clic droit

Il est également possible de copier-coller dans un terminal à l’aide de la souris. Une fois que vous sélectionnez du texte avec la souris, vous pouvez utiliser celle-ci pour les actions de copie et de collage.

Après avoir mis en surbrillance du texte, cliquez avec le bouton droit de la souris et choisissez « Copier » dans le menu contextuel.

Pour coller le texte copié, cliquez à nouveau avec le bouton droit de la souris et choisissez « Coller » dans le menu contextuel.

Le texte est collé à l’emplacement du curseur dans la ligne de commande. Dans cet exemple, le chemin relatif n’était pas correct, et Bash n’a pas pu changer de répertoire. L’utilisateur avait omis le « ~/ » au début du chemin. Il a ensuite tapé le « ~/ » et a copié-collé le reste du chemin de sa tentative précédente.

Après avoir appuyé sur Entrée, l’utilisateur est dirigé vers le répertoire souhaité.

L’exemple illustre le collage dans le même terminal, mais cette méthode du clic droit permet également de coller dans différents terminaux et dans des applications graphiques.

Utilisation de la souris : bouton central

Il existe une méthode encore plus rapide pour copier-coller avec la souris, à condition qu’elle soit équipée d’un bouton central. Si vous appuyez (légèrement !) sur la molette et qu’elle clique, vous avez un bouton central.

Sélectionnez du texte dans un terminal, puis appuyez sur le bouton du milieu. Le texte sélectionné est collé à l’emplacement du curseur dans la ligne de commande. L’action de copie-collage se fait en une seule étape.

Sélectionnez du texte :

Appuyez ensuite sur le bouton du milieu :

Vous pouvez utiliser cette méthode pour coller dans d’autres terminaux ou dans des applications graphiques. Il suffit de sélectionner le texte, de basculer vers l’autre terminal ou l’application et d’appuyer sur le bouton du milieu.

Ancienne école – Sans souris

Comment faire sans souris ? Si vous ne pouvez pas sélectionner de texte, comment le copier-coller ?

Les serveurs Linux sont souvent configurés sans environnement de bureau graphique (GDE), ce qui signifie qu’il n’y a pas de souris. Même sur un ordinateur Linux avec un environnement de bureau comme GNOME, il peut y avoir des moments où vous ne pouvez pas utiliser la souris pour sélectionner du texte.

Par exemple, vous pouvez basculer vers un des TTY additionnels. Sur les distributions modernes, ils sont accessibles via les combinaisons Ctrl+Alt+F3 (TTY3) jusqu’à Ctrl+Alt+F6 (TTY6). (Ctrl+Alt+F2 vous ramène à votre session graphique et Ctrl+Alt+F1 à l’écran de connexion de votre environnement graphique).

Vous pouvez même vous connecter à un ordinateur Linux ou Unix en utilisant un TTY matériel.

Quoi qu’il en soit, les techniques suivantes peuvent vous être utiles. Il est important de noter qu’il ne s’agit pas de copier-coller à proprement parler, mais de couper, copier et coller. De plus, vous ne pouvez couper et copier que depuis la ligne de commande active. Bien sûr, vous pouvez utiliser les flèches pour parcourir votre historique de commandes et retrouver la ligne que vous souhaitez couper, copier et coller.

Voici les raccourcis utilisables :

Ctrl+W : Coupe le mot précédent le curseur et l’ajoute au presse-papier.
Ctrl+K : Coupe la partie de la ligne après le curseur et l’ajoute au presse-papier. Si le curseur est au début de la ligne, la ligne entière sera coupée et copiée.
Ctrl+U : Coupe la partie de la ligne avant le curseur et l’ajoute au presse-papier. Si le curseur est à la fin de la ligne, la ligne entière sera coupée et copiée.
Ctrl+Y : Colle le dernier texte coupé et copié.

Passons sur TTY3 (utilisez Ctrl+Alt+F1 pour revenir à votre bureau par la suite).

Ctrl+Alt+F3
tty

Imaginons que nous voulons supprimer un fichier. Vérifions d’abord qu’il est bien présent.

ls -l file_to_delete.txt

Si nous utilisons la flèche vers le haut, nous rappelons la dernière commande utilisée dans l’historique. Nous pourrions simplement modifier cette ligne, mais le but est de démontrer les méthodes de couper, copier et coller, nous allons donc accomplir notre objectif de suppression du fichier de manière plus détaillé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 le presse-papier.

Nous allons appuyer sur Retour arrière jusqu’à ce que nous ayons supprimé la ligne.

<img loading= »lazy » class= »alignnone size-full wp-image-440715″ src= »data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoYAAACTAgMAAABuYDDrAAAACVBMVEUAAAABAQHMzMygyw1NAAADwElEQVR42u3aQW7jOBAFUF/CDczsezOn8CU+gar9NyDepwz4ALVgTjkLUjLtdhxlRm5xMOUFQTFB8kCJpY9KDofxP0cM/jn9J4gyz/nk65oGIiavxJuJAHiBAQlpBKJIR5SFOGnZnfjnVZ2izuvZ1Zmyq+tVXZ1MBvACZM9O2Y34c6JQKOdpEgovCRSSQqElA9hu9J5EQSUKH4jnemBGIGoR5nJPzCWXqX5LGYBIERI9UY0g6i7iMgyR5UYUEER7FhtRpj2Py5SMIuh20SmUeqLnopOuexadazL1VCjqOsFrEdK5zBgAh2O/G/3sHf30uRuLqL5uLZJOEDcmyuhEaUSpkWu3Y7GeSBmPSL2qU8CaCkckGicKBdbCwpBE6YlpvGfxByi5CBOG3cUfoBBDE/9oRGmpcMDj8hOcKMnYUuGQRL2qJ2NLhSOW7jFS4XricHsYYez/RPxuf9Fhv/WArewvNlQyIAFWr9NCbOttLb2L+Kq/uOzbTHkg4r3ENf1FWCtGBiQkq9fZ1QG9qsPU61V2SvaNiWv6i7BbZyI7rF7XVhQnCoxSrxIom+/imv4ijP2NvifKPVH4BuLX/UWYAsjlRszlRswFlktCXUv2BuLX/UUY/GEX0e0iYERCXXsj8VV/EQZZS3zHjV7RX+yPyy/PYndckr3luKzpL2qpRae2Q7W066XoaFGHqyeDU7B10Xn2jl6TvPPHbdwhRgyVGiOMBbFPgt/LhNsmyk+J9gnR1NVh3ZGy5ACsrqlvnig/I6ZPiMkolGS3wpRMAKT6JpJa0jdNlKfDEWdnwjK2n2q1K