GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo encontrar y ordenar archivos según la fecha y hora de modificación en Linux

Por lo general, tenemos la costumbre de guardar mucha información en forma de archivos en nuestro sistema. Algunos, archivos ocultos, otros guardados en una carpeta separada creada para nuestra facilidad de comprensión, mientras que otros tal como están. Pero, todo esto llena nuestros directorios; generalmente de escritorio, lo que hace que parezca un desastre. Pero, el problema surge cuando necesitamos buscar un archivo en particular modificado en una fecha y hora en particular en esta enorme colección.

Las personas que se sienten cómodas con las GUI pueden encontrarlo usando el Administrador de archivos, que enumera los archivos en un formato de lista larga, lo que facilita descubrir lo que queríamos, pero los usuarios que tienen el hábito de las pantallas negras, o incluso cualquiera que trabaje en servidores que carecen de GUI, lo harían. quieren un comando simple o un conjunto de comandos que puedan facilitar su búsqueda.

Aquí se muestra la verdadera belleza de Linux, ya que Linux tiene una colección de comandos que, si se usan por separado o juntos, pueden ayudar a buscar un archivo, u ordenar una colección de archivos según su nombre, fecha de modificación, hora de creación o incluso cualquier filtro que podría pensar en aplicar para obtener su resultado.

Aquí, revelaremos la verdadera fuerza de Linux al examinar un conjunto de comandos que pueden ayudar a ordenar un archivo o incluso una lista de archivos por Fecha. y Tiempo .

Utilidades de Linux para ordenar archivos en Linux

Algunas utilidades básicas de la línea de comandos de Linux que son suficientes para ordenar un directorio según la fecha y Tiempo son:

comando ls

ls – Enumerando el contenido del directorio, esta utilidad puede enumerar los archivos y directorios e incluso puede enumerar toda la información de estado sobre ellos, incluyendo:fecha y hora de modificación o acceso, permisos, tamaño, propietario, grupo, etc.

Ya hemos cubierto muchos artículos sobre el comando ls de Linux y comando ordenar , puedes encontrarlos a continuación:

  1. Aprenda el comando ls con 15 ejemplos básicos
  2. Aprenda 7 comandos avanzados de ls con ejemplos
  3. 15 preguntas de entrevista útiles sobre el comando ls en Linux

comando ordenar

ordenar – Este comando se puede usar para ordenar el resultado de cualquier búsqueda solo por cualquier campo o cualquier columna particular del campo.

Ya hemos cubierto dos artículos sobre el comando de ordenación de Linux , puedes encontrarlos a continuación:

  1. 14 ejemplos de comandos 'sort' de Linux - Parte 1
  2. 7 ejemplos útiles de comandos "sort" de Linux - Parte 2

Estos comandos son en sí mismos comandos muy poderosos para dominar si trabaja en pantallas negras y tiene que lidiar con muchos archivos, solo para obtener el que desea.

Algunas formas de ordenar archivos usando fecha y hora

A continuación se muestra la lista de comandos para ordenar según la fecha y la hora.

1. Listar archivos según el tiempo de modificación

El siguiente comando enumera los archivos en formato de lista larga y ordena los archivos según el tiempo de modificación, primero los más nuevos. Para ordenar en orden inverso, use '-r' cambia con este comando.

# ls -lt

total 673768
-rwxr----- 1 tecmint tecmint  3312130 Jan 19 15:24 When You Are Gone.MP3
-rwxr----- 1 tecmint tecmint  4177212 Jan 19 15:24 When I Dream At Night - Marc Anthony-1.mp3
-rwxr----- 1 tecmint tecmint  4177212 Jan 19 15:24 When I Dream At Night - Marc Anthony.mp3
-rwxr----- 1 tecmint tecmint  6629090 Jan 19 15:24 Westlife_Tonight.MP3
-rwxr----- 1 tecmint tecmint  3448832 Jan 19 15:24 We Are The World by USA For Africa (Michael Jackson).mp3
-rwxr----- 1 tecmint tecmint  8580934 Jan 19 15:24 This Love.mp3
-rwxr----- 1 tecmint tecmint  2194832 Jan 19 15:24 The Cross Of Changes.mp3
-rwxr----- 1 tecmint tecmint  5087527 Jan 19 15:24 T.N.T. For The Brain 5.18.mp3
-rwxr----- 1 tecmint tecmint  3437100 Jan 19 15:24 Summer Of '69.MP3
-rwxr----- 1 tecmint tecmint  4360278 Jan 19 15:24 Smell Of Desire.4.32.mp3
-rwxr----- 1 tecmint tecmint  4582632 Jan 19 15:24 Silence Must Be Heard 4.46.mp3
-rwxr----- 1 tecmint tecmint  4147119 Jan 19 15:24 Shadows In Silence 4.19.mp3
-rwxr----- 1 tecmint tecmint  4189654 Jan 19 15:24 Sarah Brightman  & Enigma - Eden (remix).mp3
-rwxr----- 1 tecmint tecmint  4124421 Jan 19 15:24 Sade - Smooth Operator.mp3
-rwxr----- 1 tecmint tecmint  4771840 Jan 19 15:24 Sade - And I Miss You.mp3
-rwxr----- 1 tecmint tecmint  3749477 Jan 19 15:24 Run To You.MP3
-rwxr----- 1 tecmint tecmint  7573679 Jan 19 15:24 Roger Sanchez_Another Chance_Full_Mix.mp3
-rwxr----- 1 tecmint tecmint  3018211 Jan 19 15:24 Principal Of Lust.3.08.mp3
-rwxr----- 1 tecmint tecmint  5688390 Jan 19 15:24 Please Forgive Me.MP3
-rwxr----- 1 tecmint tecmint  3381827 Jan 19 15:24 Obvious.mp3
-rwxr----- 1 tecmint tecmint  5499073 Jan 19 15:24 Namstey-London-Viraaniya.mp3
-rwxr----- 1 tecmint tecmint  3129210 Jan 19 15:24 MOS-Enya - Only Time (Pop Radio mix).m

2. Listar archivos según la última hora de acceso

Listado de archivos en el directorio según la última hora de acceso, es decir, según la última vez que se accedió al archivo, no se modificó.

# ls -ltu

total 3084272
drwxr-xr-x  2 tecmint tecmint       4096 Jan 19 15:24 Music
drwxr-xr-x  2 tecmint tecmint       4096 Jan 19 15:22 Linux-ISO
drwxr-xr-x  2 tecmint tecmint       4096 Jan 19 15:22 Music-Player
drwx------  3 tecmint tecmint       4096 Jan 19 15:22 tor-browser_en-US
drwxr-xr-x  2 tecmint tecmint       4096 Jan 19 15:22 bin
drwxr-xr-x 11 tecmint tecmint       4096 Jan 19 15:22 Android Games
drwxr-xr-x  2 tecmint tecmint       4096 Jan 19 15:22 Songs
drwxr-xr-x  2 tecmint tecmint       4096 Jan 19 15:22 renamefiles
drwxr-xr-x  2 tecmint tecmint       4096 Jan 19 15:22 katoolin-master
drwxr-xr-x  2 tecmint tecmint       4096 Jan 19 15:22 Tricks
drwxr-xr-x  3 tecmint tecmint       4096 Jan 19 15:22 Linux-Tricks
drwxr-xr-x  6 tecmint tecmint       4096 Jan 19 15:22 tuptime
drwxr-xr-x  4 tecmint tecmint       4096 Jan 19 15:22 xdm
drwxr-xr-x  2 tecmint tecmint      20480 Jan 19 15:22 ffmpeg usage
drwxr-xr-x  2 tecmint tecmint       4096 Jan 19 15:22 xdm-helper

3. Listar archivos según la hora de la última modificación

Listado de archivos en el directorio basado en la hora de la última modificación de la información de estado del archivo, o el 'ctime' . Este comando enumeraría primero ese archivo cuya información de estado como:propietario, grupo, permisos, tamaño, etc. se ha cambiado recientemente.

# ls -ltc

total 3084272
drwxr-xr-x  2 tecmint tecmint       4096 Jan 19 15:24 Music
drwxr-xr-x  2 tecmint tecmint       4096 Jan 19 13:05 img
-rw-------  1 tecmint tecmint     262191 Jan 19 12:15 tecmint.jpeg
drwxr-xr-x  5 tecmint tecmint       4096 Jan 19 10:57 Desktop
drwxr-xr-x  7 tecmint tecmint      12288 Jan 18 16:00 Downloads
drwxr-xr-x 13 tecmint tecmint       4096 Jan 18 15:36 VirtualBox VMs
-rwxr-xr-x  1 tecmint tecmint        691 Jan 13 14:57 special.sh
-rw-r--r--  1 tecmint tecmint     654325 Jan  4 16:55 powertop-2.7.tar.gz.save
-rw-r--r--  1 tecmint tecmint     654329 Jan  4 11:17 filename.tar.gz
drwxr-xr-x  3 tecmint tecmint       4096 Jan  4 11:04 powertop-2.7
-rw-r--r--  1 tecmint tecmint     447795 Dec 31 14:22 Happy-New-Year-2016.jpg
-rw-r--r--  1 tecmint tecmint         12 Dec 18 18:46 ravi
-rw-r--r--  1 tecmint tecmint       1823 Dec 16 12:45 setuid.txt
...

Si '-a' El interruptor se usa con los comandos anteriores, pueden enumerar y ordenar incluso los archivos ocultos en el directorio actual, y '-r' interruptor enumera la salida en orden inverso.

Para una clasificación más profunda, como clasificar en Salida de buscar comando, sin embargo ls también se puede usar, pero hay 'sort' resulta más útil ya que la salida puede no tener solo el nombre del archivo, sino también los campos deseados por el usuario.

Los siguientes comandos muestran el uso de sort con find Comando para ordenar la lista de archivos según Fecha y Tiempo .

Para obtener más información sobre el comando de búsqueda, siga este enlace:35 ejemplos prácticos del comando 'buscar' en Linux

4. Clasificación de archivos según el mes

Aquí, usamos find comando para encontrar todos los archivos en la raíz (‘/’) directorio y luego imprima el resultado como:Mes en qué archivo se accedió y luego nombre del archivo. De ese resultado completo, aquí enumeramos los mejores 11 entradas.

# find / -type f -printf "\n%Ab %p" | head -n 11

Dec /usr/lib/nvidia/pre-install
Dec /usr/lib/libcpufreq.so.0.0.0
Apr /usr/lib/libchromeXvMCPro.so.1.0.0
Apr /usr/lib/libt1.so.5.1.2
Apr /usr/lib/libchromeXvMC.so.1.0.0
Apr /usr/lib/libcdr-0.0.so.0.0.15
Dec /usr/lib/msttcorefonts/update-ms-fonts
Nov /usr/lib/ldscripts/elf32_x86_64.xr
Nov /usr/lib/ldscripts/elf_i386.xbn
Nov /usr/lib/ldscripts/i386linux.xn

El siguiente comando ordena la salida usando la clave como primer campo, especificado por '-k1' y luego se ordena por mes según lo especificado por 'M' por delante.

# find / -type f -printf "\n%Ab %p" | head -n 11 | sort -k1M

Apr /usr/lib/libcdr-0.0.so.0.0.15
Apr /usr/lib/libchromeXvMCPro.so.1.0.0
Apr /usr/lib/libchromeXvMC.so.1.0.0
Apr /usr/lib/libt1.so.5.1.2
Nov /usr/lib/ldscripts/elf32_x86_64.xr
Nov /usr/lib/ldscripts/elf_i386.xbn
Nov /usr/lib/ldscripts/i386linux.xn
Dec /usr/lib/libcpufreq.so.0.0.0
Dec /usr/lib/msttcorefonts/update-ms-fonts
Dec /usr/lib/nvidia/pre-install

5. Ordenar archivos según la fecha

Aquí, nuevamente usamos find comando para encontrar todos los archivos en el directorio raíz, pero ahora imprimiremos el resultado como:última fecha se accedió al archivo, última vez se accedió al archivo y luego al nombre del archivo. De eso sacamos las 11 mejores entradas.

# find / -type f -printf "\n%AD %AT %p" | head -n 11

12/08/15 11:30:38.0000000000 /usr/lib/nvidia/pre-install
12/07/15 10:34:45.2694776230 /usr/lib/libcpufreq.so.0.0.0
04/11/15 06:08:34.9819910430 /usr/lib/libchromeXvMCPro.so.1.0.0
04/11/15 06:08:34.9939910430 /usr/lib/libt1.so.5.1.2
04/11/15 06:08:35.0099910420 /usr/lib/libchromeXvMC.so.1.0.0
04/11/15 06:08:35.0099910420 /usr/lib/libcdr-0.0.so.0.0.15
12/18/15 11:19:25.2656728990 /usr/lib/msttcorefonts/update-ms-fonts
11/12/15 12:56:34.0000000000 /usr/lib/ldscripts/elf32_x86_64.xr
11/12/15 12:56:34.0000000000 /usr/lib/ldscripts/elf_i386.xbn
11/12/15 12:56:34.0000000000 /usr/lib/ldscripts/i386linux.xn

El siguiente comando de ordenación primero ordena según el último dígito del año, luego ordena según el último dígito del mes en orden inverso y finalmente ordena según el primer campo. Aquí, '1.8 ' significa la octava columna del primer campo y 'n' adelante significa clasificación numérica, mientras que ‘r’ indica clasificación en orden inverso.

# find / -type f -printf "\n%AD %AT %p" | head -n 11 | sort -k1.8n -k1.1nr -k1

12/07/15 10:34:45.2694776230 /usr/lib/libcpufreq.so.0.0.0
12/08/15 11:30:38.0000000000 /usr/lib/nvidia/pre-install
12/18/15 11:19:25.2656728990 /usr/lib/msttcorefonts/update-ms-fonts
11/12/15 12:56:34.0000000000 /usr/lib/ldscripts/elf32_x86_64.xr
11/12/15 12:56:34.0000000000 /usr/lib/ldscripts/elf_i386.xbn
11/12/15 12:56:34.0000000000 /usr/lib/ldscripts/i386linux.xn
04/11/15 06:08:34.9819910430 /usr/lib/libchromeXvMCPro.so.1.0.0
04/11/15 06:08:34.9939910430 /usr/lib/libt1.so.5.1.2
04/11/15 06:08:35.0099910420 /usr/lib/libcdr-0.0.so.0.0.15
04/11/15 06:08:35.0099910420 /usr/lib/libchromeXvMC.so.1.0.0

6. Clasificación de archivos según el tiempo

Aquí, nuevamente usamos find comando para enumerar los 11 archivos principales en el directorio raíz e imprimir el resultado en formato:última vez que se accedió al archivo y luego nombre de archivo.

# find / -type f -printf "\n%AT %p" | head -n 11

11:30:38.0000000000 /usr/lib/nvidia/pre-install
10:34:45.2694776230 /usr/lib/libcpufreq.so.0.0.0
06:08:34.9819910430 /usr/lib/libchromeXvMCPro.so.1.0.0
06:08:34.9939910430 /usr/lib/libt1.so.5.1.2
06:08:35.0099910420 /usr/lib/libchromeXvMC.so.1.0.0
06:08:35.0099910420 /usr/lib/libcdr-0.0.so.0.0.15
11:19:25.2656728990 /usr/lib/msttcorefonts/update-ms-fonts
12:56:34.0000000000 /usr/lib/ldscripts/elf32_x86_64.xr
12:56:34.0000000000 /usr/lib/ldscripts/elf_i386.xbn
12:56:34.0000000000 /usr/lib/ldscripts/i386linux.xn

El siguiente comando ordena la salida según la primera columna del primer campo de la salida, que es el primer dígito de la hora.

# find / -type f -printf "\n%AT %p" | head -n 11 | sort -k1.1n

06:08:34.9819910430 /usr/lib/libchromeXvMCPro.so.1.0.0
06:08:34.9939910430 /usr/lib/libt1.so.5.1.2
06:08:35.0099910420 /usr/lib/libcdr-0.0.so.0.0.15
06:08:35.0099910420 /usr/lib/libchromeXvMC.so.1.0.0
10:34:45.2694776230 /usr/lib/libcpufreq.so.0.0.0
11:19:25.2656728990 /usr/lib/msttcorefonts/update-ms-fonts
11:30:38.0000000000 /usr/lib/nvidia/pre-install
12:56:34.0000000000 /usr/lib/ldscripts/elf32_x86_64.xr
12:56:34.0000000000 /usr/lib/ldscripts/elf_i386.xbn
12:56:34.0000000000 /usr/lib/ldscripts/i386linux.xn

7. Clasificación de la salida de ls -l según la fecha

Este comando ordena la salida de 'ls -l' Comando basado en el mes del campo 6, luego basado en el campo 7, que es la fecha, numéricamente.

# ls -l | sort -k6M -k7n

total 116
-rw-r--r-- 1 root root     0 Oct  1 19:51 backup.tgz
drwxr-xr-x 2 root root  4096 Oct  7 15:27 Desktop
-rw-r--r-- 1 root root 15853 Oct  7 15:19 powertop_report.csv
-rw-r--r-- 1 root root 79112 Oct  7 15:25 powertop.html
-rw-r--r-- 1 root root     0 Oct 16 15:26 file3
-rw-r--r-- 1 root root    13 Oct 16 15:17 B
-rw-r--r-- 1 root root    21 Oct 16 15:16 A
-rw-r--r-- 1 root root    64 Oct 16 15:38 C

Conclusión

Asimismo, al tener algún conocimiento de clasificar comando, puede ordenar casi cualquier lista en función de cualquier campo e incluso cualquier columna que desee. Estos fueron algunos de los trucos para ayudarlo a ordenar los archivos según la fecha o la hora. Puedes tener tus propios trucos basados ​​en estos. Sin embargo, si tienes algún otro truco interesante, siempre puedes mencionarlo en tus comentarios.


Linux
  1. Cómo encontrar archivos con permisos SUID y SGID en Linux

  2. Encuentre y ordene archivos según el acceso, la fecha y la hora de modificación en Linux

  3. Cómo encontrar archivos grandes de Linux con los comandos find y du

  4. Linux:¿cómo encontrar la fecha de creación del archivo?

  5. Copiar archivos según la fecha de modificación en Linux

Cómo encontrar la fecha y hora exactas de instalación de su sistema operativo Linux

Cómo encontrar archivos basados ​​en la marca de tiempo en Linux

Cómo encontrar archivos duplicados en Linux y eliminarlos

Cómo encontrar la fecha y hora de instalación del sistema operativo Linux

Cómo configurar la fecha y la hora en Linux

Cómo cambiar la fecha, la hora y la zona horaria en Linux Mint 20