新しいコマンドライン環境

Rust製の代替コマンド実装まとめ
modern unix-tools (画面付きまとめ)
CLIツールまとめ
新しいCLIツールまとめ
https://jvns.ca/blog/2022/04/12/a-list-of-new-ish--command-line-tools/
man の代替
- Rust製
NeoVim を使って man をカラー化する

grep の代替
- Rust製
- Windows可
あいまい検索、TUI機能などがついた高機能なやつ
bat
と ripgrep
を組み合わせて見やすく
文脈依存な方法でソースコードを検索する
IntelliJライクな操作感

find の代替
- Rust製
- Windows向けあり
lmgrep
Lucene を使って検索する Clojure製のツール
bfs (幅優先探索find)
SQLライクなクエリでファイル検索

ls の代替
exa
rupa/z
頻繁に移動するディレクトリを学習して良しなに保管して移動できる

coreutils の代替
- Windows可

sed の代替
- Windows可

強化CUIコレクション
インタラクティブにワンライナーやシェルコマンドを補完してくれる
Clojure によるシェルの強化
- node.js / cljs 版
既存コマンドを綺麗に
通常の ls
などの出力をラップしてリッチに出力するShellScript
bat コマンドと連携する強化CUIコレクション
Diff を綺麗に
言語のセマンティクスを理解し、意味論だけ変わった個所をハイライトするDiff

tree の代替

音楽
CUIプレイヤー
CLI音楽プレイヤーコントローラー
Spotify を TUI で

新興ターミナルエミュレーター
Alacritty
Rust
Warp
Rust
rio
デスクトップやブラウザで動作するようフォーカスし、WebGPUを搭載したハードウェアアクセラレーションGPUターミナルエミュレータ
Kitty
C/Python
MAUI Shell
C++
Contour
C++
vcterm
VSCodeライクなドッキング画面分割機能などがあるターミナル
C++/Qt5製
Waveterm
Golang製 多機能
Tabby (元Terminus)
TypeScript
- https://github.com/eugeny/tabby
- TypeScript / Electron なマルチプラット・フォームターミナルエミュレータ
ブラウン管風の表示をするおしゃれ目的のやつ
-
Golang(ebiten) 製
-
C製のモダンだけどシンプルな感じのものらしい(α版)
-
WindowsTerminal を Cool-Retro-Term 風にするシェーダー設定

HTTPie の代替
- Rust製
- Golang製
- Python
APIクライアント
ターミナル内ブラウザ

モニタリングなど
top の代替
ウェブサーバーのログ監視
ターミナル内ログビューア
ログをシンタックスハイライト
ストレージのSMART情報表示
フレームグラフの表示

ジョブ管理
コマンドのキューイング
cp,mv などの進捗状況確認コマンド

新興シェル
Xonsh
Oil Shell
Nu Shell
fish
elvish
closh
- clojureベースのShell
https://github.com/dundalek/closh
gosh
- Go製のシェルパーサー、フォーマッタ、インタプリタCLI
https://github.com/mvdan/sh
yash
- Yash は世界で最も正確な POSIX 規格準拠を目指したシェル実装(C99製)
https://yash.osdn.jp/
pash
- Python製の並列処理による高速シェル
https://github.com/binpash/pash
UNIXシェルの並列化により最大34倍高速化する「PaSh」、米MITなどが開発 プログラム結果も正確:Innovative Tech - ITmedia NEWS
"シェルスクリプトを使った並列処理方法はGNU Parallelやxargs -Pなどがある。並列処理の速度比較ならそれらの伝統的な手法と比較するべきだろう パイプを使った書き方そのままで、特定の場合に高速化するのは理解できるが、それは今までの並列化手法よりも簡潔に書けるようになったという程度だろう" / Twitter
es (Extensive Shell)
- Plan9 を源流とし Scheme や Tcl の影響を受けたシェル(スクリプティング言語)
https://wryun.github.io/es-shell/
その他
- POSIX・Bash互換性を目指したRust製のシェル
- DevOps での利用を指向したGo製のBash++なシェル
- POSIXに従った最小限実装のシェル、
/bin/sh
の最新実装的なもの?- https://mrsh.sh/
-
https://git.sr.ht/~emersion/mrsh
- C言語でシェルを実装する参考によさそう
- 1ソース(
.c
,.h
)のターミナル実装

JSON, CSV などのデータ加工ツール
JSON加工ツール
jq(実態はプログラミング言語)
Yet Another Faster jq な実装
TUIで作られたjqのプレイグラウンド
jqでjqをセルフホスト
インタラクティブなjq
バイナリデータ向けjq
YAML向け jq
YAMLフォーマッタ
HTML向けの jq
インタラクティブなJSONビューア
ls
などのコマンドの出力をJSON化する
- 通常コマンドの出力を
jq
に渡せるようになる
json, yaml などに相互変換してくれる感じのツール
miler
CSV, TSV, 表形式のJSONなどの名前インデックス付きデータのawk, sed, cut, join, sort 機能が入ったCLIツール
JSON, CSV をテーブル表示するツール
CSVビューア
ターミナル内でCSV表示&編集できる
CSV分析
AWKの代替を目指して作られた言語

CLIで動作するテンプレート文字列補完・インタプリタ
PDFビューア

sort | uniq した結果だけ出力する感じのコマンド

Gitフロントエンド
EmacsのMagitに影響を受けたもの

ジョーク
ターミナル内に盆栽を生やす
ワイパーでターミナルを綺麗にする
ターミナル内で打ち上げ花火
JS版ターミナル内でNyanCat
ターミナル内でWebCamの映像をマトリックス風に描画
ターミナル内で色々描画して働いている感を出す
ターミナル内で画面エフェクト
ターミナル内でプラネタリウム
ターミナル内で動くMS Paint
BrainFxxkで実装された簡易ed
ゲーム
sed で作ったマインスイーパ
ゲームボーイ版に近いテトリス
シェルスクリプト製テトリス
awk製のDoomっぽいゲーム
3D(!)
ターミナル内で動作する .OBJファイルビューア

東アジアの文字幅の揃え
コンソールCJKフォント半角・全角揃え
- 東アジアの曖昧な幅のフォントをターミナル上で扱うとずれが発生する問題があるようだ
コンソール端末用フォント Illusion
解消したい問題
- 通常の Unicode 環境で半角扱いの Ambiguous や Neutral が全角で、被ったりズレたりする。
- Unicode の罫線素片やブロック要素が不足したり、縦の罫線が行間で切れたりする。
CJK 用の文字幅などで Ambiguous を全角扱いにすると、Text User Interface な
コマンドやアプリとの相性が悪くなります。出来るなら、普段の日本語等幅フォントを
使いながら、場面によって半角と全角どちらも使い分けたい。そして罫線を補って
日本語混じりのコーディング環境をより快適にしたい!
そうした欲求と衝動で生まれたフォントです。
XWindow無しで高機能なコンソールデスクトップを作ろう記事
Text based な疑似デスクトップ環境を作る

TUIファイラ/ファイルマネージャ
-
nnn
インスパイアの Nim実装
https://github.com/joachimschmidt557/nimmm
TUIデータベース管理ツール
テキストエディタと連携してファイルリネーム

メールクライアント

ターミナルマルチプレクサ
タイル型WMの操作性をターミナルにも
Rust製の新しいやつ
i3wm をインスパイアしたもの

その他ツール
キーリマッパー
- Rust製
- C言語製
- Haskell製
キーボードでマウスポインタを操作する(macOS, Linux )
dotfiles のマシン間同期ツール
環境変数管理
redis-cli のインタラクティブ補完有り版
CLIカラーパレットツール
ソースコード統計ツール
秘密鍵うっかりコミット防止
シェルのヒストリ管理ツール
CLIで壁紙設定
プレゼンテーションツール
- スライド作成
https://github.com/maaslalani/slides - Python のコードをプレゼンするツール
https://github.com/mimseyedi/pysentation
Text → SVG な変換ツール
ANSIアスキーアート → 画像へ変換するツール
emoji検索
シェル録画ツール
紹介記事
CLI で録画したりスクショ(macOS限定)
GUIダイアログ表示
シェルスクリプトからGUIダイアログを表示する
GoogleDrive連携
sysctl コマンドをTUIで見やすく
負荷テストツール
Markdown でシナリオを書けるシェルテストツール
Markdown をテーミナル上でいい感じに表示する
事前に用意したシナリオに従ってターミナルを自動操作するツール
重複ファイル検出ツール
ファイルシステム中から重複した内容のファイル(クローン)を高速で発見するツール。ディスクの種類 (SSD/HDD)によって異なるアルゴリズムで並列化する。詳細な設定が可能で検索結果をJSONで出力し、重複ファイルに対するいろいろな処置を決定できる。
https://twitter.com/mootastic/status/1522769236975767552
TwitterのユーザーID変更履歴追跡ツール

watch の代替

df の代替

ネットワーク関連コマンド
マシン間をWireGuardで接続しファイル転送などができる
SCP/SFTP をインタラクティブに操作できるCLI
localhost をパブリックに公開するだけのツール(ngrokの簡易版CLI)
TLS/SSLのチェックツール
SSH便利スクリプト集
ターミナル内でGUIブラウザを動かす
広告ブロック hosts ファイル生成スクリプト
- 複数のソースから広告を提供するホストをブロックするhostsファイルを作成するPOSIX準拠なshell向けのシェルスクリプト
https://hblock.molinero.dev/
指定したポートで動いているプロセスをkillする

新興シェルスクリプティング言語・ツール

パッケージマネージャ
zsh plugin
コマンドインストーラ
github のリリースページにあるコマンドをDLする gh コマンド拡張