Zum Inhalt springen

CLI-Tools

Die klassischen Unix-Tools, sind beeindruckend - aber sie stammen aus einer Zeit ohne Multicore-Prozessoren, mit wenig Standardisierung und wenig Erfahrung im Bereich UX.

Was wäre, wenn wir Unix-Tools heute neu entwickeln würden? Mit dem Wissen von 50 Jahren Software-Engineering?

Wie viele TODOs gibt es im Linux-Kernel?

grep TODO

grep -r TODO

rg TODO

https://github.com/sharkdp/hyperfine

  • linux repo
  • small repo

cat (concatenate) liest Dateien und gibt diese auf stdout aus. Der Name kommt von seiner ursprünglichen Hauptfunktion - mehrere Dateien zu verketten:

cat example.txt test.txt > combined.txt

Heutzutage wird cat oft verwendet, um einfach Text auf der Kommandozeile auszugeben:

cat config.json # ❌ Nicht der eigentliche Zweck

Dies ist zwar funktional, erfüllt aber nicht seinen eigentlichen Zweck. Wie cat-v treffend kritisiert: “cat isn’t for printing files with line numbers”.

Für das Betrachten von Dateien sind eigentlich less oder ähnliche Pager gedacht: less config.json

bat ist in dieser Hinsicht also mehr ein less-Klon als ein cat-Klon, denn es bietet viele Vorteile, um Dateien für Menschen lesbarer zu machen.

bat bietet moderne Features wie:

  • Syntax Highlighting
  • Git Integration
  • Zeilen Nummern
  • Paging

bat Cargo.toml

https://github.com/eza-community/eza

[Hyperfine Ergebnisse Tabelle]

https://github.com/BurntSushi/ripgrep

https://github.com/sharkdp/fd

https://github.com/eza-community/eza?tab=readme-ov-file#display-options

https://github.com/chmln/sd

https://github.com/Byron/dua-cli

https://nushell.sh

https://github.com/casey/just

https://github.com/XAMPPRocky/tokei

https://github.com/dandavison/delta

https://github.com/extrawurst/gitui

https://git-cliff.org/

https://yazi-rs.github.io, https://github.com/sxyazi/yazi

https://biomejs.dev

https://github.com/jdx/mise

https://github.com/sharkdp/hexyl

https://github.com/RustScan/RustScan

https://github.com/watchexec/watchexec

https://github.com/foresterre/imagineer

https://github.com/Orange-OpenSource/hurl

https://kalker.xyz

https://typst.app

https://github.com/Y2Z/monolith

https://github.com/svenstaro/miniserve

https://rnote.flxzt.net

Rust Tools, H. Högl, 2022, 2023, 2024, 2025