Update metadata and transcripts through end of July 2026
Refreshed episodes/hosts/comments/series from hpr.sql, and added official HPR transcripts for the 180 episodes aired since the last sync (hpr4516-hpr4695).
This commit is contained in:
@@ -0,0 +1,151 @@
|
||||
Episode: 4544
|
||||
Title: Uncommon Commands, Episode 2
|
||||
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr4544/hpr4544.mp3
|
||||
Transcribed: 2026-07-31 16:13:38 (official HPR transcript)
|
||||
|
||||
---
|
||||
|
||||
This is Hacker Public Radio Episode 4544, for 2026-01-01
|
||||
Today's show is entitled, "Uncommon Commands, Episode 2"
|
||||
The host is Deltaray and the duration is 00:11:49
|
||||
The flag is Clean, and the license is CC-BY-SA
|
||||
The summary is "A summary of four commands, mtr, scrot, zless, and last"
|
||||
Hello and welcome to Hacker Public Radio in Episode 2 of the Uncommon Command series.
|
||||
The first command I want to mention in this episode is MTR.
|
||||
You've probably used the pink command before to check to see if your network is working.
|
||||
Back in the day I used to ping Yahoo.com all the time and it seemed like a lot of other
|
||||
people like to use them too based on tutorials and presentations and documentation at
|
||||
the time.
|
||||
I suspect I picked up on the practice from some tutorial website somewhere or some colleague
|
||||
back in the days of my early career.
|
||||
I always wondered if Yahoo received so many ICMP Echo requests from around the internet
|
||||
that they had to dedicate a person to deal with all that traffic.
|
||||
Along the same lines as Ping, you may have also seen or used the Tracerout Command.
|
||||
This is another network connectivity diagnostics program that has been around since the
|
||||
early days of the internet.
|
||||
It's fun to see the path that your packets take from your house or to get to various
|
||||
websites and destinations around the globe.
|
||||
One time someone even made a special Tracerout destination that listed out the opening
|
||||
crawling text from Star Wars.
|
||||
That host is long gone, but you can try running a Tracerout against another host called
|
||||
bad dot horse for a similar experience.
|
||||
After tracing to the destination it should cycle through a list of host that are the
|
||||
lyrics to the song Bad Horse.
|
||||
Just make sure that you give enough hops to get through the whole song.
|
||||
Use the dash M option with it like this.
|
||||
Tracerout space-M space 100 space bad dot horse.
|
||||
To build on the functionality of Tracerout there's another program called MTR that isn't
|
||||
as well known, but was created back in 1997 by Matt Kimball.
|
||||
It originally stood for Matt's Tracerout.
|
||||
In 1998 Roger Wolf took over the development, changed the meaning to my Tracerout, however
|
||||
according to the GitHub repo Matt Kimball still involved with the development.
|
||||
Instead of just being another Tracerout program, MTR combines the functionality of Tracerout
|
||||
in ping with a real time display to create something new.
|
||||
By using the EndCurse's library to draw on your terminal, MTR takes over your terminal
|
||||
and instead of just a static printout it shows each leg of the journey and updates the
|
||||
statistics to that leg and the host in real time.
|
||||
This allows you to monitor over time and better pinpoint where the problem might be.
|
||||
To start the program simply type MTR followed by the destination host name or IP address.
|
||||
We can use Yahoo.com as our target.
|
||||
If you're using Linux as your desktop and want to force MTR to run inside the terminal,
|
||||
then use the dash T option for terminal or text, however you want to remember it.
|
||||
So use the command MTR Space-T Space Yahoo.com.
|
||||
It should open a Curse's Base 2E Interface or TUI Interface and start tracing through
|
||||
the host to Yahoo.com.
|
||||
One advantage you might notice depending on the path is that while Tracerout would stall
|
||||
at any host that doesn't reply to an ICMP request, MTR will skip that host and come back
|
||||
to it each cycle so you can see the complete path right away even if you don't get all
|
||||
the routers to respond to you.
|
||||
At each hop it will give you statistics to the router such as packet lost and round trip
|
||||
ping time.
|
||||
This can help you narrow down where a problem might be.
|
||||
One thing to keep in mind through those that a lot of routers are set up to either ignore
|
||||
ICMP requests like this or deprioratize them.
|
||||
So packet loss at a router might not truly indicate the source of the problem.
|
||||
It's more art than science, but it's definitely interesting and great for showing off.
|
||||
Across the top you'll see a list of options.
|
||||
One of which is display mode which you can cycle through the display modes by pressing
|
||||
the letter D. This will give you a few different types of histograms which can show you
|
||||
your connectivity metrics over time.
|
||||
You can press the R key to reset the statistics and to quit MTR you can just press Q or Control
|
||||
C.
|
||||
The next command I'd like to talk about is Scroat or Scrot or however you want to pronounce it.
|
||||
It's a screen capture utility for the command line.
|
||||
It's spelled SCROT to use it from X Windows you simply run Scrot.
|
||||
By default with no arguments it creates a screenshot of the whole screen and saves it to
|
||||
a file according to the current date and time including seconds and the resolution of the
|
||||
image captured.
|
||||
It also saves as a PNG image type file by default for lossless capture of data.
|
||||
But why take screenshots?
|
||||
Well they are often useful for capturing a program you're having trouble with on your
|
||||
system so that you can share it with tech support or some tech forum where you're trying to
|
||||
show what you're seeing.
|
||||
If you're helping a colleague friend or relative with their problem you might
|
||||
ask them to take a screenshot so that you can see what they are seeing.
|
||||
Or you might take a screenshot of your own to share it with them so you can show them what you're seeing.
|
||||
Given the dynamic nature of computing it can also be useful to preserve history by
|
||||
taking screenshots of web pages, applications, desktops and so on as they are prone to change
|
||||
over time and they might not be possible layer to see the previous functionality or recreate it.
|
||||
They also are more accepted as a form of proof although of course it's not that hard to
|
||||
fake screenshots so your mileage may vary on trying to convince somebody.
|
||||
It might also just be for nostalgic purposes so that you can go back later and remember
|
||||
what your computing experience used to be like.
|
||||
Scrot was originally written by Tom Gilbert and released on October 26th of the year 2000.
|
||||
I first discovered it in 2012 when somebody recommended it to me so it's been around for a long time.
|
||||
There are other screenshot programs out there as well but I find Scrot to be
|
||||
nice minimal and scriptable through shell scripts of your own.
|
||||
However, if you want more functionality you might look at a program called FlameShot,
|
||||
spelled FL-A-M-E-S-H-O-T which allows command line control as well and has a nice compact on-screen
|
||||
menu for quickly making changes and annotations that you're likely to make with a screenshot.
|
||||
The next command is Zless.
|
||||
Sooner or later you'll encounter a compressed file that you'd like to view or search in.
|
||||
For me it's usually a rotated log file from a previous month that has been compressed.
|
||||
But it's kind of a pain to have to decompress the file just to work with it and you might not even
|
||||
have enough space when your storage to decompress it. This is where the command Zless comes in.
|
||||
With a Zless you can view a file that has been compressed with GZIP.
|
||||
Zless works by decompressing part of the file in memory. This way you don't create a new file in the
|
||||
disk and don't modify the original file. You can do most of the things that less can do so it's very
|
||||
handy when working with GZIP compressed files. But that's not the only command in the set of
|
||||
commands. There's also Z-Grepp which allows you to prep transparently on GZi compressed files as well.
|
||||
And there's also Z-More and Z-Cat and Z-Diff and Z-CMP which are the GZi compression counterparts
|
||||
to the cat-diff and CMP programs respectively. These programs are part of the GNU version of the
|
||||
GZIP package and should be installed when you install GZIP. But wait there's more. There are also similar
|
||||
programs for other types of open source compression formats such as BZIP 2 format and the newer
|
||||
XZ format. Instead of pre-fixing each command with Z you would instead use BZ or XZ as pre-fixes
|
||||
to the same commands mentioned previously. So for example, BZ-Less and XZ-Less.
|
||||
According to an early change log from the GNU GZIP source, Z-Less and some of the other
|
||||
related scripts were first added to the GZIP source on October 14, 1998 by Paul Eger.
|
||||
They might have an earlier origin though. And finally, but not least, we have the last command. I
|
||||
literally mean a command that's called last LATST. This program has its origins from the early days
|
||||
of Unix when systems ran on big monolithic servers that many people logged into from teletype
|
||||
terminals and video terminals. It was very helpful to system administrators or curious users as to who
|
||||
recently had logged into a system. To use last, you simply can run it and it will print every entry
|
||||
in its log. But that can be somewhat overwhelming depending on your log rotation schedule or
|
||||
popularity of the machine. So you might want to at least supply it with a username to search for
|
||||
or an argument like the word reboot to see the previous reboot times in the log. You can also
|
||||
limit the number of entries shown by specifying an option of a dash followed by a number. So dash 10
|
||||
would show the last 10 log in. In the output of the command, you'll see multiple columns. First,
|
||||
the username followed by the terminal device they're attached to. If the connection was from
|
||||
a remote system, the next column will be an IP address. If it's local, you might see colon 0,
|
||||
if it's say a x-windows log in. The last column showed the initial log in date and log out
|
||||
time followed by an elapsed time. If the user was logged in over multiple days, you'll see something
|
||||
like the number of days plus the hours and minutes. In my research of the Unix Heritage website at
|
||||
TUHS.org, I found that the program last was originally written in February of 1979 by Howard Katseff
|
||||
and included in the second release of the Berkeley software distribution or BSD back in May of 1979.
|
||||
After some extensive digging and older versions of the Wikipedia article for UTIL dash Linux
|
||||
and using Archive.org, I found that the version of last used in Linux distributions was originally
|
||||
ported in late 1992 by Michael Hart with some changes by Peter Orbeck. Sorry if I don't get those names
|
||||
right. Both of these people seem to work on this at the start of their careers at the time.
|
||||
The package it was included in was originally called ADM UTIL, but later became part of UTIL Linux
|
||||
and then in the late 2000s, UTIL Linux dash NG after development of UTIL Linux Stoll.
|
||||
Thanks for listening today as we cover some uncommon commands. If you have a favorite use for
|
||||
one of these commands I mentioned, I'd love to hear about it in the comments on the HDR website.
|
||||
Take care and I'll talk to you again soon. Bye.
|
||||
You have been listening to Hacker Public Radio at Hacker Public Radio.org.
|
||||
Today's show was contributed by a HPR listener like yourself.
|
||||
If you ever thought of recording podcast, click on our upload link
|
||||
to find out how easy it is.
|
||||
Hosting for HPR has been kindly provided by an AnHonestHost.com, the Internet Archive,
|
||||
rsync.net, and our mirror network.
|
||||
Unless otherwise stated, today's show is released under a Creative Commons
|
||||
Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.
|
||||
Reference in New Issue
Block a user