As a fullstack developer, Linux is my daily playground. Whether I'm building backend APIs, deploying to a server, or debugging issues in production, the terminal is always open. Here's a list of commands I use all the time — plus tips that helped me learn Linux faster.

🧠 Must-Know Linux Commands

cd, ls, pwd

These are your bread and butter. I use them constantly to move around the filesystem and see where I am.

bash cd ~/projects/my-app ls -al pwd 💡 Tip: Add aliases to your .bashrc or .zshrc for commonly accessed paths.

grep, find, cat, less

Searching through logs or code? These commands save the day.

bash grep "error" logs.txt find . -name "*.js" cat index.js | less 💡 Tip: Use grep -r "keyword" . to recursively search inside a folder.

touch, mkdir, rm, mv, cp

For file and folder management. Super useful when creating new files or organizing stuff.

bash touch test.js mkdir new-folder rm -rf node_modules/ mv index.html public/ cp .env.example .env ⚠️ Be careful with rm -rf. Double-check before pressing Enter!

curl, wget

Great for testing APIs or downloading stuff directly from a URL.

bash curl http://localhost:3000/api/status wget https://someurl.com/file.zip 💡 Tip: Use curl -I to see only the response headers.

chmod, chown

Useful for setting permissions when something’s not working right.

bash chmod +x deploy.sh sudo chown -R $USER:$USER ./my-project 💡 Tip: chmod +x makes a script executable.

top, htop, ps, kill

For checking what’s eating up your CPU or killing processes.

bash top ps aux | grep node kill -9 PID

docker, docker-compose

If you're running services locally, Docker is essential (a lit nightmare at first tho but let's make it simple).

bash docker-compose up -d docker ps docker logs -f container_name 💡 Tip: Use .env files with Docker Compose to make configs cleaner.