DEV Community

Tamilselvan K
Tamilselvan K

Posted on

Day-48 Essential Linux Commands for Developers

Introduction

Linux is the backbone of most servers, cloud infrastructures, and development environments. Whether you're a software developer, DevOps engineer, or system administrator, having a strong command of Linux is essential.

This blog is a summary of our presentation on “Essential Linux Commands for Developers”, aimed at helping beginners and professionals navigate the terminal with confidence.


File & Directory Management Commands

Command Description
ls List files and directories
cd Change directory
pwd Display current directory path
mkdir Create a directory
rmdir Remove an empty directory
touch Create an empty file
cp Copy files or directories
mv Move or rename files
rm Remove files or directories

Viewing & Editing Files

Command Description
cat View file content
less/more Paginate file output
head Show first 10 lines of a file
tail Show last 10 lines (tail -f for live logs)
nano/vim Terminal-based text editors

File Permissions

Command Description
chmod Change file permissions
chown Change file ownership
ls -l View detailed file info including permissions

Searching Files

Command Description
find . -name "file.txt" Locate files by name
grep "text" filename Search text within a file
locate filename Quickly find file locations

Process Management

Command Description
ps List running processes
top/htop Monitor active processes and system resources
kill Terminate process by PID
killall Terminate processes by name

Networking Commands

Command Description
ping Check network connectivity
curl Access URLs or APIs
wget Download files from the internet
netstat Show network connections and ports
ssh Secure remote server access

Disk & Space Management

Command Description
df -h Show available disk space
du -sh Show size of a directory

Archiving & Compression

Command Description
tar -czf Compress files into .tar.gz
tar -xzf Extract .tar.gz files
zip filename.zip file Create a zip file
unzip filename.zip Extract a zip file

Package Management (Ubuntu/Debian)

Command Description
sudo apt update Update package lists
sudo apt upgrade Upgrade installed packages
sudo apt install pkg Install a new package
sudo apt remove pkg Remove an installed package

Version Control with Git (Basics)

Command Description
git init Initialize a new Git repository
git clone Clone an existing repository
git add Stage changes for commit
git commit -m "msg" Commit staged changes
git push/git pull Push to or pull from remote repo
git status Check current repo status
git log View commit history

Miscellaneous Useful Commands

Command Description
echo Display messages or variables
history View command history
clear Clear the terminal screen
alias Create shortcuts for commands

Conclusion

Linux isn't just for system administrators — it’s a must-have skill for any modern developer. From file management to process monitoring and version control, the terminal gives you full control over your development environment.

Key Takeaways:

  • Practice commands daily to improve speed and efficiency.
  • Combine commands using pipes (|) and redirection (>, >>) for automation.
  • Mastery of Linux is crucial for backend development, DevOps, and full-stack engineering.

Top comments (6)

Collapse
 
neurabot profile image
Neurabot • Edited

Great. Indeed automation is very important.

Collapse
 
tamilselvan1812 profile image
Tamilselvan K

Absolutely! Automation is key in Linux and any development workflow. It saves time, reduces errors, and improves efficiency, especially when handling repetitive tasks with scripts and commands.

Collapse
 
dotallio profile image
Dotallio

Such a clean breakdown, love it! Any underrated commands you rely on daily that aren't on this list?

Collapse
 
tamilselvan1812 profile image
Tamilselvan K

Thanks so much! Glad you liked it 😊 One underrated command I use often is xargs — super handy for chaining with other commands. Also tldr for quick command summaries. What about you? Any personal favorites?

Collapse
 
nathan_tarbert profile image
Nathan Tarbert

very cool, this is exactly the kind of breakdown i wish i had when i started messing with servers
you think schools should make this stuff part of a core curriculum for everyone in tech

Collapse
 
tamilselvan1812 profile image
Tamilselvan K

Appreciate that! 🙌 Totally agree — basic command-line and server skills are so foundational. Making it part of the core tech curriculum would really help students build confidence early on.