82

I have a directory with symbolic links to other directories. I want to archive the symbolic links, not as links but as archives containing the files of directories they refer to, using tar command. How can I do this?

hknik
  • 2,334
  • 3
  • 25
  • 26

2 Answers2

125

Use the -h tar option. From the man page:

-h, --dereference
    don't archive symlinks; archive the files they point to
Mat
  • 52,586
3

If the links are all in the root directory you can have the shell dereference them and pass to tar as arguments. For example if you have /backup/source/a and /backup/source/b, both of which are symlinks pointing to the real directory, something like the following would work

tar -cf /path/to/backup.tar /backup/source/*/
phemmer
  • 71,831
  • Doesn't work here. Seems like tar -cf /path/to/backup.tar /backup/source/a/ alone doesn't even work when a is a symlink. – Zero3 Jan 03 '16 at 19:52