Wie tippe ich in der nächsten Zeile im Terminal?

16

Ich verwende Ubuntu 12.10 und möchte eine Reihe von Befehlen im Terminal ausführen. Nach dem, was ich in den Anweisungen sehe, beginnen diese Befehle jeweils in einer neuen Zeile. Ich weiß nicht, wie ich das im Terminal machen soll. Ich kann nicht finden, welche Taste gedrückt werden muss, um den Wagenrücklauf in die nächste Zeile durchzuführen.

Debbie Poole
quelle
4
Sie können Befehle mit dem Semikolon ";" wie cd home trennen. mkdir test; ls -la
LnxSlck
9
@LnxSlck: Allerdings ist es oft vorzuziehen, Befehle mit zu trennen, &&anstatt ;. Auf diese Weise werden die verbleibenden Befehle nicht ausgeführt, wenn einer der Befehle fehlschlägt. Wenn homees Ihr Beispiel also nicht gibt, erstellen Sie nicht versehentlich ein testVerzeichnis im aktuellen Verzeichnis.
Hammar

Antworten:

16

Die Befehle, die Sie in jeder Zeile sehen, müssen einzeln ausgeführt werden.

Drücken Sie also nach Eingabe einer Zeile die Eingabetaste, um den nächsten Befehl auszuführen.

Beispiel:

sudo apt-get update
sudo apt-get upgrade

Dies sind zwei Befehle, die nacheinander ausgeführt werden.

Sofort auszuführen wird so sein sudo apt-get update && sudo apt-get upgrade(es gibt auch andere Methoden), aber diese Dinge erfordern im Allgemeinen nicht. Also mach dir keine Sorgen. Geben Sie eine Zeile ein und drücken Sie die Eingabetaste, um die Aufgabe zu erledigen.

Wir sind
quelle
Vielen Dank für Ihren Rat, ich wünschte, ich hätte das früher gewusst !!! Trotzdem leben und lernen wir :-)
Debbie Poole
4
@ user113090 Wenn Web-E Ihre Frage beantwortet hat, vergessen Sie nicht, seine Antwort als akzeptierte Antwort zu markieren.
Dean
12

Da Web-E die direkteste Möglichkeit beschreibt, mit zwei verschiedenen Befehlen das zu tun, was Sie wollen, würde ich zeigen, dass es eine Reihe von Möglichkeiten gibt, mehrere Befehle auszuführen oder Befehle in einer anderen Zeile fortzusetzen, ohne sie sofort auszuführen.

Lange Befehle fortsetzen:

1) Der gebräuchlichste Weg, einen langen Befehl zu erstellen, besteht darin, Ihre Befehle einzugeben, dann einen Backslash zu verwenden \, die Eingabetaste zu drücken und dann eine weitere Eingabeaufforderung für Sie bereitzustellen, anstatt den Befehl auszuführen. Diese sekundäre Eingabeaufforderung heißt PS2 und wartet auf Ihre Eingabe:

find /home/mike/Downloads -type f -iname '*.jpg' \
> 

Sie können so lange Backslashes hinzufügen und die Eingabetaste drücken, wie Sie möchten, solange Sie der Meinung sind, dass der Gesamtbefehl sinnvoll ist.

Sie können diese sekundäre Eingabeaufforderung wie gewohnt abbrechen Ctrl +C .

2) Bash erkennt einige Befehle, z. B. für Schleifen (für i in ....), und die Eingabeaufforderung wird sofort angezeigt. So wie es sein wird, wenn Sie ein Anführungszeichen bei einem Befehl verpassen:

apt-cache search 'libgimp*
> 

Mehrere Befehle :

3) Wie in Lxnslck angegeben , können Sie Befehle durch Semikolons trennen:

which vlc; whereis vlc

/usr/bin/vlc
vlc: /usr/bin/vlc /etc/vlc /usr/lib/vlc /usr/bin/X11/vlc /usr/share/vlc /usr/share/man/man1/vlc.1.gz

4) Oder Sie können das kaufmännische Und verwenden &&, um zwei Befehle zu verknüpfen :

./configure && make
Gemeinschaft
quelle
4

Sie können die EINGABETASTE nach jeder Zeile drücken und wenn der Befehl nicht beendet wird (Mutiline - Befehle wie z for z. B. bei Schleifen), wartet das Terminal darauf, dass Sie den Rest des Befehls eingeben. Wenn der Befehl abgebrochen wird, wird er ausgeführt und Sie geben den nächsten Befehl ein, kein Problem.

Wenn Sie die Befehle aus einem Lernprogramm kopieren, können Sie die gesamte Befehlsgruppe kopieren und direkt in das Terminal einfügen.

laurent
quelle
1

Wenn es sich um eine Reihe von Befehlen handelt, die Sie voraussichtlich mehrmals verwenden, sollten Sie sie in eine Bash- Skriptdatei einfügen . Zum Beispiel,

xrandr --newmode "1280x960_80.00" 139.25  1280 1368 1504 1728  960 963 967 1008 -hsync +vsync
xrandr --verbose --addmode VGA1 "1280x960_80.00"
xrandr --output HDMI1 --off --output LVDS1 --mode 1366x768 --pos 1280x512 --rotate normal --output DP1 --off --output VGA1 --mode "1280x960_80.00" --pos 0x0 --rotate normal
sleep 3
xfce4-panel -r

ist nichts, was Sie jemals wieder eingeben möchten, aber ich benötige diese bestimmte Befehlsfolge sehr oft. So geht es in einer Datei namens 1280x980-2head.sh, die Sie mit jedem Editor Ihrer Wahl erstellen können. Um dieses Skript zu machen ausführbar , setzen Sie die Zeile #!/bin/bashvor allem (a shebang ), und stellen Sie die Ausführung Erlaubnis: chmod +x 1280x980-2head.sh. Geben Sie dann einfach ./128<tab>(Autovervollständigung) ein und führen Sie <enter>alle Befehle aus.

links herum
quelle
0

Sie können alles in Klammern setzen; beispielsweise:

(sudo add-apt-repository ppa:foo/bar
sudo apt-get update
sudo apt-get install my-package)

Die Befehle werden nacheinander in einer Unterschale ausgeführt.

Wenn Sie nicht möchten, dass sie in einer Sub-Shell ausgeführt werden, können Sie ein Semikolon zwischen einen Befehl und den anderen setzen. beispielsweise:

sudo add-apt-repository ppa:foo/bar; sudo apt-get update; sudo apt-get install my-package

Wenn Sie stattdessen "&&" zwischen die einzelnen Befehle einfügen, wird der auf "&&" folgende Befehl nur ausgeführt , wenn der vorherige Befehl fehlerfrei beendet wurde. Sie müssen ihn also nicht zum Verketten von Befehlen verwenden. Verwenden Sie stattdessen Semikolons. Wenn Sie dagegen "||" eingeben, wird der folgende Befehl nur ausgeführt, wenn der erste mit einem Fehler beendet wird. Beispiel: (Der Befehl "which" prüft, ob ein Programm vorhanden ist und ob er nicht mit einem Fehler beendet wird.)

which apt-get && echo "No error" || echo "Error"    # Will print "No error"
which jdhdsd && echo "No error" || echo "Error"  # Will print "Error"
Depau
quelle