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.

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.

UpGuard checks and validates configurations for every major OS, network device, and cloud provider.

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:



May 19, 2015 - A Look At The New Commandlinefu
I've put together a short writeup on what kind of newness you can expect from the next iteration of clfu. Check it out here.
March 2, 2015 - New Management
I'm Jon, I'll be maintaining and improving clfu. Thanks to David for building such a great resource!

Top Tags



Commands by anhpht from sorted by
Terminal - Commands by anhpht - 22 results
find / -xdev \( -perm -4000 \) -type f -print0 | xargs -0 ls -l
while true; do nc -l 7000 | tar -xvf -; done
2011-10-26 23:43:51
User: anhpht
Functions: tar

At client side:

tar c myfile | nc localhost 7000 ##Send file myfile to server

tar c mydir | nc localhost 7000 ## Send directory mydir to server

lsof -Pnl +M -i4
patch -p0 -i result.patch
diff -r -u originDir updateDir > result.patch
patch originalfile -i my.patch -o newfile; mv newfile originalfile
2011-10-23 08:51:36
User: anhpht
Functions: mv patch

diff originalfile updatedfile > my.patch

rsync -rv --include '*/' --include '*.txt' --exclude '*' srcDir/ desDir/
while inotifywait -e modify /tmp/myfile; do firefox; done
qemu -cdrom /dev/cdrom -hda ubuntu.qcow -boot d -net nic -net user -m 196 -localtime
2011-10-15 09:21:49
User: anhpht

Boot without CD-Rom:

qemu fedora.qcow -boot c -net nic -net user -m 196 -localtime

qemu-img create ubuntu.qcow 10G
perl -MAcme::POE::Tree -e 'Acme::POE::Tree->new()->run()'
sudo tcpdump -n -i eth0 -w data.pcap -v tcp or udp and 'not host'
tshark -r data.pcap -R "ip.addr== && ip.addr== && aim" -d tcp.port==443,aim -T fields -e "aim.buddyname" |sort |uniq -c
tshark -r data.pcap -R "ip.src==" -T fields -e "ip.dst" |sort |uniq -c
tshark -r data.pcap -zio,phs
wvPDF test.doc test.pdf
2011-10-07 08:04:48
User: anhpht

sudo apt-get install wv tetex-extra ghostscript

oowriter -pt pdf your_word_file.doc
flvtool2 -C -i 1140000 -o 1200000 input output
2011-03-10 04:31:38
User: anhpht

We should calculate the video duration to milliseconds, 1 minute = 60000 milliseconds

grep -i -f password_tokens sslstrip.log | awk ' BEGIN { RS="&" } { print $1 }' | grep -i -f tokens_file
Server side: while true; do tar cvzf - ./* | nc -l 2000; done, client side: nc localhost 2000 | tar xvzf -
cat b1.avi b2.avi b3.avi b4.avi b5.avi b6.avi b7.avi > output.avi; mencoder -forceidx -oac copy -ovc copy output.avi -o output_final.avi; rm output.avi
mencoder -forceidx -of lavf -oac copy -ovc copy -o output.flv clip1.flv clip2.flv clip3.flv