Using less to view text files at the Linux command line

If there’s one thing you’re sure to find on a Linux system, it’s text files. A lot of them. Readme files, configuration files, documents, and more.

Most of the time, you probably open text files using a text editor. But there is a faster and, I think, better way of reading text files. That’s using a utility called less. Standard kit with all Linux distributions (at least the ones I’ve used), less is a command-line textfile viewer with some useful features.

Don’t let the fact that it’s a command-line tool scare you. less is very easy to use and has a very shallow learning curve.

Let’s take a look at some of the things that you can do with less.

Getting started

Crack open a terminal window and navigate to a directory containing one or more text files that you want to view. Then run the command less filename, where filename is the name of the file you want to view.

The file takes over your terminal window, and you’ll notice a colon (:) at the bottom of the window. The colon is where you can type any of the internal commands you use with less. More on these in a moment.

Moving around

Chances are that the text file you’re perusing is more than a couple of lines long; it’s probably a page or more. With less, you can move forward in the file in a few ways:

  • Move down a page by pressing the spacebar or the PgDn key
  • Move down one line at a time by pressing the Down arrow key

less also allows you to move backward in a file. To do that, press the PgUp key (to move up a page at a time) or the Up arrow key (to move up one line at a time).

Finding text

If you have a large text file or are trying to find a specific piece of text, you can do that easily in less. To find a word or phrase, press / on your keyboard and type what you want to find.

Note that the search function in less is case-sensitive. Typing “the silence” isn’t the same as typing “The Silence.”

less also highlights the words or phrases you search for. That’s a nice touch that makes it easier for you to scan the text.

You can press n on your keyboard to find the next instance of the word or phrase. Press p on your keyboard to find the previous instance.

Getting out of there

Once you get to the end of a text file and you’re done viewing it, how do you exit less? That’s easy. Just press q on your keyboard. (You can also press q at any time to leave the program.)

As I mentioned at the beginning of this post, less is easy to use. Once you use it, you’ll wonder how you ever did without it.

Prevent Outgoing Spam from Webmail Accounts

We’ve added greater flexibility to how cPanel users can manage, protect, and administer email addresses on their mail server. You can now suspend or queue the outgoing mail from a single email account on your server. In case you’re not already familiar with the full administrative capabilities of Webmail, here’s a short run down.

Receive Notifications of Send Limits

Get alerts about accounts that are sending massive amounts of emails by entering Tweak Settings and setting a rate limit.

Suspend an Account

Prohibit access to an account, prevent login access, and temporarily embargo incoming mail with the suspension features located within the Email Accounts section of the cPanel interface.

Terminate an Account 

Completely remove a mail account and all of its corresponding data from your machine.

The Latest Update: Suspending Outgoing Mail from a Single Mail Account 

The primary benefit to this update is that cPanel administrators can easily isolate and halt suspicious outgoing mail without eliminating the ability for their users to do other essential Webmail functions. This means users can still queue up outgoing mail, as well as still receive incoming mail until their administrators resolve any pending issues.

Head over to the Email Accounts section of the cPanel interface and check out this update. Be sure to share this post or leave a message in the comments to let us know what you think.

Need more information about this feature? Check out our documentation site to learn more.

How to Connect Wi-Fi from Linux Terminal Using Nmcli Command

There are several command-line tools for managing a wireless network interface in Linux systems. A number of these can be used to simply view the wireless network interface status (whether it is up or down, or if it is connected to any network), such as iw, iwlist, ip, ifconfig and others.

And some are used to connect to a wireless network, and these include: nmcli, is a command-line tool used to create, show, edit, delete, enable, and disable network connections, as well as control and display network device status.

First start by checking the name of your network device using the following command. From the output of this command, the device name/interface is wlp1s0 as shown.

$ iw dev
phy#0
Interface wlp1s0
ifindex 3
wdev 0x1
addr 38:b1:db:7c:78:c7
type managed

Next, check the Wi-Fi device connection status using the following command.

iw wlp2s0 link
Not connected.


From the output above the device is not connected to any network, run the following command to scan available Wi-Fi networks.

sudo iw wlp2s0 scan
command failed: Network is down (-100)

Considering the output of the above command, the network device/interface is DOWN, you can turn it On (UP) with the ip command as shown.

$ sudo ip link set wlp1s0 up

If you get the following error, that means your Wifi is hard blocked on Laptop or Computer.

RTNETLINK answers: Operation not possible due to RF-kill

To remove or unblock you need to run the following command to solve the error.

$ echo "blacklist hp_wmi" | sudo tee /etc/modprobe.d/hp.conf
$ sudo rfkill unblock all

Then try to turn ON the network device once more, and it should work this time around.

$ sudo ip link set wlp1s0 up

If you know the ESSID of the Wi-Fi network you wish to connect to, move to the next step, otherwise issue the command below to scan available Wi-Fi networks again.

$ sudo iw wlp1s0 scan

And lastly, connect to the wi-fi network using following command, where Hackernet (Wi-Fi network SSID) and localhost22 (password/pre-shared key).

$ nmcli dev wifi connect Hackernet password localhost22

Once connected, verify your connectivity by doing a ping to an external machine and analyze the output of the ping as shown.

$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=48 time=61.7 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=48 time=61.5 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=48 time=61.6 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=48 time=61.3 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=48 time=63.9 ms
^C
--- 8.8.8.8 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 61.338/62.047/63.928/0.950 ms

That’s It! I hope this article helped you to setup your Wi-Fi network from the Linux command line. As always, if you found this article useful, share your thoughts in the comment section below.

Tig – A Command Line Browser for Git Repositories

In a recent article, we’ve described how to install and use GRV tool for viewing Git repositories in Linux terminal. In this article, we would like to introduce to you another useful command-line based interface to git called Tig.

Tig is a free open source, cross platform ncurses-based text-mode interface for git. It is a straight-forward interface to git that can help in staging changes for commit at chunk level and works as a pager for output from different Git commands. It can run on Linux, MacOSX as well as Windows systems.

How to Install Tig in Linux Systems

To install Tig in Linux, you need to first clone the Tig repository to your system and install it as shown.

$ git clone git://github.com/jonas/tig.git
$ make
$ make install

By default, tig will be installed under $HOME/bin directory, but ff you wish to install it in another directory under in your PATH, set prefix to the desired path, as shown.

$ make prefix=/usr/local
$ sudo make install prefix=/usr/local


Once you have installed Tig on your system, using the cd command get into your any of your local git repositories and run tig without any arguments, which should show all commits for the repository.

$ cd ~/bin/shellscripts/
$ tig 
Show Git Repository Commits

Show Git Repository Commits

To quit Tig, press q to close it.

Display Repository Activity Log

To display a log activities of the above repository, use the log sub-command.

$ tig log
View Git Repository Log

View Git Repository Log

Show Repository Objects

The show sub-command allows you to display one or more objects such as commits and many more, in a more detailed way, as shown.

$ tig show commits
Show Git Repository Objects

Show Git Repository Objects

Search A Pattern/Word in Git Files

You can also search for a particular pattern (for example the word check) in your git files with the grep sub-command, as shown.

$ tig grep check 
Search a Work in Git Repository

Search a Work in Git Repository

Display Git Repository Status

To display status of your git repository use status sub-command as shown.

$ tig status
Show Git Repository Status

Show Git Repository Status

For more Tig usage, please refer to help section or visit the Tig Github repository at https://github.com/jonas/tig.

$ tig -h

Tig is a simple ncurses-based interface to git repositories and mainly act as a Git repository browser. Give us your feedback or ask any questions via the comment form below.

Agedu – A Useful Tool for Tracking Down Wasted Disk Space in Linux

Assume you are running short on disk space and you wanted to free up, by searching something that’s a waste of space and removing it or moving it to an archive medium. How do you track down right stuff to delete, that saves maximum space?

Linux provides a standard du command, which scans entire disk and shows you which directories hold the huge amount of data. That can assist you narrow your search to the things most useful deleting.

However, that only shows you what’s huge. What you actually want to know is what’s too huge. By default, du command will not let you differentiate between data that’s huge because you are doing something that needs it to be huge, and data that’s huge because you unpacked it once and ignored about it.

Most Linux file systems, by default only shows when a file was last accessed, but not shown when it was written, modified or even read. So if you created a huge amount of data years ago, forgot to delete it and have never used it since, then it is important to use those last-access time stamps to know the difference between used and unused data.


Agedu pronounced as (age dee you) is an open source and free utility (much like du command) that helps system administrators to track down wasted disk space used by old files and delete them to free up some space.

Agedu does a complete scan and produces reports that shows how much disk space is utilized by each directory and sub directory along with the last-access times of files. In simple words, it simply helps you to free up disk space.

Agedu Features

  1. Creates graphical reports.
  2. Produces data output in HTML format.
  3. Generates HTML reports with hyperlinks to other directories for easy navigation to gather reports.
  4. Provides more configurable options.

How Does Agedu Works?

From the man page:

agedu is a program which does this. It does basically the same sort of disk scan as du, but it also records the last-access times of everything it scans. Then it builds an index that lets it efficiently generate reports giving a summary of the results for each subdirectory, and then it produces those reports on demand.

How to Install Agedu in Linux Systems

On Debian/Ubuntu, agedu is available to install from the default system repositories using following apt-get command as shown.

$ sudo apt-get install agedu

On RHEL/CentOS, you need to turn on EPEL repository to install Agedu using following yum command as shown.

# yum install epel-release
# yum install agedu

Fedora and Arch Linux users, simply type the following command to install Agedu.

$ sudo dnf install agedu [On Fedora]
$ sudo yaourt -S agedu [On Arch Linux]

On other Linux distributions, you can compile Agedu from source as shown.

$ wget https://www.chiark.greenend.org.uk/~sgtatham/agedu/agedu-20180329.af641e6.tar.gz
$ tar -xvf agedu-20180329.af641e6.tar.gz
$ cd agedu-20180329.af641e6
$ ./configure
$ make
$ sudo make install

How to Track Wasted Disk Space Using Agedu

The following command will do a complete scan of /home/tecmint directory and its sub-directories and creates a special index file containing its data structure.

# agedu -s /home/tecmint/

Scan Linux System for Disk Space

Built pathname index, 232578 entries, 22842517 bytes of index Faking directory atimes
Building index
Final index file size = 97485984 bytes

Next, type the following command to query newly created index file.

# agedu -w
Sample Output :
Using Linux /proc/net magic authentication
URL: http://localhost:34895/

Now, type the following command to open the URL using any web browser.

# http://localhost:34895/
Graphical Output :

The below screen shows the graphical representation of disk usage of /home/tecmint along with its sub directories using various colors to show the difference between disused and recently accessed data.

Click on any sub directory to see the reports of its sub-directories. To terminate this mode, just press [CTRL+D] on command line.

Linux Disk Space Usage

Linux Disk Space Usage

To create and set custom port number for agedu, type the following command.

# agedu -w --address 127.0.0.1:8081
Sample Output :
Using Linux /proc/net magic authentication
URL: http://127.0.0.1:8081/

Enable password protection for Agedu using the following command.

# agedu -w --address 127.0.0.1:8081 --auth basic

Agedu Password Protect Reports

Username: agedu
Password: n2tx16jejnbzmuur
URL: http://127.0.0.1:8081/
Password Protect Agedu

Password Protect Agedu

Linux Directory Disk Space Usage

Linux Directory Disk Space Usage

Access Agedu reports using terminal mode.

# agedu -t /home/tecmint

Show Disk Space Usage in Terminal

8612 /home/tecmint/.AndroidStudio3.1
3684 /home/tecmint/.PlayOnLinux
604 /home/tecmint/.ScreamingFrogSEOSpider
2416 /home/tecmint/.TelegramDesktop
61960 /home/tecmint/.Write
1508 /home/tecmint/.adobe
20 /home/tecmint/.aptitude
48 /home/tecmint/.byobu
1215948 /home/tecmint/.cache
3096 /home/tecmint/.cinnamon
1421828 /home/tecmint/.config
12 /home/tecmint/.dbus
8 /home/tecmint/.emacs.d
780 /home/tecmint/.fonts
...

You see the output similar to du command. Let’s see the old files which are not accessed for long time. For example, to see only old files that are not accessed in last 12 months or more.

# agedu -t /home/tecmint -a 12m

Show Files Not Accessed in Last 12 Months

2416 /home/tecmint/.TelegramDesktop
1500 /home/tecmint/.adobe
46776 /home/tecmint/.cache
1840 /home/tecmint/.cinnamon
142796 /home/tecmint/.config
636 /home/tecmint/.gconf
88 /home/tecmint/.gimp-2.8
12 /home/tecmint/.gnome
112 /home/tecmint/.java
108 /home/tecmint/.kde
8 /home/tecmint/.links2
16 /home/tecmint/.linuxmint
6804 /home/tecmint/.local
12 /home/tecmint/.mindterm
40920 /home/tecmint/.mozilla
4 /home/tecmint/.oracle_jre_usage
12 /home/tecmint/.parallel
24 /home/tecmint/.shutter
6840 /home/tecmint/.softmaker
336 /home/tecmint/.themes
....

Let’s find out how much disk space taken by MP3 files by using following command.

# agedu -s . --exclude '*' --include '*.mp3'

Again to see reports run the following command.

# agedu -w

To deleted files and free up disk space, use the following command.

# rm -rf /downloads/*.mp3

How to remove agedu index file? First see the size of the index file with the following command.

# ls agedu.dat -lh
Sample output :
-rw------- 1 tecmint tecmint 35M Apr 10 12:05 agedu.dat

To remove index file, just enter.

# agedu -R

For more information on agedu command options and usage, please read the man pages or visit agedu home page.

# man agedu

If you know any tool that we haven’t mentioned in this site. Please let us know about it via comment box below.

5 ‘stat’ Command Examples for Linux Newbies

stat command is a useful utility for viewing file or file system status. It retrieves information such as file type; access rights in octal and human-readable; SELinux security context string; time of file birth, last access, last data modification, last status change in both human-readable and in seconds since Epoch, and much more.

It has an option to specify a custom format instead of the default, for displaying information. In this guide, we will look at five stat command examples for Linux newbies.

Check Linux File Status

1. The easiest way to use stat is to provide it a file as an argument. The following command will display the size, blocks, IO blocks, file type, inode value, number of links and much more information about the file /var/log/syslog, as shown in the screenshot:

$ stat /var/log/syslog
File: '/var/log/syslog'
Size: 26572 Blocks: 56 IO Block: 4096 regular file
Device: 80ah/2058d Inode: 8129076 Links: 1
Access: (0640/-rw-r-----) Uid: ( 104/ syslog) Gid: ( 4/ adm)
Access: 2018-04-06 09:42:10.987615337 +0530
Modify: 2018-04-06 11:09:29.756650149 +0530
Change: 2018-04-06 11:09:29.756650149 +0530
Birth: -

Check File System Status

2. In the previous example, stat command treated the input file as a normal file, however, to display file system status instead of file status, use the -f option.

$ stat -f /var/log/syslog
File: "/var/log/syslog"
ID: ce97e63d2201c974 Namelen: 255 Type: ext2/ext3
Block size: 4096 Fundamental block size: 4096
Blocks: Total: 84769790 Free: 16012830 Available: 11700997
Inodes: Total: 21544960 Free: 20995459


You can also provide a directory/filesystem as an argument as shown.

$ stat -f /
File: "/"
ID: ce97e63d2201c974 Namelen: 255 Type: ext2/ext3
Block size: 4096 Fundamental block size: 4096
Blocks: Total: 84769790 Free: 16056471 Available: 11744638
Inodes: Total: 21544960 Free: 21005263

Enable Following of Symbolic Links

3. Since Linux supports links (symbolic and hard links), certain files may have one or more links, or they could even exist in a filesystem.

To enable stat to follow links, use the -f flag as shown.

$ stat -L /
File: '/'
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 80ah/2058d Inode: 2 Links: 25
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2018-04-09 10:55:55.119150525 +0530
Modify: 2018-02-20 11:15:54.462893167 +0530
Change: 2018-02-20 11:15:54.462893167 +0530
Birth: -

Use a Custom Format To Display Information

4. stat also allows you to use a particular or custom format instead of the default. The -c flag is used to specify the format used, it prints a newline after each use of format sequence.

Alternatively, you can use the --printf option which enables interpreting of backslash escapes sequences and turns off printing of a trailing newline. You need to use \n in the format to print a new line, for example.

# stat --printf='%U\n%G\n%C\n%z\n' /var/log/secure

Meaning of the format sequences for files used in above example:

  • %U – user name of owner
  • %G – group name of owner
  • %C – SELinux security context string
  • %z – time of last status change, human-readable

5. Here is an example which shows using of accepted format sequences for file systems.

$ stat --printf='%n\n%a\n%b\n' /

Meaning of the format sequences used in the above command.

  • %n – shows the file name
  • %a – print free blocks available to non-superuser
  • %b – outputs total data blocks in file system

Print Information in Terse Form

6. The -t option can be used to print the information in terse form.

$ stat -t /var/log/syslog
/var/log/syslog 12760 32 81a0 104 4 80a 8129076 1 0 0 1523251873 1523256421 1523256421 0 4096

As a last note, your shell may have its own version of stat, please refer to your shell’s documentation for details about the options it supports. To see all accepted output format sequences, refer to the stat man page.

$ man stat 

In this article, we have explained five stat command examples for Linux newbies. Use the feedback form below to ask any questions.

Newsboat – An RSS/Atom Feed Reader for Linux Terminals

Newsboat is a free, open source RSS/Atom feed reader for Linux terminals. It is originally created from Newsbeuter, a text based RSS/Atom feed reader, however, Newsbeuter is not actively maintained.

RSS/Atom are a number of widely-used XML formats to communicate, publish and syndicate articles, for instance news or blog articles. Newsboat is created to be used on text terminals such as GNU/Linux, FreeBSD or macOS.

Read Also: Newsroom – A Modern CLI to Get Your Favorite News in Linux

In this article, we will show how to install and use Newsboat – a command-line feed reader to read your favorite news or articles from the Linux terminal.

Requirements:

  • GCC 4.9 or later, or Clang 3.6 or later
  • STFL (version 0.21 or later)
  • pkg-config
  • GNU gettext (only for systems that do not offer gettext in the libc)
  • libcurl (version 7.18.0 or later)
  • libxml2, xmllint, and xsltproc
  • json-c (version 0.11 or later)
  • SQLite3 (version 3.5 or later)
  • DocBook XML
  • DocBook SML
  • asciidoc

How to Install Newsboat in Linux Systems


Newsboat is available to install from the snap package management system, but first you have to install snapd on your system to install Newsboat as shown.

------------- On Debian/Ubuntu/Linux Mint ------------- $ sudo apt install snapd $ sudo snap install newsboat ------------- On Fedora 22+ -------------
$ sudo dnf install snapd
$ sudo snap install newsboat

Alternatively, you can install Newsboat from source code to use some of the latest features, but before that you need to fully install dependencies with the command that follows.

------------- On Debian/Ubuntu/Linux Mint ------------- $ sudo apt update
$ sudo apt install libncursesw5-dev ncurses-term debhelper libjson0 libjson0-dev libxml2-dev libstfl-dev libsqlite3-dev perl pkg-config libcurl4-gnutls-dev librtmp-dev libjson-c-dev asciidoc libxml2-utils xsltproc docbook-xml docbook-xsl bc
$ wget http://www.clifford.at/stfl/stfl-0.24.tar.gz
$ tar -xvf stfl-0.24.tar.gz
$ cd stfl-0.24
$ make
$ sudo make install
------------- On RHEL and CentOS -------------
# yum install libncursesw5-devel ncurses-term libjson0-devel libxml2-devel libstfl-devel libsqlite3-devel perl pkgconfig libcurl4-gnutls-devel librtmp-devel libjson-c-devel asciidoc libxml2-devel libxslt-devel debhelper docbook-style-xsl docbook-style-xml bc
# wget http://www.clifford.at/stfl/stfl-0.24.tar.gz
# tar -xvf stfl-0.24.tar.gz
# cd stfl-0.24
# make
# make install 

Then clone the Newsboat repository from Github to your system, and install it as shown.

$ git clone git://github.com/newsboat/newsboat.git
$ cd newsboat $ make
$ sudo make install

How to Use Newsboat Feed Reader in Linux Terminal

In this section, we will explain how to use Newsboat to read RSS feed from a site, for example tecmint.com First of all, we will need to get the rss-feed link for tecmint.com from a browser and copy it (you can use any website feed url).

https://www.tecmint.com/feed/

Afterwards, save it in a file for later usage.

$ echo "https://www.tecmint.com/feed/" >rss_links.txt

Now you can read RSS feed from Tecmint.com using following command with the switches -u (specifies file containing RSS feed URLs) and -r (refresh feeds on start) as follows.

$ newsboat -ru rss_links.txt
Read RSS Feed in Linux Terminal

Read RSS Feed in Linux Terminal

To select a topic, use the Up and Down arrows to navigate, then press Enter on the topic you want. This examples shows that we have selected topic number 5 from the list.

Select Feed Topic in Linux Terminal

Select Feed Topic in Linux Terminal

To open a topic in the browser, you can press o, and to quit the program, hit q.

You can see all the options and usages by running the following command.

$ newsboat -h

For more information, visit Newsboat Github Repository: https://github.com/newsboat/newsboat.

Read Also: Cricket-CLI – Watch Live Cricket Scores in Linux Terminal

Newsboat is a simple and intuitive RSS/Atom feed reader for Linux terminals. Try it out and give us your feedback via the comment form below.

GraphicsMagick – A Powerful Image Processing CLI Tool for Linux

GraphicsMagick is a free open source, modern and powerful software suite for processing images. It was initially derived from ImageMagick, however, over the years, it has grown to be a fully independent project, with a number of improvements and additional features. It runs on all Unix-like operating system such as Linux, MacOS, and also runs on Windows.

It offers a useful and efficient assortment of tools as well as libraries that allow for reading, writing, and manipulating your images in more than 88 well known formats (such as GIF, JPEG, JPEG-2000, PNG, PDF, PNM, and TIFF).

It can create a composite image in grid format, from multiple images, and create images in web supported formats such as WEBP. It is also used to change image size, sharpen, color reduce, rotate or add special effects to images of various formats. Importantly, it can create a GIF animation from multiple images and much more.

How to Install GraphicsMagick on Linux Systems

On Debian and its derivative such as Ubuntu and Linux Mint, you can install it using APT-package manager as shown.

$ sudo apt-get update
$ sudo apt-get install graphicsmagick


On Arch Linux and Fedora, you can install GraphicsMagick from the default system repositories using package manager as shown.

$ sudo pacman -S graphicsmagick [On Arch Linux]
$ sudo dnf install GraphicsMagick [On Fedora 25+]

On other Linux distributions such as RHEL, CentOS and Fedora (older releases), you can compile GraphicsMagick from source code as shown.

----------- Install GraphicsMagick on RHEL and CentOS ----------- # yum install libpng libjpeg libpng-devel libjpeg-devel ghostscript libtiff libtiff-devel freetype freetype-devel jasper jasper-devel
# wget -c https://downloads.sourceforge.net/project/graphicsmagick/graphicsmagick/1.3.28/GraphicsMagick-1.3.28.tar.xz
# xz -c GraphicsMagick-1.3.28.tar.xz | tar -xvf -
$ cd GraphicsMagick-1.3.28/
$ ./configure $ make
$ make install
----------- Install GraphicsMagick on Fedora ----------- # dnf install libpng libjpeg libpng-devel libjpeg-devel ghostscript libtiff libtiff-devel freetype freetype-devel jasper jasper-devel
# wget -c https://downloads.sourceforge.net/project/graphicsmagick/graphicsmagick/1.3.28/GraphicsMagick-1.3.28.tar.xz
# xz -c GraphicsMagick-1.3.28.tar.xz | tar -xvf -
$ cd GraphicsMagick-1.3.28/
$ ./configure $ make
$ make install

To access GraphicsMagick functions, use gm – a powerful command-line utility, which offers several sub-commands such as display, animate, concert, montage, compare, identify, composite and many more, for accessing the actual functions.

To confirm that the GraphicsMagick package has been installed on your system, you can run the following command.

$ gm display 
Verify GraphicsMagick Installation

Verify GraphicsMagick Installation

Then run the following series of commands to verify many aspects of the installed package.

$ gm convert -list formats #check that the expected image formats are supported
$ gm convert -list fonts #check if fonts are available
$ gm convert -list delegates #check if delegates (external programs) are configured as expected
$ gm convert -list colors #check if color definitions may be loaded
$ gm convert -list resources #check that GraphicsMagick is properly identifying the resources of your machine

Learn How to Use GraphicsMagick in Linux

Following are some basic examples of how to use gm command with these options.

1. To display or view an image from the terminal, run following command.

$ gm display girlfriend.jpeg
View Image in Linux Terminal

View Image in Linux Terminal

2. To resize an image with new width, specify a width and height will auto scale proportionally as shown.

$ gm convert -resize 300 girlfriend-1.jpeg girlfriend-1-resize-300.jpeg
$ gm display girlfriend-1-resize-300.png
Resize Image in Linux Terminal

Resize Image in Linux Terminal

You can also define a width and a height, and the command will resize the image to that dimensions without altering the proportions.

$ gm convert -resize 300x150 girlfriend-1.jpeg girlfriend-1-resize-300x150.jpeg
$ gm display girlfriend-1-resize-300.png

3. To create an animated image of multiple images in the current working directory, you can use the following command.

$ gm animate *.png 
Animate Images in Linux Terminal

Animate Images in Linux Terminal

Note: The above animated image quality is poor, because we have optimized to lower the size of image.

4. To convert an image to one format to other, for example .jpeg to .png and vise-versa.

$ gm convert girlfriend.jpeg girlfriend.png

5. Next, you can create a visual image directory of all your .png images as shown.

$ gm convert 'vid:*.jpeg' all_png.miff
$ gm display all_png.miff
Create Visual Image

Create Visual Image

6. Additionally, it is possible to create a composite image (in a grid format) from separate images as shown.

$ gm montage girlfriend.jpeg girlfriend-1.jpeg girlfriend-2.jpeg composite_image.png
$ gm display composite_image.png 
Create Grid Format Images

Create Grid Format Images

There is a lot you can do with gm command, we have just covered a few basic examples in this article. You can see see all options for gm and its sub-command, for example, convert, type:

$ gm -help
$ gm help convert

For more information, visit GraphicsMagick Homepage: http://www.graphicsmagick.org/

GraphicsMagick is a powerful and feature-rich image processing system for Linux and other Unix-like systems. If you have any questions or thoughts to share, use the feedback form below.

Problem with Recent EasyApache Update

Last night, we pushed an update to EasyApache4 wherein after the update was installed Apache service may fail to restart properly. Upon checking the Apache error log, you may see error messaging similar to the following:

Server xxxxxxx.com
Primary IP Address xxxxxxxxxx
Service Name httpd
Service Status failed
Notification The service “httpd” appears to be down.
Service Check Method The system failed to connect to this service’s TCP/IP port.
Reason Service check failed to complete
Unable to connect to port 80 on 127.0.0.1: Connection refused: Died
Number of Restart Attempts 49
Startup Log /usr/sbin/httpd: symbol lookup error: /usr/sbin/httpd: undefined symbol: apr_bucket_alloc_aligned_floor
Log Messages [Tue Apr 03 22:54:35.759371 2018] [mpm_prefork:notice] [pid 12717] AH00163: Apache/2.4.29 (cPanel) OpenSSL/1.0.2n mod_bwlimited/1.4 configured -- resuming normal operations

We have pushed an update to resolve the issue for any servers that update in the future. The root cause was a failure where servers did not receive a required EasyApache rpm (ea-apr-util) during the update. If you have experienced this problem, you can resolve it immediately by following the steps below.

On your server, run the following commands

yum clean all
yum -y update

It may be that your PHP Handlers will need to be redefined as well. You can run this command to see what your current handlers are set to:

/usr/local/cpanel/bin/rebuild_phpconf --current

If you see that you have no handlers defined, you can either re-provision your PHP handlers in WHM >> MultiPHP Manager, under the PHP Handlers tab, or you can do set them with this command on the command line, replacing the $i with the ea-php## package name:

/usr/local/cpanel/bin/rebuild_phpconf --$i=cgi --$i=suphp

For example:

/usr/local/cpanel/bin/rebuild_phpconf --ea-php55=cgi --ea-php56=suphp

If you want to set all of the versions of PHP to the same handler, you can use this command:

for i in $(ls -1 /etc/scl/prefixes/|grep ^ea); do /usr/local/cpanel/bin/rebuild_phpconf --$i=cgi; done

We understand the frustration this has caused and is causing, and sincerely apologize for that. We will be updating the situation with more information as we receive it, and thank you for your patience. If you need any further help at all, feel free to open a ticket with our support team: https://tickets.cpanel.net/

Manage Your Passwords with RoboForm Everywhere: 5-Year Subscriptions

With the countless number of accounts we usually create on different platforms, websites and applications on the Internet, we are sometimes forced to remember or type passwords again and again during login.

But with RoboForm, you no longer need to remember or type your passwords again. RoboForm is an excellent, top-rated password manager that is compatible across operating systems: Linux, Windows, Mac, iOS, Android, and Chrome OS, and all common web browsers: Chrome, Firefox, IE, Safari, Opera, Edge.

With it, you can generate stronger passwords and store them in RoboForm to log in with a single click. You can securely share login information with your contacts, all you need to do is enter the recipients email and share it.

If you also shop online, RoboForm is able to fill all your address and billing information for you, with a single click. Most importantly, it protects your data using AES-256 bit encryption with PBKDF2 SHA-256.


To use RoboForm, all you need to do is download and install it, set a master password, afterwards add logins to it, then from there, log in with a single click. It automatically remembers your passwords for every site you enter once and logs you in with a single click. It now supports the fingerprint reader.

Free up your mind from remembering or having to type your many different passwords again and again. Use RoboForm password manager and focus on more important things. There are two packages: personal which contains three options: free, everywhere and family; as well as business package.

In addition, you can select a trusted contact to securely obtain access to your RoboForm data in case of emergency. Get a 5-Year subscriptions today and this includes all upgrades for the duration of the subscription, at 70% off or for as low as $29 on Tecmint Deals.