Wie wechsle ich in das Verzeichnis, in das ich diese Datei gerade verschoben habe?

10

Nehmen wir also an, ich habe es gerade getan:

mv ./myfile /to/some/other/place/

Und jetzt entscheide ich mich, der Datei zu folgen und in dieses Verzeichnis zu gehen.

Während ich zur Maus gehen konnte, den Text auswählen, 'cd' eingeben und dann mit der rechten Maustaste klicken, um ihn einzufügen - ich würde ein schnelleres tastaturbasiertes Verzeichnis bevorzugen.

Also, was ist der beste Weg, das zu tun?
(Im Allgemeinen und wenn anders, Centos + Bash im Besonderen)

Peter Boughton
quelle

Antworten:

12

Wenn Sie "! $" Eingeben, wird das letzte Argument der vorherigen Zeile ausgegeben. In welches Verzeichnis haben Sie die Datei verschoben?

thepocketwade
quelle
Das Beste, was ich den ganzen Tag gelernt habe.
Markdrayton
1
Rorys CD $ _ ist Posix, daher funktioniert sie sowohl mit Ksh- und Bourne-Shell als auch mit Bash.
kmarsh
1
"cd $ _" funktioniert nicht in csh oder tcsh, aber in zsh. csh und tcsh unterstützen jedoch! $. Nur für das Protokoll.
Thepocketwade
5

Versuchen

cd !$
Christian Lescuyer
quelle
1
Danke - das funktioniert, aber thepocketwade hat eine umfassendere Antwort gegeben, also habe ich seine akzeptiert.
Peter Boughton
4

Versuchen Sie "cd" und dann "[Alt] +". (kann wiederholt verwendet werden) Es werden alle letzten Parameter Ihres vorherigen Befehls gescrollt. So wird es aussehen:

mv ./myfile /to/some/other/place/
cd <Alt>+.
katriel
quelle
Danke, auch hilfreich, da ich manchmal den unmittelbar vorhergehenden Befehl nicht möchte.
Peter Boughton
Hier ist ein weiterer nützlicher Bash-Trick für Sie: Mit Strg + r können Sie Ihren Verlauf schnell durchsuchen, indem Sie einen Teilbefehl eingeben. Kann auch wiederholt verwendet werden, um zu älteren Teilen Ihrer Geschichte zurückzukehren
Katriel
4

Esc- .(Escape gefolgt von Punkt) Gibt Ihnen das letzte Argument des vorherigen Befehls, es ist eine Readline- Verknüpfung. Sie können es mehrmals eingeben, um die letzten Argumente der vorherigen Befehle zu durchlaufen. Readline ist eine Befehlszeileneintragsbibliothek, die von vielen Shells (wie z. B. Bash, demselben Betreuer), IRC-Clients usw. verwendet wird.

Dies ist wahrscheinlich meine Lieblings-Tastenkombination (gefolgt von ctrl- afür Zeilenanfang und ctrl- efür Zeilenende), probieren Sie es aus ;-)

Update: Oh, Katriel hat gepostet Alt- .das ist das gleiche, nur ein anderer Schlüssel ( Altstatt Esc)

Kyle Brandt
quelle
2

Sie können auch $_als letztes Argument der letzten Befehlszeile verwenden

Rory
quelle