Obwohl es bereits einige gute Antworten gibt, dachte ich, ich würde der Vollständigkeit halber die alten pushdund popdBash-integrierten Funktionen erwähnen, mit denen Sie sehr schnell zwischen Verzeichnissen in tiefen Pfaden in Ihrem Dateisystem wechseln können. Im Gegensatz zu den autojumpvon burger.ga erwähnten Lesezeichen ist der mit using erstellte Verzeichnisstapel pushdnur vorübergehend.
Da die GNU Handbuch Notizen , pushdund popdsind Bash builtins ein temporäres Verzeichnis Stapel zu konstruieren , die eine ist
Liste der zuletzt besuchten Verzeichnisse. Das eingebaute Pushd fügt dem Stapel Verzeichnisse hinzu, wenn es das aktuelle Verzeichnis ändert, und das eingebaute Popd entfernt angegebene Verzeichnisse aus dem Stapel und ändert das aktuelle Verzeichnis in das entfernte Verzeichnis. Das integrierte Verzeichnis zeigt den Inhalt des Verzeichnisstapels an.
Es ist etwas gewöhnungsbedürftig, aber es gibt viele nützliche Tutorials in diesem Blog und auf dieser Website zum Beispiel. Es gibt keine separaten Manpages für die Befehle, da diese in der Bash-Manpage enthalten sind. Zum schnellen Nachschlagen können Sie jedoch die GNU Bash- Seite anzeigen .
Die klarste Erklärung findet sich in diesem sehr nützlichen Artikel und ist genau die Art pushdund Weise, wie ich sie benutze und popd:
Verwenden Sie zunächst dirsoder, dirs -lum Verzeichnisse auf dem Stapel aufzulisten und den Stapel dirs -czu löschen.
In gewisser Weise setzen Sie ein Lesezeichen für den Ort, an den Sie zurückkehren möchten, indem Sie eingeben
pushd /home/mike/Pictures/Canon/2012_07_01
Anschließend können Sie dem Stapel weitere Verzeichnisse hinzufügen, sodass Sie eine Verzeichnisliste wie folgt erhalten, die 3 festgelegte Ordner und Ihren Basisordner enthält ~:
dirs
~/Downloads/folder/interest ~/Music/artist/album ~ ~/Pictures/Canon/2012_07_01
Sie müssen es nicht popdsofort verwenden, da dadurch Verzeichnisse vom Stapel entfernt werden. Am besten pushddrehen Sie den Stapel, damit Sie zwischen den Verzeichnissen wechseln und sie nach Ihren Wünschen sortieren können. Weitere Informationen zu dieser nützlichen Stapelrotation finden Sie in der Bash-Manpage .
Wenn Sie genau die Stapelanordnung haben, wie die obige dirsAuflistung zeigt, pushd +3wechseln Sie zum jeweiligen Bilderordner und platzieren diesen über dem Stapel (es ist +3 und nicht +4, da Sie Ihre nicht ~im Verzeichnisstapel zählen):
pushd +3
~/Pictures/Canon/2012_07_01 ~/Downloads/folder/interest ~/Music/artist/album ~
Die Eingabeaufforderung lautet also:
~/Pictures/Canon/2012_07_01$
Sie können dies weiterhin tun, ohne sie aus dem Stapel zu entfernen, obwohl alle Ordner, cdin denen Sie sich befinden, außer denen, die dem Verzeichnisstapel hinzugefügt wurden, pushdIhren Verzeichnisstapel ändern.
Sobald Sie den Verzeichnisstapel in der gewünschten Reihenfolge angeordnet haben, können Sie popdschnell durch die Verzeichnisse blättern und dann zum Basisordner zurückkehren. Zum Beispiel können Pictureswir von zurückkehren zu Downloads:
popd
~/Downloads/folder/interest ~/Music/artist/album ~
und die Eingabeaufforderung lautet
~/Downloads/folder/interest$
Das Schöne daran ist im Allgemeinen, dass Sie den Verzeichnisstapel und die Reihenfolge der darin enthaltenen Elemente einrichten pushdund dann, wenn Sie drei Dateien in jedem dieser Verzeichnisse bearbeiten müssen, sofort zu jeder Datei zurückkehren können, popdwährend Sie sie entfernen aus dem Verzeichnisstapel. Dann popdkehren Sie mit Ihrem letzten zurück zu ~. Dies ist besonders nützlich, wenn Sie über besonders tiefe Verzeichnisse verfügen und damit den Verzeichnisstapel einrichten können, um schnell zwischen ihnen zu wechseln.
Darüber hinaus enthält diese Frage einige Tipps, die Sie bei der Arbeit an der Befehlszeile möglicherweise nützlich finden: