El principio de eliminación de archivos en linux

  

Linux controla la eliminación de archivos por la cantidad de enlaces. Este archivo se eliminará solo cuando no haya un enlace en un archivo. En general, cada archivo tiene dos contadores de enlace: i_count y i_nlink. El significado de i_count es el número de consumidores de archivos actuales (o llamados), el significado de i_nlink es el número de conexiones de medios (el número de enlaces duros); se puede entender que i_count es el contador de referencia de memoria, y i_nlink es el contador de referencia del disco. Cuando se hace referencia a un archivo mediante un proceso, el número correspondiente de i_count aumentará, y cuando se cree un enlace fijo al archivo, aumentará el número correspondiente de i_nlink. Para el comando de eliminación rm, la reducción real del conteo de referencias del disco i_nlink. Habrá un problema aquí. Si un proceso es llamado por un proceso y el usuario realiza una operación rm para eliminar el archivo, ¿qué sucede? Después de que el usuario realice la operación rm para eliminar el archivo y luego ejecute ls u otros comandos de administración de archivos, no se puede encontrar el archivo nuevamente, pero el proceso de llamar al archivo eliminado continúa ejecutándose normalmente y aún puede leer y escribir correctamente desde el archivo. En el contenido. ¿Por qué es esto otra vez? Esto se debe a que la operación rm solo reduce el i_nlink del archivo. Si no hay otro enlace i_nlink, es 0, pero dado que el proceso aún hace referencia al archivo, el i_count correspondiente al archivo no es 0, por lo que incluso si se ejecuta rm Operación, pero el sistema no elimina realmente este archivo, cuando solo i_nlink y i_count son 0, el archivo se eliminará. En otras palabras, también debe deshacer la llamada del proceso al archivo. El i_nlink y i_count mencionados anteriormente son las condiciones reales para la eliminación del archivo, pero cuando no se llama al archivo, ¿puede la operación rm eliminar el archivo y eliminar el archivo eliminado? Como se mencionó anteriormente, la operación rm solo reduce el i_nlink del archivo, o lo establece en 0. El enlace real es eliminar el nombre del archivo al inodo. En este momento, la entidad que eliminó el archivo no está (bloque de datos de bloque). Si la máquina se detiene a tiempo, se pueden recuperar los datos. Si los datos se escriben continuamente en este momento, los nuevos datos pueden asignarse al bloque de datos de bloque de los datos eliminados. En este momento, el archivo será real. Reciclando, no hay camino para los dioses en ese momento

Copyright © Conocimiento de Windows All Rights Reserved