Hvordan slette filer eldre enn topp 10 dager i Linux

Hvordan slette filer eldre enn topp 10 dager i Linux
“Denne Linux -opplæringen forklarer hvordan du sletter filer eldre enn 30 dager. Etter å ha lest denne artikkelen, vil du kunne slette filer i henhold til tiden de ble opprettet. Siden alle Linux -brukere må vite hvordan de skal finne og slette filer i henhold til en spesifikk MTime (Modification/Creation Time), er dette innholdet optimalisert både for nye og erfarne brukere. Alle eksempler vist nedenfor er gyldige for hver Linux -distribusjon.

Alle instruksjoner som er inkludert i dette dokumentet inneholder skjermbilder, noe som gjør det enkelt for hver Linux -bruker å forstå og bruke dem.”

Merk: Denne artikkelen bruker som eksempelfiler eldre enn 30 dager, men du kan endre antall dager ved å erstatte 30 med hvilket som helst nummer du vil ha.

Slette 30 dager gamle filer i Linux

For å begynne, la oss se hvordan du lister opp filer som viser datoen sin ved å bruke ls (Liste) Kommando etterfulgt av -l flagg for lang liste og etter banen. I mitt tilfelle er banen Linuxhintdirectory Katalog som ligger under den gjeldende katalogen.

ls -l linuxhintdirectory/

Som du kan se på figuren over, er det to filer og 2 kataloger eldre enn 30 dager. Vi kan se filer WPA.hash og WP-Config.PHP, og WPASCAN og Zmap kataloger.

Kommandoen nedenfor vil fjerne filer (ingen kataloger) i den spesifiserte banen (som sagt, min vei er Linuxhintdirectory Ligger under gjeldende bane).

Merk: I mitt tilfelle arbeider jeg med filer som er opprettet av rotbrukeren. Å fjerne filer massivt som rot anbefales ikke.

sudo finn linuxhintdirectory -type f -mtime +30 -delete

Merk: Du kan erstatte +30 med +x (tallet er vilkårlig avhengig av dine behov) for å finne filer eldre enn x. Eller -x for å finne filer nyere enn x. Forskjellene er pluss- og minus -symboler.

Som du kan se i forrige bilde, filer WPA.hash og WP-Config.PHP ble vellykket slettet ved hjelp av den beskrevne kommandoen hvor:

sudo: Denne kommandoen gir privilegier i tilfelle filer du vil fjerne, krever superbrukerrettigheter. Å bruke sudo når du fjerner filer er ikke det beste alternativet; Jeg brukte den bare til eksemplene.

finne:

Linuxhintdirectory: I tidligere eksempler, Linuxhintdirectory er katalogen der filene jeg vil fjerne lagres. Dette feltet må erstattes med den faktiske veien til filer du vil slette.

-type: Dette find -kommandoblaget brukes til å definere typen fil du vil fjerne (bruk en f for filer og en d for kataloger).

f: Etter å ha brukt -typeflagget, ble F, i dette tilfellet, brukt til å spesifisere at vi ønsker å fjerne filer bortsett fra kataloger.

-mime: De -mime Flagg brukes til å spesifisere at vi ønsker å finne filer i henhold til deres opprettelse eller modifiseringstid. Dette flagget må følges av et minus (-) og antall dager for opprettet/modifiserte filer etter den spesifiserte datoen. Eller et pluss -symbol (+) etterfulgt av antall dager opprettet eller modifiserte filer eldre enn x dager siden.

+30: Som tidligere sagt, må -Mtime -flagget følges av antall dager som vi ønsker å finne filer. I dette tilfellet spesifiserer +30 filer opprettet for mer enn 30 dager siden; Du må erstatte nummeret med dagene du vil definere som parametere.

-Slett: Dette flagget instruerer Find -kommandoen til å slette filer som samsvarer med de tidligere beskrevne flaggene.

Bare i tilfelle vil jeg vise et annet eksempel som viser en vei med underkataloger, som du kan se nedenfor, der det lokale Linuxhintdirectory er definert fra brukerens hjemmekatalog.

sudo finn ~/linuxhintdirectory -type f -mtime +30 -delete

Nå kan vi se på skjermbildet under Linuxhintdirectory -plasseringen inneholder underkataloger EmptyDir1, EmptyDir2, Linuxhintdir3, Maler, test, og Touchp.

I henhold til datoene vist nedenfor er de eneste kvalifiserte katalogene som skal fjernes Linuxhintdir3, Maler, test, og Touchp.

ls -l linuxhintdirectory/

La oss nå se hva som skjer når du erstatter -type f med -type d for å spesifisere kataloger.

sudo finn ~/linuxhintdirectory -type d -mtime +30 -delete

Som du kan se nedenfor, fra alle kataloger som samsvarer med over 30 dagers tilstand, ble bare to fjernet: Linuxhintdir3 og Maler. Dette er fordi den forrige kommandoen bare fjerner tomme kataloger. Du kan 'fjerne kataloger rekursivt ved å bruke kommandoen beskrevet ovenfor. Derfor ser du feil i det siste skjermbildet, og advarer om at det ikke kunne slette de ikke-tomme listede katalogene.

For å fjerne kataloger med innhold inni, vil vi kombinere Find -kommandoen med rm kommando. Før, la oss sjekke Linuxhintdir katalog for interne filer og underkataloger ved å legge til -R (Rekursiv) flagg som vist nedenfor.

ls -rl linuxhintdir/

Som du kan se ovenfor, er alle filer og kataloger eldre enn 30 dager. Derfor for å fjerne dem alle, utfører jeg følgende kommando som vist nedenfor.

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

Som du ser, katalogen Linxhintdir ble ikke fjernet, men alt innholdet ble fjernet. Som du kan se på skjermdumpen nedenfor, grunnen bak Linuxhintdir Utholdenhet er katalogen ble opprettet i dag, men inneholdt gamle filer.

La oss nå sjekke /OPT -katalogen rekursivt.

Merk: Jeg fjernet Google -katalogen før dette trinnet.

Nedenfor kan du se en full sekvens. Som du ser, er det to kataloger eldre enn 30 dager (GVM og TeamViewer). Begge har filer og underkataloger. La oss fjerne GVM og alt innholdet ved å kjøre den samme kommandoen som ble brukt tidligere, der vi bare endrer banen til filen (nå GVM).

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

Som du kan se, etter å ha kjørt kommandoen, bare TeamViewer Katalogen gjenstår; GVM ble fjernet med hell.

Konklusjon

Som du ser, er det ganske enkelt å fjerne filer før eller etter en bestemt dato. Enhver Linux -bruker, uavhengig av kunnskapsnivået, må vite hvordan de skal finne og administrere filer etter dato. Kommandoene som er forklart i denne opplæringen er gyldige for alle Linux -distribusjoner. Det anbefales at du bruker kommandoene ovenfor for å få praksis (bruk et eksperimentelt eller testmiljø). Husk at + -symbolet betyr "mer enn" mens minus (-) symbolet betyr "nyere enn".

Jeg håper denne artikkelen som forklarer hvordan du sletter filer eldre enn 30 dager i Linux var nyttig. Fortsett å følge oss for mer profesjonelle opplæringsprogrammer.