.. _Zusätzliche Shell-Programme: Zusätzliche Shell-Programme =========================== Die folgenden, meiner Meinung nach durchaus nützlichen Programme sind auf frisch installierten Systemen zwar (meist) nicht von Grund auf enthalten, lassen sich jedoch einfach mittels der Paketverwaltung nachinstallieren. .. .. index:: autojump .. .. _autojump: .. ``autojump`` .. ------------ .. Mit ``autojump`` lassen sich häufig besuchte Verzeichnisse in einer Shell .. schnell und einfach ansteuern. .. ``autojump`` ist über die Paketverwaltung mittels des gleichnamigen Pakets .. installierbar: .. .. code-block:: sh .. sudo aptitude install autojump .. Nach der Installation muss noch folgender Eintrag in die Konfigurationsdatei .. ``~/.bashrc`` beziehungsweise ``~/.zshrc`` eingefügt werden: .. .. code-block:: sh .. . /usr/share/autojump/autojump.sh .. Öffnet man dann eine neue Shell, so werden alle besuchten Verzeichnisse .. automatisch und auch über die aktuelle Shell-Sitzung hinaus in einer "History" .. gespeichert; je häufiger ein Verzeichnis besucht wurde, desto höher wird sein .. Ranking in dieser History. Um in ein Verzeichnis zu wechseln, das einen Eintrag .. in dieser History hat, genügt es ``autojump`` mit einem Teil des Pfadnamens .. aufzurufen; für ``autojump`` wird bei der Installation zugleich automatisch das .. Alias ``j`` definiert. .. *Beispiel:* .. .. code-block:: sh .. # In ein "neues" Verzeichnis wechseln: .. cd /etc/init.d .. # Zurück ins Home-Verzeichnis wechseln: .. cd .. # Mit autojump wieder in das obige Verzeichnis wechseln: .. j init .. Durch einen Aufruf von ``j --stat`` kann man sich anzeigen lassen, welche .. Häufigkeitswertung die einzelnen bisher besuchten Verzeichnisse haben. Ich .. persönlich habe mir für diesen Aufruf, da ich ihn für ziemlich nützlich halte, .. ebenfalls ein Alias in der Konfigurationsdatei ``~/.zshrc`` definiert: .. .. code-block:: sh .. alias J='autojump --stat' .. Damit kann die Verzeichnis-History in Kombination mit :ref:`grep ` einfach .. durchsucht werden: .. .. code-block:: sh .. J | grep stichwort .. # Beispiel: .. J | grep -i init .. # Ergebnis: .. 14.1: /etc/init.d .. Was ``autojump`` erst Recht zu einem sehr nützlichen Alltags-Werkzeug macht, ist .. dass auch mehrere Pfad-Teile angegeben werden können: .. .. code-block:: sh .. # In ein "neues" Verzeichnis wechseln: .. cd /usr/local/lib .. # Zurück ins Home-Verzeichnis wechseln: .. cd .. # Mit autojump wieder in das obige Verzeichnis wechseln: .. j usr lib .. Autojump gleicht also einem Fuzzy-Finder für Pfadangaben: Einmal besucht, können .. Verzeichnisse auf diese Weise (sogar ohne Berücksichtigung von Groß- und .. Kleinschreibung) schnell wiedergefunden und angewählt werden. Autojump kann .. somit als Ergänzung zur :ref:`cd `-Anweisung einige Tipp-Arbeit sparen. .. Eine etwas komplexere, aber durchaus empfehlenswerte Weiterentwicklung von .. :ref:`autojump ` ist :ref:`fasd `. .. .. index:: fasd .. .. _fasd: .. ``fasd`` .. -------- .. .. https://github.com/clvv/fasd .. Mit ``fasd`` als Weiterentwicklung von ``autojump`` kann man schnell häufig .. genutzte Verzeichnisse und Dateien auswählen und diese nach Belieben mit einem .. gewünschten Programm öffnen. Empfehlenswert ist es, ``fasd`` in Kombination mit .. der ``Zsh`` zu nutzen, da es ein bereits darauf abgestimmtes Plugin gibt. .. Um ``fasd`` zu installieren, kann man in einer Shell (gegebenenfalls zunächst .. ein neues Verzeichnis erstellen und dort) folgendes eingeben: .. .. code-block:: sh .. # fasd herunterladen und entpacken: .. wget -O fasd.tar.gz https://github.com/clvv/fasd/tarball/1.0.1 .. tar zvxf fasd.tar.gz .. # Ins fasd-Verzeichnis wechseln: .. cd clvv-fasd-* .. # fasd systemweit installieren: .. sudo make install .. # fasd laden (einmalig): .. echo 'eval "$(fasd --init auto)"' >> ~/.zshrc .. source ~/.zshrc .. ... Siehe https://github.com/clvv/fasd ... to be continued ...