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 CDPATH
Variable. 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/dest
und dorthin gelangen, wo Sie möchten.
Der Vorteil hiervon besteht darin, dass die Tab-Vervollständigung cd
ebenfalls berücksichtigt wird $CDPATH
und 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 cdd
es 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)