Linux Essentials: The Singular Six

If you had to choose the most essential Linux commands to troubleshoot servers, those you really can't live without, what would that list look like to you?

I came down to six essentials that are super important to locate and identify issues within Linux servers (not considering text editors or network commands). Meet the Singular Six!

Linux's Singular Six

My list includes:

  • ls
  • ps
  • cat
  • tail
  • kill
  • rm

These are like the basic toolchain for dealing with Linux servers, and I can't think of anything more essential than these six commands. Let's have a quick recap of each one of them, just in case.


This one just had to be on the list (pun intended). The ls command is used to list files from a location. If you don't provide a directory to list, it will list the files from your current directory.

Usage Examples for the ls Command

Lists all files from the current directory, including hidden files:

ls -la

Lists all files from a directory:

ls /var/log


The ps command is used to list processes that are currently running on the system.

Usage Examples for the ps Command

Shows current active processes initiated by the logged user:

ps ux

Shows current active processes from all users:

ps aux


The cat command is used to output the full contents of a file. Many people don't know that you can also use cat as an improptu editor to create or update text files.

Usage Examples for the cat Command

Outputs content from a file named file.txt in the current directory:

cat file.txt

Redirects content from the standard input to a file, until an EOF is entered:

cat > test.txt << EOF
heredoc> line1
heredoc> line2
heredoc> line3
heredoc> EOF

If you run a cat test.txt now, you'll get the following output:



The tail command is used to output only the final portion of a file, which makes it great for checking system logs. By default, it will output the last 10 lines of a file.

Usage Examples for the tail Command

Show the lasts 10 lines of a file:

tail /var/log/nginx/error.log

Shows the last 40 lines of a file:

tail -n 40 /var/log/nginx/error.log

Outputs new log lines in real time (blocks terminal - hit CTRL+C to exit):

tail -f /var/log/nginx/error.log


The kill command is used to terminate processes that are currently running on the server.

Usage Examples for the kill Command

Kills a process using a PID (process ID can be obtained with ps):

kill -9 1234

Kills all processes with a certain name:

killall -9 name


The rm command is used to permanently delete files on a server.

Usage Examples for the rm Command

Recursively removes all files from a certain location (includes directories):

rm -r location/

Recursively removes files from a location, but asks for confirmation (interactive) before removing:

rm -ri location/

Recursively removes all files from a location, won't ask for confirmation (force) and shows files being removed (verbose):

rm -rfv location/

Be careful with this one, because it won't give you a second chance to avoid removing important files (just make sure you're passing in the correct directory to be removed).

It's Your Turn

Now, I want to know: what is in your top six?

beginners, Linux, discuss, illustrated