GNU/Linux >> Linux Esercitazione >  >> Linux

Come trovare e ordinare i file in base alla data e all'ora di modifica in Linux

Di solito, abbiamo l'abitudine di salvare molte informazioni sotto forma di file sul nostro sistema. Alcuni file nascosti, alcuni conservati in una cartella separata creata per la nostra facilità di comprensione, mentre altri così com'è. Ma tutta questa roba riempie le nostre directory; di solito desktop, facendolo sembrare un pasticcio. Ma il problema sorge quando dobbiamo cercare un file particolare modificato in una data e ora particolari in questa vasta raccolta.

Le persone che hanno familiarità con le GUI possono trovarlo utilizzando File Manager, che elenca i file in un formato di elenco lungo, rendendo facile capire cosa volevamo, ma quegli utenti che hanno l'abitudine di schermate nere, o anche chiunque lavori su server privi di GUI, farebbero desidera un comando semplice o una serie di comandi che possano facilitare la ricerca.

La vera bellezza di Linux mostra qui, poiché Linux ha una raccolta di comandi che, se usati separatamente o insieme, possono aiutare a cercare un file o ordinare una raccolta di file in base al nome, alla data di modifica, all'ora di creazione o persino a qualsiasi filtro che potresti pensare di applicare per ottenere il tuo risultato.

Qui, sveleremo la vera forza di Linux esaminando una serie di comandi che possono aiutare a ordinare un file o anche un elenco di file per Data e Tempo .

Utility Linux per ordinare i file in Linux

Alcune utilità di base della riga di comando di Linux che sono appena sufficienti per ordinare una directory in base a Data e Tempo sono:

Comando ls

ls – Elencando il contenuto della directory, questa utility può elencare i file e le directory e può anche elencare tutte le informazioni di stato su di essi, inclusi:data e ora di modifica o accesso, autorizzazioni, dimensione, proprietario, gruppo ecc.

Abbiamo già trattato molti articoli su Linux ls command e comando di ordinamento , li trovi qui sotto:

  1. Impara il comando ls con 15 esempi di base
  2. Impara 7 comandi avanzati di ls con esempi
  3. 15 Domande utili per l'intervista su ls Command in Linux

comando di ordinamento

ordina – Questo comando può essere utilizzato per ordinare l'output di qualsiasi ricerca solo in base a qualsiasi campo o colonna particolare del campo.

Abbiamo già trattato due articoli su Linux sort command , li trovi qui sotto:

  1. 14 Esempi di comandi "sort" di Linux – Parte 1
  2. 7 Esempi utili di comandi di "ordinamento" di Linux – Parte 2

Questi comandi sono di per sé comandi molto potenti da padroneggiare se lavori su schermi neri e devi gestire molti file, solo per ottenere quello che desideri.

Alcuni modi per ordinare i file utilizzando la data e l'ora

Di seguito è riportato l'elenco dei comandi da ordinare in base a data e ora.

1. Elenca i file in base al tempo di modifica

Il comando seguente elenca i file in formato elenco lungo e ordina i file in base all'ora di modifica, dal più recente al primo. Per ordinare in ordine inverso, usa '-r' cambia con questo 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. Elenca i file in base all'ora dell'ultimo accesso

Elenco dei file nella directory in base all'ora dell'ultimo accesso, ovvero in base all'ora dell'ultimo accesso al file, non modificata.

# 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. Elenca i file in base all'ora dell'ultima modifica

Elenco dei file nella directory in base all'ora dell'ultima modifica delle informazioni sullo stato del file o al 'ctime' . Questo comando elencherà per primo il file le cui informazioni sullo stato come:proprietario, gruppo, autorizzazioni, dimensioni ecc. sono state modificate di recente.

# 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
...

Se '-a' switch viene utilizzato con i comandi precedenti, possono elencare e ordinare anche i file nascosti nella directory corrente e '-r' switch elenca l'output in ordine inverso.

Per un ordinamento più approfondito, come l'ordinamento su Output di trovare comando, tuttavia ls può anche essere usato, ma c'è 'sort' si rivela più utile in quanto l'output potrebbe non avere solo il nome del file ma tutti i campi desiderati dall'utente.

I comandi seguenti mostrano l'utilizzo di sort con find comando per ordinare l'elenco dei file in base a Data e Tempo .

Per saperne di più sul comando trova, segui questo link:35 Esempi pratici di comando "trova" in Linux

4. Ordinamento dei file in base al mese

Qui utilizziamo find comando per trovare tutti i file nella radice (‘/’) directory e quindi stampare il risultato come:Mese in cui è stato effettuato l'accesso al file e quindi il nome del file. Di quel risultato completo, qui elenchiamo i primi 11 voci.

# 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

Il comando seguente ordina l'output usando la chiave come primo campo, specificato da '-k1' e quindi ordina il mese come specificato da 'M' prima di esso.

# 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. Ordina i file in base alla data

Anche in questo caso utilizziamo find comando per trovare tutti i file nella directory principale, ma ora stamperemo il risultato come:ultima data è stato effettuato l'accesso al file, l'ultima volta è stato eseguito l'accesso al file e quindi il nome del file. Di questo eliminiamo le prime 11 voci.

# 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

Il seguente comando di ordinamento prima ordina in base all'ultima cifra dell'anno, quindi ordina in base all'ultima cifra del mese in ordine inverso e infine ordina in base al primo campo. Qui, "1.8 ' significa 8a colonna del primo campo e 'n' prima di esso significa ordinamento numerico, mentre 'r' indica l'ordinamento 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. Ordinamento dei file in base al tempo

Anche in questo caso utilizziamo find comando per elencare i primi 11 file nella directory principale e stampare il risultato in formato:ultimo accesso al file e poi nome file.

# 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

Il comando seguente ordina l'output in base alla prima colonna del primo campo dell'output che è la prima cifra dell'ora.

# 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. Ordinamento dell'uscita di ls -l in base alla data

Questo comando ordina l'output di 'ls -l' comando basato sul 6° campo per mese, quindi basato sul 7° campo che è la data, numericamente.

# 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

Conclusione

Allo stesso modo, avendo una certa conoscenza di tipo comando, puoi ordinare quasi tutti gli elenchi in base a qualsiasi campo e persino a qualsiasi colonna desideri. Questi erano alcuni dei trucchi per aiutarti a ordinare i file in base alla data o all'ora. Puoi creare i tuoi trucchi basati su questi. Tuttavia, se hai qualche altro trucco interessante, puoi sempre menzionarlo nei tuoi commenti.


Linux
  1. Come trovare file con autorizzazioni SUID e SGID in Linux

  2. Come trovare file di grandi dimensioni Linux con i comandi find e du

  3. Come visualizzare la data e l'ora di riavvio del sistema Linux

  4. Come trovare ed eliminare directory e file vuoti in Linux

  5. Copia di file in base alla data di modifica in Linux

Come trovare la data e l'ora esatte di installazione del tuo sistema operativo Linux

Come trovare file basati su timestamp in Linux

Come trovare file duplicati in Linux e rimuoverli

Come trovare la data e l'ora di installazione del sistema operativo Linux

Come impostare data e ora su Linux

Come modificare data, ora e fuso orario in Linux Mint 20