50 Linux Commands That Every Developer Must Know

50-linux-commands

Linux is one of the most popular operating systems for servers, mobile phones, supercomputers, and personal machines. The fact that it is open-source and completely free is what makes it separate from other operating systems. What started as a hobby by a college student, soon became a revolution in the world of information technology.

You might already know this about the Android operating system, which is based on the Linux kernel, and it is estimated that more than 130 million users in the United States alone use Android smartphones. Linux is also utilised by 100 per cent of the world’s supercomputers, including NASA clusters.

This makes Linux one of the most important OS ever created. Over the past few years, I have been using Linux machines in my organization to deploy my applications in on-premises servers as well as on Cloud machines.

Well, to be honest, knowing a few of these useful Linux commands off the top of my head has made my life a lot simpler.


Here are 50 Linux commands that every software developer must know.

  1. ls – view contents of directory (list)
  2. pwd – path of the current directory
  3. cd – change directory
  4. mkdir – make new directory
  5. mv – move files / rename files
  6. cp – copy files
  7. rm – remove files
  8. touch – create blank new file
  9. rmdir – delete directory
  10. cat – list content of file to terminal
  11. clear – clear terminal window
  12. echo – move data into a file
  13. less – used to read the contents of textfile
  14. man – show manual of Linux commands
  15. sudo – enables you to perform tasks that require administrative or root permissions
  16. top – task manager in terminal
  17. tar – used to archive multiple files into a tarball
  18. grep – used to searching words in specific files
  19. head – view first lines of any text file
  20. tail – view last lines of any text file
  21. diff – compares the contents of two files line by line
  22. kill – used for killing unresponsive program
  23. jobs – display all current jobs along with their statuses
  24. sort – is a command line utility for sorting lines of text files
  25. df – info about system disk
  26. du – check how much space a file or directory takes
  27. zip – to compress your files into a zip archive
  28. unzip – to extract the zipped files from a zip archive
  29. ssh – a secure encrypted connection between two hosts over and insecure network
  30. cal – shows calendar
  31. apt – command line tool for interaction with packaging system
  32. alias – custom shortcuts used to represent a command
  33. w – current user info
  34. whereis – used to locate the binary, source, manual page files
  35. whatis – used to get one-line man page description
  36. useradd – used to create a new user
  37. passwd – used to changing password of current user
  38. whoami – print current user
  39. uptime – print current time when machine starts
  40. free – print free disk space info
  41. history – print used commands history
  42. uname – print detailed information about your Linux system
  43. ping – to check connectivity status to a server
  44. chmod – to change permissions of files and directories
  45. chown – to change ownership of files and directories
  46. find – using find searches for files and directories
  47. locate – used to locate a file, just like the search command in Windows
  48. ifconfig – print ip address stuff
  49. ip a – similar to ifconfig but shortest print
  50. finger – gives you a short dump of info about a user

It doesn’t matter which technology stack you are working on or what programming language you are comfortable with, one thing is constant. Linux is here to stay and you will be using it at any stage of your developer or DevOps career.

I hope you find these commands useful.


If you like reading this, then you might also like reading the below article.

Leave a Comment

Your email address will not be published. Required fields are marked *