Possible Duplicate:
How to apply recursively chmod directories without affecting files?

What is the command to apply execute permission for directories (for traversal), but leave the execute bit off for files contained in the directory?

marked as duplicate by Mat, Gilles, Mikel, Michael Mrozek Jun 2 '12 at 6:05

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

up vote 30 down vote accepted

If you don't want to remove the executable bit from existing files you can use the X mode. To recursively set the executable bit on all directories use:

chmod -R a+X dir

From man chmod:

execute/search only if the file is a directory or already has execute permission for some user (X)

You want to test this first (as I didn't):

find . -type d -exec chmod u+x {} \;

Find all directories, then add x-bit for the owner/user.

  • 3
    If I understand the chmod man page correctly, Ulrich's answer is the better one. – jippie May 31 '12 at 20:09
  • The problem with Ulrich's solution is that to have to specify the directory. The solution by @jippie can be used as a wildcard change. – crafter Jun 1 '17 at 9:43
  • Thank you! It worked for me. I wanted to change only all directories (not files) – Ikrom Nov 27 at 12:48

Not the answer you're looking for? Browse other questions tagged or ask your own question.