Начини на плащане Abuse

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

27.02.2021, 20:44

Често има ситуации, в които се налага да видите наскоро създадени, нови файлове в операционната система. Това често е необходимо на системен администратор, който е създал конфигурационен файл и след това просто е забравил къде е бил записан. Също така, необходимостта от търсене на нови файлове може да възникне, защото трябва да видите дали даден файл се е променил наскоро или не. Като цяло ситуациите могат да бъдат много различни. Предимството на операционната система Linux е, че тя традиционно предоставя няколко начина за решаване на даден проблем.

Използване на помощната програма Find

Най-лесният и най-разпространен начин за намиране на нови файлове в Linux е помощната програма Find. В зависимост от текущите ви нужди към нея се подават различни параметри, например можете да търсите файлове само в определен диапазон от календарни месеци или дни, вижте по-долу подробности за това как може да се направи това.

Файловете се показват в директории и поддиректории и се сортират:

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

Вывод файлов в директории и поддиректориях,

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

$ find /etc -type f -mmin -120

Файлы измененные или созданные за последние 60 минут

Така указваме, че в системата трябва да се търсят само файлове, които са създадени през последния час.

Ако е необходимо да се обхванат последните два дни, тогава въведете следната команда:

$ find /etc -type f -mtime -2

Файлы измененные за последние 2 дня

Понякога не е необходимо да се задълбава в поддиректориите от трето ниво, затова, за да изключим това действие, трябва да използваме специалната опция maxdepth:

$ find /etc -maxdepth 3 -mtime -2 -type f

Можем да видим всички нови файлове, създадени в системата Linux през последните седем дни, но с изключение на това, че последните три дни не трябва да се вземат под внимание:

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

Исключить последние 3 дня

Тези команди извеждат пътя до файла, но за да видим атрибутите му, трябва да използваме специалната опция --exec. След това ще изведем атрибутите на всеки нов файл, като използваме помощната програма ls:

$ find /etc -type f -mmin -120 -exec ls -al {} ;

Вывод подробных атрибутов новых файлов

Ако тази команда ви се струва твърде объркваща и сложна, можете да използвате друга:

$ find /etc -type f -mmin -120 | xargs ls -l

Утилита xargs

Тук вече използваме друга помощна програма - xargs. Помощната програма find също така ви позволява да намирате файлове, които са по-нови от даден файл. Например, нека създадем референтен файл:

$ touch /tmp/test

Сега намерете всички по-нови файлове в главната директория, които са създадени след него:

$ find / -type f -newer /tmp/test

Нека преминем към друг метод.

Използване на LS

Този метод за търсене на нови файлове е много по-прост от предишния, затова може да се препоръча на начинаещите в Linux. Командата ls може също така да подрежда файловете в дадена директория по дата на създаване. За да направим това, трябва само да изпълним ls:

$ ls -ltr

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

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

$ ls -ltr | tail

Това не са всички начини за намиране на нови файлове, но те са достатъчни, за да се свърши работата бързо и ефективно. Както виждате, основните команди за търсене find и ls могат да станат още по-гъвкави, когато се комбинират със sort, tail и grep.