Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

How to change attributes of all symlink targets inside a directory ?

/usr/bin/find /mydir -type l | xargs /bin/readlink | /usr/bin/chattr +s

piping three commands wont works.

Thanks.

share|improve this question
up vote 1 down vote accepted
/usr/bin/find /mydir -type l -exec /bin/readlink {} \; | xargs -d'\n' /usr/bin/chattr +s

This will

  1. find the links and return the targets, newline separated, through the readlink utility and
  2. split incoming arguments on newline and run chattr on all targets.

A problem could occur if you have newlines within file names, but that is usually just a hypothetical problem.

share|improve this answer
/usr/bin/find /mydir -type l -exec /usr/bin/chattr +s '{}' \;
share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .