A regra geral é que, se um comando opera em links (ou seja, entradas de diretório, que são ponteiros para inodes), o comando trata os links simbólicos como eles mesmos e não como o objeto para o qual o link aponta. Caso contrário, o comando opera para o que o link simbólico aponta. Assim, cp
segue os links simbólicos por padrão e copia o conteúdo do arquivo apontado pelo link. Mas quando você pede cp
para lidar com as entradas do diretório especificando -R
, ele para de seguir os links simbólicos. mv
sempre funciona com entradas de diretório e, portanto, nunca segue links simbólicos.
A find
atividade normal do comando é operar nas entradas do diretório, para que os links simbólicos não sejam seguidos por padrão. Adicionar -L
causas find
para seguir links simbólicos para todas as propriedades, exceto aquela que não pode ser ignorada ao fazer a pesquisa de diretório, o nome. Um dos objetivos de find -name
é fornecer entrada para comandos como mv
e rm
, que operam nas entradas de diretório. Haveria resultados desagradáveis e surpreendentes se find -L dir -name
pudesse produzir nomes que apontassem para fora da árvore de diretórios enraizados em dir
.