Eine Projekt-Shell
Die Shell beginnt im Projektordner: absolute Pfade und ~ werden von dieser Wurzel aus interpretiert. help listet nur registrierte interne Befehle; mit which fragen Sie die Befehlsauflösung ab.
Nutzen Sie Projektpfade und behandeln Sie externe Pfade oder Traversal nicht als unterstützten Ablauf. Einfach- und Doppel-Anführungszeichen, $NAME-Variablen, Pipes, >, >>, <, 2>, 2>&1, &&, ||, ; und Hintergrundjobs mit & werden unterstützt. Backtick-Substitution fehlt.
pwd
export APP_ENV=dev
echo $APP_ENV
grep -rn "TODO" src | head -n 20| Befehl | Beispiel | Verhalten, Flags und Grenzen |
|---|---|---|
| help | help | listet registrierte interne Befehle, nicht Aliasse oder dynamische Bins |
| pwd | pwd | zeigt aktuellen Ordner relativ zum Projekt |
| cd | cd src | setzt Arbeitsordner auf den angegebenen Pfad |
| echo | echo "hallo" | druckt Argumente; kein Unix-Flag-Handbuch |
| cat | cat package.json | zeigt UTF-8-Dateien oder Pipe-Eingabe |
| head | head -n 5 README.md | erste Zeilen; -n N oder -N |
| tail | tail -n 20 log.txt | letzte Zeilen; -n N oder -N |
| wc | wc -l src/main.ts | zählt Zeilen, Wörter, Bytes; -l, -w, -c |
| which | which npm | löst Odete-Befehl oder node_modules/.bin-Pfad auf |
Dateien und Text
ls unterstützt -a und -l; head und tail unterstützen -n N oder -N; grep unterstützt -i, -n und -r; find versteht -name mit * und ?; mkdir versteht -p. Bei rekursiven Suchen überspringen grep und find node_modules, .git, .odete und dist.
rm schützt die Projektwurzel. Das Löschen von Dateien oder Ordnern mit rm -r bleibt trotzdem nicht rückgängig zu machen; prüfen Sie vorher pwd und ls.
| Befehl | Beispiel | Verhalten, Flags und Grenzen |
|---|---|---|
| ls | ls -la | listet; nur -a und -l wirken |
| mkdir | mkdir -p src/ui | erstellt Ordner; -p erstellt Eltern |
| touch | touch src/ui/Card.tsx | erstellt leer oder aktualisiert Datum |
| rm | rm -rf dist | löscht; -r für Ordner, -f ignoriert Fehlen; Wurzel gesperrt |
| cp | cp -r public dist | kopiert Dateien oder Ordner; -r wird akzeptiert, Kopie ist ohnehin rekursiv |
| mv | mv old.ts new.ts | verschiebt oder benennt um; ersetzt bestehendes Ziel |
| grep | grep -rin "TODO" src | Textsuche; -i, -n, -r; keine vollständige Regex |
| find | find src -name "*.t?" | rekursiv; -name akzeptiert * und ? als Platzhalter |
Umgebung, Jobs und Ausgabe
env listet Variablen, export NAME=wert setzt sie. history zeigt frühere Befehle; clear leert die Anzeige; date, sleep, true und false stehen für kleine Skripte bereit.
Server und Hintergrundbefehle erscheinen in jobs. Mit kill %1 oder kill all stoppen Sie sie; Ctrl+C bricht den aktuellen Befehl ab. open erkennt Ports in lokalen 127.0.0.1- oder localhost-URLs; serve oder http-server startet einen statischen Server.
npm run dev &
jobs
kill %1
serve dist| Befehl | Beispiel | Verhalten, Flags und Grenzen |
|---|---|---|
| env | env | listet Sitzungsumgebung |
| export | export MODE=dev | nur NAME=wert-Zuweisungen |
| clear | clear | leert Terminalanzeige |
| history | history | listet gespeicherten Verlauf |
| swift | swift | erklärt fehlenden Swift-Compiler und endet mit 1 |
| date | date | Datum und Uhrzeit des Geräts |
| sleep | sleep 2 | wartet N Sekunden |
| true | true | endet mit Code 0 |
| false | false | endet mit Code 1 |
| jobs | jobs | listet Jobs und lokale Ports |
| kill | kill %1 | stoppt Job; kill all stoppt alle |
| open | open http://127.0.0.1:5173 | fordert Preview zum Öffnen des Servers auf |
| 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)" | führt JS/TS/JSX/TSX aus; -e/--eval, -p/--print, -v |
| npx | npx vite | startet lokales Binärprogramm oder eingebauten Ersatz; natives Binärprogramm scheitert auf iPad |
| pnpm / yarn / bun | pnpm install | npm-Aliasse, keine eigenen Implementierungen |