¿Cómo puedo verificar que file2
se modificó por última vez después file1
?
En este ejemplo, perl
se modificó más recientemente que stack
. ¿Hay un comando bash o Linux que pueda comparar estos archivos en función del tiempo de modificación?
-rw-r--r-- 1 root root 1577 Sep 7 22:55 stack
-rwxr-xr-x 1 root root 626 Sep 7 23:10 perl
-ot
es "mayor que".Tomado de ' prueba de hombre '. Extracto:
fuente
Otra forma de hacer esto:
devolverá nulo si el archivo2 es anterior o tiene la misma edad que el archivo1. Devolverá el nombre (y el directorio) del archivo2 si es más nuevo.
Tenga en cuenta que Linux no realiza un seguimiento de cuándo se crearon los archivos. Estas pruebas serán para la fecha y hora de modificación más reciente.
fuente
ctime
no es tiempo de creación. Es el tiempo de cambio de inodo y se actualiza cuando los atributos del archivo, como el propietario o los permisos, cambian o cuando modifica el archivo. Algunos sistemas de archivos admiten la hora de nacimiento, pero el núcleo no. La estadística muestra un tiempo de nacimiento vacío. Ver unix.stackexchange.com/a/91200 Tenga en cuenta que OS X admite la hora de nacimientostat -f %SB filename
debugfs
para ver el tiempo de creación (nacimiento) en Linux.Si desea información más detallada, puede usar el
stat
comandofuente
Si el resultado es> 0, el primer archivo es más nuevo. (Más reciente en términos de última modificación, no tiempo de creación, que se almacena en Linux).
fuente
Según este enlace, Unix no almacena la fecha de creación. http://www.issociate.de/board/post/302628/How_to_check_file_creation_date.html
Pero almacena el último acceso.
para el último acceso
ls muestra cada archivo en una nueva línea.
entonces ls -t muestra el último archivo en la primera línea, etc.
Puede usar sed para elegir la primera línea.
ls -t php.exe php.ini | sed -n '1p' php.ini
podría
-lt
ver que si no especifica ningún archivo ... y hace el directorio ... entonces da el total en la primera línea, por lo que elige la segunda línea como$ls -lt | sed -n '2p'
Una buena sería
o
muestra las primeras 10 líneas en orden, primero el primer archivo modificado y puede ver cuál es
fuente
-t
es el tiempo de modificación;-u
es hora de accesoAquí hay un pequeño guión que hice:
fuente