Serie "Zeigt her eure Aliase": Aliase von Marco
Di, 14. Februar 2023, Marco
Im Einleitungsartikel zu dieser Serie hat Ralf bereits einige Aliase aufgezeigt, welche ihm die Arbeit erleichtern. In diesem Artikel möchte ich ein paar weitere Aliase vorstellen, welche mir einiges an Zeit und Tipparbeit einsparen. Grob stelle ich neben allgemeinen Aliasen noch einige Aliase zu folgenden Programmen vor: Tmux, Docker (respektive Podman) und git.
Zunächst einmal die eher allgemein gehaltenen Aliase:
alias ll='ls -ahl --color=auto'
alias hist='history | grep'
alias ..='cd ..'
alias ...='cd ../..'
alias mande='man -L de_CH.UTF-8'
alias pclip='pwd | xclip'
alias ffProfile='firefox -P > /dev/null 2>&1 &'
Der Alias ll
listet die Dateien im jeweiligen Ordner auf, wobei auch die versteckten Dateien und die Dateiattribute angezeigt werden. Ausserdem wird die Ausgabe automatisch eingefärbt. Mit dem Alias hist
können die letzten Befehle durchsucht werden. Die Aliase ..
und ...
navigieren in das übergeordnete Verzeichnis. Da ich mein Notebook auf Englisch nutze, sind natürlich standardmässig die Hilfsseiten auf Englisch. In gewissen Situationen bin ich allerdings dennoch um die deutsche Übersetzung froh. Mit pclip
wird der aktuelle Pfad kopiert und dieser kann mittels Shift + Insert eingefügt werden. Diesen Alias verwende ich meistens im Zusammenhang mit tmux. Der letzte der allgemeinen Aliase öffnet den Profilmanager von Firefox. Ich verwende unterschiedliche Firefox-Profile für unterschiedliche Tätigkeiten, da nicht alle Profile dieselben Erweiterungen und Einstellungen benötigen. Nachfolgend werden die Aliase im Zusammenhang mit Tmux aufgeführt.
alias tml='tmux list-sessions'
alias tms='tmux new-session -s'
alias tma='tmux attach-session -t'
Tmux ist ein Terminalmultiplexer (siehe Artikel), welchen ich relativ häufig verwende. Die Aliase sind beinahe selbsterklärend, dennoch kurz einige Worte zur Erklärung:
tml
zeigt mir alle aktuell offenen Tmux-Sessions antms
startet eine neue Session, wobei der Name der Session einfach an das Ende des Aliases gehängt werden kann, also zum Beispieltms testprojekt
.- Beim Wechsel zwischen den einzelnen Tmux-Sitzungen finde ich den Alias
tma
nützlich.
Bei der Nutzung von Containern wird in Anleitungen oftmals davon ausgegangen, dass Docker genutzt wird. Gerade wenn ich den Befehl zwar verstehe, aber aus Unaufmerksamkeit docker
statt podman
als Befehl verwende, erhalte ich ohne die zwei ersten Aliase im nachfolgenden Snippet eine Fehlermeldung. Mithilfe dieser beiden Aliase erhalte ich keine Fehlermeldungen, allerdings sollte einem bewusst sein, dass die Aliase nicht so mächtig wie das eigentliche Programm ist. Bei den Aliasen fehlt zum Beispiel eine automatische Vervollständigung der Parameter.
alias docker='podman'
alias docker-compose='podman-compose'
alias dcu='podman-compose up -d'
alias dcd='podman-compose down'
Die letzten beiden Aliase vereinfachen mir die Arbeit, wenn ich einen oder mehrere Container mit podman-compose
starten möchte. dcu
startet die in der Datei docker-compose.yml
definierten Container im Hintergrund. Mit dcd
können die Container wieder beendet werden. Bei den Git-Aliasen bin ich ein wenig inkonsistent. Einerseits nutze ich hier Shell-Aliase und ein paar wenige Aliase, welche ich direkt über git definiere. Ein sinnvolles Konzept ist bei mir Fehlanzeige. Nichtsdestotrotz zunächst einmal die Aliase, welche ich in ~/.bash_aliases
definiert habe:
alias gdw='git diff --word-diff'
alias gcom='git checkout main'
Standardmässig zeigt der Befehl git diff
nur die geänderten Zeilen an. Gerade bei langen Zeilen (wie beispielsweise in LaTeX-Dokumenten) ist diese Ansicht für mich allerdings nicht allzu hilfreich. Hier hilft mir der Alias gdw
, welcher die Änderungen wortweise anzeigt. Der Alias gcom
wechselt zum Branch main.
In der globalen Konfigurationsdatei (~/.gitconfig
) von git habe ich folgenden Alias definiert:
[alias]
tree = log --decorate --pretty=oneline --abbrev-commit --graph
Mit dem Befehl git tree
sehe ich nun die Commit-History in kompakter Form grafisch dargestellt. Neben dem globalen Git-Alias verwende ich zwischendurch in Projekten spezifische Aliase. Wie Git-Aliase definiert werden können, kann im Handbuch nachgelesen werden.
Bildnachweis: https://pixabay.com/vectors/bash-command-line-linux-shell-148836/ (OpenClipart-Vectors, Pixabay-Lizenz)