ADMIN-Tipp: Verzeichnis-Stack speichern

Jede Woche erscheint in unserem Newsletter ein neuer ADMIN-Tipp. Eine Sammlung aller Tipps finden Sie im Archiv der ADMIN-Tipps.

Der Directory Stack der Bash-Shell ist praktisch, wenn man viel durch Verzeichnisse navigiert. Mit ein paar zusätzlichen Kommandos lässt er sich über Login-Sessions hinweg speichern. 

Um das Wechseln zwischen häufig genutzen Verzeichnissen zu vereinfachen, bietet die Bash-Shell (wie auch ihre Kollegen Zsh und Tcsh) einen Directory Stack. Dabei wechselt der Befehl "pushd" in ein Verzeichnis und legt es auf den Stack. "popd" entfernt das oberste Elemente wieder und wechselt in das darunterlegende, nun neue oberste Verzeichniselement.

Wer sich häufig in den gleichen Verzeichnissen bewegt, wird sich vielleicht wünschen, die am häufigsten verwendeten Verzeichnisse dauerhaft abzuspeichern. Das lässt sich leicht bewerkstelligen, indem man beim Ausloggen den Stack in einer Datei speichert und beim Einloggen wiederherstellt. Für Befehle, die die Shell vor dem Ausloggen ausführt, bietet die Bash die Datei ".bash_logout". Fürs Einloggen gibt es etwa die Datei ".bash_profile" im Home-Verzeichnis. In die Logout-Datei gehören dann die folgenden Zeilen:

popd -n 0
dirs -l -p > ~/.dirstack.txt

Die erste Zeile ist quasi ein Workaround für ein Problem, das sonst auftritt. Es löscht immer das erste Element des Stacks, das beim Einloggen automatisch auf das aktuelle Verzeichnis gesetzt wird. Ohne die Zeile würden sich hier die Einträge des Home-Verzeichnisses bei jedem Ein- und Ausloggen duplizieren. Die zweite Zeile schreibt den Stack zeilenweise in die Datei "~/.dirstack.txt".

Wiederherstellen lässt sich der Verzeichnis-Stack mit einer Zeile in ".bash_profile":

for d in $(tac ~/.dirstack.txt); do pushd "$d" > /dev/null; done

Die Zeilen lassen sich natürlich beliebig modifizieren. Zum Beispiel könnte man mit If-Abfragen bestimmte Verzeichnisse ausfiltern, den automatischen Wechsel in die Verzeichnisse unterdrücken ("pushd -n") oder den Stack auf ganz andere Weise verwalten. 

03.09.2013

Ähnliche Artikel

  • ADMIN-Tipp: Überraschendes cd

    Manchmal verbergen sich hinter den unscheinbarsten Dingen, bei denen es keiner erwartet, noch überraschend praktische Tipps. Beispielsweise ist cd sicher eins der häufigsten Shell-Kommandos überhaupt, seine Funktion ist in einem Satz erklärt und damit scheint alles gesagt. Trotzdem kann man hier noch weniger bekannte, nützliche Tricks finden.

  • SELinux hilft (wenig) gegen Bash-Exploit Shellshock

    Der Red-Hat-Entwickler Dan Walsh hat analysiert, was passiert, wenn ein Apache-Server mit SELinux geschützt ist.

  • ADMIN-Tipp: Fenstertitel setzen

    Beim SSH-Login auf anderen Rechnern setzen Login-Skripte meist automatisch den Titel des aktuellen Terminalfensters. Ärgerlich ist es, wenn sie das beim Ausloggen nicht rückgängig machen. Mit einem einfachen Befehl lässt sich dies von Hand korrigieren.

comments powered by Disqus

Artikel der Woche

Setup eines Kubernetes-Clusters mit Kops

Vor allem für Testinstallationen von Kubernetes gibt es einige Lösungen wie Kubeadm und Minikube. Für das Setup eines Kubernetes-Clusters in Cloud-Umgebungen hat sich Kops als Mittel der Wahl bewährt. Wir beschreiben seine Fähigkeiten und geben eine Anleitung für den praktischen Einsatz. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Container

Wie setzen Sie Container ein?

  • Gar nicht
  • Docker standalone
  • Docker mit Kubernetes
  • Docker mit Swarm
  • Docker mit anderem Management
  • LXC/LXD
  • Rocket
  • CRI-O auf Kubernetes
  • Container auf vSphere
  • Andere (siehe Kommentare auf der Ergebnisseite)

Google+

Ausgabe /2018

Microsite