Время создания

Время создания, доступа и изменения файла: что это, как их узнать и изменить. Как найти файлы по их времени создания, изменения или последнему открытию

Время создания

Всё началось с того, что я заинтересовался, как найти в системе файлы созданные или изменённые за определённый промежуток времени. Например, как узнать, какие файлы в папке /etc были изменены за последний день или за последнюю неделю?

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

  • Доступ
  • Модифицирован
  • Изменён
  • Создан

Чтобы понимать, что именно мы нашли, нужно чётко знать разницу между этими свойствами файла.

Именно этому и посвящена данная статья, в ней будет рассказано:

  • как посмотреть время изменения файла и чем время изменения отличается от времени модификации файла
  • как узнать, когда файл последний раз открывали
  • как узнать время создания файла в Linux
  • как поменять время доступа, модификации и изменения файла.
  • как поменять время создания файла в Linux и возможно ли это вообще
  • как найти файлы, которые недавно были изменены или открыты
  • как найти файлы, которые открывали, редактировали или создавали в определённый день или определённое время назад

Все эти вопросы имеют практический смысл: от простого домашнего использования — поиск файла, для которого мы не помним имя, но для которого помним время создания; до серьёзного профессионального — появление новых файлов на сервере, либо недавние модификации важных файлов, могут свидетельствовать о взломе системы или неавторизованном доступе, могут помочь при расследовании подобных случаев для понимания событий произошедшего. Либо быть применены с противоположными мотивами — что и как нужно поменять в метках времени, чтобы снизить возможности криминалистического исследования.

Итак, приступим!

Временные метки файла в файловой системе и в метаданных

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

Кроме как в свойствах файла в файловой системе, временные метки могут храниться в метаданных самого файла.

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

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

Для изображений в EXIF метаданных также могут содержаться независимая от файловой системы информация о времени создания файла.

Нельзя ни в коем случае забывать о метаданных если ваша цель отредактировать метки времени! Для доступа/редактирования к метаданным используются различные приложения и эти вопросы не входят в тему данной статьи. Данная статья посвящена меткам времени файлов и папо, которые хранит файловая система.

Как посмотреть время создания, редактирования и открытия файла в Linux

Сразу все временные метки файла можно посмотреть с помощью команды stat. Запуск очень простой:

stat ИМЯ_ФАЙЛА

Например, я хочу узнать информацию о файле prog.txt:

stat prog.txt

Пример вывода:

Файл: prog.txt Размер: 7025 Блоков: 16 Блок В/В: 4096 обычный файл Устройство: 10302h/66306d Инода: 3952903 Ссылки: 1 Доступ: (0644/-rw-r—r—) Uid: ( 1000/ mial) Gid: ( 985/ users) Доступ: 2019-07-08 11:47:18.805871040 +0300 Модифицирован: 2019-06-29 12:24:38.361677946 +0300 Изменён: 2019-06-29 12:24:38.361677946 +0300 Создан: 2019-06-29 12:24:11.448251338 +0300

С временем создания всё понятно — это когда файл был создан. Между прочим, эту информацию программа stat стала показывать довольно недавно.

До этого на вопрос «как узнать время создания файла?» знатоки отвечали, что ядро Linux это не поддерживает.

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

Выше показан вывод для команды на файловой системе ext4. Для файловой системы ext2 дата создания файла по-прежнему недоступна:

stat /boot/initramfs-linux.img

Теперь давайте разберёмся, что означают другие метки времени в Linux.

Что такое время доступа к файлу, время модификации файла и время изменения файла в Linux

Метки времени (timestamps):

Доступ (Access — last access) — время, когда файл был прочитан последний раз. Это время меняется при доступе таких системных вызовов как mknod(2), utimes(2) и read(2). Если это текстовый файл, то дата последнего доступа обновляется при каждом его открытии. Если это исполнимый файл, то дата доступа обновится при его запуске.

Но прежде чем придумывать практическое использование времени последнего доступа к файлу (например, чтобы проверить, какие команды запускалась за последний час), нужно учитывать очень важные нюансы. Выше показано, что поддержка определённых меток времени зависит от файловой системы.

Ещё поведение меток времени зависит от того, с какими опциями была смонтирована файловая система. Например, при запуске скрипта мы ожидаем, что время доступа к этому файлу изменится на текущее.

Это так — для выполнения скрипта его нужно прочитать и atime должна поменяться на время выполнения. Обычно это так и происходит.

 Но если запускаемый/читаемый файл находится в файловой системе, которая смонтирована с опциями noatime или relatime (или другими возможными опциями, которые могут повлиять на изменение atime — к пример «только чтение»), то поведение будет другим.

noatime

Не обновлять на этой файловой системе время доступа к иноде (например, для ускорения производительности за счёт исключения ненужных операций)

relatime

Обновлять время доступа к иноде относительно времени модификации или изменения. Время доступа обновляется только если предыдущее время доступа было более старым, чем время модификации или изменения, либо если предыдущее время доступа старше 1 дня.

Итак — время последнего доступа к файлу может быть неточным! По сути, если при монтировании диска используется опция relatime, то получается, что оно показывает:

1) время последнего изменения или модификации файла

2) время сегодняшнего первого открытия файла

3) ИНОГДА оно действительно показывает время последнего доступа к файлу (если сегодня файл открывали только один раз), либо если этот доступ к файлу выполнен после его модификации или изменения статуса

Модифицирован (Modify — last modified) — время последнего изменения содержимого файла. То есть если это текстовый файл, то время модификации поменяется когда вы его откроете и удалите какое-то слово или что-то допишите. Меняется системными вызовами mknod(2), utimes(2) и write(2).

Изменён (Change — last changed) — Время последнего изменения метаданных файлов в файловой системе.

То есть если в файле изображения вы измените EXIF метаданные — это будет модификация (поскольку по сути поменяется содержимое файла).

Примером Изменения файла является смена разрешений доступа к нему (чтение, запись, выполнение), смена владельца, группы и т. д. Меняется с chmod(2), chown(2), link(2), mknod

Что такое время доступа, время модификации и время изменения директории в Linux

Посмотреть метки времени папки можно также с помощью команды stat:

stat /путь/до/папки

Например, чтобы посмотреть информацию о текущей папке:

stat .

Для папок время последнего доступа обновляется при просмотре списка файлов внутри неё. Действуют такие же правила, как и для файлов — зависит от опций, с которыми смонтирована файловая система.

При создании или удалении нового файла внутри директории, при модификации содержимого или изменении свойств файла внутри папки, одновременно обновляется и время изменения, и время модификации данной папки.

Если запустить команду ls с опцией -l, то она покажет последнее время модификации содержимого файла (или директории). Используя опцию —time можно вызвать показ других меток времени:

—time=СЛОВО с параметром -l, показывать вместо времени изменения время, заданное СЛОВОМ: atime — время последнего доступа ctime — время последнего изменения

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

Если добавить опцию —sort=time, то будет также выполнена сортировка по выбранной метки времени.

Имеется несколько сокращённых опций:

-u с -lt: сортировать и показывать время доступа; c -l: показывать время доступа и сортировать по имени; иначе сортировать по времени доступа, сначала самые новые -t сортировать по времени изменения, сначала самые новые -c с -lt: сортировать и показывать по ctime (времени последнего изменения файла); с -l: показывать ctime и сортировать по имени; иначе: сортировать по ctime, сначала самые новые

Можно выбрать формат времени:

—time-style=TIME_STYLE формат даты/времени с -l; смотрите описание TIME_STYLE ниже

Значением TIME_STYLE могут быть: full-iso, long-iso, iso, locale или +ФОРМАТ.

Значение ФОРМАТа как в date(1). Если значение ФОРМАТа равно ФОРМАТ1ФОРМАТ2, то ФОРМАТ1 применяется не к последним файлам, а ФОРМАТ2 к новым. Если TIME_STYLE начинается с «posix-», то он применяется только для локалей отличных от POSIX. Также, используемый стиль по умолчанию задаёт переменная окружения TIME_STYLE.

Есть сокращение популярного варианта:

—full-time синоним -l —time-style=full-iso

Поиск и сортировка файлов по времени модификации, доступа и изменения

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

Кстати, настоятельно рекомендуется к изучению следующий материал по команде find:

С помощью команды find можно настроить очень гибкий поиск и вывод результатов.

Предположим, я хочу просмотреть файлы в папке /etc отсортированные по дате модификации:

find /etc -type f -printf '%TY-%Tm-%Td %TT %p' | sort -r

Аналогично, но файлы отсортированы по дате доступа:

find /etc -type f -printf '%AY-%Am-%Ad %AT %p' | sort -r

И снова аналогичный пример, но файлы отсортированы по времени изменению статуса:

find /etc -type f -printf '%CY-%Cm-%Cd %CT %p' | sort -r

В команде find вы можете настроить формат даты под свои нужды, а также указать любые фильтры, которые она поддерживает. Например, ниже команда для показа файлов, отсортированных по дате модификации, но только тех из них, у которых в имени встречается ssh:

find /etc -type f -name '*ssh*' -printf '%TY-%Tm-%Td %TT %p' | sort -r

Или только файлов с расширением .desktop:

find /etc -type f -name '*.desktop' -printf '%TY-%Tm-%Td %TT %p' | sort -r

Или любых файлов, отсортированных по дате доступа, но только первых 20:

find /etc -type f -printf '%AY-%Am-%Ad %AT %p' | sort -r | head -n 20

Поиск файлов по времени изменения

Для этого мы опять будем использовать команду find. Для поиска по времени у неё есть следующие опции:

-amin n

Последний раз к файлу был совершён доступ n минут назад.

-atime n

К файлу был совершён доступ n*24 часов назад. Когда find определяет, как много 24-часовых периодов назад к файлу был совершён доступ, любая дробная часть игнорируется, поэтому для соответствия -atime +1 к файлу должен быть сделан доступ по крайней мере два дня назад.

-cmin n

Статус файла был изменён последний раз n минут назад.

-ctime n

Последний раз статус файла был изменён n*24

Источник: https://HackWare.ru/?p=9186

Как проверить возраст сайта и узнать дату регистрации домена

Время создания

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

Нередко, говоря о возрасте сайта, подразумевают доменное имя. Однако дата регистрации сайта — не всегда достоверный показатель возраста ресурса.

О том, как узнать, когда создан сайт и какими онлайн-сервисами для этого лучше воспользоваться, читайте ниже.

На что влияет возраст сайта

Официальные представители поисковых систем не раз заявляли о том, что возраст не является первостепенным фактором ранжирования в поиске. При этом вебмастера экспериментальным путем неоднократно подтверждали, что:

  • индексация страниц на возрастных ресурсах происходит гораздо быстрее;
  • сайт с возрастом развивать проще и выгоднее, чем запускать новый проект с нуля.
  • чем старше сайт, тем он авторитетнее и тем проще зарабатывать на нем;

Знание о том, в каком году создан сайт в конкретной нише, количество проиндексированных на нем страниц и его посещаемость, помогают достаточно быстро и точно оценить его потенциал. Это бывает необходимо не только при покупке чужого проекта, но и при выборе ниши для проекта собственного.

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

Как узнать дату создания сайта

Приведу ниже небольшой список сервисов, позволяющих узнать возраст сайта онлайн, одним нажатием кнопки. Часть из них англоязычные. На некоторых, возможно, потребуется ввод капчи. Но все они просты и интуитивно понятны.

Сервисы анализа сайтов

Предоставляют по запросу немало интересной и полезной информации о любом интернет-ресурсе: от даты его регистрации и количества проиндексированных страниц в Гугле и Яндексе до позиций ключевых фраз в поиске и анализа ссылочной массы. Из наиболее мощных инструментов, которыми периодически пользуюсь для онлайн-анализа, могу порекомендовать следующие:

  • XTOOL (сервис)
  • PR-CY (сервис)

Массово проверить возраст сайта и другие основные характеристики можно с помощью следующих онлайн-инструментов:

  • pr-cy.ru (массовая проверка)
  • majento.ru (массовая проверка)
  • analizsaita.com (массовая проверка)
  • bulkseotools.com (массовая проверка)

Еще пара инструментов, целью которых является исключительно определение возраста:

  • SeoLik (проверить возраст сайта)
  • BE1 (проверить возраст сайта)

Так как число доменных зон сегодня исчисляется уже не десятками, а сотнями, и каждый год появляются все новые, не исключено, что часть представленных сервисов будет не в состоянии проверить дату регистрации сайта для каких-то доменных зон. В этом случае будет правильнее обратиться к одному из крупных зарубежных whois-сервисов. Для проектов в основных доменных зонах (ru, com, info, net и т.п.) проблем с онлайн-анализом быть не должно.

Whois-сервисы

Предоставляют наиболее полную информацию о регистраторе, администраторе, хостинге (кроме скрытых администратором домена данных) по отдельно взятому домену. Среди этих данных присутствуют дата регистрации домена и дата окончания его делегирования. Несколько whois-сервисов из топа выдачи, помогающих узнать о сайте по имени домена или IP-адресу:

  • WHOis.net (ссылка)
  • WHOIS.RU (ссылка)
  • WhiteWhois (ссылка)
  • WhoisService (ссылка)
  • 2Whois (ссылка)

При использовании сервиса следует обращать внимание на то, с какими доменными зонами он работает. Я предпочитаю пользоваться русскоязычными анализаторами, способными предоставлять данные не только о доменах в наиболее распространенных международных зонах, но и о кириллических доменах (присутствует punycode-конвертация) — порой требуется и это.

Регистраторы доменных имен

Показывают те же данные из whois — иногда в более понятном виде. В настоящее время этот инструмент можно найти на главной странице любого регистратора:

  • REG-RU (информация о домене)
  • RU-CENTER (информация о домене)
  • R01 (информация о домене)

Некоторые регистраторы (например, REG-RU) предлагают получить о домене дополнительную информацию: полную историю домена и всех его хостингов. Разумеется, за дополнительную плату.

Чем удобнее пользоваться — одним из независимых whois-сервисов или whois-сервисом от аккредитованного регистратора доменных имен, вы выбираете самостоятельно — это, скорее, дело привычки, и на достоверности получаемых данных никак не отражается.

Необходимо также понимать, что говоря о дате регистрации сайта, чаще всего подразумевают именно дату регистрации домена, на котором расположен сайт. Возраст сайта и домена — не всегда одинаков.

Возраст домена и реальный возраст сайта

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

За примером далеко ходить не нужно, у меня подобных пустующих доменов с возрастом от 3 до 7 лет несколько штук — продлеваю их ежегодно из-за короткого или красивого доменного имени, в надежде, что когда-нибудь они пригодятся для старта очередного проекта, самые старые из них бросать уже просто жаль.

Кроме того, в сети существуют онлайн-сервисы (тот же Mutagen, например), на которых не составляет труда приобрести домены без истории с приличным возрастом. Возрастными доменами торгуют на собственных аукционах и многие регистраторы. Созданный на таком домене проект, по вполне понятным причинам, будет гораздо «моложе», чем его доменное имя.

В случае с покупкой домена, имеющего возраст, с аукциона регистратора или у киберсквотеров, никакой гарантии «чистоты» доменного имени нет. Поэтому желательно до совершения сделки проверить историю домена на специализированном сервисе, например, здесь.

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

Как же узнать дату создания сайта, если онлайн-ресурс значительно моложе или старше домена, на котором располагается? Прояснить ситуацию этом случае помогут простые способы:

  1. Наиболее очевидным и быстрым способом является внимательный визуальный осмотр главной страницы интернет-ресурса. Раньше год запуска сайта вебмастера традиционно отображали в футере (подвале). Находиться такая информация может и на страницах «О сайте / о проекте» и «Сотрудничество / Рекламодателям», ссылки на которые будут на главной.
  2. С определенной степенью достоверности на реальный возраст указывает дата создания первой страницы сайта — наиболее ранней по времени публикации. В большинстве случаев добраться до нее несложно с помощью меню постраничной навигации. Если удастся узнать, когда создана страница сайта, можно считать задачу решенной. Понятно, что этот вариант подходит лишь в случае, когда временные метки, которые могут служить ориентирами, присутствуют в структуре страниц и комментариев.
  3. Когда перечисленные манипуляции не дают желаемого результата или результат сомнителен,  можно обратиться напрямую в администратору ресурса через контактную форму или форму комментариев, например, с вопросом о размещении рекламы и просьбой «озвучить» основные параметры сайта, в том числе и его возраст. Как правило, подобные данные не являются коммерческой тайной и, если администратор (вебмастер) заинтересован в сотрудничестве, он с радостью предоставит их в приватной переписке.
  4. Попытаться узнать, как давно создан сайт, можно косвенным методом — через историю сайта в Вебархиве, посмотрев на дату самого раннего «снимка». Именно попытаться, так как подобная информация доступна не для каждого ресурса. Некоторые вебмастера, на покупаемых в личных целях доменах размещают специальный код, запрещающий поисковым ботам Вебархива индексировать страницы — это один из способов защитить контент.

Заключение

Надеюсь, что представление о том, как проверить возраст сайта и узнать дату регистрации домена, вы получили.

Дело за малым: выбрать несколько интересующих вас ресурсов и попрактиковаться в работе с приведенными в статье инструментами, каждый выбранный сайт проверить на возраст домена и попытаться узнать, когда создан сайт — с помощью онлайн-сервисов или вручную. Мне лишь остается пожелать успеха в практике.

В завершение предлагаю посмотреть/послушать необычное исполнение одного из хитов «AC/DC» струнным дуэтом «Mozart Heroes» и зарядиться позитивом:

Расскажите об этой статье в соцсетях:

Источник: http://vervekin.ru/kak-proverit-vozrast-sajta-i-uznat-datu-registracii-domena.html

Book for ucheba
Добавить комментарий