Un shell de projet
Le shell démarre dans le dossier du projet : les chemins absolus et ~ sont interprétés depuis cette racine. help ne liste que les commandes internes enregistrées ; utilisez which pour interroger la résolution d’une commande.
Utilisez les chemins du projet et ne considérez pas chemins externes ou traversal comme un flux supporté. Il accepte guillemets simples et doubles, variables $NOM, pipes, >, >>, <, 2>, 2>&1, &&, ||, ; et jobs en arrière-plan avec &. La substitution par backticks n’est pas implémentée.
pwd
export APP_ENV=dev
echo $APP_ENV
grep -rn "TODO" src | head -n 20| Commande | Exemple | Comportement, flags et limites |
|---|---|---|
| help | help | liste les commandes internes enregistrées, pas les alias ou bins dynamiques |
| pwd | pwd | montre le dossier courant relatif au projet |
| cd | cd src | change le dossier de travail vers le chemin indiqué |
| echo | echo "bonjour" | imprime les arguments ; pas un manuel de flags Unix |
| cat | cat package.json | affiche fichiers UTF-8 ou entrée de pipe |
| head | head -n 5 README.md | premières lignes ; -n N ou -N |
| tail | tail -n 20 log.txt | dernières lignes ; -n N ou -N |
| wc | wc -l src/main.ts | compte lignes, mots, octets ; -l, -w, -c |
| which | which npm | résout commande Odete ou chemin node_modules/.bin |
Fichiers et texte
ls accepte -a et -l ; head et tail acceptent -n N ou -N ; grep accepte -i, -n et -r ; find comprend -name avec * et ? ; mkdir accepte -p. Pour les recherches récursives, grep et find ignorent node_modules, .git, .odete et dist.
rm protège la racine du projet, mais supprimer un fichier ou dossier avec rm -r reste irréversible. Vérifiez pwd et ls avant une opération d’écriture.
| Commande | Exemple | Comportement, flags et limites |
|---|---|---|
| ls | ls -la | liste ; seuls -a et -l ont un effet |
| mkdir | mkdir -p src/ui | crée dossiers ; -p crée parents |
| touch | touch src/ui/Card.tsx | crée vide ou met à jour la date |
| rm | rm -rf dist | supprime ; -r pour dossier, -f ignore absence ; racine bloquée |
| cp | cp -r public dist | copie fichiers ou dossiers ; -r est accepté, la copie est déjà récursive |
| mv | mv old.ts new.ts | déplace ou renomme ; remplace une destination existante |
| grep | grep -rin "TODO" src | recherche texte ; -i, -n, -r ; pas de regex complète |
| find | find src -name "*.t?" | liste récursive ; -name accepte les jokers * et ? |
Environnement, jobs et sortie
env liste les variables et export NOM=valeur les définit. history montre les commandes précédentes ; clear efface l’écran ; date, sleep, true et false servent aux scripts courts.
Un serveur ou une commande en arrière-plan apparaît dans jobs. Arrêtez-le avec kill %1 ou kill all ; Ctrl+C annule la commande courante. open reconnaît les ports dans les URL locales 127.0.0.1 ou localhost ; serve ou http-server lance un serveur statique.
npm run dev &
jobs
kill %1
serve dist| Commande | Exemple | Comportement, flags et limites |
|---|---|---|
| env | env | liste environnement de session |
| export | export MODE=dev | seulement affectations NOM=valeur |
| clear | clear | efface écran Terminal |
| history | history | liste historique enregistré |
| swift | swift | explique absence du compilateur Swift et sort 1 |
| date | date | date et heure de l’appareil |
| sleep | sleep 2 | attend N secondes |
| true | true | sort avec code 0 |
| false | false | sort avec code 1 |
| jobs | jobs | liste jobs et ports locaux |
| kill | kill %1 | arrête un job ; kill all arrête tout |
| open | open http://127.0.0.1:5173 | demande à Preview d’ouvrir ce serveur |
| git | git status | status, add, reset/restore, commit, log/show/diff, branch, checkout/switch, merge, stash, remote, fetch/pull/push, 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, version, cache |
| node | node -e "console.log(1)" | exécute JS/TS/JSX/TSX ; -e/--eval, -p/--print, -v |
| npx | npx vite | exécute binaire local ou substitut embarqué ; binaire natif échoue sur iPad |
| pnpm / yarn / bun | pnpm install | alias npm, pas implémentations propres |