2012-07-20 25 views

Respuesta

4

Wi º find(1) uso

$ find . -type l -not -xtype l 

Este comando encuentra enlaces que dejar de ser enlaces después de seguir - es decir, enlaces intactos. (Tenga en cuenta que pueden apuntar a archivos ordinarios o especiales, directorios u otros. Utilice -xtype f en lugar de -not -xtype l para encontrar solamente enlaces que apuntan a archivos ordinarios.)

$ find . -type l -not -xtype l -ls 

informes en los que apuntan.

Si frecuentemente se encuentra con preguntas similares en el uso de su consola interactiva, zsh es su amigo:

% echo **/*(@^[email protected]) 

que sigue la misma idea: Glob qualifier@ restringe a los enlaces, y ^[email protected] significa "no (^) un enlace (@) cuando se habilita siguiente (-).

(Ver también this post about finding broken links in python, en realidad esto demuestra lo que puede hacer en todos los idiomas bajo Linux. Ver this blog post para una respuesta completa a la pregunta relacionada de "cómo encontrar roto enlaces".)

2

Este mostrará (LINUX) solo enlaces simbólicos que son enlaces a archivos regulares que realmente existen:

find DIR1 -type l -xtype f -ls 

De la documentación "find" (LINUX) en la opción xtype: "para enlaces simbólicos, -xtype comprueba el tipo del archivo que -type no marca"

Esta opción mostrará enlaces simbólicos a directorios que en realidad existiendo: solución

find DIR1 -type l -xtype d -ls 
1

una fiesta:

find . -type l -print | while read src 
do 
    [[ -e "$src" ]] && echo $src 
done 

lo tanto, encontrar todos los enlaces simbólicos y comprueba la existencia, si existe -> eco que

Cuestiones relacionadas