Emulador de terminal multiplataforma com aceleração por GPU e OpenGL, que usa ferramentas como tmux para oferecer abas e divisões.
tavianator/bfs
Uma variante breadth-first do comando UNIX find, que lista arquivos superficiais antes dos mais profundos e é compatível com find POSIX, BSD e GNU.
- Estrelas
- 1,282
- Forks
- 44
- Issues abertas
- 15
- Último commit
- há 9 dias
O que é?
bfs é uma variante do comando UNIX find que percorre árvores de diretórios em breadth-first, em vez de depth-first. Como lista os arquivos dos mais superficiais aos mais profundos, você não precisa esperar que ele percorra por completo uma subárvore profunda e sem relação com a busca para chegar ao arquivo que procura.
O objetivo é manter a compatibilidade com várias versões do find, incluindo POSIX, GNU, FreeBSD, OpenBSD, NetBSD e macOS. Além disso, facilita tarefas comuns: os argumentos podem aparecer em qualquer ordem, sugestões ajudam a corrigir erros de digitação nas opções, e uma etapa de análise estática avisa quando os resultados de expressões são ignorados. Também adiciona o operador -exclude, que ignora subárvores inteiras, e -nohidden, que ignora arquivos ocultos.
bfs é escrito em C, está disponível nos gerenciadores de pacotes de várias distribuições Linux e sistemas macOS e BSD, e pode ser compilado com o fluxo de trabalho configure e make. Bibliotecas opcionais do sistema, como ACL, attr, libcap, liburing e oniguruma, habilitam recursos adicionais.
Recursos principais
- 01Lista arquivos em breadth-first, fazendo com que correspondências em níveis mais superficiais apareçam antes das que estão em subárvores profundas.
- 02Aceita opções e expressões em posições flexíveis, ao contrário do find, que é mais estrito.
- 03Sugere correções para argumentos digitados incorretamente.
- 04Avisa quando os resultados de expressões são ignorados.
- 05Oferece -exclude para ignorar subárvores inteiras e -nohidden para ignorar arquivos ocultos.
Casos de uso
- Encontrar um arquivo em uma árvore de projeto grande sem saber a que profundidade ele está.
- Substituir find em scripts sem abrir mão de predicados e opções conhecidos.
- Pesquisar árvores de diretórios ignorando .git ou outras pastas indesejadas com -exclude.
Início rápido
- 1
Instale pelo Homebrew no macOS
brew install bfs - 2
Ou instale pelo gerenciador de pacotes da sua distribuição Linux (por exemplo, Arch Linux)
pacman -S bfs - 3
Ou compile a partir do código-fonte: baixe uma versão ou clone o repositório e execute configure e make
./configure && make
Antes de usar
- Para compilar a partir do código-fonte, é necessário ter um compilador C, GNU make e Bash, além de bibliotecas de sistema opcionais para usar todos os recursos.
Em coleções
Tópicos
Perguntas frequentes
- O que é bfs?
- Uma variante breadth-first do comando UNIX find, que lista arquivos superficiais antes dos mais profundos e é compatível com find POSIX, BSD e GNU. bfs é uma variante do comando UNIX find que percorre árvores de diretórios em breadth-first, em vez de depth-first. Como lista os arquivos dos mais superficiais aos mais profundos, você não precisa esperar que ele percorra por completo uma subárvore profunda e sem relação com a busca para chegar ao arquivo que procura.
- bfs é gratuito? Qual é a licença?
- bfs é open source sob a licença 0BSD. Confira os termos da licença antes de usá-lo em produtos comerciais.
- bfs ainda é mantido?
- Manutenção ativa. O último commit de bfs foi em 13 de out. de 2026.
- Para que posso usar bfs?
- Encontrar um arquivo em uma árvore de projeto grande sem saber a que profundidade ele está. Substituir find em scripts sem abrir mão de predicados e opções conhecidos. Pesquisar árvores de diretórios ignorando .git ou outras pastas indesejadas com -exclude.
- Como instalar bfs?
- Instale pelo Homebrew no macOS: brew install bfs Ou instale pelo gerenciador de pacotes da sua distribuição Linux (por exemplo, Arch Linux): pacman -S bfs Ou compile a partir do código-fonte: baixe uma versão ou clone o repositório e execute configure e make: ./configure && make
- Onde consigo bfs?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/tavianator/bfs
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Guias de referência mantidos pela comunidade, com exemplos práticos de ferramentas comuns de linha de comando, como complemento mais simples às páginas man.
Oils é um shell compatível com bash (OSH) e uma linguagem de shell mais moderna, no estilo de Python e JavaScript (YSH), escrito em Python e convertido para C++.
Shell multiplataforma, linguagem de script e framework de automação para Windows, Linux e macOS, criado para trabalhar com dados estruturados e objetos.
Terminal open source com integração de IA para macOS, Linux e Windows, com BYOK e modelos locais, sessões SSH persistentes e pré-visualizações de arquivos no próprio terminal.
Ferramenta de linha de comando independente que monitora arquivos e diretórios e executa um comando sempre que eles mudam.