Zoeken op website

Hoe recente of huidige gewijzigde bestanden in Linux te vinden


In dit artikel leggen we twee eenvoudige opdrachtregeltips uit waarmee u alleen alle bestanden van vandaag kunt weergeven.

Een van de meest voorkomende problemen die Linux-gebruikers tegenkomen op de opdrachtregel is het lokaliseren van bestanden met een bepaalde naam. Het kan veel eenvoudiger zijn als je de bestandsnaam daadwerkelijk kent.

Ervan uitgaande dat u echter de naam bent vergeten van een bestand dat u eerder op de dag hebt gemaakt (in uw home-map die honderden bestanden bevat) en dat u het toch dringend moet gebruiken.

Hieronder vindt u verschillende manieren om alleen alle bestanden weer te geven die u vandaag (direct of indirect) hebt gemaakt of gewijzigd.

1. Met de opdracht ls kunt u de bestanden van vandaag alleen als volgt in uw thuismap weergeven, waarbij:

  1. -a – vermeld alle bestanden, inclusief verborgen bestanden
  2. -l – maakt lange lijstindeling mogelijk
  3. --time-style=FORMAT – toont de tijd in het opgegeven FORMAT
  4. +%D – toon/gebruik datum in %m/%d/%y formaat
ls  -al --time-style=+%D | grep 'date +%D'

Bovendien kunt u de resulterende lijst alfabetisch sorteren door de vlag -X op te nemen:

ls -alX --time-style=+%D | grep 'date +%D'

Je kunt ook een lijst weergeven op basis van grootte (de grootste eerst) met behulp van de vlag -S:

ls -alS --time-style=+%D | grep 'date +%D'

2. Nogmaals, het is mogelijk om het find-commando te gebruiken, dat praktisch flexibeler is en veel opties biedt dan ls, voor hetzelfde doel als hieronder.

  1. -max Depth niveau wordt gebruikt om het niveau (in termen van submappen) onder het startpunt (in dit geval de huidige map) te specificeren waarop de zoekbewerking zal worden uitgevoerd.
  2. -newerXY, dit werkt als tijdstempel X van het betreffende bestand nieuwer is dan tijdstempel Y van de bestandsreferentie. X en Y vertegenwoordigen een van de onderstaande letters:

    1. a – toegangstijd van de bestandsreferentie
    2. B – geboortetijd van de bestandsreferentie
    3. c – Inodestatuswijzigingstijd van referentie
    4. m – wijzigingstijd van de bestandsreferentie
    5. t – referentie wordt direct geïnterpreteerd als een tijd

Dit betekent dat alleen bestanden die zijn gewijzigd op 06-12-2016 in aanmerking worden genomen:

find . -maxdepth 1 -newermt "2016-12-06"

Belangrijk: gebruik het juiste datumformaat als referentie in de zoekopdracht hierboven. Zodra je een verkeerd formaat gebruikt, krijg je een foutmelding als die hieronder:

find . -maxdepth 1 -newermt "12-06-2016"

find: I cannot figure out how to interpret '12-06-2016' as a date or time

U kunt ook de juiste formaten hieronder gebruiken:

find . -maxdepth 1 -newermt "12/06/2016"
OR
find . -maxdepth 1 -newermt "12/06/16"

U kunt meer gebruiksinformatie voor de opdrachten ls en find vinden in onze volgende reeks artikelen hierover.

  1. Beheers Linux 'ls'-commando met deze 15 voorbeelden
  2. Handige 7 eigenzinnige 'ls'-trucs voor Linux-gebruikers
  3. Beheers het Linux 'vind'-commando met deze 35 voorbeelden
  4. Manieren om meerdere bestandsnamen met extensies in Linux te vinden

In dit artikel hebben we twee belangrijke tips uitgelegd over hoe je alleen de bestanden van vandaag kunt weergeven met behulp van ls en find-opdrachten. Maak gebruik van het onderstaande feedbackformulier om ons vragen of opmerkingen over het onderwerp te sturen. U kunt ons ook op de hoogte stellen van alle commando's die voor hetzelfde doel worden gebruikt.