tmuxなどにタブや分割を任せる、クロスプラットフォーム対応のGPUアクセラレーションOpenGL端末エミュレーター。
tavianator/bfs
深い階層より浅い階層のファイルを先に表示する、POSIXやBSD/GNU find互換のUNIX findコマンドの幅優先版。
- スター
- 1,282
- フォーク
- 44
- 未解決の Issue
- 15
- 最終コミット
- 9 日前
これは何?
bfsはUNIXのfindコマンドの派生版で、ディレクトリツリーを深さ優先ではなく幅優先でたどります。浅い階層から深い階層の順にファイルを表示するため、探しているファイルにたどり着くまで、関係のない深いサブツリーを最後まで検索するのを待つ必要がありません。
POSIX、GNU、FreeBSD、OpenBSD、NetBSD、macOSなど、多くのfind実装との互換性を目指しています。さらに、引数を任意の順序で指定できる、オプションのタイプミスに修正候補が表示される、結果が無視される式を静的解析で警告するといった、よくある作業を簡単にする機能も備えています。また、サブツリー全体をスキップする-exclude演算子と、隠しファイルをスキップする-nohiddenも追加されています。
bfsはCで書かれており、Linux、macOS、BSD向けの多くのパッケージマネージャーから入手できます。configureとmakeを使ってビルドできます。ACL、attr、libcap、liburing、onigurumaなどのシステムライブラリを任意で利用すると、追加機能を有効にできます。
主な機能
- 01浅い階層の一致を深いサブツリーより先に表示する、幅優先でのファイル検索。
- 02厳格なfindとは異なり、オプションや式を柔軟な位置に指定可能。
- 03入力を間違えた引数の修正候補を提示。
- 04結果が無視される式を警告。
- 05サブツリー全体をスキップする-excludeと、隠しファイルをスキップする-nohiddenを提供。
ユースケース
- 大規模なプロジェクトツリーで、目的のファイルが何階層目にあるかわからないときに探す。
- 使い慣れた述語やオプションを維持したまま、スクリプト内のfindを置き換える。
- -excludeで.gitなど不要なフォルダーをスキップしながら、ディレクトリツリーを検索する。
クイックスタート
- 1
macOSでHomebrewを使ってインストール
brew install bfs - 2
または、Linuxディストリビューションのパッケージマネージャー(例:Arch Linux)からインストール
pacman -S bfs - 3
またはソースからビルド:リリースをダウンロードするかリポジトリをクローンし、configureとmakeを実行
./configure && make
使う前に知っておきたいこと
- ソースからのビルドには、Cコンパイラ、GNU make、Bashが必要です。すべての機能を利用するには、追加でシステムライブラリが必要な場合があります。
収録されている特集
トピック
よくある質問
- bfs とは?
- 深い階層より浅い階層のファイルを先に表示する、POSIXやBSD/GNU find互換のUNIX findコマンドの幅優先版。 bfsはUNIXのfindコマンドの派生版で、ディレクトリツリーを深さ優先ではなく幅優先でたどります。浅い階層から深い階層の順にファイルを表示するため、探しているファイルにたどり着くまで、関係のない深いサブツリーを最後まで検索するのを待つ必要がありません。
- bfs は無料で使えますか?ライセンスは?
- bfs は 0BSD ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- bfs は今もメンテナンスされていますか?
- 活発にメンテナンス中。bfs の最終コミットは 2026年10月13日 です。
- bfs は何に使えますか?
- 大規模なプロジェクトツリーで、目的のファイルが何階層目にあるかわからないときに探す。 使い慣れた述語やオプションを維持したまま、スクリプト内のfindを置き換える。 -excludeで.gitなど不要なフォルダーをスキップしながら、ディレクトリツリーを検索する。
- bfs のインストール方法は?
- macOSでHomebrewを使ってインストール: brew install bfs または、Linuxディストリビューションのパッケージマネージャー(例:Arch Linux)からインストール: pacman -S bfs またはソースからビルド:リリースをダウンロードするかリポジトリをクローンし、configureとmakeを実行: ./configure && make
- bfs はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/tavianator/bfs
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
コマンドラインツールの実用的な使用例をまとめた、manページを補完するコミュニティ運営のチートシート集です。
Oilsはbash互換シェルのOSHと、PythonやJavaScript風の新しいシェル言語YSHを備え、Pythonで記述してC++に変換されます。
Windows、Linux、macOSで動作する、構造化データとオブジェクトを扱うクロスプラットフォームのシェル、スクリプト言語、オートメーションフレームワーク。
BYOKやローカルモデル、切断後も維持されるSSHセッション、インラインのファイルプレビューに対応した、macOS、Linux、Windows向けのオープンソースAI統合ターミナル。
ファイルやディレクトリを監視し、変更のたびにコマンドを実行するスタンドアロンのコマンドラインツール。