1

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.

2 Answers 2

1
/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.

0
/usr/bin/find /mydir -type l -exec /usr/bin/chattr +s '{}' \;

You must log in to answer this question.

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