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:
- Aprenda el comando ls con 15 ejemplos básicos
- Aprenda 7 comandos avanzados de ls con ejemplos
- 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:
- 14 ejemplos de comandos 'sort' de Linux - Parte 1
- 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.