Comment copier et coller du texte sur Bash Shell de Linux

Comment copier et coller du texte sur Bash Shell de Linux

Points clés à retenir

  • Ctrl+C et Ctrl+V, qui sont couramment utilisés pour copier et coller dans les applications graphiques, ne fonctionnent pas dans l’invite de commande du shell Bash.
  • Pour copier et coller dans l’invite de commande du shell Bash, vous pouvez utiliser Ctrl+Shift+C et Ctrl+Shift+V ou cliquer avec le bouton droit de la souris et sélectionner « Copier » et « Coller » dans le menu contextuel.
  • Vous pouvez également appuyer sur le bouton central de la souris pour coller automatiquement le texte sélectionné à l’emplacement du curseur.

Vous souhaitez copier et coller sur la ligne de commande du shell Bash ? Nous vous montrerons plusieurs techniques, que vous préfériez le clavier ou la souris. Ceux-ci fonctionnent que vous soyez sur un bureau graphique ou sur un ATS traditionnel basé sur du texte.

Les raccourcis clavier habituels pour copier et coller ne fonctionneront 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 la première fois, qu’ils viennent du monde Windows ou du monde macOS, ils sont souvent confus lorsqu’ils essaient de copier et coller dans une fenêtre de terminal.

Sous Windows, vous Ctrl+Ccopiez une section de texte en surbrillance et Ctrl+Vla collez. Sous macOS, vous utilisez Command+Cpour le copier et Command+Vle coller. Ils suivent la même convention de Ccopier et Vd’insérer.

Ces mêmes frappes fonctionnent dans la plupart des applications graphiques Linux, telles que l’éditeur gedit ou la suite bureautique LibreOffice . Ctrl+Ccopie le texte en surbrillance et Ctrl+Vle colle au niveau du curseur. Notre nouveau venu sur Linux ne pense probablement même pas au fait que ces conventions ont été appliquées à ces applications. Ils utilisent les frappes de la mémoire musculaire et continuent leur travail.

Une fois que notre nouveau venu ouvre une fenêtre de terminal et essaie de copier et coller à l’ invite de commande du shell Bash , tout change. Ctrl+Cet Ctrl+Vse sont vu attribuer des fonctions bien avant que l’on pense au copier-coller. En fait, ces frappes ont été recrutées bien avant l’invention des coques graphiques, à l’époque où le télétype (TTY) était une chose physique.

Ctrl+C et Ctrl+V dans les ATS

Lorsqu’un ATS était un appareil physique, Ctrl+Cil é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é conservée et répliquée dans l’émulation. Notez que c’est la fenêtre du terminal qui fait l’émulation. Le shell Bash est un programme exécuté dans ce TTY émulé.

Nous pouvons facilement voir les fonctions qui ont été attribuées à Ctrl+Cet Ctrl+V. Supposons que vous tapez la commande suivante et appuyez sur « Entrée ».

ls -R /

ls -R / dans une fenêtre de terminal

Parce que nous utilisons l’ -Roption (récursive), la lscommande commencera à lister chaque fichier et répertoire, 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

Ctrl+C dans une fenêtre de terminal

Le lsprocessus est terminé. La preuve visible Ctrl+Cest mise en évidence dans la capture d’écran. Il est affiché comme ^C.

La Ctrl+Vcombinaison de touches appelle « insertion textuelle ». 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 appuyez sur Entrée.)

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

Ctrl+V, Entrée dans une fenêtre de terminal

En passant, vous remarquerez peut-être que Enter est représenté par ^M. Nous avons vu plus tôt que cela Ctrl+Cs’affichait sous la forme ^C. Il semblerait que cela ^représente Ctrl. Cela Ctrl+Msignifie probablement la même chose que Enter. Cela signifie-t-il que nous pouvons entrer Enter en tapant Ctrl+M? Essayez-le dans une fenêtre de terminal. Vous verrez que c’est le cas.

Donc, il est clair que nous ne pouvons pas nous attendre Ctrl+Cà Ctrl+Vcopier et coller du texte alors que des fonctions consacrées leur sont déjà attribuées. Alors que pouvons-nous utiliser ?

Ctrl+Maj+C et Ctrl+Maj+V

Facilement mémorisables car ils sont très similaires à leurs homologues Ctrl+Shift+Cet Ctrl+Shift+V remplacent directement Ctrl+Cet Ctrl+V.

Si vous mettez en surbrillance le texte dans la fenêtre du terminal avec votre souris et appuyez sur, Ctrl+Shift+Cvous copierez ce texte dans un tampon du presse-papiers.

Ctrl+Shift+C

Ctrl+Maj+C dans une fenêtre de terminal

Vous pouvez utiliser Ctrl+Shift+Vpour coller le texte copié dans la même fenêtre de terminal ou dans une autre fenêtre de terminal.

Ctrl+Shift+V

Ctrl+Shift+V dans une fenêtre de terminal

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.

Coller depuis une fenêtre de terminal dans l'éditeur gedit

Et vous pouvez aussi procéder dans l’autre sens. Vous pouvez surligner du texte geditet appuyer sur Ctrl+C, puis le coller dans une fenêtre de terminal à l’aide de Ctrl+Shift+V.

Copier depuis l'éditeur gedit et coller dans une fenêtre de terminal

La combinaison de touches Ctrl+Insertest la même que Ctrl+Shift+C, et la combinaison Shift+Insertest la même que Ctrl+Shift+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, faites un clic droit avec la souris et sélectionnez « Copier » dans le menu contextuel.

fenêtre de terminal avec menu contextuel et copie en surbrillance

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

fenêtre de terminal avec menu contextuel et coller sélectionné

Le texte est collé à la position du curseur sur la ligne de commande. Dans cet exemple, le chemin relatif a été mal donné et Bash ne peut pas changer de répertoire. L’utilisateur a manqué le « ~/ » dès 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.

fenêtre de terminal avec un répertoire modifié obtenu par copier-coller

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 du milieu

Il existe un moyen encore plus rapide de copier et coller à l’aide de la souris, à condition que votre souris dispose d’un bouton central. Si vous appuyez (doucement !) sur votre molette de défilement et qu’elle clique, vous avez un bouton du milieu.

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 fait en même temps.

Alors, surlignez du texte :

fenêtre de terminal avec du texte en surbrillance

Appuyez ensuite sur le bouton du milieu :

fenêtre de terminal avec le texte en surbrillance collé sur la ligne de commande

Vous pouvez utiliser cette méthode pour coller entre différentes fenêtres de terminaux et également dans des applications graphiques. Mettez simplement le texte en surbrillance, passez à l’autre fenêtre ou application du terminal et appuyez sur le bouton du milieu.

Vieille école – Pas de souris

Et quand on n’a pas de souris ? Si vous ne parvenez à surligner aucun texte, 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 tel que GNOME et que vous disposez d’une souris, il y aura des cas où vous ne pourrez pas utiliser la souris pour surligner du texte.

Par exemple, vous avez peut-être basculé vers l’un des ATS supplémentaires. Sur les distributions modernes, ceux-ci sont situés de Ctrl+Alt+F3(TTY3) à Ctrl+Alt+F6(TTY6). ( Ctrl+Alt+F2vous ramènera à votre session GDE et Ctrl+Alt+F1vous amènera à l’écran de connexion de votre GDE.)

Peut-être utilisez-vous 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, copier et coller, et 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 afin de trouver la ligne de commande à partir de laquelle vous souhaitez couper, copier et coller.

Les touches que vous pouvez utiliser sont :

  • Ctrl+W : Coupez le mot avant le curseur et ajoutez-le au tampon du presse-papiers.
  • Ctrl+K : Coupez la partie de la ligne après le curseur et ajoutez-la au tampon du presse-papiers. Si le curseur est au début de la ligne, il coupera et copiera toute la ligne.
  • Ctrl+U : Coupe la partie de la ligne avant le curseur et l’ajoute au tampon du presse-papiers. Si le curseur est à la fin de la ligne, il coupera et copiera toute la ligne.
  • Ctrl+Y : Colle le dernier texte coupé et copié.

Passons au TTY3. (Utilisez Ctrl+Alt+F1 pour revenir ensuite à votre bureau.)

Ctrl+Alt+F3 tty

tty3 dans une fenêtre de terminal

Nous avons un fichier que nous souhaitons supprimer, vérifions qu’il se trouve ici.

ls -l file_to_delete.txt

ls -l file_to_delete.txt dans une fenêtre de terminal

Si nous utilisons la touche Flèche vers le haut, nous appellerons la dernière commande que nous avons utilisée hors de l’historique des commandes. Nous pourrions simplement modifier cette ligne, mais le but est de démontrer le couper, le copier et le coller, nous accomplirons donc notre tâche de suppression du fichier de manière légèrement prolongée.

Commande récupérée de l'historique des commandes dans une fenêtre de terminal

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 tampon du presse-papiers.

L'effet de Ctrl+K dans une fenêtre de terminal

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

Ligne effacée avec retour arrière dans une fenêtre de terminal

Nous allons taper le rmpour supprimer le fichier.

rm dans une fenêtre de terminal

Et maintenant, nous pouvons appuyer Ctrl+Yet coller le reste de la ligne.

L'effet de Ctrl+Y dans une fenêtre de terminal

Ceci termine notre commande et nous pouvons appuyer sur Entrée pour supprimer le fichier.

Fichier supprimé sans message d'erreur dans une fenêtre de terminal

Ce type de couper, copier et coller ne peut pas être utilisé entre les ATS supplémentaires. Vous ne pouvez pas couper, copier et coller entre TTY3 et TTY4, par exemple.

Il est préférable de considérer les ATS supplémentaires comme une ligne d’ATS physiques placés côte à côte. Il n’y a aucun moyen de couper-coller entre les différents terminaux physiques, et il n’y a aucun moyen de le faire dans ces émulations.

Copiez cela, contrôlez

Quelle que soit la situation dans laquelle vous vous trouvez lorsque vous utilisez un ordinateur Linux, il existe un moyen de copier et coller. Vous avez des options. Certaines d’entre elles sont des options étranges, mais au moins il existe des options.

Commandes Linux

Des dossiers

tar · pv · chat · tac · chmod · grep · diff · sed · ar · homme · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · rejoindre · jq · plier · uniq · journalctl · tail · stat · ls · fstab · echo · less · chgrp · chown · rev · look · chaînes · type · renommer · zip · décompresser · monter · umount · installer · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · convertir · rclone · déchiqueter · srm · scp · gzip · chattr · couper · trouver · umask · wc · tr

Processus

alias · écran · haut · sympa · renice · progrès · strace · systemd · tmux · chsh · historique · à · lot · gratuit · lequel · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · timeout · mur · oui · tuer · dormir · sudo · su · temps · groupadd · usermod · groupes · lshw · arrêt · redémarrage · arrêter · mise hors tension · passwd · lscpu · crontab · date · bg · fg · pidof · nohup · pmap

La mise en réseau

netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · creuser · doigt · nmap · ftp · curl · wget · who · whoami · w · iptables · ssh-keygen · ufw · arping · pare-feu

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *