Este é o propósito do ln's -fopção: ele remove arquivos de destino existentes, se houver, antes de criar o link.
ln -sf /path/to/data/folder/month/date/hour/minute/file /path/to/recent/file
criará o link simbólico /path/to/recent/fileapontando para /path/to/data/folder/month/date/hour/minute/file, substituindo qualquer arquivo existente ou link simbólico para um arquivo, se necessário (e funcionando bem, se já não existir nada).
Se um diretório ou link simbólico para um diretório já existir com o nome do destino, o link simbólico será criado dentro dele (para que você acabe /path/to/recent/file/fileno exemplo acima). A -nopção, disponível em algumas versões do ln, cuidará dos links simbólicos para os diretórios, substituindo-os conforme necessário:
ln -sfn /path/to/data/folder/month/date/hour/minute/file /path/to/recent/file
O POSIXln não especifica, -nportanto você não pode confiar nele em geral. Grande parte do lncomportamento é definido pela implementação, então você realmente precisa verificar as especificidades do sistema que está usando. Se você estiver usando o GNUln , também poderá usar as opções -te -T, para tornar seu comportamento totalmente previsível na presença de diretórios ( ou seja, falhar em vez de criar o link dentro do diretório existente com o mesmo nome).