GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo encontrar el archivo más antiguo en un árbol de directorios en Linux

El otro día, un usuario de Linux me preguntó cómo encontrar el archivo más antiguo en un directorio desde la línea de comandos en Linux. Podríamos saber cuál es el archivo más antiguo de un directorio usando las marcas de fecha y hora en modo GUI. Pero no sé cómo encontrarlo desde la línea de comandos. Afortunadamente, encontré esta solución después de un poco de excavación en Google. Si alguna vez se preguntó cómo encontrar el archivo más antiguo en un directorio o en todo el sistema de archivos, siga leyendo. No es tan difícil.

Encuentre el archivo más antiguo en un árbol de directorios en Linux

Para encontrar el archivo más antiguo en un directorio, por ejemplo /home/sk/ostechnix/ , ejecuta:

$ find /home/sk/ostechnix/ -type f -printf '%T+ %p\n' | sort | head -n 1

Analicemos este comando y veamos qué hace cada argumento de la línea de comando.

Aquí,

  • buscar - Buscar archivos en una jerarquía de directorios.
  • /home/es/ostechnix/ - Buscar ubicación.
  • escriba -f - Busca solo los archivos normales.
  • -printf '%T+ %p\n' - Imprime la fecha y la hora de la última modificación del archivo separadas por + símbolo. (Por ejemplo, 2015-07-22+13:42:40.0000000000). Aquí, %p indica el nombre del archivo. \n indica nueva línea.
  • ordenar | cabeza -n 1 - La clasificación ordena la salida y la envía a head Comando para mostrar el archivo más antiguo. Aquí, -n 1 indica solo un archivo, es decir, el archivo más antiguo.

Como ya sabrá, Explainshell le ayuda a encontrar lo que hace cada parte de un comando de Linux.

El comando anterior devolvió el siguiente resultado:

2015-07-22+13:42:40.0000000000 /home/sk/ostechnix/Absolute FreeBSD_ 2nd Edition.pdf

Como puede ver en el resultado anterior, Absolute FreeBSD_ 2nd Edition.pdf es el archivo más antiguo en /home/sk/ostechnix/ directorio.

Tenga en cuenta que Linux no encuentra el archivo más antiguo utilizando la fecha de creación del archivo. En su lugar, utiliza la fecha de modificación del archivo para encontrarlo.

Descargar - Hoja de referencia gratuita:"Hoja de referencia de la línea de comandos de Linux"

Del mismo modo, para encontrar los cinco archivos más antiguos en un directorio determinado, simplemente ejecute:

$ find /home/sk/ostechnix/ -type f -printf '%T+ %p\n' | sort | head -n 5

Salida de muestra:

2015-07-22+13:42:40.0000000000 /home/sk/ostechnix/Absolute FreeBSD_ 2nd Edition.pdf
2016-11-28+21:03:05.0000000000 /home/sk/ostechnix/Etcher-linux-x64.AppImage
2016-12-14+18:28:20.5162190000 /home/sk/ostechnix/ubuntu.jpg
2016-12-18+18:14:46.5931480000 /home/sk/ostechnix/Marconi Union - Sleepless.mp3
2017-03-17+19:28:27.8193330000 /home/sk/ostechnix/The Devops toolkit.pdf

El archivo más antiguo se mostrará primero.

Para encontrar el archivo más antiguo en todo el sistema de archivos raíz (/), ejecute:

$ sudo find / -type f -printf '%T+ %p\n' | sort | head -n 1

Actualización:

Un compañero usuario de Linux ha señalado cómo encontrar los archivos más antiguos o más nuevos en un directorio en la sección de comentarios a continuación. Es mucho más fácil que mi método.

Para encontrar el archivo más antiguo en un directorio, vaya a ese directorio y ejecute:

$ ls -lt | tail -1

Para encontrar el archivo más nuevo en un directorio:

$ ls -ltr | tail -1

Espero que esto haya sido útil.


Linux
  1. Cómo encontrar el paquete que proporciona un archivo específico en Linux

  2. cómo encontrar el propietario de un archivo o directorio en python

  3. Encuentre el archivo y luego cd a ese directorio en Linux

  4. Cómo canalizar los resultados de 'buscar' a mv en Linux

  5. ¿Cómo puedo encontrar el archivo más antiguo en un árbol de directorios?

Cómo encontrar una cadena en un archivo en Linux

Cómo encontrar el tamaño de un directorio en Linux

Permisos de Linux:cómo encontrar los permisos de un archivo

Cómo limitar la profundidad de la lista recursiva de archivos en Linux

Cómo encontrar el tamaño total de un directorio en Linux

El comando find Directory de Linux:Explicación