Подтвердить что ты не робот

Как найти все файлы, которые были созданы сегодня в Unix/Linux?

Как найти все файлы, которые были созданы только сегодня, а не через 24 часа в unix/linux

4b9b3361

Ответ 1

В моей системе Fedora 10 с findutils-4.4.0-1.fc10.i386:

find <path> -daystart -ctime 0 -print

Флаг -daystart сообщает ему рассчитать с начала сегодняшнего дня, а не с 24 часов назад.

Обратите внимание, однако, что это будет фактически список файлов, созданных или измененных в последний день. find не имеет параметров, которые смотрят на настоящую дату создания файла.

Ответ 2

find . -mtime -1 -type f -print

Ответ 3

Чтобы найти все файлы, которые были изменены только сегодня (только с начала дня, т.е. 12 часов утра), в текущем каталоге и его подкаталогах:

touch -t `date +%m%d0000` /tmp/$$
find . -type f -newer /tmp/$$
rm /tmp/$$

Источник

Ответ 4

Вы не можете. Ответ @Alnitak - это лучшее, что вы можете сделать, и даст вам все новые файлы за период проверки, но -ctime фактически проверяет время модификации файла inode (дескриптор файла), и поэтому также поймает любой более старые файлы (например), переименованные в последний день.

Ответ 5

Просто имейте в виду, что между августом и 26. есть 2 пробела. Другая мудрая команда find не будет работать.

find . -type f -exec ls -l {} \; |  egrep "Aug 26";

Ответ 6

Если вы сделали что-то вроде случайно rsync'd в неправильном каталоге, приведенные выше предложения работают, чтобы найти новые файлы, но для меня проще всего было подключиться к клиенту SFTP, например Transmit, а затем упорядочить по дате и удалить.

Ответ 7

Вы можете использовать find и ls для этого:

find . -type f -exec ls -l {} \; |  egrep "Aug 26";

Он найдет все файлы в этом каталоге, отобразит полезную информацию (-l) и отфильтрует строки с какой-то определенной датой... Это может быть немного медленнее, но при этом полезно в некоторых случаях.