How to convert Microsoft Office *.docx files to PDF using Linux in command-line

Here’s how to convert Microsoft Office *.docx files to PDF using Linux in Command Line.
This trick can also be used together with other documents files supported by LibreOffice

First make sure you’ve installed the latest version of LibreOffice for use in command line environment.
Assuming the user is ‘example’ and the filename to convert is ‘doc.pdf’.

libreoffice --headless -convert-to pdf --outdir /home/example/ /home/example/doc.docx

The conversion can also be adapted to PHP or Python using their respective shell_exec or subprocess directive.

Find largest file in Linux server using “du”

Short on diskspace? You can use ‘du’ to find largest files in your linux server using ‘du’ tool.


du --total -sh /path/*

Additionally you can also include a ‘threshold’ parameter to list only file larger than the unit which you’ve specified, by using “-t” parameter.

Example, list files larger than 100MB

du --total -sh -t100M /path/*

You can use “M” for megabytes, “G” for gigabytes and “P” for Petabytes. Positive number denotes files must be at least the specified size. Negative number means the files must be at most the specified size.

How to build and use telegram-cli client for Linux

You can actually send Telegram message from command-line interface / bash in Linux using an unofficial telegram-cli client by Vitali Valtman (vysheng)

Obtaining and Compiling telegram-cli

But first, before sending telegram messages, you need to build the client. You may start by installing its dependencies

 sudo git apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev libjansson-dev libpython-dev make 

Then, you can get the latest telegram-cli client from vysheng GitHub

 git clone --recursive && cd tg

Afterwards, you may configure ‘telegram-cli’ and compile it


Alternative Download
Alternatively, you can download Telegram source code from my server:



Running telegram-cli

After finished compiling telegram-cli, you may try and start using telegram.

bin/telegram-cli -k

For first time use, you may need to key in the authorization code, the code will be sent to your mobile device to allow ‘telegram-cli’ to log as your username.

bin/telegram-cli -u  -k

In my experience you may need to replace the +[country_code] phone-number with ’00’. so if your phone number includes country code is +60123456789, then you must replace it with 0060123456789 (however, your mileage may vary.

bin/telegram-cli -u 00123456789 -k

Once the authorization CODE has been entered, you are free to use telegram. Telegram use the concept of ‘peer’ (contact) to send messages instead of phone number. So in order to get a list of your peer, you need to run “contact_list” command.


> contact_list

To send message to a peer/contact (for example to Warrick Brown), just type

> msg Warrick_Brown "wassup, dude? want to hang out today?"

To quit, you can type

> safe_quit

If you find it difficult or failed to compile telegram-cli from GitHub, then you can download this telegram-cli source code from my server which is tested to compile under Raspbian Jessie, Debian Jessie, Ubuntu 14.04 LTS and Ubuntu 16.04 LTS.

Alternative Telegram source code:


How to make sudo display funny error messages in Ubuntu Linux

sudo is probably the most used command in Ubuntu.

In this post, I will show you how to make ‘sudo’ display funny and humorous error messages in Ubuntu Linux.

To do that, you would only need to edit the /etc/sudoers :

sudo nano /etc/sudoers

Then find the line that starts with Defaults env_reset, add insults at the end of the line so it would look like this:

# See the man page for details on how to write a sudoers file
Defaults env_reset, insults

Save the file, and you are done! You can test the results by running the sudo command and entering the wrong password.

Screenshot Demo

sudo insults