88 votes

Comment trouver un fichier accédé/créé il y a quelques minutes seulement

J'oublie toujours quel fichier j'ai édité il y a une minute, donc je saisis find . -cmin 1 ou une autre valeur, mais cela a fonctionné exactement 1 minutes. J'ai dû essayer find . -ctime 2 /*or 3,4...*/ .

Puis je trouve une autre approche qui est meilleure :

touch -t 12251134 empty /*similar format which 5 or 10 minutes ago */
find . -newer empty

Je peux utiliser date -d'-5minutes' +%m%d%H%M caculer le temps pour moi. Je veux savoir s'il existe un moyen simple de trouver les fichiers auxquels on a accédé il y a 1, 2 ou 3... minutes.

139voto

Rubens Points 6228

Il suffit de préciser si vous voulez que le temps soit supérieur, inférieur ou égal au temps que vous souhaitez, en utilisant, respectivement :

find . -cmin +<time>
find . -cmin -<time>
find . -cmin  <time>

Dans votre cas, par exemple, les fichiers dont la dernière édition remonte à un maximum de 5 minutes, sont donnés par :

find . -cmin -5

19voto

Sorpigal Points 10412

Si vous avez GNU find, vous pouvez également dire

find . -newermt '1 minute ago'

En t rend le "fichier" de référence pour newer devient une chaîne de date de référence du type que vous pourriez passer à GNU date -d qui comprend des spécifications de dates complexes comme celle donnée ci-dessus.

12voto

Tad Points 924

Pour trouver les fichiers accédés il y a 1, 2, ou 3 minutes, utilisez -3

find . -cmin -3

4voto

timidpueo Points 292

Si vous savez que le fichier se trouve dans votre répertoire courant, j'utiliserais :

ls -lt | head

Elle liste dans l'ordre vos fichiers et répertoires les plus récemment modifiés. En fait, je l'utilise tellement que je l'ai aliasé en 'lh'.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X