Архив автора: admin

Жизненно важные меры по обеспечению безопасности вашего выделенного сервера

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

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

Итак, проведите здесь несколько минут и защитите свой выделенный сервер, как никогда раньше.

 

Установите последние обновления системы и безопасности

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

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

 

Ограничить доступ к данным

Чем больше людей используют систему, тем больше она подвержена утечке данных. И лучший способ справиться с этим — ограничить доступ пользователей. ЕСЛИ вы не можете этого сделать, создайте разных пользователей и предоставьте им ограниченные права. Это будет самый простой, но самый надежный способ ограничить доступ к серверной системе. Ограничение доступа пользователей к корню серверов может помочь вам получить лучшие методы защиты ваших серверов. Кроме того, вы можете создавать и удалять пользователей в соответствии с требованиями.

 

Всегда держите резервную копию

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

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

 

Удалите ненужные сервисы и данные

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

 

Всегда используйте надежные сервисные сети

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

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

 

Выводы

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



2020-12-22T22:28:39
Безопасность

Мониторинг списка запущенных процессов в Zabbix

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

Читать

Планирование заданий Cron с помощью Crontab

Cron — это демон планирования, который выполняет задачи через определенные промежутки времени. Эти задачи называются заданиями cron и в основном используются для автоматизации обслуживания или администрирования системы.

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

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

Установка MariaDB на FreeBSD

MariaDB — это бесплатная производная от системы управления базами данных MySQL с открытым исходным кодом. Он был разработан из-за резервации базы пользователей MySQL, когда он был приобретен Oracle еще в 2009 году. По этой причине он вполне совместим с MySQL и только недавно немного отклонился с введением исходных движков, MyRocks, Aria и Columnstore., назвать несколько.

Это краткое руководство по установке сервера базы данных MariaDB 10.3 в системе FreeBSD 12. Следуя приведенным здесь инструкциям, вы сможете настроить базу данных на своем собственном сервере FreeBSD. Читать

Изучаем команды Linux: команда sed практическими примерами

Команда sed – это потоковый редактор текста, работающий по принципу замены. Его можно использовать для поиска, вставки, замены и удаления фрагментов. Утилиту sed называют потоковым текстовым редактором. В интерактивных текстовых редакторах, наподобие nano, с текстами работают, используя клавиатуру, редактируя файлы, добавляя, удаляя или изменяя тексты. Sed позволяет редактировать потоки данных, основываясь на заданных разработчиком наборах правил. Читать

Команда find в Linux: примеры использования программы find с параметром exec



























4.5/5 — (2 голоса)

Команда find в Linux – Это команда для поиска файлов и каталогов на основе специальных условий. Find – это одна из наиболее важных и часто используемых утилит системы Linux.

Основная информация о Find

Find – это одна из наиболее важных и часто используемых утилит системы Linux. Это команда для поиска файлов и каталогов на основе специальных условий. Ее можно использовать в различных обстоятельствах, например, для поиска файлов по разрешениям, владельцам, группам, типу, размеру и другим подобным критериям.

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

Команда find имеет такой синтаксис:

find [папка] [параметры]критерийшаблон [действие]

Папка– каталог в котором будем искать

Параметры– дополнительные параметры, например, глубина поиска, и т д

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

Шаблон – непосредственно значение по которому будем отбирать файлы.

Основные параметры команды find

Я не буду перечислять здесь все параметры, рассмотрим только самые полезные.

  • -P никогда не открывать символические ссылки
  • -L – получает информацию о файлах по символическим ссылкам. Важно для дальнейшей обработки, чтобы обрабатывалась не ссылка, а сам файл.
  • -maxdepth – максимальная глубина поиска по подкаталогам, для поиска только в текущем каталоге установите 1.
  • -depth – искать сначала в текущем каталоге, а потом в подкаталогах
  • -mount искать файлы только в этой файловой системе.
  • -version – показать версию утилиты find
  • -print – выводить полные имена файлов
  • -type f – искать только файлы
  • -type d – поиск папки в Linux

Синтаксис и параметры команды Find

  • /v – Выводит все строки, не содержащие строку, заданную параметром строка.

  • /c – Подсчет строк, содержащих строку, указанную параметром строка, и отображение общего количества.

  • /n – Выводит номера строк перед самими строками.

  • /i – Задает поиск без различия строчных и заглавных букв.

  • “строка_поиска” – Обязательный параметр. Указывает группу символов, поиск которой будет производиться. Необходимо заключить параметр строка в кавычки (“строка”).

  • [диск:][путь] ИмяФайла – Задает местоположение и имя файла, в котором будет производиться поиск заданной строки символов.

  • /? – Отображение справки в командной строке.

Путь

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

Опции

Опции команды find указываются, начиная с символа «-», за которым следует название опции. Рассмотрим основные опции.








-depth (или -d)Поиск в подкаталогах перед поиском в самом каталоге.
-LПри поиске следовать по символическим ссылкам.
-maxdepth NПри поиске проверять не более чем N вложенных уровней каталогов.
-mindepth NНе проверять вложенные каталоги уровня N и меньше.
-mountНе искать в каталогах других файловых систем.

2.1.1. Опция -name

При работе с командой find чаще всего используется опция -name. После нее в кавычках должен быть указан шаблон имени файла.

Если необходимо найти все файлы с расширением .txt в вашем начальном каталоге, укажите символ в качестве путевого имени. Имя начального каталога будет извлечено из переменной $HOME.

$ find ~ -name «*.txt» -print

Чтобы найти все файлы с расширением .txt, находящиеся в текущем каталоге, следует воспользоваться такой командой:

$ find . -name «*.txt» -print

Для нахождения в текущем каталоге всех файлов, в именах которых встречается хотя бы один символ в верхнем регистре, введите следующую команду:

$ find . -name «[A-Z]*» -print

Найти в каталоге /etc файлы, имена которых начинаются с символов «host«, позволяет команда

$ find /etc -name «hoat*» -print

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

$ find ~ -name «*.txt» -print -о -name «.*» -print

Опция -о является обозначением операции логического ИЛИ. В случае ее применения помимо файлов с обычными именами будут найдены файлы, имена которых начинаются с точки.

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

$ find / -name «*» -print

Ниже показано, как найти все файлы, в именах которых сначала следуют символы нижнего регистра, а за ними — две цифры и расширение .txt (например, ах37.xt):

$ find . -name » [а-х] [а-х] [0—9] [0—9] . txt» -print

2.1.2. Опция -perm

Опция -perm позволяет находить файлы с заданным режимом доступа. Например, для поиска файлов с режимом доступа 755 (их может просматривать и выполнять любой пользователь, но только владелец имеет право осуществлять запись) следует воспользоваться такой командой:

$ find . -perm 755 -print

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

$ find . -perm -007 -print

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

2.1.3. Опция -prune

Когда вы не хотите вести поиск в том или ином каталоге, воспользуйтесь опцией -prune. Она служит указанием остановить поиск на текущем путевом имени. Если путевое имя указывает на каталог, команда find не будет заходить в него. При наличии опции -depth опция -prune игнорируется.

Следующая команда проводит поиск в текущем каталоге, не заходя в подкаталог /bin:

$ find . -name «bin» -prune -о -print

2.1.4. Опции -user и —nouser

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

$ find ~ -user dave -print

Поиск в каталоге /etc файлов, принадлежащих пользователю uucp, выполняет следующая команда:

$ find /etc -uaer uucp -print

Благодаря опции -nouser возможен поиск файлов, принадлежащих несуществующим пользователям. При ее использовании производится поиск файлов, для владельцев которых нет записи в файле /etc/passwd. Конкретное имя пользователя указывать не нужно: команда find выполняет всю необходимую работу сама. Чтобы найти все файлы, которые принадлежат несуществующим пользователям и находятся в каталоге /home, задайте вот такую команду:

$ find /home -nouaer -print

2.1.5. Опции -group и -nogroup

Опции -group и -nogroup аналогичны опциям -user-nouser/apps всех файлов, которыми владеют пользователи группы accts:

$ find /арра -group accta -print

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

$ find / -nogroup -print

2.1.6. Опция -mtime

Опцию -mtime следует применять при поиске файлов, доступ к которым осуществлялся х дней назад. Если аргумент опции снабдить знаком ‘-‘, будут отобраны файлы, к которым не было доступа в течение х дней. Аргумент со знаком ‘+’ приводит к противоположному результату — производится отбор файлов, доступ к которым осуществлялся на протяжении последних х дней.

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

$ find / -mtime -5 -print

Ниже приведена команда, выполняющая поиск в каталоге /var/adm файлов, которые обновлялись в течение последних трех дней:

$ find /var/adm -mtime +3 -print

2.1.7. Опция -newer

Если необходимо найти файлы, доступ к которым осуществлялся в промежутке времени между обновлениями двух заданных файлов, воспользуйтесь опцией -newer. Общий формат ее применения таков:

-newer старый_файл ! -newer новый_файл

Знак ‘!‘ является оператором логического отрицания. Он означает: найти файлы, которые новее, чем старый_файл, но старее, чем новый_файл.

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

-rwxr-xr-x 1 root    root    92 Apr 18 11:18 age.awk

-rwxrwxr-x 1 root    root    1054 Apr 20 19:37 belts.awk

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

$ find . -newer age.awk ! -newer belts.awk -exec Is -1 {} ;

-rwxrwxr-x 1 root    root    62 Apr 18 11:32 ./who.awk

-rwxrwxr-x 1 root    root    49 Apr 18 12:05 ./group.awk

-rw-r—r— 1 root    root    201 Apr 20 19:30 ./grade2.txt

-rwxrwxr-x 1 root    root    1054 Apr 20 19:37 ./belts.awk

Но как быть, если необходимо найти файлы, созданные, скажем, в течение последних двух часов, а у вас нет файла, сформированного ровно два часа назад, с которым можно было бы сравнивать? Создайте такой файл! Для этой цели предназначена команда touch -t, которая создает файл с заданной временной меткой в формате ММДЦччмм (месяц-день-часы-минуты). Например:

$ touch -t 05042140 dstamp

$ ls -1 dstamp

-rw-r—r— 1 dave    admin    0 May 4 21:40 dstamp

В результате будет получен файл, дата создания которого — 4 мая, время создания —21:40 (предполагается, что текущее время — 23:40). Теперь можно применить команду find с опцией -newer для нахождения всех файлов, которые обновлялись в течение последних двух часов:

$ find . -newer datamp -print

2.1.8. Опция -type

Операционные системы UNIX и Linux поддерживают различные типы файлов. Поиск файлов нужного типа осуществляется посредством команды, find с опцией -type. Например, для нахождения всех подкаталогов в каталоге /etc воспользуйтесь такой командой:

$ find /etc -type d -print

Чтобы получить список всех файлов, но не каталогов, выполните следующую команду:

$ find . ! -type d -print

Ниже приведена команда, которая предназначена для поиска всех символических ссылок в каталоге /etc.

$ find /etc -type 1 -print

2.1.9. Опция -size

В процессе поиска размер файла указывается с помощью опции -size N, где N — размер файла в блоках по 512 байтов. Возможные аргументы имеют следующие значения: +N — поиск файлов, размер которых больше заданного, -N — меньше заданного, N — равен заданному. Если в аргументе дополнительно указан символ с, то размер считается заданным в байтах, а не в блоках, а если символ k — в килобайтах. Для поиска файлов, размер которых превышает 1 Мб, предназначена команда

$ find . -aize -flOOOk -print

Следующая команда выполняет поиск в каталоге /home/apache файлов, размер которых в точности равен 100 байтам:

$ find /home/apache -sixe 100с -print

Произвести поиск файлов, размер которых превышает 10 блоков (5120 байтов), позволяет приведенная ниже команда:

$ find . -size +10 -print

2.1.10. Опция Опция -depth

Опция -depth позволяет организовать поиск таким образом, что сначала проверяются все файлы текущего каталога (и рекурсивно все его подкаталоги) и только в конце — запись самого каталога. Эта опция широко применяется при создании списка файлов, помещаемых в архив на магнитной ленте с помощью команды cpio или tar, так как в этом случае сначала записывается на ленту образ каталога и лишь после этого задаются права доступа к нему. Это позволяет пользователю архивировать те каталоги, для которых у него нет разрешения на запись.

Следующая команда выводит список всех файлов и подкаталогов текущего каталога:

$ find . -name «*» -print -о -name «.*» -print -depth

Вот как могут выглядеть результаты ее работы:

./.Xdefaults ./.bash_logout ./.bash_profile ./.bashrc ./.bash_nistory ./file ./Dir/filel ./Dir/file2 ./Dir/file3 ./Dir/Subdir/file4 ./Dir/Subdir ./Dir

2.1.11. Опция -mount

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

$ find / -name «*.ХС» -mount -print

Критерии поиска

У команды find может быть несколько критериев поиска (их также называют tests). Каждый критерий представляет собой определенное условие проверки, которое возвращает либо true либо false. Это можно сравнить с условиями оператора if в программировании. В процессе обработки очередного файла команда find по очереди проверяет каждый критерий, и если очередной критерий возвращает false, тогда команда find переходит к следующему файлу. Критериев у команды find довольно много, мы рассмотрим только некоторые из них.










-atime NПоследний раз к файлу обращались N дней назад.
-mtime NПоследнее изменение файла было N дней назад.
-name шаблонИмя файла (шаблон имени) без указания пути. Рекомендуется всегда заключать шаблон в кавычки.
-newer другой_файлФайл был изменен позже, чем другой_файл.
-size [±]N[cwbkMG]Размер файла равен N блокам, если указано +N, тогда размер файла больше N, -N — меньше. Символ после N означает размер блока. b — 512 байт, с — байт, w — 2 байта, k — килобайт, M — мегабайт, G — гигабайт.
-type CФайл типа C. Наиболее часто используемые значения для С: d — каталог, f — файл.
-user Имя_пользователяФайл принадлежит пользователю с именем Имя_пользователя.

Примеры использования команды find с использованием критериев

Найти в текущем каталоге обычные файлы (не каталоги), имя которых начинается с символа «~».

find . -type f -name “~*” -print

Найти в текущем каталоге файлы, измененные позже, чем файл file.bak.

find . -newer file.bak -type f -print

Операторы

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

Короткая форма оператораДлинная формаОписание






! критерий-notОтрицание (возвращает true, если критерийfalse)
критерий1-a критерий2-andОператор И (true, если критерий1 и критерий2true)
критерий1-o критерий2-orОператор ИЛИ (true, если критерий1 или критерий2true)

В общем случае при использовании операторов критерии проверяются в порядке их приоритета. Изменить порядок можно с помощью скобок. Скобки нужно выделять с помощью обратного слеша.

Примеры использования команды find с использованием операторов

Найти в текущем каталоге файлы, начинающиеся с символа «~» или c «temp» и являющиеся именно обычными файлами (-type f), а не каталогами.

find . ( -name “~*” -or -name “temp*” ) -type f -print

Найти в текущем каталоге (не обрабатывая подкаталоги — -maxdeph 1) обычные файлы (-file f) размером больше 600 мегабайт и менее 1 гигабайта (-size) или файлы имя которых заканчивающиется на «.mpeg» (-name).

find . -maxdepth 1 ( ( -size +600M -and -size -1G ) -or -name “*.mpeg” ) -and -type f

Действия над файлами

Когда выполняется команда find, вы можете выполнять различные действия над найденными файлами. Рассмотрим основные из них.









-exec команда ;Выполнить команду. Обратите внимание, что после команды ставится обратный слеш и точка с запятой.
-execdir команда ;То же самое что и exec, но команда вызывается из подкаталога, содержащего текущий файл.
-ok команда ;То же самое, что и exec, но перед обработкой очередного файла будет выводится запрос на выполнение команды.
-okdir команда ;То же что ok для execdir.
-printВывод имени файла на экран.
-lsВыполнение команды ls -dils над текущим файлом.

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

Примеры использования команды find с использованием действий

Найти в текущем каталоге обычные файлы размером больше 1000 байт и выполнить над ними команду ls -dils (действие ls).

find . -size +1000c -type f -ls

Найти в текущем каталоге обычные файлы, начинающиеся с символа тильда «~», и для каждого файла выдавать запрос на его удаление (на выполнение команды rm).

find . -name “~*” -type f -ok rm {} ;

Примеры использования find с параметром exec

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

Поиск всех файлов с расширением .old и их удаление: find / -name “*.old” -exec /bin/rm {} ; Поиск всех файлов, размер которых превышает 100 МБ и их удаление: find / -size +100M -exec /bin/rm {} ; Бывают и такие случаи, что программы “сходят с ума” и заполняют директории тысячами мелких файлов, при этом вы не сможете просто использовать команду rm * по той причине, что командная оболочка не в состоянии заменить символ * на имена всех этих файлов, зато в состоянии удалить эти файлы по очереди: find . -exec /bin/rm {} ; Помните, что вы не должны использовать эти примеры, поскольку для удаления файлов у GNU find есть параметр -delete, более безопасный, нежели “-exec /bin/rm {};”. Пример использования: find / -name “*.old” -delete

В старых системах Unix у вас не будет возможности использовать параметр -delete, поэтому альтернатив параметру -exec для удаления файлов в них не остается.

А теперь рассмотрим некоторые другие примеры использования программы find с параметром exec.

Рекурсивное изменение прав доступа для файлов, не затрагивающее директории.find ./ -type f -exec chmod 644 {} ;

При помощи параметра -type f вы можете вести поиск только файлов и просто изменять права доступа к каждому из них при помощи chmod.

Рекурсивное изменение владельца файлов с olduser на newuserfind / -user olduser -type f -exec chown newuser {} ;

В этом примере я использовал параметр -user как альтернативу параметру -uid.

Рекурсивное изменение прав доступа для всех директорийfind . -type d -exec chmod 755 {} ;

В этом примере я снова использовал параметр -type, но на этот раз с аргументом d для поиска директорий.

Пример использования команды find

Для начала рассмотрим простой пример использования команды find для поиска на компьютере файлов с именем config. Мы будем искать файлы config, начиная с корневого каталога /. Для этого вам нужно выполнять команду от имени пользователя root, чтобы иметь достаточно прав доступа, иначе получите сообщения «Permission denied». Итак, выполним команду:

find / -name config -print

Команда означает следующее: искать файлы с именем config (-name config), начиная с каталога / (первый параметр команды find) и выводить имена файлов на экран (аргумент -print). Отмечу, что поиск рекурсивный, то есть при поиске просматриваются все вложенные директории. Как видите все просто. Теперь рассмотрим синтаксис команды и перейдем к обзору ее основных аргументов.

1)Выведите списки всех файлов текущей директории и ее подкаталогов

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

$ find

В качестве альтернативы, мы можем также использовать ‘find . ’, которая выдаст вам тот же результат.

2)Найдите все файлы и директории в вашей текущей рабочей директории

Если нужно найти только директории, то можно использовать:

$ find . -type d

Чтобы найти только файлы, а не директории:

$ find . -type f

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

Для того чтобы найти файлы из определенной директории надо ввести:

$ find /root

This command will look for all the files in /root directory.

4)Найдите файл по имени в директории

Для поиска файла по имени в определенной директории введите:

$ find /root -name “linuxtechi.txt”

Эта команда будет искать файл linuxtechi.txt в директории /root. Так же мы найти все файлы с расширением .txt:

$ find /root -name “*.txt”

5)Найдите файл во множестве директорий

Для поиска файлов во множестве директорий введите:

$ find /root /etc -name “linuxtechi.txt”

With this command, we can look for linuxtechi.txt file in /root & /etc directories.

С помощью этой команды мы можем найти файл linuxtechi.txt в директориях /root и /etc.

6)Найдите файл по имени без учета регистра

Ищите файлы без учета регистра с помощью -iname:

$ find /root -iname “Linuxtechi.txt”

В результате вы получите все файлы с названием linuxtechi.txt. При этом файлов может быть несколько, так как linuxtechi.txt будет равняться LINUXTECHI.txt .

7)Найдите все типы файлов отличные от упомянутого

Давайте предположим, что нам необходимо найти все файлы отличные от определенного типа файлов. Чтобы этого добиться вводим:

$ find /root -not -name “*.txt”

8)Найдите файлы по множеству признаков

Мы можем совмещать более чем одно условие при поиске файлов. Предположим, что нам нужны файлы с расширениями .txt и .html:

$ find . -regex “.*.(txt|html)$”

9)Найдите файлы с использованием условия OR

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

$ find -name “*.txt” -o -name “linuxtechi*”

Заключение

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


[spoiler title=”Источники”]

  • https://losst.ru/komanda-find-v-linux
  • http://Cmd4Win.ru/administrirovanie-computera/upravlenie-failami/33-find
  • https://pingvinus.ru/note/command-find
  • https://rtfm.co.ua/komanda-find-i-eyo-opcii-v-primerax/
  • http://rus-linux.net/MyLDP/consol/exec-option-in-command-find.html
  • https://omgubuntu.ru/25-primierov-ispolzovaniia-komandy-find-dlia-nachinaiushchikh-znakomstvo-s-linux/


[/spoiler]


2020-12-22T10:34:30
Linux