Commands by sputnick (42)

What's this?

commandlinefu.com 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

Print permanent subtitles on a video (international edition :) )
If it's Hebrew [most probably all RTL languages. Comments?], add -flip-hebrew and -noflip-hebrew-commas to the mplayer switches: $ transcode -i myvideo.avi -x mplayer="-utf8 -flip-hebrew -noflip-hebrew-commas -sub myvideo.srt" -o myvideo_subtitled.avi -y xvid

Convert decimal numbers to binary
Convert some decimal numbers to binary numbers. You could also build a general base-converter: $ function convBase { echo "ibase=$1; obase=$2; $3" | bc; } then you could write $ function decToBun { convBase 10 2 $1; }

Recursively chmod all dirs to 755 and all files to 644

google chart api
http://chart.apis.google.com/chart?chs=450x200&cht=p3&chtt=Browser+Usage+on+Wikimedia&chl=IE%2834.2%%29|Firefox%2823.6%%29|Chrome%2820.6%%29|Safari%2811.2%%29|Opera%285.0%%29|Android%281.9%%29|Other%283.5%%29&chd=t:34.2,23.6,20.6,11.2,5.0,1.9,3.5

print all except first collumn

Clone or rescue a block device
If you use the logfile feature of ddrescue, the data is rescued very efficiently (only the needed blocks are read). Also you can interrupt the rescue at any time and resume it later at the same point. http://www.gnu.org/software/ddrescue/ddrescue.html

Backup a file with a date-time stamp
Appends the input file with the date format YYYY-MM-DD.bak. Also runs silently if you remove the -v on the cp at the end of the function.

Consolle based network interface monitor
ethstatus part of ethstatus package, is a consolle based monitor for network interfaces. Nicely display on screen a real time summary about bandwidth, speed and packets.

identify exported sonames in a path
This provides a list of shared object names (sonames) that are exported by a given tree. This is usually useful to make sure that a given required dependency (NEEDED entry) is present in a firmware image tree. The shorter (usable) version for it would be $ scanelf -RBSq -F "+S#f" But I used the verbose parameters in the command above, for explanation.

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"


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.

» http://twitter.com/commandlinefu
» http://twitter.com/commandlinefu3
» http://twitter.com/commandlinefu10

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: