I have been compiling a list of some Linux commands that I find most useful. Some of these are the basic run-of-the-mill commands that any intro to Linux class will teach, but some of them are a little more obscure, yet useful. They are listed below in alphabetical order.
This utility is related to the man utility. You can use it to find references within manual pages simply by providing an argument that is close to or exactly what you are looking for. For example you can find all the manual page names and sections that relate to printf simply by invoking apropos printf. This will give you results for printf, fprintf, vprintf, vfwprintf… and so on.
This one is one of my most used and extremely useful. Issuing cat FILENAME and the contents of that file will be dumped to the screen. Easy peasy.
This is a handy little network utility. You can use it to grab information about any domain by simply running dig some.example.com any.
Here is an extremely useful command. Ever need to know where a file is in the structure but only remember its name? find . -name filename will find it for you.
Another simple but useful command. Lists the last users logged into the system with times and other info.
In most Linux distros, you can look up the spelling of an English word without breaking out the dictionary. Suppose you don’t know how to spell “superfluous.” Type look superfl and you will see a list of words beginning with “superfl” — including superfluous.
nc or netcat is a TCP and UDP utility that can act as a listener/receiver as well as a requester/sender/server. There are so many options with this one that you’re better off checking the man page.
This short command stands for “numbered lines.” Give it a file name as a parameter and it will print the file with numbered lines. Pretty useful!
Issuing this guy will print out a formatted tree of the processes on the system.
This is useful for debugging. My most common usage is this: tail -f /var/log/some.log. That will open the log file and continually print the last few lines so you can debug that service.
You can do a lot of things with touch, but the most basic is file creation. Need a new file right here? touch FILENAME. Done.
Similar to pstree but with the filesystem.
Download all the things! The wget command will aloow you to download resources from a server simply by doing wget http://some.server.com/resource.ext. Check out the man page for all the other amazing features of wget.
If you want to know what binary (or alias) is called when you issue a command, you use which SOME_COMMAND. You’ll find out what you want to know.
If you want to know the users logged into the system, issue who.
If you’re feeling lost, or simply forgot if you’re root or whoever, whoami will tell you right away.
This list is far from exhaustive, because frankly, there are so many great utilities in most flavors of Linux, but these are some of my favorites. I’ve linked each one to their respective man pages below.
Thanks for reading!