Tengo un enlace simbólico en mi /var/www/
directorio que enlaza con WordPress. Cuando ejecuto el comando ls -la
desde el /var/www/
directorio, el enlace a WordPress no aparece. ¿Hay alguna manera de enumerar todos los enlaces simbólicos que están en un directorio?
command-line
symbolic-link
find
ls
Isaac
fuente
fuente
Respuestas:
Puede usar
grep
con ells
comando para enumerar todos los enlaces simbólicos presentes en el directorio actual.Esto enumerará todos los enlaces presentes en el directorio actual.
fuente
->
". Pruebe un simpletouch "foo->"
grep
ing con^l
?alias listlinks='ls -l --color | grep "\->"'
8-)El análisis
ls
es una mala idea ® , prefiera una simplefind
en ese caso:Para procesar solo el directorio actual:
Créditos: ¿Cómo hago que el shell reconozca los nombres de archivo devueltos por un comando `ls -A`, y estos nombres contienen espacios?
fuente
find: Unknown argument to -type: 1
1
(uno) sinol
(enlace)find /<your_directory> -maxdepth 1 -type l -ls 2>/dev/null
Gracias!-maxdepth 1
.awk
, probablemente solo quieres esto:find . -maxdepth 1 -type l | sort -n
el
ls -la
comando muestra todos los archivos y carpetas y también el directorio simbólico vinculado, si este comando no muestra ningún directorio simbólico, significa que no tiene un enlace simbólico a WordPress .ver el resultado de la ejecución
ls -la
:Verá que todo el directorio simbólico tiene
l
permiso al inicio de las banderas de permisos. y si toma un grep^l
puede enumerar solo archivos simbólicos o directorios:El controlador y el directorio del subsistema son un enlace simbólico a otro directorio aquí.
fuente
l
significa que es un enlace simbólico.grep
es tu amigo:Esto mostrará una lista de líneas que comienzan con "l" que representan enlaces en la columna de permisos en lugar de
l
usod
para directorios y-
archivosfuente
POSIXY:
fuente
Para ver los enlaces simbólicos en un directorio:
Abra una terminal y muévase a ese directorio.
Escribe el comando:
Esto mostrará una lista larga de todos los archivos en el directorio incluso si están ocultos.
Los archivos que comienzan
l
son sus archivos de enlace simbólico.fuente
Esto devuelve todos los elementos vinculados simbólicamente (tanto dirs como fns) en un directorio:
Sin embargo, para distinguir entre los tipos de elementos vinculados simbólicamente:
Solo devuelve elementos de nombre de archivo vinculados simbólicamente. Y,
Devuelve solo elementos de nombre de directorio vinculados simbólicamente.
fuente
Escriba
ls -lai
, enumerará todos los archivos y subdirectorios con los números de inodo correspondientes. Usted sabe que los archivos con el mismo número de inodo son los enlaces (hard o soft) y esta solución también funciona para los enlaces simbólicos.fuente
ls -lai
no no mostrar el mismo número de inodo de un archivo y sus enlaces simbólicos. A diferencia de los enlaces duros, los enlaces simbólicos tienen sus propias entradas de inodo separadas. Esto es lo que parece.También se puede hacer con python:
Ejecución de muestra:
Esto se puede extender para que sea recursivo a través de la
os.walk
función, pero es suficiente usar una generación de lista simple para enumerar enlaces en un solo directorio como lo mostré anteriormente.fuente