≡ Menu

linux command line

HowTo: Linux Random Password Generator Command

How do I generate random passwords on the Linux command line using the bash shell? How to create random password using Linux command line options?
[click to continue…]

How do I convert from octal to hex number using bc UNIX / Linux command line utility?
[click to continue…]

How do I find out BIOS version using a Linux command line option?
[click to continue…]

How do I identify remote server os and apps using UNIX or Linux command line options?
[click to continue…]

Q. I can measure network throughput and packet loss using standard UNIX / Linux command line utilities. How do I find out the lateceny and throughput of a web server like Apache under Linux?

A. You need to use the program called httping. It allows you to measure the latency of a webserver and the throughput.

Task: Ping the webserver on host www.cyberciti.biz

Use the following command for measuring the latency. Press CTRL+c to exit the program. It will display a summary of what was measured.
$ httping -g http://www.cyberciti.biz

PING www.cyberciti.biz:80 (http://www.cyberciti.biz):
connected to www.cyberciti.biz:80, seq=0 time=981.08 ms
connected to www.cyberciti.biz:80, seq=1 time=709.92 ms
connected to www.cyberciti.biz:80, seq=2 time=1072.02 ms
connected to www.cyberciti.biz:80, seq=3 time=903.81 ms
connected to www.cyberciti.biz:80, seq=4 time=607.84 ms
connected to www.cyberciti.biz:80, seq=5 time=660.01 ms
connected to www.cyberciti.biz:80, seq=6 time=730.12 ms
connected to www.cyberciti.biz:80, seq=7 time=781.49 ms 

The -g url option use selects the url to probe / ping. You can also specify the port with -p port option:
$ httping -g http://www.cyberciti.biz -p 81
You can also connect using SSL, for this to work you need to give a https url or a 443 portnumber:
$ httping -l -g https://www.cyberciti.biz
$ httping -g http://www.cyberciti.biz -p 443

Task: Measure throughput of a webserver

The -G option force GET request instead of a HEAD request - this means that also the complete page/file must be transferred. You also need to pass the -b option with -G option to get the transferspeed (in KB/s).
$ httping -Gbg http://www.cyberciti.biz/

PING www.cyberciti.biz:80 (http://www.cyberciti.biz/):
connected to www.cyberciti.biz:80, seq=0 time=1738.39 ms  22KB/s
connected to www.cyberciti.biz:80, seq=1 time=1650.19 ms  20KB/s
connected to www.cyberciti.biz:80, seq=2 time=1759.65 ms  17KB/s
connected to www.cyberciti.biz:80, seq=3 time=1589.98 ms  21KB/s
connected to www.cyberciti.biz:80, seq=4 time=3709.87 ms  6KB/s
connected to www.cyberciti.biz:80, seq=5 time=3329.69 ms  7KB/s
--- http://www.cyberciti.biz/ ping statistics ---
53 connects, 53 ok, 0.00% failed
round-trip min/avg/max = 1451.9/2013.6/11656.0 ms
Transfer speed: min/avg/max = 6/19/24 KB

Please note above in above command you’re no longer measuring the latency!

You can also pass -X option with -G to show the amount of data transferred (excluding the headers):
$ httping -XGbg http://www.cyberciti.biz/

PING www.cyberciti.biz:80 (http://www.cyberciti.biz/):
connected to www.cyberciti.biz:80, seq=0 time=1576.11 ms  22KB/s 19KB
connected to www.cyberciti.biz:80, seq=1 time=2620.26 ms  9KB/s 19KB
connected to www.cyberciti.biz:80, seq=2 time=1507.69 ms  23KB/s 19KB
connected to www.cyberciti.biz:80, seq=3 time=1522.08 ms  24KB/s 19KB
connected to www.cyberciti.biz:80, seq=4 time=1533.68 ms  23KB/s 19KB
connected to www.cyberciti.biz:80, seq=5 time=1581.92 ms  21KB/s 19KB
connected to www.cyberciti.biz:80, seq=6 time=1512.06 ms  24KB/s 19KB
--- http://www.cyberciti.biz/ ping statistics ---
7 connects, 7 ok, 0.00% failed
round-trip min/avg/max = 1507.7/1693.4/2620.3 ms
Transfer speed: min/avg/max = 9/21/24 KB

Test remote server CPU

The -B option along with -G option ask the HTTP server to compress the returned data - this will reduce the influence of the bandwidth of your connection while increasing the influence of the processorpower of the HTTP server.
$ httping -BGg http://www.cyberciti.biz/

Flood Webserver

The -f option used to flood ping i.e. do not sit idle between each ping but ping as fast as the computer and network allow you to (don't run this on production or 3rd party servers):
$ httping -fg http://www.cyberciti.biz/

KSH Send Email Attachments Using a Scripts

How do I send an email attachment via KSH shell script under UNIX operating systems?
[click to continue…]

Ubuntu Linux play encrypted DVDs

Q. How do I play encrypted DVDs under Ubuntu Linux?

A. You need to install a special library which allows you to play encrypted DVDs under Ubuntu Linux.

In this FAQ you will learn how to use linux command line to install CSS library and DVD playback using open source linux software such as xine.

Ubuntu Linux will not be able to play most of the DVDs out of box. Please read this my article which explains why linux don't support MP3 and DVD out of box.

Now let us see how to configure Ubuntu Linux to play encrypted DVDs .

Most DVDS comes with Content Scramble System (CSS) which is a Digital Rights Management (DRM) scheme. The CSS key sets are licensed to manufacturers who incorporate them into products such as DVD drives, DVD players and DVD movie releases. Most DVD players are equipped with a CSS Decryption module. CSS key is a collective term for authentication key, disc key, player key, title key, second disk key set, and/or encrypted key.

In order to play encrypted DVDs just install CSS library with following linux command

First install open source Linux player such as vlc or xine, mplayer etc using apt-get command:
$ sudo apt-get install vlc xine mplayer libdvdread3

Now install CSS library:
$ sudo /usr/share/doc/libdvdread3/examples/install-css.sh

Now you can play DVD by visiting Applications > Sound & Video > Movie Player > Select player menu option.

Updated for accuracy.