Make the "tree" command pretty and useful by default

alias tree="tree -CAFa -I 'CVS|*.*.package|.svn|.git' --dirsfirst"
I got really tired of having tree always show me tons of .svn and .git stuff that I don't care about. With this alias, "tree" uses pretty colors, snazzy line graphics, and ignores any source control and package mumbojumbo. (Customize the *.*.package glob, of course.)
Sample Output
.
├── bar/
│   ├── one/
│   ├── three/
│   └── two/
├── baz/
│   ├── one/
│   ├── three/
│   └── two/
├── foo/
│   ├── one/
│   ├── three/
│   └── two/
└── file

7
By: isaacs
2009-03-27 05:13:39

These Might Interest You

  • 'no untag' is applied to _all_ ports under the default VLAN. Otherwise the default VLAN runs untagged over all physical ports. Pretty good idea to 'prune' your VLANs and define which ones pass over and across trunks that carry the default VLAN traffic. Show Sample Output


    -3
    no untag
    rootgeek · 2010-03-26 02:45:32 0
  • Display condensed log in a tree-like format.


    2
    git log --graph --pretty=oneline --decorate
    vinodvm · 2010-03-18 14:34:46 0
  • 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. Show Sample Output


    1
    scanelf --nobanner --recursive --quiet --soname --format "+S#f"
    Flameeyes · 2012-03-29 18:26:25 0
  • After typing cd directory [enter] ls [enter] so many times, I figured I'd try to make it into a function. I was surprised how smoothly I was able to integrate it into my work on the command line. Just use cdls as you would cd. It will automatically list the directory contents after you cd into the directory. To make the command always available, add it to your .bashrc file. Not quite monumental, but still pretty convenient. Show Sample Output


    7
    function cdls { cd $1; ls; }
    joem86 · 2009-03-10 19:13:47 6

What do you think?

Any thoughts on this command? Does it work on your machine? Can you do the same thing with only 14 characters?

You must be signed in to comment.

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



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: