Come eliminare i file più vecchi dei primi 10 giorni in Linux

Come eliminare i file più vecchi dei primi 10 giorni in Linux
“Questo tutorial Linux spiega come eliminare i file più vecchi di 30 giorni. Dopo aver letto questo articolo, sarai in grado di eliminare i file in base al momento in cui sono stati creati. Poiché tutti gli utenti di Linux devono sapere come trovare ed eliminare i file in base a un tempo MS specifico (tempo di modifica/creazione), questo contenuto è ottimizzato sia per gli utenti nuovi ed esperti. Tutti gli esempi mostrati di seguito sono validi per ogni distribuzione Linux.

Tutte le istruzioni incluse in questo documento contengono schermate, rendendo facile per ogni utente Linux comprenderli e applicarli."

Nota: Questo articolo utilizza come file di esempio più di 30 giorni, ma è possibile modificare il numero di giorni sostituendo 30 con qualsiasi numero desiderato.

Eliminazione di file di 30 giorni in Linux

Per iniziare, vediamo come elencare i file che mostrano la loro data usando il ls (Elenco) comando seguito dal -l Flag per un elenco lungo e per via. Nel mio caso, il percorso è il LinuxHintDirectory directory situata sotto la directory corrente.

ls -l linuxhintdirectory/

Come puoi vedere nella figura sopra, ci sono due file e 2 directory di età superiore a 30 giorni. Possiamo vedere i file WPA.hash E WP-Config.PHP, E wpascan E zmap directory.

Il comando seguente rimuoverà i file (nessuna directory) nel percorso specificato (come detto, il mio percorso è LinuxHintDirectory Situato sotto il percorso corrente).

Nota: Nel mio caso, ho a che fare con i file creati dall'utente root. La rimozione dei file massicciamente non è consigliabile.

sudo trova linuxhintdirectory -ype f -mtime +30 -delete

Nota: È possibile sostituire +30 con +x (il numero è arbitrario a seconda delle esigenze) per trovare file più vecchi di x. O -x per trovare file più nuovi di x. Le differenze sono i simboli più e meno.

Come puoi vedere nell'immagine precedente, i file WPA.hash E WP-Config.PHP sono stati eliminati correttamente usando il comando descritto dove:

Sudo: Questo comando fornisce privilegi nei file dei casi che si desidera rimuovere richiedono privilegi superuser. L'uso di sudo durante la rimozione di file non è l'opzione migliore; L'ho usato solo per gli esempi.

Trovare:

LinuxHintDirectory: In esempi precedenti, LinuxHintDirectory è la directory in cui vengono memorizzati i file che voglio rimuovere. Questo campo deve essere sostituito con il percorso effettivo verso i file che si desidera eliminare.

-tipo: Questo flag di comando di trovare viene utilizzato per definire il tipo di file che si desidera rimuovere (usa un F per file e a D per directory).

F: Dopo aver usato il flag -type, la F, in questo caso, è stata utilizzata per specificare che vogliamo rimuovere i file ad eccezione delle directory.

-mtime: IL -mtime Il flag viene utilizzato per specificare che vogliamo trovare file in base alla loro creazione o tempo di modifica. Questo flag deve essere seguito da un minus (-) e dal numero di giorni per i file creati/modificati dopo la data specificata. O un simbolo più (+) seguito dal numero di giorni creati o modificati più vecchi di x giorni fa.

+30: Come detto in precedenza, il flag -mtime deve essere seguito dal numero di giorni in base ai quali vogliamo trovare file. In questo caso, +30 specifica i file creati più di 30 giorni fa; È necessario sostituire il numero con i giorni in cui si desidera definire i parametri.

-eliminare: Questo flag indica al comando Trova di eliminare i file che corrispondono ai flag precedentemente descritti.

Nel caso in cui voglio mostrare un altro esempio che mostra un percorso con le sottodirectory, come puoi vedere di seguito, dove il locale LinuxHintDirectory è definito dalla home directory dell'utente.

sudo find ~/linuxhintdirectory -ype f -mtime +30 -delete

Ora possiamo vedere nello screenshot sotto la posizione di LinuxHintDirectory contiene sottodirectory EmptyDir1, EmptyDir2, LinuxhintDir3, Modelli, test, E touchp.

Secondo le date mostrate di seguito, le uniche directory ammissibili da rimuovere sono LinuxhintDir3, Modelli, test, E touchp.

ls -l linuxhintdirectory/

Ora vediamo cosa succede quando sostituisci -Tipo F con -Tipo D Per specificare le directory.

sudo find ~/linuxhintdirectory -ype d -mtime +30 -delete

Come puoi vedere di seguito, da tutte le directory corrispondenti alla condizione più vecchia di 30 giorni, solo due sono state rimosse: LinuxhintDir3 E Modelli. Questo perché il comando precedente rimuove solo le directory vuote. È possibile rimuovere le directory in modo ricorsivo usando il comando sopra descritto. Ecco perché vedi errori nell'ultimo screenshot, avvertendo che non potrebbe eliminare le directory non vuote elencate.

Per rimuovere le directory con il contenuto all'interno, combineremo il comando di ricerca con il Rm comando. Prima, controlliamo il Linuxhintdir directory per file interni e sottodirectory aggiungendo il -R Flag (ricorsivo) come mostrato di seguito.

ls -rl linuxhintdir/

Come puoi vedere sopra, tutti i file e le directory sono più vecchi di 30 giorni. Pertanto, per rimuoverli tutti, eseguo il seguente comando come mostrato di seguito.

sudo trova ./linux/linuxhintdir -type d -mtime +30 -exec rm -rf \;

Come puoi vedere, la directory Linxhintdir non è stato rimosso, ma tutto il suo contenuto è stato rimosso. Come puoi vedere nello screenshot qui sotto, il motivo dietro Linuxhintdir La persistenza è la directory è stata creata oggi ma conteneva vecchi file.

Ora controlliamo la directory /opt in modo ricorsivo.

Nota: Ho rimosso la directory di Google prima di questo passaggio.

Di seguito puoi vedere una sequenza completa. Come puoi vedere, ci sono due directory di età superiore ai 30 giorni (GVM e TeamViewer). Entrambi hanno file e sottodirectory. Rimuoviamo GVM e tutto il suo contenuto eseguendo lo stesso comando usato in precedenza, in cui cambiamo il percorso solo nel file (ora GVM).

sudo trovare gvm -type d -mtime +30 -exec rm -rf \;

Come puoi vedere, dopo aver eseguito il comando, solo il TeamViewer la directory rimane; GVM è stato rimosso con successo.

Conclusione

Come puoi vedere, la rimozione di file prima o dopo una data specifica è piuttosto semplice. Qualsiasi utente Linux, indipendentemente dal livello di conoscenza, deve sapere come trovare e gestire i file per data. I comandi spiegati in questo tutorial sono validi per tutte le distribuzioni Linux. Si consiglia di applicare i comandi di cui sopra per ottenere la pratica (utilizzare un ambiente sperimentale o di test). Ricorda, il simbolo + significa "più di" mentre il simbolo meno (-) significa "più nuovo di".

Spero che questo articolo spieghi come eliminare i file più vecchi di 30 giorni in Linux. Continua a seguirci per tutorial più professionali.