De nombreux utilitaires Unix traitent les liens symboliques différemment selon qu'il existe une barre oblique de fin.
Ce comportement est décrit dans la documentation POSIX Symbolic Link et est également mentionné dans la documentation GNU coreutils .
Fondamentalement, la barre oblique de fin signifie suivre (ou "déréférencer") le lien symbolique.
Par exemple, dans le code ci-dessous, dirlinksignifie le lien symbolique, mais dirlink/signifie le répertoire vers lequel le lien symbolique pointe. rmne supprimera pas un répertoire à moins que vous ne le disiez rm -r, mais rmsans options supprimera avec plaisir un lien symbolique.
$ mkdir dir
$ ln -s dir dirlink
$ ls -l
total 4
drwxr-xr-x 2 mikel mikel 4096 2011-02-02 22:26 dir
lrwxrwxrwx 1 mikel mikel 3 2011-02-02 22:26 dirlink -> dir
$ ls -l
total 4
drwxr-xr-x 2 mikel mikel 4096 2011-02-02 22:26 dir
lrwxrwxrwx 1 mikel mikel 3 2011-02-02 22:26 dirlink -> dir
$ rm dirlink/
rm: cannot remove `dirlink/': Is a directory
$ rm dirlink
$ ls -l
total 4
drwxr-xr-x 2 mikel mikel 4096 2011-02-02 22:26 dir
Il est également utile pour afficher les autorisations d'un répertoire, sans avoir à se soucier si le répertoire est un vrai répertoire ou simplement un lien symbolique vers un répertoire.
$ ls -ld dirlink
lrwxrwxrwx 1 mikel mikel 3 2011-02-02 22:46 dirlink -> dir
$ ls -ld dirlink/
drwxr-xr-x 2 mikel mikel 4096 2011-02-02 22:46 dirlink/
et cela fonctionne toujours pour les répertoires réguliers:
$ ls -ld dir
drwxr-xr-x 2 mikel mikel 4096 2011-02-02 22:46 dir
$ ls -ld dir/
drwxr-xr-x 2 mikel mikel 4096 2011-02-02 22:46 dir/
Un autre exemple est la findcommande. Si pathvous lui demandez de rechercher est un lien symbolique, il ne suivra pas le lien symbolique par défaut, ce qui signifie qu'il ne traite que le lien symbolique. L'ajout d'une barre oblique de fin fait qu'il traite le lien symbolique comme le répertoire vers lequel pointe le lien.
$ find dir
dir
dir/file
$ find dirlink
dirlink
$ find dirlink/
dirlink/
dirlink/file
(certaines versions de find ont une option -followou -L, mais cela le fait suivre tous les liens symboliques, pas seulement le premier)
Dans le cas de rsync, si vous devez ajouter une barre oblique dépend de si vous voulez que le répertoire que vous copiez soit un sous-répertoire ou non.
$ mkdir dir
$ touch dir/file
$ rsync -r dir dir.bak
$ find .
.
./dir
./dir/file
./dir.bak
./dir.bak/dir
./dir.bak/dir/file
$ rm -r dir.bak
$ rsync -r dir/ dir.bak
$ find .
.
./dir
./dir/file
./dir.bak
./dir.bak/file
En d'autres termes:
rsync dir dir.bakdes copies dirdans dir.bak, faire à l' dirintérieurdir.bak
rsync dir/ dir.bakcopie tout le contenu de dir, sans faire dirdedansdir.bak