A opção --preserve=links
não se refere a links simbólicos, mas a links físicos. Ele solicita que cp
preserve qualquer link físico existente entre dois ou mais arquivos que estão sendo copiados.
$ date > file1
$ ln file1 file2
$ ls -1i file1 file2
6034008 file1
6034008 file2
Você pode ver que os dois arquivos originais possuem link físico e seu número de inode é 6034008.
$ mkdir dir1
$ cp file1 file2 dir1
$ ls -1i dir1
total 8
6035093 file1
6038175 file2
Você pode ver agora que, sem --preserve=links
, suas cópias têm dois números de inode diferentes: não há mais um link físico entre os dois.
$ mkdir dir2
$ cp --preserve=links file1 file2 dir2
$ ls -1i dir2
total 8
6089617 file1
6089617 file2
Você pode ver agora que, com --preserve=links
, as duas cópias ainda têm hard-link, mas seu número inode é 6089617, que não é o mesmo que o número inode dos arquivos originais (ao contrário de cp --link
ter feito).