Um shell do projeto
O shell começa na pasta do projeto: caminhos absolutos e ~ são interpretados a partir dessa raiz. help lista somente os comandos internos registrados; use which para consultar a resolução de um comando.
Use caminhos do projeto e não trate caminhos externos ou traversal como um fluxo suportado. Ele aceita aspas simples e duplas, variáveis com $NOME, pipes, >, >>, <, 2>, 2>&1, &&, ||, ; e jobs com &. Substituição com crases não é implementada; trate-o como um conjunto deliberado de comandos, não como um terminal Unix completo.
pwd
export APP_ENV=dev
echo $APP_ENV
grep -rn "TODO" src | head -n 20| Comando | Exemplo | Comportamento, flags e limites |
|---|---|---|
| help | help | lista comandos internos registrados; não enumera aliases ou bins dinâmicos |
| pwd | pwd | mostra a pasta atual relativa ao projeto |
| cd | cd src | altera o diretório de trabalho para o caminho indicado |
| echo | echo "oi" | imprime argumentos; não use como manual Unix de flags |
| cat | cat package.json | mostra arquivos UTF-8 ou entrada de pipe |
| head | head -n 5 README.md | primeiras linhas; aceita -n N ou -N |
| tail | tail -n 20 log.txt | últimas linhas; aceita -n N ou -N |
| wc | wc -l src/main.ts | conta linhas, palavras e bytes; -l, -w, -c |
| which | which npm | consulta comando Odete ou caminho em node_modules/.bin |
Arquivos e texto
ls aceita -a e -l; head e tail aceitam -n N ou -N; grep aceita -i, -n e -r; find entende -name com * e ?; mkdir aceita -p. Para busca recursiva, grep e find ignoram node_modules, .git, .odete e dist.
rm protege a raiz do projeto, mas apagar arquivos ou diretórios com rm -r continua sendo irreversível. Confira pwd e ls antes de usar operações de escrita.
| Comando | Exemplo | Comportamento, flags e limites |
|---|---|---|
| ls | ls -la | lista; só -a e -l têm efeito |
| mkdir | mkdir -p src/ui | cria diretórios; -p cria pais |
| touch | touch src/ui/Card.tsx | cria vazio ou atualiza a data |
| rm | rm -rf dist | remove; -r para pasta, -f ignora ausência; raiz é bloqueada |
| cp | cp -r public dist | copia arquivos ou pastas; -r é aceito mas a cópia já é recursiva |
| mv | mv old.ts new.ts | move ou renomeia; substitui destino existente |
| grep | grep -rin "TODO" src | busca texto; -i, -n, -r; não é regex completa |
| find | find src -name "*.t?" | lista recursiva; -name aceita curingas * e ? |
Ambiente, jobs e saída
env lista variáveis e export NOME=valor as define. history mostra comandos anteriores; clear limpa a tela; date, sleep, true e false existem para scripts curtos.
Um servidor ou comando em segundo plano aparece em jobs. Pare-o com kill %1 ou kill all; Ctrl+C cancela o comando atual. open reconhece portas em URLs locais 127.0.0.1 ou localhost; serve ou http-server inicia um servidor estático no diretório indicado.
npm run dev &
jobs
kill %1
serve dist| Comando | Exemplo | Comportamento, flags e limites |
|---|---|---|
| env | env | lista ambiente da sessão |
| export | export MODE=dev | só atribuições NOME=valor |
| clear | clear | limpa a tela do terminal |
| history | history | lista histórico salvo |
| swift | swift | explica que não há compilador Swift e retorna saída 1 |
| date | date | data e hora do aparelho |
| sleep | sleep 2 | espera N segundos |
| true | true | sai com código 0 |
| false | false | sai com código 1 |
| jobs | jobs | lista jobs e portas locais |
| kill | kill %1 | para um job; kill all para todos |
| open | open http://127.0.0.1:5173 | pede abertura desse servidor no Preview |
| git | git status | status, add, reset/restore, commit, log/show/diff, branch, checkout/switch, merge, stash, remote, fetch/pull/push e rev-parse |
| npm | npm run dev | install/i/add, uninstall/remove/rm/un, ls, init, run, start/dev/build/test/preview/lint, exec/x/dlx, versão e cache |
| node | node -e "console.log(1)" | roda JS/TS/JSX/TSX; -e/--eval, -p/--print e -v |
| npx | npx vite | roda um binário local ou substituto embutido; binário nativo falha no iPad |
| pnpm / yarn / bun | pnpm install | aliases para npm, não implementações próprias |