Filename completion in Linux with mixed case and ignored case.

This is one of my favourites, alwahs keep it handy. Linux is case sensitive by nature but you will always find filenames jumbled up in the case. So what is the solution:

bind \”set completion-ignore-case on\”

Just execute the above in your bash command and file/dir name will behave like Windows. Remember that this is per session setting and thus the names do not get changed internally, it only changes the way to access it (specifically completion only). So if you want this behaviour in all your sessions put this in the appropriate profile file.

Another place where you can put this is \”.inputrc\”, where it will go like the below:

set completion-ignore-case on

If this one is not working then try putting the below in your profile and reinvoke your bash, it should work.

export INPUTRC=~/.inputrc

And if you have re-defined the HOME variable then you can give the complete path of the inputrc file.

This site uses Akismet to reduce spam. Learn how your comment data is processed.