files – la última vez que se abrió el archivo

Pregunta:

¿Es posible obtener la hora en que se abrió el archivo la última vez y ordenar todos los archivos de un directorio por esas horas?

Respuesta:

Esto depende exactamente de lo que quieras decir con "abierto", pero en general, sí. Normalmente se registran tres marcas de tiempo:

  • mtime : actualizado cuando cambia el contenido del archivo. Este es el tiempo de archivo "predeterminado" en la mayoría de los casos.
  • ctime : actualizado cuando el archivo o sus metadatos (propietario, permisos) cambian
  • atime – actualizado cuando se lee el archivo

Entonces, generalmente, lo que desea ver es la atime de un archivo. Puedes conseguirlo con stat o con ls . Puede usar ls -lu para hacer esto, aunque prefiero usar ls -l --time=atime (que debería ser compatible con casi todas las distribuciones modernas de Linux) porque no lo uso a menudo, y cuando lo hago puedo recuérdalo mejor. Y para ordenar por tiempo, agregue el indicador -t a ls. Ahí vas.

Sin embargo, hay una gran advertencia. Actualizar el tiempo cada vez que se lee un archivo provoca una gran cantidad de E / S normalmente innecesarias, lo que ralentiza todo. Por lo tanto, la mayoría de las distribuciones de Linux ahora tienen por defecto la opción de montaje del sistema de archivos noatime , que básicamente mata a veces, o relatime , que solo se actualiza a veces una vez que ha pasado un límite (normalmente una vez al día) o si el archivo se modificó desde la lectura anterior. Puede averiguar si estas opciones están activas ejecutando el comando mount .

Además, tenga en cuenta que los tiempos de acceso son por inodo, no por nombre de archivo, por lo que si tiene enlaces duros, la lectura de uno actualizará todos los nombres que se refieren al mismo archivo.

Y tenga en cuenta que c no es "creación"; La creación no es rastreada por los sistemas de archivos Unix / Linux, lo que parece extraño pero en realidad tiene sentido porque el sistema de archivos no tiene forma de saber si es el original; tal vez el archivo se creó hace cuarenta años y se copió aquí. Y, de hecho, muchos editores de archivos funcionan haciendo copias sobre el original. Si necesita esa información, es mejor usar un sistema de control de versiones como git .

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım