Посмотреть историю изменения файла linux

Содержание
  1. Как найти недавно модифицированные файлы в Linux
  2. Получить дату последнего изменения файла в Linux
  3. Получить дату последнего изменения файла в Linux с помощью команды date
  4. Получить дату последнего изменения файлов в Linux с помощью команды ls
  5. Узнать дату последнего изменения файла в Linux с помощью stat
  6. Заключение
  7. linux-notes.org
  8. Добавить комментарий Отменить ответ
  9. 🐧 Как узнать время и дату изменения файла в системах Linux
  10. Получение даты последнего изменения файла в Linux с помощью команды date
  11. Получение даты последнего изменения файла в Linux с помощью команды ls
  12. Получение даты последнего изменения файла в Linux с помощью команды stat
  13. Получение даты последнего изменения файла в Linux с помощью команды midnight commander
  14. Заключение
  15. Кунг-фу стиля Linux: наблюдение за файлами
  16. Команда tail
  17. Меньше — значит больше: полезные возможности команды less
  18. Наблюдение за файлами с помощью команды watch
  19. Использование текстового редактора для наблюдения за файлами
  20. Итоги

Как найти недавно модифицированные файлы в Linux

Зачастую требуется найти файлы, которые были модифицированы/созданы недавно, или за какой-либо промежуток времени. Например, администратор изменял настройки системы, но забыл, где он их сохранил. Или вы хотите проверить изменялись ли, и как, ваши файлы. Если вам необходимо найти недавно измененные файлы в linux, это можно сделать с помощью команды find.

Чтобы найти недавно модифицированные файлы, отсортированные в обратном порядке (то есть файл, измененный последним, будет показан первым), используется команда вида:

Вышеприведенная команда сортирует файлы в /etc (и поддиректориях) в обратном порядке по времени их изменения, и выводит отсортированный список вместе с их расположением в файловой системе и временем последнего изменения. Если вы также хотите проверить директории, опустите опцию «-type f».

Поиск файлов, которые были модифицированы в последние 60 минут в директории /target_directory и во всех ее поддиректориях:

Поиск файлов, которые были модифицированы в последние 2 дня в директории /target_directory и во всех ее поддиректориях:

Поиск файлов, которые были модифицированы в последние 2 дня в директории /target_directory и ее поддиректориях глубиной до 3 уровня:

Вы также можете задать диапазон времени модификации. Поиск файлов, которые были модифицированы в последние 7 дней, но не позднее чем 3 дня назад:

Все эти команды выводят только путь к найденным файлам. Вы можете также детализировать вывод информации с помощью опции «-exec».
Поиск файлов в директории /target_directory (и во всех ее поддиректориях), которые были модифицированы в последние 60 минут и вывод атрибутов файлов:

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

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

Источник

Получить дату последнего изменения файла в Linux

Главное меню » Debian » Получить дату последнего изменения файла в Linux

Получить дату последнего изменения файла в Linux с помощью команды date

Первый способ узнать дату последней модификации файла в Linux, описанный в этой статье, основан на команде date. Когда за датой команды следует флаг -r, он показывает нам дату последней модификации файла.

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

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

Получить дату последнего изменения файлов в Linux с помощью команды ls

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

Во-первых, давайте воспользуемся командой ls, за которой следует флаг -l , как показано на скриншоте ниже. Флаг -l указывает, что команда ls напечатать длинный список форматов файлов. Список длинных форматов включает дату последнего изменения файла.

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

Для упорядоченного вывода вы можете добавить флаг -t. Флаг -t распечатает вывод, упорядоченный по дате модификации, показывая сначала последние измененные файлы, как показано на следующем изображении.

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

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

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

Узнать дату последнего изменения файла в Linux с помощью stat

Третий метод получения даты последней модификации файла в Linux, описанный в этой статье, показывает, как использовать для этой цели команду stat.

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

Читайте также:  Пак обоев mac os x

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

Как видите, вывод ограничен датой последнего изменения.

Команда stat также позволяет нам проверять несколько файлов одновременно, как показано в примере ниже, в котором проверяются файлы с именами andreyex и andreyexfile.

Теперь мы получаем информацию о двух указанных файлах.

Заключение

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

linux-notes.org

Иногда, нужно найти все измененные файлы или папки в Unix/Linux ОС и в моей статье «Поиск последних измененных файлов/папок в Unix/Linux» я расскажу как это сделать.

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

Опция «-mtime -1» сообщает команде find искать модифицированные файлы за последние сутки (24 часа).
Опция «-print» сообщает «find» выводить файлы и их пути (где они лежат) и данную команду можно заменить на «-ls» если нужно вывести подробную информацию о файле.

Примеры:

Например нужно найти файлы, что были изменены за последние 30 минут в папке /home/captain:

И приведу пример подобного, но для папки:

Например нужно найти измененные файлы за 5 дней, но не включать в поиск вчерашний день (за последний день):

Для полного счастья, можно вывести время модификации и отсортировать по нему:

Чтобы ограничить уровень вложенности, добавьте параметр «-depth». Например, поиск с уровнем вложенности не более 3 папок:

Поиск файлов в /home/captain директории (и во всех ее подпапках) которые были изменены в течение последних 60 минут, и вывести их атрибуты:

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

Поиск последних измененных файлов/папок в Unix/Linux завершен.

Добавить комментарий Отменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Источник

🐧 Как узнать время и дату изменения файла в системах Linux

В этом туториале показаны 4 простых способа получения даты последнего изменения файла в Linux.

Прочитав это руководство, вы будете знать, как проверить дату последней модификации файла с помощью команд ls, date и stat и бонус метод с MC.

Получение даты последнего изменения файла в Linux с помощью команды date

Первый способ узнать дату последней модификации файла в Linux, описанный в этой статье, основан на команде date.

Когда за командой date следует флаг -r, она показывает нам дату последней модификации файла.

Следующий пример показывает синтаксис для использования команды date, где itisgood – файл, дату последней модификации которого я хочу вывести.

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

Для получения дополнительной информации о команде date посетите сайт https://man7.org/linux/man-pages/man1/date.1.html.

Получение даты последнего изменения файла в Linux с помощью команды ls

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

Сначала используем команду ls с флагом -l, как показано на скриншоте ниже.

Флаг -l указывает команде ls вывести список файлов в длинном формате.

Список в длинном формате включает дату последней модификации файла.

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

Четвертый столбец – размер.

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

В отличие от предыдущего метода с ls, вы получите список всех файлов в каталоге, включая даты их модификации.

Для упорядоченного вывода вы можете добавить флаг -t.

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

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

Команда ls также позволяет проверить дату последней модификации файла по отдельности; для этого просто укажите имя файла, как показано ниже.

Читайте также:  0хс000021а при установке windows 10

Получение даты последнего изменения файла в Linux с помощью команды stat

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

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

Как вы можете видеть, вывод показывает больше информации, чем предыдущие команды.

Важно различать даты модификации и изменения.

Строка с именем Modify показывает последний раз, когда файл был изменен.

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

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

Получение даты последнего изменения файла в Linux с помощью команды midnight commander

Вы также можете запустить mc в каталоге, где лежит нужный нам файл и посмотреть дату изменения:

Заключение

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

Ни один из описанных методов не имеет особых преимуществ; все они могут быть реализованы легко и без установки дополнительных пакетов.

Для этого руководства я использовал Debian, но все описанные здесь команды доступны во всех дистрибутивах Linux.

Все описанные команды имеют дополнительные возможности, о которых вы можете узнать, прочитав man-страницы, указанные в конце каждого раздела.

Источник

Кунг-фу стиля Linux: наблюдение за файлами

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

В случае с Linux проблема заключается в том, что иногда программы сообщают нам слишком много сведений о своей работе. Как найти в этом море информации именно то, что нужно? Когда киношный хакер сидит перед терминалом и смотрит на текст, прокручивающийся со скоростью 500 строк в секунду, выглядит это впечатляюще. Но в реальной жизни почти бесполезно изучать логи, выводимые на экран с такой скоростью. Хотя, если попрактиковаться, из этого потока информации можно иногда, рискуя ошибиться, выхватить какое-нибудь ключевое слово. Но задачу анализа логов в реальном времени это не решает.

Как и во многих других случаях, в Unix-подобных системах есть инструменты для решения вышеописанной задачи. И, что неудивительно, таких инструментов существует довольно много. Если вы, например, пользовались командой tail , то вы уже видели один из таких инструментов. Но tail — это лишь вершина айсберга.

Давайте рассмотрим пример анализа файла, который можно назвать «матерью всех логов». Это — /var/log/syslog . Попробуйте вывести его на экран с помощью команды cat или less (я, в своих системах, всегда создаю псевдоним more для команды less , поэтому если я вдруг упомяну команду more — знайте, что я имею в виду less ). Этот файл, вероятнее всего, будет очень большим, его размеры будут постоянно расти. В обычной настольной системе он ведёт себя довольно спокойно, но в некоторых старых системах и на серверах в нём можно увидеть последствия бурной деятельности разных программ. В любом случае, за исключением тех ситуаций, когда система только что загружена, в нём будут многие страницы данных.

Хакерский подход к анализу логов

Поиск информации, которая уже присутствует в этом файле, особых сложностей не вызывает. Тут можно воспользоваться grep , или можно загрузить копию файла в текстовый редактор. Проблема заключается в анализе свежей информации. Попробуйте подключить USB-устройство к системе (или отключите его от неё). Вы увидите, как в syslog появились новые записи. А что если в него постоянно добавляются десятки сообщений? Как за ними уследить?

И эта проблема характерна далеко не только для файла syslog . Например, интересно может быть наблюдать за файлом листинга в ходе выполнения долгой компиляции кода. То же относится и к наблюдению за перестроением RAID-массива. В общем-то, в Linux всегда можно найти некий большой файл, постоянно пополняемый свежими сведениями, за которым нужно понаблюдать.

Команда tail

Традиционный подход к наблюдению за файлами, постоянно пополняемыми информацией, заключается в использовании команды tail . Она берёт большой файл и возвращает лишь некоторое количество его последних строк. Эту команду можно вызвать с опцией -f . Тогда она будет ждать появления в файле новых данных и выводить их. Эта опция весьма полезна для наблюдения за файлами, в которые постоянно добавляется что-то новое. Опция -F приводит к практически такому же эффекту, но благодаря ей tail , если не может сразу открыть файл, будет продолжать пытаться открыть его. С помощью опции -m можно задавать количество выводимых последних строк файла, а с помощью опции -c — количество байтов. Опция -s позволяет задавать частоту проверки изменений файла.

Читайте также:  Надо или нет обновлять windows

Как по мне, так всё это выглядит очень даже хорошо. Попробуйте такую команду:

Вы увидите несколько строк из конца файла системного журнала. А если подключить к компьютеру USB-устройство или отключить такое устройство от компьютера, можно увидеть, как сведения, попавшие в журнал, практически мгновенно выводятся на экране. Повторно запускать tail при этом не нужно.

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

Меньше — значит больше: полезные возможности команды less

У команды less есть опция +F , которая превращает эту команду в хорошую замену команды tail . На самом деле, если вы испытаете команду, приведённую ниже, вас может посетить мысль о том, что результаты её работы не очень-то и отличаются от результатов работы tail . Вот эта команда:

Вот как вывод этой команды выглядит на моём компьютере.

Результаты работы команды less

Обратите внимание на то, что в нижней части экрана имеется надпись Waiting for data… . В данный момент утилита less работает практически так же, как и tail . Но если нажать CTRL+C — произойдёт кое-что интересное. Ну — что-то, возможно, и произойдёт. Попробуйте. Если less переходит в командный режим — значит всё в порядке. Теперь можно заниматься всем тем, чем обычно занимаются, просматривая файлы с помощью less . Если же по нажатию CTRL+C работа less прекратится, это будет означать, что ваш Linux-дистрибутив «помог» вам, установив некоторые стандартные опции less с использованием переменной окружения LESS . Попробуйте такую команду:

Если вы увидите, что в списке опций имеется —quit-on-intr , это будет значить, что проблема заключается именно в данной строке. Её надо убрать. После этого переключиться в командный режим можно с использованием CTRL+C . Это, кроме того, означает, что вам нужно запомнить, что для выхода из less используется команда q . Если вы вышли из режима наблюдения за файлом и хотите снова в него вернуться — просто нажмите F .

Если вы пользуетесь less в обычном режиме (то есть — не использовали при запуске утилиты опцию +F ), вы можете нажать клавишу F на клавиатуре для перехода в «tail-режим». А ещё интереснее то, что, нажав ESC-F можно в этом режиме что-то искать, при этом, если в поступающих данных найдётся совпадение с тем, что вас интересует, система вам об этом сообщит.

Команду less можно ещё использовать с ключом —follow-name . Это позволит добиться того же эффекта, что и использование опции -F команды tail .

Наблюдение за файлами с помощью команды watch

Иногда файл, за которым нужно наблюдать, не пополняется новыми данными, добавляемыми в его конец, а просто иногда меняется. Например, это файл /proc/loadavg или многие другие файлы из директории /proc . Использование команд tail или less не особенно хорошо подходит для наблюдения за такими файлами. Тут нам на помощь придёт команда watch :

Результат выполнения команды watch

Эта команда вызывает cat каждые 5 секунд и аккуратно выводит результат. Команда watch поддерживает множество полезных опций. Например, опция -d позволяет выделять отличия, а -p позволяет задействовать высокоточный таймер. Опция -c включает поддержку цвета.

Использование текстового редактора для наблюдения за файлами

Возможно, используемый вами текстовой редактор поддерживает tail-режим. При работе с emacs , например, есть несколько способов это организовать. Не буду рассказывать о том, как это сделать. Просто порекомендую вам эту отличную статью. Я не отношу себя к экспертам в области vim , но полагаю, что если вы пользуетесь этим редактором и хотите наблюдать за файлами, вам понадобится специальный плагин.

Если вы не ищете лёгких путей, то вам, возможно, подойдёт инструмент наподобие lnav, который сделан специально для просмотра логов. Просмотрщики журналов имеются, кроме того, в KDE и Gnome.

Итоги

Как это обычно бывает в Linux и Unix, у задачи организации наблюдения за файлами есть множество решений. Какое из этих решений «лучше» других? У каждого будет собственный ответ на этот вопрос. Именно это и делает Linux системой, привлекательной для продвинутых пользователей. Каждый из них может выбрать именно то, что подходит ему лучше всего.

Те команды, о которых мы говорили, могут пригодиться и тем, кто пользуется настольным дистрибутивом Linux, и тем, кто работает с серверами или с Raspberry Pi.

Как вы наблюдаете за постоянно изменяющимися файлами в Linux?

Источник

Оцените статью