Last week, we shared with you several “cool and fun” commands to get comfortable and confident with the Linux command-line. In our quest to further aid Linux users with mastery of the command line, or CLI, we present you with a variety of command-line utilities essential for all Linux users, regardless of proficiency level.
Note: For our purposes, we are working on a Debian-based build, so all the commands we run are Debian-based. However, the commands/utilities that we outline here work on other flavors of Linux too.
1. Glances
glances is a command-line system monitoring utility, that allows Linux users to monitor CPU, load average, memory, network interfaces, disk I/O, processes, and file system spaces utilization. Glances is curses-based, written in Python, and uses the psutil library to get system information and display in a user-friendly, aesthetically appealing format.
glances allow users to set thresholds (careful, warning, and critical) contained in a configuration file and displayed in colors.
- Green – OK (everything is copasetic)
- Blue – Careful (needs attention)
- Violet Warning (alert)
- Red – Critical (critical alert)
Installation of glances is easy:
# sudo apt install glances
As is launching glances:
# glances
As with most CLI utilities, glances come with several command-line options that users can research via the man command. It also provides hotkeys that allow help users better find or pinpoint specific output information.
To get a list of these, press the h key will glances is running:
To return to glances, press h again.
To exit glances, press <Esc> or <Ctrl>c.
Another good use of glances is the -s option, which launches glances in server mode and allows you to remote into the workstation/server via ssh to monitor the system remotely.
glances is an invaluable tool for all Linux users, but especially systems administrators charged with administrating/maintaining multiple Linux servers.
glances github repository – nicolargo.github.io/glances/
2. Ranger
ranger is a free and open-source powerful, but lightweight, text-based file manager that runs in the terminal window. It uses Vi key bindings and provides a seamless way for Linux users to navigate directories, view files and content, or even open an editor to edit a file.
The minimalist interface of this command provides a view of the directory hierarchy in the form of a three-column layout.
Available in the package repositories of most major Linux distributions, the command is similar to the more commonly known file manager Midnight Commander (mc) but provides additional features.
Features of ranger include:
- Multi-column display (three-columns)
- Common file operations such as create/chmod/copy/delete
- Preview of the selected file/directory
- VIM-like console
- Hotkeys
- Seamless way to switch directories and browse the file system
- Tabs, Bookmarks, Mouse support
- Video thumbnails previews
Installation of ranger is straightforward:
# sudo apt install ranger
To launch ranger:
# ranger
Exit ranger by pressing q.
Use man to show you the many options available when running ranger.
ranger github repository – github.com/ranger/ranger
3. Calcurse
calcurse is a straight-forward calendar and scheduling application. A favorite of developers and systems administrators more comfortable in the CLI than the GUI, calcurse keeps track of events, everyday tasks, and appointments.
calcurse is curses-based and customizable to suit the user. The powerful command-line options available with calcurse make it extremely suitable for use in scripts.
To install calcurse:
# sudo apt install calcurse
To launch calcurse:
# calcurse
Further information can be gleaned from the calcurse man page or the calcurse github repository.
calcurse github repository – github.com/lfos/calcurse
4. Neofetch
neofetch is best described as a CLI information too. It displays your system information to the right of an ASCII operating system logo (although you can display another picture via configuration).
Written in Bash, neofetch provides OS information, kernel version, desktop environment, including the theme and icon set it’s using, the version of Bash installed, and what window manager is running.
The neat thing about neofetch is that it is highly customizable via the use of command-line flags. There are over fifty configuration options available to you.
Installation is a snap:
# sudo apt install neofetch
Run neofetch via:
# neofetch
Another neofetch-type utility is screenfetch, and it displays much the same information. Both work well for me, but my preference is neofetch, but screenfetch works just as well. It’s merely a matter of preference.
neofetch github repository – github.com/dylanaraps/neofetch
5. Chkrootkit
chkrootkit is a security scanner used by administrators to search their Linux server or workstation for a ‘rootkit’ infection. In Linux, a rootkit is a malicious program that takes control of a system without the knowledge of the system administrator or Linux user. A rootkit can execute files and change system configurations, among other nefarious operations on your system.
While chkrootkit can provide Linux and administrators a level of protection, ensure full protection from rootkits by regularly updating your software and applications, and patching your system against all known vulnerabilities.
To install chkrootkit:
# sudo apt install chkrootkit
To run chkrootkit:
# sudo chkrootkit
Note that you must run chkrootkit as root (hence sudo).
To ensure maximum protection, it’s highly recommended that you run chkrootkit daily. Easily accomplish this by changing the first line of /etc/chkrootkit.conf from:
RUN_DAILY="false"
to
RUN_DAILY="true"
You should also have to ensure to configure crontab to ensure that chkrootkit to run as scheduled.
chkrootkit github repository – github.com/Magentron/chkrootkit
6. Wttr.in
This is not so much a command-line utility, as it is a convenient way for developers and system administrators married to CLI to quickly and conveniently check the weather.
Their github page describes wttr.in as “a console-oriented weather forecast service.”
For visualization and its weather forecast data sources, wttr.in uses wego.
To get your weather, use the curl command, specify wttr.in, and then your location (the ?F is to suppress the “Follow” line):
# curl wttr.in/St.Louis?F
To get help and options:
# curl wttr.in/:help
Besides curl, Linux users can also use the commands httpie or wget.
Users can also get their weather from wttr.in from their browser window, too.
wttr.in github repository – github.com/chubin/wttr.in
These are but a few of the essential Linux commands/utilities that we look forward to bringing you soon here at FOSSLinux. Of the six provided, all are powerful and worthy of an article to themselves in their own right.
If you know of any other essential Linux commands/utilities that you wish to share, go ahead and shout it out in the commands below. Remember sharing is caring!
2 comments
One of the best must-have I have seen.. Was expecting certain ones and they were there.. Then the others are a Must have.. 😉 Thanx
One of the best must have’s I have seen.. Was expecting certain ones and they were there.. Then the others are a Must have.. 😉 Tanx