Commands by mhs (29)

  • This example uses xfreerdp, which builds upon the development of rdesktop. This example usage will also send you the remote machine's sound.

    xfreerdp --plugin rdpsnd -g 1280x720 -a 24 -z -x m -u $username -p $password
    mhs · 2010-12-29 11:21:18 0
  • The above one-liner could be run against all HTML files in a directory. It renames the HTML files based on the text contained in their title tag. This helped me in a situation where I had a directory containing thousands of HTML documents with meaningless filenames.

    perl -wlne'/title>([^<]+)/i&&rename$ARGV,"$1.html"' *.html
    mhs · 2010-12-29 05:39:41 1
  • I frequently use this trick to send my terminal settings to HPUX and older RHEL systems. This is due to the fact that terminfo support for rxvt-unicode (my preferred terminal app) does not exist on many older Linux and Unices.

    infocmp rxvt-unicode | ssh "mkdir -p .terminfo && cat >/tmp/ti && tic /tmp/ti"
    mhs · 2010-12-29 00:44:49 0
  • file(1) can print details about certain devices in the /dev/ directory (block devices in this example). This helped me to know at a glance the location and revision of my bootloader, UUIDs, filesystem status, which partitions were primaries / logicals, etc.. without running several commands. See also: file -s /dev/dm-* file -s /dev/cciss/* etc.. Show Sample Output

    file -s /dev/sd*
    mhs · 2010-12-28 09:56:03 0
  •  < 1 2

What's this? is the place to record those command-line gems that you return to again and again. That way others can gain from your CLI wisdom and you from theirs too. All commands can be commented on, discussed and voted up or down.

Share Your Commands

Check These Out

dd with progress bar and statistics to gzipped image

Add a function you've defined to .bashrc
Example: To store the function addfunction after you have defined it: $ addfunction addfunction

Get the Volume labels all bitlocker volumes had before being encrypted
Get information of volume labels of bitlocker volumes, even if they are encrypted and locked (no access to filesystem, no password provided). Note that the volume labels can have spaces, but only if you name then before encryption. Renaming a bitlocker partition after being encrypted does not have the same effect as doing it before.

Add line number count as C-style comments
I often find the need to number enumerations and other lists when programming. With this command, create a new file called 'inputfile' with the text you want to number. Paste the contents of 'outputfile' back into your source file and fix the tabbing if necessary. You can also change this to output hex numbering by changing the "%02d" to "%02x". If you need to start at 0 replace "NR" with "NR-1". I adapted this from

Install pip with Proxy
Installs pip packages defining a proxy

Which processes are listening on a specific port (e.g. port 80)
swap out "80" for your port of interest. Can use port number or named ports e.g. "http"

Unpack .tgz File On Linux
With -a you don't care about file type (bz2, gzip, etc.)

Convert a MOV captured from a digital camera to a smaller AVI
Convert those .mov files that your digital camera makes to .avi Adjust the bitrate (-b) to get the appropriate file size. A larger bitrate produces a larger (higher quality) .avi file and smaller bitrate produces a smaller (lower quality) .avi file. Requires ffmpeg (see man page for details) (tested with canon camera MOV files) Other examples: $ffmpeg -i -sameq -vcodec msmpeg4v2 -acodec pcm_u8 output.avi $ffmpeg -i -b 1024k -vcodec msmpeg4v2 -acodec pcm_u8 output.avi

Which processes are listening on a specific port (e.g. port 80)
swap out "80" for your port of interest. Can use port number or named ports e.g. "http"

Instant mirror from your laptop + webcam (fullscreen+grab)
This directly puts the "mirror" into fullscreen, and lets you take photos by pressing the 's' key. I bet appearance conscious people will have keyboard shortcut for this command by now.

Stay in the loop…

Follow the Tweets.

Every new command is wrapped in a tweet and posted to Twitter. Following the stream is a great way of staying abreast of the latest commands. For the more discerning, there are Twitter accounts for commands that get a minimum of 3 and 10 votes - that way only the great commands get tweeted.


Subscribe to the feeds.

Use your favourite RSS aggregator to stay in touch with the latest commands. There are feeds mirroring the 3 Twitter streams as well as for virtually every other subset (users, tags, functions,…):

Subscribe to the feed for: