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:
- Impara il comando ls con 15 esempi di base
- Impara 7 comandi avanzati di ls con esempi
- 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:
- 14 Esempi di comandi "sort" di Linux – Parte 1
- 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.