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?
Asked
Active
Viewed 9.9k times
2 Answers
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 whena
is a symlink. – Zero3 Jan 03 '16 at 19:52
tar -hcf file.tar /sym1 /sym2
will I get /backups twice? – Felipe Alvarez Jan 28 '15 at 23:55-L
counts files once,-l
multiple times. See here. – Suuuehgi Apr 11 '18 at 22:02tar -czfvh
will failtar -hczfv
will work – til Jan 26 '23 at 12:49