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!
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.
LS
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
PS
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
CAT
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:
line1
line2
line3
TAIL
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
KILL
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
RM
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?
Top comments (14)
First of all I would cheat, and put
1) htop, with it you can check resources, you'll need something to see if RAM or CPU is being hammered, and is a cheat because you can also kill and a basic ps functionality :)
well could be glances, you get extra info but you lose renice and kill
2) not really cheating but I would add cat, with it you can read a file, like tail but the whole thing and you can write on it (or Vim? could it be Vim? or better neovim?).
cp, ls and rm are unavoidable I think (unless you really cheat) but I also think that is you add them you have to add
cd
andsudo
which is excesive3)
man
should definetely be in the list4) something for networking, nmap, ip or tcpdump? maybe?
5) df
6) mpv, you can't fix a computer without proper music, that's nonsense. unless is remote, in that case ssh and listen music in your phone (that's cheating too).
Six would be too few haha
ls
,cd
,cp
,mv
,rm
,ssh
,scp
,sudo
,grep
,less
,cat
,tail
,vim
.Well, you can’t go anywhere without cd
Great illustration!
cd, cp, chmod, chown, netstat, curl, wget, and most important, nano. XD
You misspelled vim :)
Whoa, don't "kill -9" unless you have to. Try "kill" (without "-9") first, to let the process shutdown gracefully.
Very good. Also df-h to check the disk space in case run out!
Excellent, thank you for sharing Erika!
That artwork is AMAZING 👏
My picks are too dissimilar either.
Thank you! 😊❤️
Someone asked me this:
How can we change the document root of apache webserver to /web directory?
Edit your httpd.conf file located in either /etc/httpd/ or /etc/httpd/conf/ and change the ServerRoot path to your desired destination. Or you can create a non standard file path using the <Directory /> or <VirtualHost />.
See the Apache web server documentation. httpd.apache.org/docs/2.4/>
Yes! What Ken said. If you would like to create a virtual host instead, I'd recommend this tutorial: digitalocean.com/community/tutoria...