Modern Unix

Di, 22. Juni 2021, Ralf Hersel

Manchmal tun wir Dinge, weil wir sie schon immer so gemacht haben. Schrauben, zum Beispiel, hatten in den 1500er Jahren geschlitzte Köpfe und geschlitzte Köpfe sind notorisch schlecht, aber trotz Robertson im Jahr 1907 und Phillips in den 1930er Jahren dauerte es Jahrzehnte, bis geschlitzte Schraubenköpfe unüblich wurden. Viele Linux-Werkzeuge, die wir täglich verwenden, sind direkte Nachfahren von Unix-Werkzeugen, die es schon seit fast einem halben Jahrhundert gibt. Ibraheemdev hat sich ein paar modernere Alternativen angesehen, und eine GitHub-Sammlung vieler solcher Werkzeuge erstellt.

Natürlich bedeutet "modern" nicht immer "besser". Die Werkzeuge in der Liste haben jedoch tolle Funktionen, darunter Dinge, die früher unüblich waren, wie die Verwendung von Farbe, textbasierte Grafiken und Git-Integration.

Einige der Befehle ersetzen sehr gängige Kommandos. Zum Beispiel ist bat wie cat mit Syntaxeinfärbung und Git-Integration. Die Befehle exa und lsd sind wie ls, und lsd ist sogar kompatibel mit ls. Es gibt delta, um diff zu ersetzen, und duf oder dust, um du zu ersetzen. Anstelle von cd kann man zoxide verwenden, um einige erweiterte Fähigkeiten zu erhalten, die in manchen Shells nativ vorhanden sind.

Viele der Befehle bieten weniger Möglichkeiten, um häufige Aufgaben zu erleichtern. Zum Beispiel kann man sed verwenden, um Text zu suchen und zu ersetzen, aber mit sd geht es einfacher. Man kann cut verwenden, um Teile einer Datei oder eines Streams herauszuziehen, aber mit choose geht es leichter. Manchmal gibt der man Befehl zu viele Details. Die Befehle tldr und tealdeer geben nur die üblichen Optionen für Befehle an und cheat bietet interaktive Spickzettel.

Abgerundet wird die Liste durch Befehle, die dedizierte Netzwerkhilfe bieten. Wo man vielleicht telnet, wget oder curl verwendet hat, bieten Programme wie xh, curlie und httpie einfachere Möglichkeiten, verschiedene Netzwerkanfragen durchzuführen.

Vermutlich möchte man nicht jeden Befehl aus dieser Liste verwenden, da die Gewohnheiten und das "muscle brain" sehr mächtig ist. Aber es finden sich bestimmt ein oder zwei interessante Befehle, die man gerne in den Arbeitsablauf aufnehmen möchte. Für alle, die sich nicht umgewöhnen wollen, gibt es noch die Möglichkeiten einen Alias zu setzen.

Quelle: https://github.com/ibraheemdev/modern-unix

tux.
Geschrieben von tux. am 22. Juni 2021

bat ist eher ein Ersatz für less als für cat (immerhin dient es vor allem dem Paging, weniger der Concatenation) und exa ist auch nicht wesentlich mehr als "ls --color=auto -lh" und somit m.E. überflüssig. Aber ich mag auch nicht unbedingt Werkzeuge, deren wesentliches Feature es ist, bunt zu sein.

Das Ganze "Modern Unix" zu nennen halte ich für infam. Unix war (und ist) für effiziente Tools bekannt, die aus automatisch verarbeitbarer Texteingabe automatisch verarbeitbare Textausgabe machen können - nicht für besonders bunte oder auch nur "freundliche" Kommandozeilenwerkzeuge. "Modernes Unix" wäre Plan 9 - das bereits in den 80ern ein GUI der Kommandozeile vorgezogen hatte. Schade, dass das bei Linuxern noch nicht angekommen ist. ;-)

tuxifreund
Geschrieben von tuxifreund am 22. Juni 2021

Im Prinzip zu genau diesem Thema gab es auch einen sehr interessanten Vortrag von Alexander Reelsen bei den Chemnitzer Linux Tagen 2021: https://chemnitzer.linux-tage.de/2021/de/programm/beitrag/111