title: How does bash tab completion work?
body: <p>I have been spending a lot of time in the shell lately and I'm wondering how the tab autocomplete works.  What's the mechanism behind it?  How does the bash know the contents of every directory?</p>