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





Commands using sudo from sorted by
Terminal - Commands using sudo - 426 results
find /path/to/folder/ -mindepth 1 -maxdepth 2 -name "*,v" -exec sudo rlog -L -R {} \;
sudo lsof -p1234 | grep -E "(3r|4w).*REG"
2011-01-11 19:45:24
User: zlemini
Functions: grep sudo

If you spot a dubious looking cp command running you can use this command to view what is being copied and to where.

1234 is the PID of the cp command being passed to the lsof utility.

3r.*REG will display the file/directory that is being read/copied.

4w.*REG will display the destination it is being written to.

echo <percentage> | sudo dd of=/proc/acpi/video/VGA/LCD/brightness
2011-01-05 03:57:58
User: alperyilmaz
Functions: dd echo sudo
Tags: dd echo

An alternative which does not require to be root

echo wikileaks.com | sudo tee -a /etc/hosts
2010-12-13 03:31:07
User: matthewbauer
Functions: echo sudo tee

This one is a little bit easier for those of us that aren't always root.

sudo mount -t vfat -o umask=000,uid=YOUR_UID,gid=users /dev/sdb1 /media/usb
2010-12-08 17:39:35
User: Zt3
Functions: mount sudo

after that, you can launch bash script in your usb drive in FAT32.

apt-cache search perl | grep module | awk '{print $1;}' | xargs sudo apt-get install -y

I used this to mass install a lot of perl stuff. Threw it together because I was feeling *especially* lazy. The 'perl' and the 'module' can be replaced with whatever you like.

sudo dhcdrop -i eth1 -y -l 00:11:22:33:44:55
2010-11-26 06:20:56
User: cas_alexi
Functions: sudo

kill all the (-y) from the interface eth1, not touching the legitimate server with 00:11:22:33:44:55

homepage: http://www.netpatch.ru/dhcdrop.html

download: http://www.netpatch.ru/projects/dhcdrop/dhcdrop-0.5.tar.bz2

sudo apt-add-repository 'deb http://archive.offensive-security.com pwnsauce main microverse macroverse restricted universe multiverse' && wget -q http://archive.offensive-security.com/backtrack.gpg -O- | sudo apt-key add -
2010-11-16 18:23:48
User: kzh
Functions: sudo wget
Tags: Debian

Add the BackTrack repositories to your Debian based GNU/Linux distribution. Thanks to http://it-john.com/home/technology/linux-technology/add-back-track-4-repo-to-ubuntu/

sudo cpulimit -e Grooveshark -l 20
2010-11-15 16:58:50
User: poulter7
Functions: sudo

Will limit the amount of CPU time Grooveshark the greedy yet useful Adobe Air app will have.

Leaves the UI lagging a little, but crucially does not ruin the audio.

sudo sh /usr/share/doc/libdvdread4/install-css.sh
sudo service vpnclient_init start
2010-11-10 20:18:08
User: mariusbutuc
Functions: sudo


[1] download the CISCO VPN client for linux: http://tuxx-home.at/archives/2007/09/24/T15_26_49/

[2] apply this ciscpo VPN patch: http://bit.ly/linux_vpn_patch

[*] use command to start client

[*+1] After copying your profile file to /etc/opt/cisco-vpnclient/Profiles, connect using

vpnclient connect TORVPN-TCP
sudo chmod -x /usr/lib/notify-osd/notify-osd
2010-11-10 11:35:43
User: lokutus25
Functions: chmod sudo

Quick and dirty way to disable the Ubuntu notifications that can be quite annoying. It prevent the notify-osd to start so you need to logout Gnome or kill it by hand to take effect.

sudo find /usr/share/hunspell/ -lname '*' -delete
2010-11-07 15:11:02
User: atti
Functions: find sudo

When you right click a text box in Firefox and you have installed a few dictionaries you'll see a loooong list of spellcheckers. Most of them are duplicated (symlinks). This command deletes de duplicates and reduces the list.

set $(ps -e o command= | grep "^/usr/bin/X "); while [ x"$1" != x"-auth" ]; do shift; done; sudo x11vnc -display :0 -auth "$2"
sudo dpkg -P $(dpkg -l | grep -i adobeair)
sudo -b xterm
2010-10-05 23:03:01
Functions: sudo

"The -b (background) option tells sudo to run the given command in the background." -- after it asks you for the password in the foreground.

sudo ls ; sudo gedit /etc/passwd &
2010-10-05 21:01:34
User: aporter
Functions: ls sudo

Take advantage of sudo keeping you authenticated for ~15 minutes.

The command is a little longer, but it does not require X (it can run on a headless server).

sudo -K
2010-10-05 12:44:26
User: b_t
Functions: sudo

By default sudo 'remembers' password for a few minutes, so that you do not need to re-enter password for a series of sudo commands that might follow within a short time duration.

However, sometime you might want sudo to instantly 'forget' the password.

(Next sudo command will need you to reenter the password)

Credit: I first learned this while listening to one of the 'tuxradar' podcast.

sudo hwinfo --framebuffer
2010-10-03 14:45:02
User: hute37
Functions: sudo

look at /boot/grub/menu.lst for somethig like:

## additional options to use with the default boot option, but not with the

## alternatives

## e.g. defoptions=vga=791 resume=/dev/hda5

## defoptions=vga=795

# defoptions=vga=873

## altoption boot targets option

## multiple altoptions lines are allowed

## e.g. altoptions=(extra menu suffix) extra boot options

## altoptions=(recovery) single

# altoptions=(verbose mode) vga=775 debug

# altoptions=(console mode) vga=ask

# altoptions=(graphic mode) quiet splash

# altoptions=(recovery mode) single

vga=(decimal value) is framebuffer mode

sudo youtube-dl -U
2010-10-02 12:51:46
Functions: sudo

If you update youtube-dl from the repos, it becomes out-of-date quickly. Luckily, it can auto-update.

sudo du -sm * | sort -n
2010-09-24 17:56:41
User: wabi
Functions: du sort sudo

sudo is optional, but to find out about all files, it is nice, or else run as superuser, ie: su -c 'du -sm * | sort -n'

echo ondemand | sudo tee /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
2010-09-21 10:24:42
User: bzaman
Functions: echo sudo tee

We sometimes need to change kernel parameters by echoing the file . This needs root privilege and if we do it using sudo like this , it fails

sudo echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

-bash: /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor: Permission denied

We can achieve this with the tee command by just doing sudo without logging as root user


sudo nvram boot-args="-v"
echo "savedefault --default=2 --once" | grub --batch; sudo reboot