![Concept van een Linux-terminal vol tekst op een laptop](https://www.howtogeek.com/wp-content/uploads/2019/04/ximg_5cc898db4e3d3.png.pagespeed.gp+jp+jw+pj+ws+js+rj+rp+rw+ri+cp+md.ic.q5Apof29xX.png)
Wilt u kopiëren en plakken op de opdrachtregel van de Bash-shell? We laten u meerdere technieken zien, of u nu de voorkeur geeft aan het toetsenbord of de muis. Deze werken of u nu op een grafische desktop werkt of op een traditionele op tekst gebaseerde TTY.
De gebruikelijke sneltoetsen werken niet
Het kopiëren en plakken van tekst is een belangrijk onderdeel van het gebruik van een computer. Wanneer mensen de eerste paar keer een Linux-computer gebruiken, of ze nu uit de Windows- of de macOS-wereld komen, zijn ze vaak in de war wanneer ze proberen te kopiëren en plakken in een terminalvenster.
In Windows gebruik je Ctrl+C
om een gedeelte met gemarkeerde tekst te kopiëren en Ctrl+V
om het te plakken. In macOS gebruik je Command+C
om het te kopiëren en Command+V
om het te plakken. Ze volgen dezelfde conventie van C
om te kopiëren en V
invoegen.
Diezelfde toetsaanslagen werken in de meeste grafische toepassingen van Linux, zoals de editor gedit of de LibreOffice-kantoorsuite.Ctrl+C
kopieert gemarkeerde tekst en Ctrl+V
plakt het bij de cursor. Onze nieuwkomer in Linux denkt waarschijnlijk niet eens na over het feit dat deze conventies zijn doorgevoerd in deze applicaties. Ze gebruiken de toetsaanslagen uit het spiergeheugen en gaan door met hun werk.
Zodra onze nieuwkomer een terminalvenster opent en probeert te kopiëren en plakken bij de opdrachtprompt van de Bash-shell, verandert dat allemaal. Ctrl+C
en Ctrl+V
kregen functies toegewezen lang voordat aan kopiëren en plakken werd gedacht. In feite werden die toetsaanslagen gerekruteerd lang voordat grafische shells werden uitgevonden, toen een teletype (TTY) een fysiek iets was.
Ctrl + C en Ctrl + V in TTY’s
Als een TTY een fysiek apparaat was, Ctrl+C
werd gekozen als een handige toetsencombinatie om een signaal te genereren. Dat signaal is SIGINT, dat aangeeft dat het huidige proces moet worden beëindigd. Omdat een terminalvenster een geëmuleerde TTY is, is die toetsaanslagcombinatie (en vele andere) behouden en gerepliceerd in de emulatie. Merk op dat het de terminalvenster dat is de emulatie. De Bash-shell is een programma dat wordt uitgevoerd in die geëmuleerde TTY.
We kunnen gemakkelijk de functies zien die zijn toegewezen Ctrl+C
en Ctrl+V
. Stel dat u de volgende opdracht typt en op ‘Enter’ drukt.
ls -R /
Omdat we de -R
(recursieve) optie de ls
commando zal beginnen met het weergeven van elk bestand en elke directory, beginnend bij de root directory. Na een paar momenten realiseer je je dat dit niet is wat je wilde, dus beëindig je het proces door op te slaan Ctrl+C
.
Ctrl+C
De ls
proces wordt beëindigd. Het zichtbare bewijs van de Ctrl+C
is gemarkeerd in de schermafbeelding. Het wordt weergegeven als ^C
.
De Ctrl+V
toetscombinatie roept “verbatim insert” op. Hierdoor kunt u een weergave van een sleutel invoeren in wat u typt, in plaats van de effect van de sleutel. Probeer de volgende opdrachten om dit te zien (typ geen komma’s). (Om bijvoorbeeld de eerste te proberen, drukt u op Ctrl + V en vervolgens op Enter.)
Ctrl+V, Enter
Ctrl+V, PgDn
Ctrl+V, RightArrow
Ctrl+V, Esc
Even terzijde, u zult misschien opmerken dat Enter wordt vertegenwoordigd door ^M
. Dat hebben we eerder gezien Ctrl+C
verscheen als ^C
. Het lijkt erop dat ^
vertegenwoordigt Ctrl
. Zo Ctrl+M
betekent waarschijnlijk hetzelfde als Enter. Betekent dit dat we Enter kunnen invoeren door te typen Ctrl+M
? Probeer het in een terminalvenster. U zult zien dat het zo is.
Dus we kunnen het duidelijk niet verwachten Ctrl+C
en Ctrl+V
om tekst te kopiëren en te plakken als ze al traditionele functies hebben toegewezen gekregen. Dus wat kunnen we gebruiken?
VERWANT: Hoe u productiever kunt zijn in Ubuntu met sneltoetsen
Ctrl + Shift + C en Ctrl + Shift + V
Gemakkelijk te onthouden omdat ze erg op hun tegenhangers lijken, Ctrl+Shift+C
en Ctrl+Shift+V
zijn directe vervangers voor Ctrl+C
en Ctrl+V
.
Als u met uw muis tekst in het terminalvenster markeert en op Ctrl+Shift+C
je kopieert die tekst naar een klembordbuffer.
Ctrl+Shift+C
Je kunt gebruiken Ctrl+Shift+V
om de gekopieerde tekst in hetzelfde terminalvenster of in een ander terminalvenster te plakken.
Ctrl+Shift+V
U kunt ook in een grafische toepassing plakken, zoals gedit
. Maar let op, wanneer u in een toepassing plakt – en niet in een terminalvenster – u moet Ctrl+V
.
En u kunt ook de andere kant op gaan. U kunt tekst markeren in gedit
en raak Ctrl+C
, en plak het vervolgens in een terminalvenster met Ctrl+Shift+V
.
De belangrijkste combinatie Ctrl+Insert
is hetzelfde als Ctrl+Shift+C
, en de combinatie Shift+Insert
is hetzelfde als Ctrl+Shift+V
. Het voorbehoud hier is dat deze alleen kunnen worden gebruikt binnen hetzelfde terminalvenster.
Met de muis: klik met de rechtermuisknop
U kunt de muis gebruiken om te kopiëren en in een terminalvenster te plakken. U moet de muis gebruiken om de tekst die u gaat kopiëren te markeren, dus waarom zou u deze niet gebruiken om de kopieer- en plakacties uit te voeren?
Zodra u wat tekst heeft gemarkeerd, klikt u met de rechtermuisknop met de muis en selecteert u “Kopiëren” in het contextmenu.
Om de gekopieerde tekst te plakken, klikt u nogmaals met de rechtermuisknop en selecteert u “Plakken” in het contextmenu.
De tekst wordt op de positie van de cursor op de opdrachtregel geplakt. In dit voorbeeld is het relatieve pad onjuist opgegeven en kan Bash de directory niet wijzigen. De gebruiker heeft de “~ /” vanaf het begin van het pad gemist. Ze hebben de “~ /” getypt en vervolgens de rest van het pad van hun vorige poging gekopieerd en in hun tweede opdrachtregel geplakt.
Als ze op Enter drukken, worden ze naar de directory verplaatst.
Dit voorbeeld toonde het plakken in hetzelfde terminalvenster, maar je kunt deze rechtskliktechniek gebruiken om in verschillende terminalvensters te plakken. U kunt met deze methode ook in grafische toepassingen plakken.
Met de muis: middelste knop
Er is een nog snellere manier om met de muis te kopiëren en te plakken, zolang je muis een middelste knop heeft. Als je op je scrollwiel drukt (zachtjes!) En het klikt, heb je een middelste knop.
Markeer wat tekst in een terminalvenster en druk vervolgens op je middelste knop. De gemarkeerde tekst wordt op de cursorpositie op de opdrachtregel geplakt. Het kopiëren en plakken gebeurt tegelijkertijd.
Dus markeer wat tekst:
Druk vervolgens op je middelste knop:
U kunt deze methode gebruiken om tussen verschillende terminalvensters te plakken, en ook in grafische toepassingen. Markeer gewoon de tekst, ga naar het andere terminalvenster of de andere applicatie en druk op de middelste knop.
Old School – Geen muis
En als je geen muis hebt? Als u geen tekst kunt markeren, hoe kunt u deze dan kopiëren en plakken?
Linux-servers zijn vaak geconfigureerd zonder een grafische desktopomgeving (GDE), wat betekent dat je geen toegang hebt tot een muis. Zelfs op een Linux-computer met een grafische desktopomgeving zoals GNOME en je hebt een muis, zullen er gevallen zijn waarin je de muis niet kunt gebruiken om tekst te markeren.
U bent bijvoorbeeld mogelijk overgestapt op een van de aanvullende TTY’s. Op moderne distributies bevinden deze zich op Ctrl+Alt+F3
(TTY3) tot Ctrl+Alt+F6
(TTY6). (Ctrl+Alt+F2
brengt u terug naar uw GDE-sessie en Ctrl+Alt+F1
brengt u naar het inlogscherm van uw GDE.)
Misschien gebruikt u zelfs een echt hardware TTY-apparaat om verbinding te maken met een Linux- of Unix-computer.
Deze technieken zullen hoe dan ook voor u werken. Het punt om hier te onthouden is dat dit niet zo is kopiëren en plakken, het is knippen kopiëren, en plak, en u kunt alleen knippen en kopiëren vanaf de huidige opdrachtregel. U kunt natuurlijk de pijltjestoetsen gebruiken om door uw geschiedenis te bladeren om de opdrachtregel te vinden waaruit u wilt knippen, kopiëren en plakken.
De toetsaanslagen die u kunt gebruiken zijn:
- Ctrl + W: Knip het woord voor de cursor af en voeg het toe aan de klembordbuffer.
- Ctrl + K: Knip het deel van de regel na de cursor af en voeg het toe aan de klembordbuffer. Als de cursor aan het begin van de regel staat, wordt de hele regel geknipt en gekopieerd.
- Ctrl + U: Knip het deel van de regel vóór de cursor af en voeg het toe aan de klembordbuffer. Als de cursor aan het einde van de regel staat, wordt de hele regel geknipt en gekopieerd.
- Ctrl + Y: Plak de laatste tekst die is geknipt en gekopieerd.
Laten we naar TTY3 gaan. (Gebruik Ctrl + Alt + F1 om daarna terug te gaan naar uw bureaublad.)
Ctrl+Alt+F3
tty
We hebben een bestand dat we willen verwijderen, laten we controleren of het hier is.
ls -l file_to_delete.txt
Als we de pijl-omhoog-toets gebruiken, bellen we de laatste opdracht die we hebben gebruikt uit de opdrachtgeschiedenis. We zouden deze regel gewoon kunnen bewerken, maar het doel is om het knippen, kopiëren en plakken te demonstreren, dus we zullen onze taak om het bestand op een ietwat langdurige manier te verwijderen, volbrengen.
We verplaatsen de cursor naar de eerste letter van de bestandsnaam en drukken vervolgens op Ctrl+K
. Dit zal dat deel van de regel verwijderen en de tekst naar de klembordbuffer kopiëren.
We drukken op Backspace totdat we de lijn wissen.
We typen het rm
om het bestand te verwijderen.
En nu kunnen we slaan Ctrl+Y
en plak in de rest van de regel.
Dit voltooit onze opdracht en we kunnen op Enter drukken om het bestand te verwijderen.
Dit type knippen, kopiëren en plakken kan niet worden gebruikt tussen de aanvullende TTY’s. U kunt bijvoorbeeld niet knippen, kopiëren en plakken tussen TTY3 en TTY4.
De extra TTY’s kunnen het beste worden gezien als een reeks fysieke TTY’s die naast elkaar zitten. Er is geen manier om te knippen en plakken tussen de verschillende fysieke terminals, en dat is ook niet mogelijk in deze emulaties.
Kopieer dat, controle
In welke situatie u zich ook bevindt wanneer u een Linux-computer gebruikt, er is een manier om te kopiëren en plakken. Je hebt opties. Sommige zijn vreemde opties, maar er zijn tenminste opties.