So kopieren und fügen Sie Text in der Bash-Shell von Linux ein
Die zentralen Thesen
- Strg+C und Strg+V, die üblicherweise zum Kopieren und Einfügen in grafischen Anwendungen verwendet werden, funktionieren in der Bash-Shell-Eingabeaufforderung nicht.
- Zum Kopieren und Einfügen in der Bash-Shell-Eingabeaufforderung können Sie Strg+Umschalt+C und Strg+Umschalt+V verwenden oder mit der rechten Maustaste klicken und im Kontextmenü „Kopieren“ und „Einfügen“ auswählen.
- Sie können auch die mittlere Maustaste drücken, um den ausgewählten Text automatisch an der Cursorposition einzufügen.
Möchten Sie in der Befehlszeile der Bash-Shell kopieren und einfügen? Wir zeigen Ihnen verschiedene Techniken, egal ob Sie die Tastatur oder die Maus bevorzugen. Diese funktionieren unabhängig davon, ob Sie einen grafischen Desktop oder ein herkömmliches textbasiertes TTY verwenden.
Die üblichen Tastaturkürzel zum Kopieren und Einfügen funktionieren nicht
Das Kopieren und Einfügen von Text ist ein wesentlicher Bestandteil der Arbeit am Computer. Wenn Benutzer zum ersten Mal einen Linux-Computer verwenden, egal ob sie aus der Windows- oder der macOS-Welt kommen, sind sie oft verwirrt, wenn sie versuchen, innerhalb eines Terminalfensters zu kopieren und einzufügen.
In Windows können Sie mit dieser Funktion Ctrl+C
einen Abschnitt markierten Texts kopieren und Ctrl+V
einfügen. In macOS verwenden Sie Command+C
zum Kopieren und Command+V
Einfügen. Sie folgen der gleichen Konvention des C
Kopierens und V
Einfügens.
Dieselben Tastenanschläge funktionieren in den meisten grafischen Linux-Anwendungen, beispielsweise im Editor gedit oder in der Office-Suite LibreOffice . Ctrl+C
kopiert markierten Text und Ctrl+V
fügt ihn am Cursor ein. Unser Linux-Neuling denkt wahrscheinlich nicht einmal darüber nach, dass diese Konventionen auf diese Anwendungen übertragen wurden. Sie nutzen die Tastenanschläge aus dem Muskelgedächtnis und machen mit ihrer Arbeit weiter.
Sobald unser Neuling ein Terminalfenster öffnet und versucht, an der Eingabeaufforderung der Bash-Shell zu kopieren und einzufügen, ändert sich alles. Ctrl+C
und Ctrl+V
ihnen wurden Funktionen zugewiesen, lange bevor an Kopieren und Einfügen überhaupt gedacht wurde. Tatsächlich wurden diese Tastenanschläge lange vor der Erfindung grafischer Shells rekrutiert, als ein Fernschreiber (TTY) noch eine physische Sache war.
Strg+C und Strg+V in TTYs
Als es sich bei einem TTY um ein physisches Gerät handelte, Ctrl+C
wurde es als praktische Tastenkombination zum Erzeugen eines Signals gewählt. Dieses Signal ist SIGINT , das den aktuellen Prozess anweist, zu beenden. Da es sich bei einem Terminalfenster um ein emuliertes TTY handelt, wurden diese Tastenkombination (und viele andere) beibehalten und in der Emulation repliziert. Beachten Sie, dass es sich bei der Emulation um das Terminalfenster handelt. Die Bash-Shell ist ein Programm, das in diesem emulierten TTY ausgeführt wird.
Ctrl+C
Wir können leicht erkennen, welche Funktionen und zugewiesen wurden Ctrl+V
. Angenommen, Sie geben den folgenden Befehl ein und drücken die Eingabetaste.
ls -R /
-R
Da wir die (rekursive) Option verwenden, ls
beginnt der Befehl mit der Auflistung aller Dateien und Verzeichnisse, beginnend mit dem Stammverzeichnis. Nach ein paar Augenblicken stellen Sie fest, dass dies nicht das ist, was Sie wollten, und brechen den Vorgang ab, indem Sie auf klicken Ctrl+C
.
Ctrl+C
Der ls
Vorgang wird beendet. Der sichtbare Beweis dafür Ctrl+C
ist im Screenshot hervorgehoben. Es wird als angezeigt ^C
.
Die Ctrl+V
Tastenkombination ruft „wörtliches Einfügen“ auf. Dadurch können Sie eine Darstellung einer Taste in Ihre Eingabe eingeben, anstatt die Wirkung der Taste zu erhalten. Um dies zu sehen, probieren Sie die folgenden Befehle aus (geben Sie keine Kommas ein). (Um beispielsweise das erste auszuprobieren, drücken Sie Strg+V und dann die Eingabetaste.)
Ctrl+V, Enter
Ctrl+V, PgDn
Ctrl+V, RightArrow
Ctrl+V, Esc
Nebenbei bemerken Sie vielleicht, dass Enter durch dargestellt wird ^M
. Wir haben vorhin gesehen, dass das Ctrl+C
als angezeigt wurde ^C
. Es scheint, dass ^
das Ctrl
. Bedeutet also Ctrl+M
wahrscheinlich dasselbe wie Enter. Bedeutet das, dass wir Enter eingeben können, indem wir Folgendes eingeben Ctrl+M
? Versuchen Sie es in einem Terminalfenster. Sie werden sehen, dass es so ist.
Wir können also offensichtlich nicht erwarten, dass Ctrl+C
Text Ctrl+V
kopiert und eingefügt wird, wenn ihnen bereits altbewährte Funktionen zugewiesen sind. Was können wir also verwenden?
Strg+Umschalt+C und Strg+Umschalt+V
Leicht zu merken, da sie ihren Gegenstücken sehr ähnlich sind Ctrl+Shift+C
und Ctrl+Shift+V
ein direkter Ersatz für Ctrl+C
und sind Ctrl+V
.
Wenn Sie im Terminalfenster mit der Maus Text markieren und drücken, Ctrl+Shift+C
kopieren Sie diesen Text in einen Zwischenablagepuffer.
Ctrl+Shift+C
Sie können Ctrl+Shift+V
den kopierten Text mit in dasselbe Terminalfenster oder in ein anderes Terminalfenster einfügen.
Ctrl+Shift+V
Sie können es auch in eine grafische Anwendung einfügen, z gedit
. Beachten Sie jedoch, dass Sie beim Einfügen in eine Anwendung – und nicht in ein Terminalfenster – verwenden müssen Ctrl+V
.
Und Sie können auch in die andere Richtung gehen. Sie können Text markieren gedit
und drücken Ctrl+C
und ihn dann mit in ein Terminalfenster einfügen Ctrl+Shift+V
.
Die Tastenkombination Ctrl+Insert
ist dieselbe wie Ctrl+Shift+C
, und die Kombination Shift+Insert
ist dieselbe wie Ctrl+Shift+V
. Der Vorbehalt besteht darin, dass diese nur innerhalb desselben Terminalfensters verwendet werden können.
Mit der Maus: Rechtsklick
Sie können die Maus zum Kopieren und Einfügen in ein Terminalfenster verwenden. Sie müssen die Maus verwenden, um den Text hervorzuheben, den Sie kopieren möchten. Warum also nicht die Maus zum Kopieren und Einfügen verwenden?
Sobald Sie Text markiert haben, klicken Sie mit der rechten Maustaste und wählen Sie „Kopieren“ aus dem Kontextmenü.
Um den kopierten Text einzufügen, klicken Sie erneut mit der rechten Maustaste und wählen Sie im Kontextmenü „Einfügen“.
Der Text wird an der Position des Cursors in der Befehlszeile eingefügt. In diesem Beispiel wurde der relative Pfad falsch angegeben und Bash kann das Verzeichnis nicht ändern. Der Benutzer hat das „~/“ vom Anfang des Pfads übersehen. Sie haben „~/“ eingegeben und dann den Rest des Pfads von ihrem vorherigen Versuch kopiert und in ihre zweite Befehlszeile eingefügt.
Wenn sie die Eingabetaste drücken, werden sie in das Verzeichnis verschoben.
In diesem Beispiel wurde das Einfügen in dasselbe Terminalfenster gezeigt, aber Sie können diese Rechtsklick-Technik verwenden, um in verschiedene Terminalfenster einzufügen. Mit dieser Methode können Sie auch in grafische Anwendungen einfügen.
Verwendung der Maus: Mitteltaste
Es gibt eine noch schnellere Möglichkeit zum Kopieren und Einfügen mit der Maus, sofern Ihre Maus über eine mittlere Taste verfügt. Wenn Sie (leicht!) auf das Scrollrad drücken und es klickt, haben Sie eine Mitteltaste.
Markieren Sie einen Text in einem Terminalfenster und drücken Sie dann die Mitteltaste. Der hervorgehobene Text wird an der Cursorposition in der Befehlszeile eingefügt. Das Kopieren und Einfügen erfolgt gleichzeitig.
Markieren Sie also einen Text:
Drücken Sie dann Ihre Mitteltaste:
Sie können diese Methode zum Einfügen zwischen verschiedenen Terminalfenstern und auch in grafische Anwendungen verwenden. Markieren Sie einfach den Text, wechseln Sie zum anderen Terminalfenster oder zur anderen Anwendung und drücken Sie die Mitteltaste.
Old School – Keine Maus
Was ist, wenn Sie keine Maus haben? Wenn Sie keinen Text markieren können, wie können Sie ihn dann kopieren und einfügen?
Linux-Server werden oft ohne grafische Desktop-Umgebung (GDE) konfiguriert, was bedeutet, dass Sie keinen Zugriff auf eine Maus haben. Selbst auf einem Linux-Computer, auf dem eine grafische Desktop-Umgebung wie GNOME ausgeführt wird und Sie über eine Maus verfügen, kann es vorkommen, dass Sie die Maus nicht zum Hervorheben von Text verwenden können.
Beispielsweise könnten Sie auf einen der zusätzlichen TTYs umgestiegen sein. Bei modernen Distributionen befinden sich diese bei Ctrl+Alt+F3
(TTY3) bis Ctrl+Alt+F6
(TTY6). ( Ctrl+Alt+F2
bringt Sie zu Ihrer GDE-Sitzung zurück und Ctrl+Alt+F1
führt Sie zum Anmeldebildschirm Ihrer GDE.)
Möglicherweise verwenden Sie sogar ein echtes Hardware-TTY-Gerät, um eine Verbindung zu einem Linux- oder Unix-Computer herzustellen.
In jedem Fall funktionieren diese Techniken für Sie. Hier ist zu beachten, dass es sich hier nicht um Kopieren und Einfügen handelt, sondern um Ausschneiden, Kopieren und Einfügen, und dass Sie nur über die aktuelle Befehlszeile ausschneiden und kopieren können. Natürlich können Sie mit den Pfeiltasten durch Ihren Verlauf scrollen, um die Befehlszeile zu finden, aus der Sie ausschneiden, kopieren und einfügen möchten.
Folgende Tastenkombinationen können Sie verwenden:
- Strg+W : Schneiden Sie das Wort vor dem Cursor aus und fügen Sie es dem Zwischenablagepuffer hinzu.
- Strg+K : Schneiden Sie den Teil der Zeile nach dem Cursor aus und fügen Sie ihn dem Zwischenablagepuffer hinzu. Befindet sich der Cursor am Zeilenanfang, wird die gesamte Zeile ausgeschnitten und kopiert.
- Strg+U : Schneiden Sie den Teil der Zeile vor dem Cursor aus und fügen Sie ihn dem Zwischenablagepuffer hinzu. Befindet sich der Cursor am Ende der Zeile, wird die gesamte Zeile ausgeschnitten und kopiert.
- Strg+Y : Fügt den zuletzt ausgeschnittenen und kopierten Text ein.
Lasst uns zu TTY3 springen. (Verwenden Sie anschließend Strg+Alt+F1, um zu Ihrem Desktop zurückzukehren.)
Ctrl+Alt+F3
tty
Wir haben eine Datei, die wir löschen möchten. Überprüfen Sie, ob sie hier ist.
ls -l file_to_delete.txt
Wenn wir die Aufwärtspfeiltaste verwenden, rufen wir den zuletzt verwendeten Befehl aus dem Befehlsverlauf auf. Wir könnten diese Zeile einfach bearbeiten, aber das Ziel besteht darin, das Ausschneiden, Kopieren und Einfügen zu demonstrieren, sodass wir unsere Aufgabe, die Datei zu löschen, etwas in die Länge ziehen.
Wir bewegen den Cursor auf den ersten Buchstaben des Dateinamens und drücken dann Ctrl+K
. Dadurch wird dieser Teil der Zeile entfernt und der Text in den Zwischenablagepuffer kopiert.
Wir drücken die Rücktaste, bis wir die Zeile gelöscht haben.
Wir geben das ein, rm
um die Datei zu löschen.
Und jetzt können wir Ctrl+Y
den Rest der Zeile anklicken und einfügen.
Damit ist unser Befehl abgeschlossen und wir können die Eingabetaste drücken, um die Datei zu löschen.
Diese Art des Ausschneidens, Kopierens und Einfügens kann nicht zwischen den zusätzlichen TTYs verwendet werden. Sie können beispielsweise nicht zwischen TTY3 und TTY4 ausschneiden, kopieren und einfügen.
Die zusätzlichen TTYs kann man sich am besten als eine Reihe nebeneinander liegender physischer TTYs vorstellen. Es gibt keine Möglichkeit zum Ausschneiden und Einfügen zwischen den verschiedenen physischen Terminals und auch in diesen Emulationen ist dies nicht möglich.
Kopieren Sie das, Kontrolle
Ganz gleich, in welcher Situation Sie sich bei der Verwendung eines Linux-Computers befinden, es gibt eine Möglichkeit zum Kopieren und Einfügen. Sie haben Optionen. Einige davon sind seltsame Optionen, aber es gibt zumindest Optionen.
Linux-Befehle |
|
Dateien |
tar · pv · cat · tac · chmod · grep · diff · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · Join · jq · Fold · Uniq · Journalctl · tail · stat · ls · fstab · echo · less · chgrp · chown · rev · look · strings · type · rename · zip · unzip · mount · umount · install · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · konvertieren · rclone · shred · srm · scp · gzip · chattr · schneiden · finden · umask · wc · tr |
Prozesse |
alias · screen · top · nice · renice · progress · strace · systemd · tmux · chsh · geschichte · at · batch · free · which · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · Timeout · Wall · Yes · Kill · Sleep · Sudo · Su · Time · Groupadd · Usermod · Groups · LSHW · Shutdown · Reboot · Halt · Poweroff · Passwd · LSCPU · Crontab · Date · BG · FG · PIDOF · Nohup · Pmap |
Vernetzung |
netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · dig · finger · nmap · ftp · curl · wget · who · whoami · w · iptables · ssh-keygen · ufw · arping · firewalld |
Schreibe einen Kommentar