What's this?

commandlinefu.com is the place to record those command-line gems that you return to again and again.

Delete that bloated snippets file you've been using and share your personal repository with the world. 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.

If you have a new feature suggestion or find a bug, please get in touch via http://commandlinefu.uservoice.com/

Get involved!

You can sign-in using OpenID credentials, or register a traditional username and password.

First-time OpenID users will be automatically assigned a username which can be changed after signing in.

Universal configuration monitoring and system of record for IT.

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:



2011-03-12 - Confoo 2011 presentation
Slides are available from the commandlinefu presentation at Confoo 2011: http://presentations.codeinthehole.com/confoo2011/
2011-01-04 - Moderation now required for new commands
To try and put and end to the spamming, new commands require moderation before they will appear on the site.
2010-12-27 - Apologies for not banning the trolls sooner
Have been away from the interwebs over Christmas. Will be more vigilant henceforth.
2010-09-24 - OAuth and pagination problems fixed
Apologies for the delay in getting Twitter's OAuth supported. Annoying pagination gremlin also fixed.

Top Tags



output your microphone to a remote computer's speaker

Terminal - output your microphone to a remote computer's speaker
dd if=/dev/dsp | ssh -c arcfour -C username@host dd of=/dev/dsp
2009-02-08 10:10:00
User: morpheus
Functions: dd ssh
output your microphone to a remote computer's speaker

This will output the sound from your microphone port to the ssh target computer's speaker port. The sound quality is very bad, so you will hear a lot of hissing.


There is 1 alternative - vote for the best!

Terminal - Alternatives
arecord -f dat | ssh -C user@host aplay -f dat

Know a better way?

If you can do better, submit your command here.

What others think

how do you... un-output it?

Comment by Svish 318 weeks and 5 days ago

Control-c ?

Comment by DavieBaby 316 weeks and 2 days ago


cat /bin/bash > /dev/dsp

which takes each byte and interprets it as a frequency (number of waves per second, HZ) and the sound driver plays it.

Comment by anzan 309 weeks and 5 days ago

wow, that looks really scary.

Comment by unixmonkey3883 308 weeks ago

That is freaking awesome.

Comment by brephophagist 307 weeks ago

Any hint to make this work on Leopard ?

Comment by sitaktif 302 weeks and 3 days ago

Would be sweet if i knew how to make this work for Leopard. Any thoughts?

Comment by fastrack20 302 weeks and 1 day ago

Leopard does not use /dev/dsp, so there should be some alternatives to it

Comment by foremire 290 weeks ago

Has anyone found a solution in 10.5/6?

Comment by megrimm 270 weeks and 1 day ago

Do it trough SSH and output to your own machine and your a spy :P

Comment by Meeko 269 weeks and 3 days ago

Mac OS X uses coreaudio to input and output sound. No UNIX sound device drivers are present, and, in fact, they are frowned upon by Apple as primitive and ugly. Thus, they will probably never be added to Mac OS X :-/.

Comment by morpheus 268 weeks and 3 days ago

Very Good!!!

Comment by alwaro78 243 weeks and 1 day ago

how did u find it?

Comment by deargodzw 203 weeks and 5 days ago

That's cool!

Comment by regding 176 weeks and 3 days ago

Since /dev/dsp is obsolete & missing from Ubuntu, what was that command to wrap those old programs to use PulseAudio instead?

Comment by klepsydra 154 weeks and 1 day ago

That is awesome. Pure CommandLineFu!

Comment by thecamelcoder 148 weeks and 5 days ago

for ubuntu i use this one "arecord -f dat | ssh -C user@host aplay -f dat" (replace the 'dat' with 'cd' to get 44100hz instead of 48000 quality is very good but not so heavy on the bandwidth)

Comment by srulikuk 95 weeks and 3 days ago

@srulikuk: I like yours better :-)

Comment by morpheus 95 weeks and 3 days ago

I've successfully tested these between two Macs that have the sox binary:

Send microphone input from local machine to remote machine's speakers:

path/to/sox -V0 -d -p | ssh user@host path/to/sox - -d

Send microphone input from remote machine to local machine's speakers:

ssh user@host path/to/sox -V0 -d -p | path/to/sox - -d

The '-V0' is optional?I just prefer not to see the warning messages.

Here's the link for the sox download for Mac OS X:


Use the binary (the UNIX executable file named 'sox') inside the download folder.

Comment by member1936 41 weeks ago

@member1936 : Hi, i tried but couldn't do the same between my two Macs with sox. I succeeded on playing a local wav file to distant speakers but when I try default input and output I have this : FAIL formats: can't determine type of `-'

Any advice, clue or idea ? Thanks a lot.

Comment by nitnok 35 weeks and 5 days ago

Your point of view

You must be signed in to comment.