Shell, filesystem, filtering, permissions, package managers, PowerShell, and Command Prompt essentials.
01 — Shell Essentials
Where Am I? / Help
pwdwhoamiecho $SHELLcommand -v nodeman lscmd --helphistoryclearFiles & Folders
ls -lacd pathcd ..mkdir -p a/btouch file.txtcp file copycp -R src dstmv old newrm filerm -rf folderRead & Inspect
cat fileless filehead -n 20 filetail -n 20 filetail -f app.logwc -l filedu -sh folderdf -hSearch & Filter
grep -n "text" filegrep -Rni "text" .find . -name "*.js"find . -type f -mtime -1sort fileuniq -ccut -d, -f1 file.csvxargs commandPipes & Operators
a | ba > filea >> filea 2> err.loga 2>&1a && ba || ba ; b$(command)VAR=value cmdPowerShell Essentials
Get-LocationGet-ChildItemSet-Location pathNew-Item -ItemType Directory xCopy-Item a b -RecurseMove-Item a bRemove-Item x -RecurseGet-Content fileSelect-String "text" fileGet-Command nodeGet-ProcessStop-Process -Id 1234$env:NAME$env:NAME="value"OS Package Managers
brew updatebrew install gitbrew upgradebrew listsudo apt updatesudo apt install gitwinget search gitwinget install Git.GitCommand Prompt: Common Basics
dircd pathmkdir foldercopy a bmove a bdel filetype filewhere nodeset NAME=valueclsNOTEVersion control, GitHub CLI, SSH, HTTP/network checks, and VS Code terminal commands.
02 — Git, GitHub & Developer Tools
Git: Start & Config
git --versiongit config --global user.name "Name"git config --global user.email "you@example.com"git initgit clone URLgit statusStage & Commit
git add filegit add .git diffgit diff --stagedgit commit -m "message"git commit --amendBranches
git branchgit switch branchgit switch -c featuregit merge featuregit branch -d featuregit branch -D featureInspect History
git log --onelinegit log --graph --decorate --all --onelinegit show COMMITgit blame fileRemotes & Sync
git remote -vgit fetchgit pullgit pushgit push -u origin featuregit push --tagsgit tag -a v1.0.0 -m "release"Undo Safely
git restore filegit restore --staged filegit revert COMMITgit reset --soft HEAD~1git reset --hard HEAD~1git stashgit stash listgit stash popGitHub CLI (gh)
gh auth logingh repo clone OWNER/REPOgh repo creategh pr creategh pr checkout 123gh pr view --webgh issue listgh workflow listNOTEgh help or gh <command> --help for current options.SSH & File Transfer
ssh user@hostssh-keygen -t ed25519 -C "email"ssh-add ~/.ssh/id_ed25519scp file user@host:/pathscp -r dir user@host:/pathrsync -av src/ host:/dest/ssh -T git@github.comHTTP / Network Checks
curl URLcurl -I URLcurl -L URLcurl -X POST URL -H "Content-Type: application/json" -d '{"x":1}'ping hostdig example.comnslookup example.comlsof -i :5173curl localhost:3000VS Code Terminal CLI
code .code file.jscode -n .code --versioncode --list-extensionscode --install-extension IDCtrl+`Cmd+`Ctrl+Shift+P / Cmd+Shift+PNode.js, npm, package managers, TypeScript, linting, testing, semver, and dependency troubleshooting.
03 — Node.js & JavaScript Tooling
Node & npm Basics
node -vnpm -vnode file.jsnode --watch server.jsnode -e "console.log(1+1)"npm init -ynpm installnpm cinpm install packagenpm install -D packagenpm uninstall packagenpm Inspect & Maintain
npm outdatednpm updatenpm auditnpm audit fixnpm lsnpm explain packagenpm view package versionnpm cache verifynpm Scripts
npm runnpm run devnpm testnpm run buildnpm startnpm run name -- --flagnpm exec -- eslint .npx package argsNVM: Node Versions
nvm install --ltsnvm use --ltsnvm install 22nvm use 22nvm lsnvm alias default lts/*NOTEPackage Manager Equivalents
TypeScript
npx tsc --initnpx tscnpx tsc --noEmitnpx tsc -wnpx tsx file.tsLint & Format
npx eslint .npx eslint . --fixnpx prettier . --checknpx prettier . --writeTesting
npx vitestnpx vitest runnpx jestnpx playwright testnpx playwright test --uinpx playwright show-reportSemver Quick Read
1.2.3^1.2.3~1.2.31.2.3latestWhen Installs Are Weird
npm cinpm cache verifyrm -rf node_modules && npm installnpm install package@latestNOTEFrontend and full-stack JavaScript framework CLIs, environment variables, project flow, and security habits.
04 — Frontend & Full-Stack Framework CLIs
Frontend Framework Quick Starts
Express / Node API
npm init -ynpm install expressnode server.jsnode --watch server.jsnpx express-generator appNestJS
npx @nestjs/cli@latest new appnpm run start:devnpx nest g module usersnpx nest g controller usersnpx nest g service usersnpx nest g resource usersPrisma ORM
npx prisma initnpx prisma migrate dev --name initnpx prisma generatenpx prisma studionpx prisma db pullnpx prisma db pushnpx prisma migrate deployNOTEEnvironment Variables
export API_URL=http://localhost:3000API_URL=x npm run dev$env:API_URL="x"node --env-file=.env server.jsprintenv API_URLGet-ChildItem Env:Common JavaScript Project Flow
Use this sequence when opening an existing JavaScript project with a valid lockfile and an environment template.
git clone URL
cd project
npm ci
cp .env.example .env
npm run dev
npm test
npm run build
git statusSecurity Habits
.env.gitignorenpm audit--helptokens/keysDatabase shells and essential commands plus Python, .NET, and Java build/runtime tooling.
05 — Databases, SQL Shells & Other Runtimes
PostgreSQL / psql
psql -U postgrespsql -d appdb\l\c appdb\dt\d users\qcreatedb appdbdropdb appdbpg_dump appdb > backup.sqlMySQL Client
mysql -u root -pSHOW DATABASES;USE appdb;SHOW TABLES;DESCRIBE users;exitmysqldump -u root -p appdb > backup.sqlSQLite
sqlite3 app.db.tables.schema users.headers on.mode column.quitSQL Essentials
SELECT * FROM users;SELECT ... WHERE ...;INSERT INTO t (...) VALUES (...);UPDATE t SET x=... WHERE ...;DELETE FROM t WHERE ...;CREATE TABLE ...;ALTER TABLE ...;DROP TABLE ...;BEGIN; / COMMIT;ROLLBACK;MongoDB Shell
mongoshshow dbsuse appdbshow collectionsdb.users.find()db.users.findOne({email:"a@b.com"})db.users.countDocuments()Redis CLI
redis-cliPINGSET key valueGET keyDEL keySCAN 0TTL keyPython Environments & pip
python3 --versionpython3 -m venv .venvsource .venv/bin/activate.venv\Scripts\Activate.ps1python -m pip install -U pippython -m pip install packagepython -m pip install -r requirements.txtpython -m pip freeze > requirements.txtdeactivatePython Web Quick Starts
python app.pyflask --app app run --debugdjango-admin startproject sitepython manage.py runserverpython manage.py makemigrationspython manage.py migratepytest.NET CLI
dotnet --infodotnet new webapi -n Apidotnet restoredotnet builddotnet rundotnet watchdotnet testdotnet add package NAMEJava / Maven / Gradle
java --versionjavac File.javamvn -vmvn clean testmvn spring-boot:run./gradlew build./gradlew test./gradlew bootRunDocker, Compose, Kubernetes, cloud CLI checks, common ports, troubleshooting, and high-risk commands.
06 — Docker, Cloud & Troubleshooting
Docker Essentials
docker --versiondocker infodocker pull imagedocker imagesdocker psdocker ps -adocker run --rm -it image shdocker run -p 3000:3000 imagedocker build -t app:dev .docker exec -it NAME shdocker logs -f NAMEdocker stop NAMEdocker rm NAMEDocker Cleanup
docker volume lsdocker network lsdocker system dfdocker image prunedocker container prunedocker system pruneDocker Compose
docker compose updocker compose up -ddocker compose up --builddocker compose psdocker compose logs -fdocker compose exec api shdocker compose builddocker compose build --no-cachedocker compose pulldocker compose downdocker compose down -vKubernetes Basics
kubectl config current-contextkubectl get podskubectl get allkubectl describe pod NAMEkubectl logs -f PODkubectl exec -it POD -- shkubectl apply -f file.yamlkubectl delete -f file.yamlkubectl rollout status deploy/APPkubectl port-forward svc/app 8080:80Cloud CLI Identity Checks
aws configureaws sts get-caller-identityaws s3 lsaz loginaz account showaz group list -o tablegcloud auth logingcloud config get-value projectgcloud projects listNOTEPorts Developers See Often
Fast Troubleshooting Loop
Run these checks in order to confirm location, source state, runtime availability, dependencies, ports, containers, logs, and HTTP response.
pwd && ls -la
git status
node -v
python --version
npm -v
docker --version
npm ci
printenv | sort
lsof -i :PORT
docker compose ps
docker compose logs -f
curl -I localhost:PORTHigh-Risk Commands: Slow Down
rm -rf PATHgit reset --hardgit clean -fddocker compose down -vDROP DATABASE / DROP TABLEDELETE / UPDATE without WHEREsudoNOTEpwd, inspect the exact path/resource, make a backup when data matters, and prefer reversible commands when possible.