Linux-Befehl „cd ..“

Linux-Befehl „cd ..“

Sagen Sie, wenn ich dies oft tun muss:

cd ../../../../foo/sub1/bar/dest/
cd ../../../../foo2/sub1/bar/dest/
cd ../../../../foo3/sub1/bar/dest/
cd ../../../../foo/sub1/bar/dest/

Gibt es eine schnellere Möglichkeit, nicht immer ../../../../so oft zu tippen? Irgendwelche kreativen Ideen?

Antwort1

Der klassische Weg, dies zu tun, ist das Setzen der CDPATHVariable. In Ihrem Fall könnte sie auf .:../../../../oder gesetzt werden .:/path/to/the/parent/of/foo, um den gewünschten Effekt zu erzielen. Sie können dann einfach tun cd foo/sub1/bar/destund dorthin gelangen, wo Sie möchten.

Der Vorteil hiervon besteht darin, dass die Tab-Vervollständigung cdebenfalls berücksichtigt wird $CDPATHund wie durch Zauberhand funktioniert.

Antwort2

Sie könnenautomatischer Sprungdas automatisch vom vorherigen CD-Befehl lernt und Sie beim nächsten Mal nur eine eindeutige Zeichenfolge aus dem vollständigen Pfad angeben müssen. Beispiel: j foo, j foo1, j foo2

Antwort3

Sie können Verknüpfungen für diese Befehle erstellen, indem Sie Aliase zur Bash-Konfigurationsdatei hinzufügen (~/.bashrc oder /etc/bash.bashrc).

alias cdd="cd ../../../../"

Wenn Sie cddes dann eingeben, wird der Befehl ausgeführt.

Antwort4

Ich bin vor kurzem aufhttps://github.com/rupa/z, mit dem Sie per regulärem Ausdruck zu einem zuletzt verwendeten Verzeichnis springen können. Sie könnten also etwas wie Folgendes tun:

z foo3.*dest

anstatt:

cd ../../../../foo3/sub1/bar/dest/

(sofern Sie dieses Verzeichnis schon einmal besucht haben und nichts Neueres/Häufigeres mit diesem regulären Ausdruck übereinstimmt)

verwandte Informationen