MyTetra Share
Делитесь знаниями!
Как в Linux найти последние добавленные (отредактированные) файлы
Время создания: 28.04.2015 09:25
Текстовые метки: linux, find, файл, поиск, последний, модифицированный, измененный, добавленный, отредактированный
Раздел: Компьютер - Linux - Bash - Команды и скрипты
Запись: xintrea/mytetra_syncro/master/base/14302023046ueajv4kme/text.html на raw.github.com

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

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

find /data/smb/Свалка -type f -printf '%TY-%Tm-%Td %TT %p\n' | sort -r


Ответ будет примерно таким:


2012-09-14 22:25:14.0000000000 /etc/shadow

2012-08-17 00:56:36.0000000000 /etc/resolv.conf
2012-08-16 23:22:57.0000000000 /etc/ld.so.cache
2012-08-16 23:22:29.0000000000 /etc/mtab
2012-08-16 23:22:04.0000000000 /etc/network/run/ifstate
2012-07-10 01:19:24.0000000000 /etc/papersize

Внимание! В Putty при копировании команды в буфер обмена и последующей вставке в консоль Linux, пропадают символы %. Требуется ручная корректировка строки с командой.



Другие варианты команды find


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

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

$ find /target_directory -type f -mmin -60

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

$ find /target_directory -type f -mtime -2

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

$ find /target_directory -type f -mtime -2 -depth -3

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

$ find /target_directory -type f -mtime -7 ! -mtime -3

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

$ find /target_directory -type f -mmin -60 -exec ls -al {} \;

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

$ find /target_directory -type f -mmin -60 | xargs ls -l

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


Так же в этом разделе:
 
MyTetra Share v.0.65
Яндекс индекс цитирования