- Artigo sobre um projeto de longo prazo para decodificar todo o código do GNU coreutils versão 8.3
- Projeto para programadores iniciantes interessados em explorar o design de utilitários de linha de comando
- Projeto dividido em várias etapas já concluídas, incluindo a criação de páginas dedicadas para cada utilitário, a ampliação das discussões sobre decisões importantes de design e algoritmos, e a criação de ferramentas para visualizar a evolução do código-fonte
- Artigo que fornece links para páginas dedicadas de cada utilitário, discussões detalhadas, código-fonte e documentação
- Artigo que oferece contexto para leitura de código, discutindo a natureza dos utilitários, seu design e os pontos a observar ao ler o código
- Artigo que explica que o GNU coreutils era originalmente composto por três pacotes separados para shell, texto e utilitários de arquivos, e que muitos utilitários do mesmo tipo compartilham os mesmos padrões de design
- Artigo que apresenta o design básico da maioria dos utilitários CLI, incluindo a etapa de configuração para flags, opções, localização e outros elementos, a etapa de parsing de argumentos que lê a entrada para definir parâmetros de execução, e a etapa de processamento/execução que prepara a entrada para uma ou mais chamadas de sistema
- Artigo que fornece explicações detalhadas sobre a inicialização dos utilitários, parsing com Getopt, travessia do sistema de arquivos com
fts, wrappers e helpers de chamadas de sistema, funções comuns, linhas de código comuns e idiomatismos em C
- Artigo que discute a manutenção dos utilitários, incluindo mudanças em todo o projeto, atualizações específicas de utilitários e manutenção anual
- Artigo que fornece informações para quem deseja contribuir com o projeto, incluindo link para a página do projeto GNU, diretrizes de contribuição e lista de funcionalidades rejeitadas
- Artigo que termina com uma seção de curiosidades e implementações interessantes, oferecendo fatos curiosos e insights sobre os utilitários
1 comentários
Comentários no Hacker News
shredna verdade é a descrição decsplit.yes,shred,shufefactor./bin/truefalhar e retornar false, o que torna a chamada de "Not /bin/false" ainda mais robusta.oddo Coreutils é instalado comogod(1), porque o macOS já forneceod(1).