Fryboyter

Lesezeichen für Verzeichnisse unter der ZSH

Heute habe ich mir überlegt, wie ich meine Abläufe weiter optimieren kann. Der Wechsel in oft genutzte Verzeichnisse ist solch ein Ablauf. Als erstes habe ich mir das Jump-Plugin von Oh My ZSH angesehen.

Da mir Oh My ZSH zu überladen ist, habe ich mir nur das betreffende Plugin installiert. Hierzu habe ich das Verzeichnis /usr/share/zsh/plugins/zsh-jump erstellt und in diesem mittels wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/plugins/jump/jump.plugin.zsh das Plugin heruntergeladen. Abschließend habe ich noch in der ~/.zshrc source /usr/share/zsh/plugins/zsh-jump/jump.plugin.zsh hinzugefügt.

Das Plugin ist nun aktiv. Nun wechselt man einfach in eines der oft genutzten Verzeichnisse. Nehmen wir als Beispiel mal /etc/systemd/system. Mittels mark systemd legen wir ein Lesezeichen an (anstelle von systemd kann man eine beliebige Bezeichung angeben). Hiermit mit standardmäßig unter ~/.marks ein entsprechnender Symlink angelegt.

Nehmen wir nun einmal an, dass wir uns in ~/.config/terminator befinden und nun schnell in /etc/systemd/system wechseln möchten. Also führen wir jump systemd aus und landen umgehend in /etc/systemd/system.

Diese Lösung ist relativ einfach gehalten und erfordert das manuelle Anlegen von Lesezeichen. Andere Lösungen, die ich voraussichtlich noch testen werde, nutzen zum Beispiel fzf und sind daher komplexer und bietet mehr Möglichkeiten.

Linux | OSBN

Verzeichnisse nach einer bestimmten Reihenfolge erstellen

Neues Projekt, neue Probleme. Derzeit bin ich dabei, bestimmte Texte so mit Markdown zu formatieren, dass ich sie mittels pandoc in eine EPUB- sowie eine PDF-Datei umwandeln kann. Da es sich bei den Texten um mehr als 100 Stück handelt brauche ich hierfür eine gewisse Ordnung, sonst verliere ich die Übersicht. Von daher habe ich erste einmal ein Arbeitsverzeichnis angelegt. In diesem sollen dann Unterverzeichnisse von A bis Z angelegt werden in welche dann die Markdowndateien abgespeichert werden. Nur wie lege ich diese jetzt am besten an? Mittels mkdir A, mkdir B, mkdir C? Darauf würde ich gerne verzichten. Also eine Schleife? Das würde mir zumindest einiges an Arbeit ersparen. Die Lösung ist in diesem Fall aber noch einfacher. Das ganze lässt sich sogar mit mkdir direkt lösen. So reicht es aus mkdir {A..Z} auszuführen und schwups hat man Verzeichnisse von A bis Z angelegt. Braucht man Verzeichnisse mit Zahlen nimmt man beispielsweise einfach mkdir {1..10} und erstellt damit Verzeichnisse von 1 bis 10. Das ganze nennt man Brace Expansion. Damit lassen sich auch noch komplexere bzw. andere Sachen anstellen. So kann man beispielsweise durch mv test.{txt,bak} die Datei test.txt in test.bak umbenennen.

Linux | OSBN

Rechte von Dateien und Verzeichnissen als Oktalzahl anzeigen

Heute wollte ich die Rechte eines Verzeichnis und der daran enthaltenen Dateien überprüfen, da scheinbar ein Script etwas Mist gebaut hat. Prinzipiell kann man sich die Rechte schnell und einfach mittels

ls -alR

anzeigen lassen. Allerdings werden hier die Rechte durch die bekannten Buchstabenkombinationen angezeigt (z. B. -rw-r–r–). Lieber wäre mir in diesem Fall aber die Ausgabe mit Oktalzahlen wie zum Beispiel 755. Der Befehl ls kann dies scheinbar nicht. Nach einigen Hin und Her konnte ich das Problem mittels

find .zsh -printf "%m %p\n"

lösen (anstelle von .zsh gibt man das Verzeichnis an, das überprüft werden soll). Die Ausgabe sieht wie folgt aus.

700 .zsh
700 .zsh/cache
700 .zsh/cache/netbook
644 .zsh/cache/netbook/SYS_ALL_UNITS
644 .zsh/cache/netbook/SYS_REALLY_ALL_UNITS
755 .zsh/.zfunc
644 .zsh/.zfunc/extendedcd
644 .zsh/.zfunc/cd
Linux | OSBN