Hide

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.

World cup college
Hide

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:

Hide

News

2010-03-18 - Top 10 commands explained
There's a great article by Peteris Krumins explaining the current top 10 commands: http://www.catonmat.net/blog/top-ten-one-liners-from-commandlinefu-explained/
2010-03-03 - Commandlinefu @ SXSW 2010
Am going to be at SXSW this year, in case you want to submit any CLI nuggets or suggestions to me in person. Ping me on the @codeinthehole Twitter account.
2009-09-12 - Email updates now available
You can now enable email updates to let you know each time you're command is commented on.
2009-07-11 - API and javascript blog widget now available
A simple API has been released, allowing commands to be retrieved in various formats. This also allows commands to be embedded on blogs/homepages.
Hide

Tags

Hide

Functions

List the size (in human readable form) of all sub folders from the current location

Terminal - List the size (in human readable form) of all sub folders from the current location
du -h --max-depth=1
2009-02-05 14:37:24
User: PeekNPoke
Functions: du
73
List the size (in human readable form) of all sub folders from the current location

Alternatives

There are 5 alternatives - vote for the best!

Terminal - Alternatives
sudo du -ks $(ls -d */) | sort -nr | cut -f2 | xargs -d '\n' du -sh 2> /dev/null
2009-08-17 22:21:09
User: Code_Bleu
Functions: cut du ls sort sudo xargs
Tags: disk usage
6

This allows the output to be sorted from largest to smallest in human readable format.

du -sch ./*
du -sh */
ls | xargs du -sh
find . -maxdepth 1 -type d -not -name . -exec du -sh {} +
2009-12-11 14:37:26
User: sorpigal
Functions: du find
-5

Parsing the output of ls is never a good idea for any reason. Using find this way:

- works with files that have spaces in their names.

- actually lists "sub folders" and not of all files and folders.

- does not break if there are a huge number of files in the current directory.

Know a better way?

If you can do better, submit your command here.

What others think

See also dutop:

http://www.pixelbeat.org/scripts/dutop

Comment by pixelbeat 82 weeks and 5 days ago

I actually use this command as an alias to simply "d" all the time. So helpful!

Comment by volve 82 weeks and 5 days ago

slightly different version: sizes of subfolders and files in the current folder

du -sh *
Comment by chickenkiller 82 weeks and 4 days ago

i was just about to post chickenkiller's method too

Comment by jlin64 80 weeks and 5 days ago

The difference between chicknkiller's method and PeekNPoke's method, is PeekNPoke's recurses hidden files and directories, while chickenkiller's does not.

Comment by atoponce 79 weeks and 1 day ago

I use this a lot when I'm tracing down to free up space

du -sh */

same as chickenkiller but only show directories

Comment by asmoore82 78 weeks and 2 days ago

On BSD you'd use

du -hd1
Comment by lme 76 weeks and 4 days ago

curses based: http://dev.yorhel.nl/ncdu/

Comment by Hollow 74 weeks ago

Yes, this is very good one. I was always using

du -s *

but that, apparently is missing .* files

And I'm usually adding sort to du, to get better picture:

du -h --max-depth=1 | sort -n

Comment by vleolml 69 weeks and 1 day ago

You can't sort numbers followed by M K B try

du --max-depth=1 | sort -nr

n : sort by numbers

r : show big ones on the top :P

Comment by funyotros 44 weeks ago

My du doesn't have a --maxdepth option.

Comment by putnamhill 38 weeks and 4 days ago

Your point of view

You must be signed in to comment.

Related sites and podcasts