¿Cómo podría obtener la lista de todos los archivos vinculados en mi sistema o desde un directorio determinado? Solía crear enlaces, pero se volvieron inmanejables con el tiempo. Quiero la lista de todos esos enlaces desde un directorio. ¿Alguien puede ayudar?¿Cómo encontrar todos los archivos que son básicamente enlaces blandos o duros de otros directorios o archivos en Linux?
Respuesta
Encontrar enlaces simbólicos es fácil:
% find . -type l
Encontrar enlaces duros es difícil, porque si un subdirectorio del directorio en cuestión también tiene subdirectorios entonces aquellos aumento del número de enlaces duro. Así es como los subdirectorios están vinculados a sus padres en UNIX (es la entrada ..
en cada subdirectorio).
Si sólo desea encontrar ligado archivos (y no directorios), esto va a funcionar:
% find . -type f \! -links 1
Esto funciona porque un archivo que hace tener enlaces duros tendrán un enlace de recuento> 1 , y el archivo no enlazado tiene un número de enlaces == 1, por lo tanto, este comando busca todos los archivos cuyo número de enlaces <> 1
por otra parte, en las versiones más recientes de find
que puede usar:
% find . -type f -links +1
Esto funciona por la misma razón que la anterior; sin embargo, las versiones más nuevas de find pueden tomar + n o -n en lugar de solo un número. Esto es equivalente a probar para mayor que n o menor que n, respectivamente.
Wao, este fue un comando tan pequeño. Gracias Alnitak – DKSRathore
Er ... ¿puede un archivo tener <1 enlace? Quiero decir, ¿eso no lo convertiría en un inodo sin archivos? – naught101
@ naught101 bien, el suministro -1 de hecho no podría encontrar ningún archivo. – Alnitak
@OP, si tiene GNU find, puede encontrar enlaces duros usando -printf "%n"
, p.
find /path -type f -printf "%f/%n/%i\n" | while IFS="/" read filename num_hlinks inum
do
echo "Filename: $filename. Number of hard links: $num_hlinks, inode: $inum"
# if 2 or more files have the same inode number, then they are hard links.
# you can therefore count how many $inum that are the same and determine those hard links, which
# you have to try doing yourself.
done
find/-xdev -samefile filename
Véase, por ejemplo aquí https://www.gnu.org/software/findutils/manual/html_node/find_html/Hard-Links.html o combine Alnitak y amber_linux responda en find -L /where/to/search -samefile /some/link/to/file
para encontrar todos los enlaces duros y blandos a un archivo dado.
¡Muchas gracias! Esto era exactamente lo que estaba buscando: cómo encontrar qué otros archivos son, de hecho, el mismo archivo que el que estoy viendo. – cb2
- 1. ¿Por qué los enlaces duros no están permitidos en los directorios de UNIX/Linux
- 2. lista LINUX recursivamente todos los archivos en un directorio incluyendo los archivos en directorios de enlaces simbólicos
- 3. Creación recíproca de enlaces duros con python
- 4. Seguimiento de enlaces duros o simbólicos con mercurial en Windows
- 5. ¿Cómo encontrar todos los archivos que terminan en .rb con Linux?
- 6. Extracción Svn archivos de todos los directorios
- 7. Copiar archivos o directorios recursivamente en Python
- 8. fichero Make: compilar todos los archivos .cpp a .o archivos
- 9. cmake incluyendo h archivos de otros directorios
- 10. ¿Cómo puedo verificar si todos los archivos dentro de los directorios son jpegs válidos (Linux, se necesita script sh)?
- 11. En Linux, ¿cómo encuentro el directorio con la mayoría de los subdirectorios o archivos?
- 12. Listar todos los discos duros en un sistema Linux
- 13. JavaFX FileChooser selecciona archivos y/o directorios?
- 14. Buscar todos los archivos en un directorio que no son directorios en sí
- 15. .o archivos vs .a archivos
- 16. ¿Cómo puedo encontrar todos los archivos en Xcode que NO son un miembro de un objetivo?
- 17. ¿cómo identifico los archivos/directorios que fueron agregados o eliminados en una confirmación de git?
- 18. ¿Los archivos binarios compilados ghc requieren GHC o son autocontenidos?
- 19. CVS: enumera todos los archivos modificados entre etiquetas (o fechas)
- 20. Cómo recursivamente enumerar todos los archivos y directorios
- 21. ¿Cómo debo protegerme contra los ataques de enlaces duros?
- 22. ¿Qué son los archivos .S?
- 23. enlace simbólico: encontrar todos los archivos que enlazan con este archivo
- 24. ¿Todos los archivos JPEG son JFIF?
- 25. dado dos árboles de directorios ¿cómo encontrar qué archivos son los mismos?
- 26. Por qué los archivos ePub son mucho más pequeños que los archivos mobi o PDF para el mismo libro
- 27. Perl: cambiar el nombre de todos los archivos y directorios
- 28. Listar todos los archivos y directorios en un directorio + subdirectorios
- 29. Git y enlaces duros
- 30. Código de Python para encontrar todos los archivos recién creados, modificados y eliminados en todos los directorios/subdirectorios desde/directory
Creo que esto pertenece a serverfault –
¿Qué es serverfault? – DKSRathore
try here: serverfault.com –