🐚🦀シェルコマンドをRustで書き直し
はじめに
エンジニア、デベロッパー、プログラマーにはコマンドラインツールが欠かせません。コード作業がはるかにラクになります。近年、Rust言語の人気が高まるにつれ、これらのツールがRustで書き直されつつあります。パフォーマンスと信頼性が増しています。
「なぜRustで書き直されたコマンドを使うべきか」と疑問に思うかもしれませんが、答えはシンプルです。それは最高だからです!
この記事では、私たちが日々使っているいくつかのツールを紹介します。
必要なツール
bat
"bat"は、シンタックスハイライトとGitの統合が強化されたcat
のクローンです。Windows、MacOS、Linuxで動作し、ファイルの拡張子に応じたシンタックスハイライトを提供します。
bottom
"bottom"はプロセスとシステムの管理と表示のためのツールです。CPU、RAM、ネットワーク、ディスクなどのリソースをモニタリングするためのグラフィカルウィジェットを提供し、Linux、MacOS、Windowsでのユースケースに対する多様性とカスタマイズ性の高い選択肢です。
lsd
"lsd"はls
コマンドの強化版です。色の追加、アイコン、ツリー表示、より多くのフォーマットオプションを追加し、ディレクトリリストをより情報豊かで視覚的に楽しいものにします。
fd
"fd"は、システムのファイルを見つけるためのfind
コマンドの迅速で使いやすい代替品です。find
のすべての高度な機能を完全に再現することは目指していませんが、多くのユースケースのために合理的(主観的)なデフォルトを提供します。
sd
"sd"は、テキストの検索と置換のための直感的なコマンドラインツールです。解りやすい構文で検索と置換のプロセスを簡単にし、バックスラッシュやその他の特殊文字を扱う必要性を取り除きます。
ボーナス
今後使い始めるつもりのいくつかの追加ツールを紹介します:
xh
"xh"は、HTTPリクエストを送るための、使いやすく高速なツールです。HTTPieの優れたデザイン機能を多く共有していますが、パフォーマンス向上に焦点を当てています。まだ習慣でHTTPieを使用していますが、"xh"に移行する計画をしています。
joshuto
Rangerに触発されたターミナルファイルマネージャーです。現在はRangerを使っていますが、"joshuto"に変更を考慮中です。
jql
"jql"はRustで構築されたJSONクエリ言語ツールです。JSONデータを効果的に問い合わせる便利な方法を提供します。
xcp
"xcp"はUnixのcp
コマンドの部分的なクローンです。完全な代替品ではありませんが、よりフレンドリーなユーザーフィードバックと特定のタスクの最適化を提供する補完的なユーティリティを意図しています。
カスタム設定
"bat"と"lsd"にセットしたいくつかの便利なエイリアスを紹介します:
# エイリアス
alias bat='batcat'
alias ll='lsd -la'
alias lld='lsd -la --date=relative --group-dirs=first'
alias lle='lsd -la --date=relative --sort=extension --group-dirs=first'
alias la='lsd -a'
alias l='lsd -l'
alias lt='lsd --tree'
結論
これらは私たちが日々のワークフローで愛用しているツールのいくつかです。あなたも役に立つと思っています。さらに未来に向けて採用を検討しているいくつかのオプションを紹介しました。
Rustで書き換えられたさらに多くのコマンドやアプリを探検するには、以下のリンクを確認してください:
これらのツールを試してみてください。きっと開発経験やターミナルの使用が向上しますよ!
こちらの記事はdev.toの良い記事を日本人向けに翻訳しています。
https://dev.to/girordo/comandos-shell-reescritos-em-rust-4nl9