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.
- ls – view contents of directory (list)
- pwd – path of the current directory
- cd – change directory
- mkdir – make new directory
- mv – move files / rename files
- cp – copy files
- rm – remove files
- touch – create blank new file
- rmdir – delete directory
- cat – list content of file to terminal
- clear – clear terminal window
- echo – move data into a file
- less – used to read the contents of textfile
- man – show manual of Linux commands
- sudo – enables you to perform tasks that require administrative or root permissions
- top – task manager in terminal
- tar – used to archive multiple files into a tarball
- grep – used to searching words in specific files
- head – view first lines of any text file
- tail – view last lines of any text file
- diff – compares the contents of two files line by line
- kill – used for killing unresponsive program
- jobs – display all current jobs along with their statuses
- sort – is a command line utility for sorting lines of text files
- df – info about system disk
- du – check how much space a file or directory takes
- zip – to compress your files into a zip archive
- unzip – to extract the zipped files from a zip archive
- ssh – a secure encrypted connection between two hosts over and insecure network
- cal – shows calendar
- apt – command line tool for interaction with packaging system
- alias – custom shortcuts used to represent a command
- w – current user info
- whereis – used to locate the binary, source, manual page files
- whatis – used to get one-line man page description
- useradd – used to create a new user
- passwd – used to changing password of current user
- whoami – print current user
- uptime – print current time when machine starts
- free – print free disk space info
- history – print used commands history
- uname – print detailed information about your Linux system
- ping – to check connectivity status to a server
- chmod – to change permissions of files and directories
- chown – to change ownership of files and directories
- find – using find searches for files and directories
- locate – used to locate a file, just like the search command in Windows
- ifconfig – print ip address stuff
- ip a – similar to ifconfig but shortest print
- 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.