Поиск файлов, созданных в определенную дату

Можно ли найти файлы, созданные в определенную дату? Я не помню имя файла, но знаю дату, когда он был создан. Я использую Windows 7.


Если вы используете ОС Windows, есть отличный бесплатный клон Norton Commander с открытым исходным кодом, который может сделать это:

FAR Manager
http://www.farmanager.com/

В функции поиска (нажмите Alt-F7) вы можете включить «Использовать фильтр», затем определить новый фильтр с помощью опции «Фильтр». В меню «Фильтр» нажмите «Вставить», чтобы создать новый фильтр, и вы увидите диалоговое окно, в котором можно указать метку времени создания, измененную метку времени и т. Д.

Если вы используя Unix/Linux, есть аналогичный инструмент под названием Midnight Commander, в котором, я уверен, есть и такие функции поиска, также доступны.


Откройте окно исследования, перейдите в корень вашего HD (или подпапку, в которой, как вы думаете, вы знаете, где может находиться файл на вашем HD), и введите ‘datecreated: 3/1/2011 ‘в поле поиска [замените 3/1/2011 соответствующей датой]. Это вернет любой файл/папку, измененные в указанную дату.

2



Как получить дату/время создания файла в Bash/Debian?

Я использую Bash в Debian GNU/Linux 6.0. Можно ли узнать дату/время создания файла? Не дату/время модификации. ls -lh a.txt и stat -c% y a.txt оба дают только время модификации.


К сожалению, ваш квест будет невозможен в целом, так как для каждого из ваших файлов хранятся только 3 различных значения времени, как определено стандартом POSIX (см. раздел «Базовые определения» 4.8 Время файлов Update)

Каждый файл имеет три различных связанных отметки времени: время последнего доступа к данным, время последнего изменения данных и время последнего изменения статуса файла. Эти значения возвращаются в структуре характеристик файла struct stat , как описано в .

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


  ls -i file #output для меня 68551981debugfs -R 'stat  '/dev/sda3 #/dev/sda3 - это диск, на котором существует файл # результаты - значение crtime [root @ loft9156 ~] # debugfs -R' stat  '/dev/sda3debugfs 1.41. 12 (17 мая 2010 г.) Inode: 68551981 Тип: обычный Режим: 0644 Флаги: 0x80000 Генерация: 769802755 Версия: 0x00000000: 00000001 Пользователь: 0 Группа: 0 Размер: 38973440 ACL файла: 0 ACL каталога: 0 Ссылки: 1 Количество блоков: 76128 Фрагмент: Адрес:  0 Число: 0 Размер: 0 ctime: 0x526931d7: 1697cce0 - Чт 24 октября 16:42:31 2013 atime: 0x52691f4d: 7694eda4 - Четверг 24 октября 15:23:25 2013 mtime: 0x526931d7: 1697cce0 - Чет 24 октября 16  : 42: 31 2013 ** crtime: 0x52691f4d: 7694eda4 - Thu Oct 24 15:23:25 2013 ** Размер дополнительных полей inode: 28EXTENTS: (0-511): 352633728-352634239, (512-1023): 352634368  -352634879, (1024-2047): 288392192-288393215, (2048-4095): 355803136-355805183, (4096-6143): 357941248-357943295, (6144-9514): 357961728-357965098  

6


Ответ Миккиры хороший. точно так, как он сказал.

  [jason @ rh5 test] $ stat test.txt Файл: `test.txt 'Размер: 0 Bl  ocks: 8 Блок ввода-вывода: 4096 обычных пустых файлов Устройство: 802h/2050d Inode: 588720 Ссылки: 1 Доступ: (0664/-rw-rw-r--) Uid: (500/jason) Gid: (500/jason) Доступ: 2013  -03-14 01: 58: 12.000000000 -0700 Изменение: 2013-03-14 01: 58: 12.000000000 -0700 Изменение: 2013-03-14 01: 58: 12.000000000 -0700  

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

2


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

1


Дата/время создания обычно не сохраняется. Так что нет, нельзя.


94490 menus.xml Здесь число 94490 представляет индексный дескриптор

Затем выполните:

  Размер файловой системы, используемый Доступность Использование% Установлено на/dev/mapper/vg-root 4.0G 3.4  G 408M 90%/tmpfs 1.9G 0 1.9G 0%/dev/shm/dev/sda1 124M 27M 92M 23%/boot/dev/mapper/vg-var 7.9G 1.1G 6.5G 15%/var   

Чтобы найти точку монтирования корневой файловой системы «/», поскольку файл menus.xml находится в ‘/’, то есть ‘/dev/mapper/vg-root’

Результат может быть таким, как показано ниже:

  debugfs 1.41. 12 (17 мая 2010 г.) Inode: 94490 Тип: обычный Режим: 0644 Флаги: 0x0 Генерация: 2826123170 Версия: 0x00000000 Пользователь: 0 Группа: 0 Размер: 4441 ACL файла: 0 ACL каталога: 0 Ссылки: 1 Количество блоков: 16 Фрагмент: Адрес: 0 Число  : 0 Размер: 0ctime: 0x5266e438 - среда 23 октября 09:46:48 2013atime: 0x5266e47b - среда 23 октября 09:47:55 2013mtime: 0x5266e438 - среда 23 октября 09:46:48 2013 Размер дополнительных полей inode: 4Extended  атрибуты, хранящиеся в теле inode: selinux = "unlimited_u: object_r: usr_t: s0  000" (31) БЛОКИ: (0-1): 375818-375819TOTAL: 2  

Где вы можно увидеть время создания:

  ctime: 0x5266e438 - среда, 23 октября, 09:46:48 2013  

2


Вы можете узнать время создания — или время рождения — используя stat , а также сопоставить используя find .
У нас есть эти файлы, показывающие время последнего изменения:

  $ ls -l --time-style =  лонг-изо |  sort -k6total 692-rwxrwx --- + 1 XXXX XXXX 249159 31.05.2013 14:47 Начало работы.pdf-rwxrwx --- + 1 XXXX XXXX 275799 30.12.2013 21:12 TheScienceofGettingRich.pdf-rwxrwx-  - + 1 XXXX XXXX 25600 2015-05-07 18:52 Thumbs.db-rwxrwx --- + 1 XXXX XXXX 148051 2015-05-07 18:55 AsAManThinketh.pdf  

Чтобы найти файлы, созданные в течение определенного периода времени, используйте find , как показано ниже.
Очевидно, файловая система знает время рождения файла:

  $ find -newerBt '2014-06-13'!  -newerBt '2014-06-13 12:16:10' -ls 20547673299906851 148 -rwxrwx --- 1 XXXX XXXX 148051 7 мая 18:55 ./AsAManThinketh.pdf1407374883582246 244 -rwxrwx --- 1 XXXX XXXX 249159 31 мая 2013 г.  ./Getting  Started.pdf  

Мы можем подтвердить это с помощью stat:

  $ stat -c  «% w% n» * |  sort2014-06-13 12: 16: 03.873778400 +0100 AsAManThinketh.pdf2014-06-13 12: 16: 04.006872500 +0100 Getting Started.pdf2014-06-13 12: 16: 29.607075500 +0100 TheScienceofGettingRich.pdf2015-05-07 18:  32: 26.938446200 +0100 Thumbs.db  

stat справочные страницы объясняют% w:

 % w время рождения файла, читается человеком;  - если неизвестно  

2


Как объяснил @mikyra, дата создания время нигде не сохраняется.

Все вышеперечисленные методы хороши, но если вы хотите быстро получить только дату последнего изменения, вы можете ввести:

  ls -lit/path  

с параметром -t вы перечисляете все файлы в/пути, упорядоченные по дате последнего изменения.


Если вы действительно хотите добиться этого, вы можете использовать наблюдатель файлов, например inotifywait .

Вы смотрите каталог и сохраняете информацию о создании файлов в отдельном файле вне этого каталога.

  пока истина;  do change = $ (inotifywait -e close_write, move_to, create.) change = $ {change #./*} if ["$ change" = ". *"];  затем ./scriptToStoreInfoAboutFile;  fidone  

Поскольку время создания не сохраняется, вы можете создать свою собственную систему на основе inotify.


Цитируется по https://unix.stackexchange.com/questions/50177/birth-is-empty-on-ext4/131347#131347, следующее shellscript будет работать, чтобы получить время создания:

  get_crtime () {для цели в "$ {@}";  do inode = $ (stat -c% i "$ {target}") fs = $ (df "$ {target}" | tail -1 | awk '{print $ 1}') crtime = $ (sudo debugfs -R '  stat  '"$ {fs}" 2>/dev/null | grep -oP' crtime. * -  s *  K. * ') printf "% s  t%  s  n "" $ {target} "" $ {crtime} "done}  


даже лучше:

  lsct () {debugfs -R 'stat '` df "$ 1" |  (читать a; читать b; эхо "$ a") `2>/dev/null |  grep --color = auto crtime |  (прочтите abcd; echo $ d)}  

Ср 20 июля, 19:25:48 2016


Еще одна уловка, которую можно добавить в ваш арсенал, заключается в следующем:

  $ grep -r "Copyright" //src  

Вообще говоря, если кто-то изменяет файл, он должен заявить о себе в разделе «Авторские права». Изучите результаты на предмет дат, имен файлов, участников и контактного адреса электронной почты.

пример результата grep:

 //src/someobject.  h: * Copyright 2007-2012   (at) >  

Оцените статью
clickpad.ru
Добавить комментарий