Gerenciador de arquivos simples, interativo e executado no terminal, desenvolvido em C para praticar manipulacao de diretorios e arquivos.
Este repositorio serve como base para um gerenciador de arquivos de linha de comando, com foco em uma implementacao pequena, clara e facil de expandir.
- Interface textual com cabecalho, prompt e mensagens de resultado
- Listar arquivos e diretorios
- Navegar entre diretorios
- Criar arquivos vazios e diretorios
- Exibir o diretorio atual e encerrar a sessao
As operacoes de copiar, mover, remover e consultar metadados permanecem planejadas para proximas iteracoes.
- Compilador C com suporte ao padrao C11 ou superior
- Sistema operacional compatível com as APIs de arquivos utilizadas pelo projeto
- C11 ou superior para a implementacao do gerenciador.
- GCC ou Clang para compilacao.
- libc e APIs POSIX para arquivos, diretorios, metadados e permissoes.
- Linux como ambiente alvo inicial.
- Git para controle de versao.
- Markdown para README e documentacao tecnica.
- draw.io para criacao e manutencao de diagramas de arquitetura e UML.
O uso de banco de dados permanece opcional e ainda nao foi definido. A versao inicial deve operar diretamente sobre o sistema de arquivos, sem introduzir uma dependencia de banco antes da avaliacao dos requisitos.
Compile o projeto com:
makeExecute com:
./file-managerComandos disponiveis na interface:
ls [caminho] cd <caminho> pwd
touch <caminho> mkdir <caminho> help exit
Execute os testes automatizados com:
make testOs caminhos nao aceitam espacos nesta primeira interface. Use caminhos sem espacos ate que o parser de argumentos seja estendido.
Este projeto utiliza como referencia o repositorio c-lab.
A documentacao tecnica esta em doc/, incluindo objetivos,
arquitetura, modelo, diagramas UML, stack e o registro de alteracoes.
Distribuido sob a Licenca MIT.