Afficher les fichiers des 2 derniers jours sur un système ntfs monté?


8

Quelle est exactement la commande pour afficher les fichiers de moins de 2 jours? J'ai pensé à quelque chose comme ça:

$ find / -mtime -2

... mais je ne sais pas comment imprimer la date des fichiers trouvés. Mon objectif est de trouver des fichiers sur un système ntfs monté qui sont nouveaux ou modifiés au cours des derniers jours.

De plus, il serait très utile de trier les résultats du plus récent au plus ancien. Est-ce possible?


Si vous modifiez votre question pour demander autre chose, vous devez au moins informer ceux qui ont répondu avec confiance que leur réponse n'est plus valable, car les nouveaux visiteurs voteront principalement sur leur expérience actuelle et non sur l'histoire difficile à examiner. Plus encore, l'ajout d'exigences supplémentaires plus tard est un mauvais style à mon humble avis. Ouvrez une nouvelle question pour cela. Avec les exigences à l'esprit, les gens auraient pu choisir une approche différente.
utilisateur inconnu

C'était juste une faute d'orthographe dans mon texte de question. Le sujet lui-même était correct. Dans le corps, j'ai écrit "plus jeune" au lieu de "plus vieux". Mon exemple de code n'a pas été modifié non plus. Mais fondamentalement, vous avez raison.
Bevor

Réponses:


10

Fichiers créés ou modifiés il y a moins de 48 heures
triés du plus récent au plus ancien:

find / -mtime -2 -printf "%T@" -ls | sort

J'ai trouvé %T@de man find: dernière heure de modification (secondes depuis l'époque)


J'aimerais voir la date des fichiers trouvés, pas seulement les fichiers eux-mêmes. J'ai également mis à jour la question, car il serait très utile de trier les résultats du plus récent au plus ancien.
Bevor

La dernière commande est ce que je recherche, merci.
Bevor

J'avais besoin de "plus jeune que" 2 jours, donc à partir d'aujourd'hui jusqu'à deux jours avant (ma question était erronée au début, j'ai écrit "plus vieux que", mon erreur) mais cela fonctionne quand je mets -2 au lieu de +2. Je ne l'ai pas testé sur ntfs maintenant, je dois attendre demain pour ça, mais je pense que ça marche là aussi (comme sur mon Ubuntu local). Sinon, je vous le ferai savoir.
Bevor

Fonctionne parfaitement :)
Bevor

Super :-D Rendez-vous
olibre

2

Si vous dirigez vers xargs, vous pouvez facilement ajuster les options de sortie / format lspour afficher la date, trier par date, etc.

find / -type f -mtime -2 -print0 | xargs -0 ls -lt


1

C'est plus facile dans zsh, grâce à ses qualificatifs glob .

print -l /**/*~/(proc|dev|sys)/*(m-2om)

Ceci répertorie tous les fichiers sous /, à l'exception des fichiers sous /procou /devou /sys, qui ont été modifiés au cours des 2 derniers jours ( m-2). Les fichiers sont répertoriés dans l'ordre chronologique inverse de l'heure de modification ( om), un par ligne ( print -l).

Si vous souhaitez également répertorier les métadonnées du fichier, vous n'avez pas besoin de trier dans le shell, mais uniquement de filtrer. Vous pouvez rencontrer une limite de longueur de ligne de commande dépendante de la plateforme s'il y a trop de fichiers correspondants.

ls -dlt /**/*~/(proc|dev|sys)/*(m-2)

Si vous souhaitez faire correspondre uniquement les fichiers normaux, ajoutez .à l'intérieur des parenthèses.

Avec seulement les outils POSIX, vous pouvez utiliser ls -dltpour le tri et findpour générer la liste des fichiers. Encore une fois, vous pouvez rencontrer une limite de longueur de ligne de commande dépendante de la plateforme s'il y a trop de fichiers correspondants. Si vous ne souhaitez faire correspondre que des fichiers normaux, ajoutez-les -type favant ou après mtime -2.

find / -mtime -2 -exec ls -dlt {} +

1

(Remarque: une phrase de la question demandait à l'origine des dates, plus anciennes que 2 jours dans le texte, alors que le titre l'inverse. La nécessité de trier la sortie a également été présentée plus tard).

find / -mtime -2 -ls 

Avec +2, vous voyez des fichiers de plus de 2 jours, avec -2 de moins de deux jours et avec seulement des fichiers de 2: 2 jours.

Avec -ls, vous obtenez une sortie de type ls -l, où vous pouvez consulter la date des fichiers.

find / -ctime -2 -ls 

Avec ctime au lieu de mtime, vous obtenez la date de création au lieu de la date de modification, mais selon les capacités et les paramètres des systèmes de fichiers dans / etc / fstab, cela peut ou peut ne pas fonctionner.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.