По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Команда find - невероятно мощный инструмент, и умение управлять им может быть полезным и облегчить работу в системе Linux. Она поможет эффективно выполнять различные задачи системного администрирования, такие как управление дисковым пространством, рекурсивные операции с файлами и резервное копирование. Команда Find Linux выполняет поиск файлов и папок по заданным критериям и позволяет выполнять действия с результатами поиска. Синтаксис поиска таков: $ find directory-to-search criteria action где: directory-to-search - это начальная точка, с которой утилита начинает поиск файлов. Поиск включает все подкаталоги в этом каталоге criteria (test) - указывает, какие файлы искать action - указывает, что делать с каждым найденным файлом, соответствующим критериям Критерии Поиск по имени Вот простой пример. Следующая команда выполняет поиск файла a.txt в текущем каталоге: $ find . -name "a.txt" ./a.txt Где: . - ссылается на текущий каталог -name – определяет критерии для сопоставления По умолчанию, ключевое слово -name чувствительно к регистру и игнорирует файл A.txt. Чтобы убедиться, что поиск не учитывает регистр, используйте -iname: $ find . -iname "a.txt" ./a.txt ./A.txt Для поиска всех файлов изображений .jpg в текущем каталоге используйте шаблон подстановочных знаков * .jpg: $ find . -name "*.jpg" ./genxfacebook2.jpg ./genxfacebook1.jpg ./Moodle2.jpg ./moodle.jpg ./moodle/moodle1.jpg ./genxfacebook.jpg Можно использовать имя каталога для поиска. Например, для поиска всех изображений .jpg в каталоге /home: $ find /home -name "*.jpg" find: `/home/ubuntu/.ssh': Permission denied /home/vagrant/Moodle2.jpg /home/vagrant/moodle.jpg /home/me/hello.jpg find: `/home/me/testfiles': Permission denied find: `/home/me/data': Permission denied /home/me/water.jpg find: `/home/me/.cache': Permission denied При наличии слишком большого количества сообщений об отказе в доступе в конце команды можно добавить 2 >/dev/null. Это перенаправляет сообщения об ошибках на устройство /dev/null и выдает чистые выходные данные: find /home -name "*.jpg" 2>/dev/null /home/vagrant/Moodle2.jpg /home/vagrant/moodle.jpg /home/me/hello.jpg /home/me/water.jpg Поиск по типу файла С помощью ключевого слова -type можно искать файлы по типу. Типы файлов могут быть: f plain files d directories l symbolic links b block devices c character devices p named pipes s sockets Например, при использовании параметра -type d будут перечислены только каталоги: $ find . -type d . ./.ssh ./.cache ./moodle Поиск по размеру файла Возможно, потребуется выполнить поиск больших файлов и удалить их. В следующем примере за после ключевого слова -size следует строка 1G. Это приведет к поиску всех файлов размером более 1 ГБ. $ find . -size +1G ./Microsoft_Office_16.29.19090802_Installer.pkg ./android-studio-ide-183.5692245-mac.dmg Знак + означает, что нужно искать файлы, размер которых больше указанного числа. Символ минус - может использоваться для обозначения меньшего значения, чем указано. Использование без знака означало бы точное совпадение размера. За номером следует единица измерения размера файла. Единицами измерения могут быть: b - Блоки по 512 байтов c - Байты k - Килобайты M - Мегабайты G - Гигабайты Поиск пустых каталогов и файлов Используйте параметр -empty для поиска пустых каталогов и файлов: $ find . -empty ./.cloud-locale-test.skip ./datafiles ./b.txt ... ./.cache/motd.legal-displayed Поиск по времени изменения файла С помощью ключевого слова -cmin можно выполнять поиск всех файлов и каталогов по времени создания или изменения. Для поиска всех файлов, измененных за последние 60 минут (менее 60), используйте -60 следующим образом: $ find . -cmin -60 . ./a.txt ./datafiles Для файлов, измененных в любое время до последних 60 минут, используйте 60. Поиск по времени доступа Поиск файлов можно выполнить по времени последнего доступа с помощью ключевого слова -atime. Например, следующая команда выполняет поиск файлов, доступ к которым не осуществлялся за последние 180 дней: $ find . -atime +180 Их можно переместить на устройство резервного копирования, если недостаточно места на диске. Поиск по имени пользователя С помощью параметра -user username можно искать все файлы и каталоги, принадлежащие конкретному пользователю. Например, следующая команда выполняет поиск всех файлов и каталогов, принадлежащих пользователю ubuntu в каталоге /home: $ find /home -user ubuntu 2>/dev/null /home/ubuntu /home/ubuntu/.bash_logout /home/ubuntu/.bashrc /home/ubuntu/.ssh /home/ubuntu/.profile Поиск по режиму доступа Хотите найти файлы с определенным режимом доступа, то есть имеющие определенный набор разрешений? Используйте ключевого слова -perm. В следующем примере выполняется поиск файлов с разрешениями 777: $ find /home -perm 777 Операторы Для объединения нескольких ключевых слов в одной команде можно использовать следующие три логических оператора: -and -or -not Например, следующая команда выполняет поиск файлов, превышающих 100MB, которыми владеет указанный пользователь: $ find /home -user me -and -size +100M 2>/dev/null /home/me/kali-linux-2020.3-installer-netinst-i386.iso Следующая команда ищет файлы, размер которых превышает 100MB, принадлежащие пользователю me или пользователю vagrant: $ find /home ( -user vagrant -or -user me ) -and -size +100M 2>/dev/null /home/vagrant/LibreOffice_7.0.1_Linux_x86-64_deb.tar.gz /home/me/kali-linux-2020.3-installer-netinst-i386.iso Необходимо поместить символ обратной косой черты перед скобками, чтобы предотвратить попытку их интерпретации оболочкой. Действия Утилита find предоставляет результаты поиска, а затем выбор для выполнения действия над ними. Ниже приведены некоторые предопределенные действия. -delete - Удаление файлов, соответствующих критериям поиска -ls - Отображение подробных выходных данных ls с размерами файлов и количеством входов -print - Показывает полный путь к соответствующим файлам. Это действие по умолчанию, если не указано другое действие -exec - Выполняет следующую команду в каждой строке результатов поиска Итак, если вы хотите найти все пустые файлы и удалить их, вы можете сделать это следующим образом: $ find . -empty -delete Внимание! Перед использованием действия удаления всегда безопасно выполнить команду один раз с действием -print и подтвердить результаты. Действие -exec является особым. Он позволяет выполнить выбранную команду в результатах поиска. Это так: -exec command {} ; Здесь command – команда, которую требуется выполнить в результатах поиска, например, rm, mv или cp. {} – представляет результаты поиска. Команда заканчивается точкой с запятой с обратной косой чертой. Таким образом, команда поиска и удаления всех пустых файлов может быть написана следующим образом: $ find . -empty -exec rm {} ; Вот еще один пример использования действия -exec. Следующая команда копирует все PNG-файлы образов в каталог backup/images: $ find . -name "*.png" -exec cp {} /backups/images ; Заключение Команда find используется для поиска файлов по имени, дате последнего доступа, дате последнего изменения, имени пользователя (владельца), имени группы, размеру, разрешениям и другим различным критериям. Эти результаты поиска позволяют выполнять с ними такие действия, как удаление, копирование или перемещение в другое расположение. После того, как вы освоите команду find, она может помочь вам и упростить задачи системного администрирования. И ключ к его освоению - это его практика и использование!
img
Если Вам требуется добавить собственное голосовое приветствие в Elastix 4, то эта статья для Вас. Речь пойдёт о встроенном модуле, позволяющим управлять, создавать и изменять звуки Вашей IP-АТС - System Recordings Настройка Подключаемся к web – интерфейсу Elastix, указав его IP – адрес в адресной строке броузера: Чтобы попасть в модуль, с основной страницы Elastix, переходим по следующему пути PBX → PBX Configuration → System Recordings. Открывается следующее окно: Как видно, нам доступно всего два способа добавления новых звуковых записей. Рассмотрим каждый по отдельности. Способ 1: Запись аудио на телефоне В данном случае добавление записи происходит через звонок на внутренний номер. Для этого, нужно вписать в пустое поле внутренний номер телефона, с которого Вы хотим произвести запись и нажать Go: После этого, АТС отправит вызов на указанный внутренний номер (в нашем случае 111) и после снятия трубки начнётся запись Вашего сообщения, по окончанию которого, нужно будет нажать # (решетку). После этого Вам будет предложено перезаписать сообщение или же оставить его подтвердив это. Способ 2: Загрузка звуковых файлов с компьютера Тут всё просто. Нажимаем Choose File В открывшемся окне выбираем нужный файл и нажимаем Upload Далее даём новой записи имя и жмём Save. Готово, новая запись загружена на сервер. Кликнув по любой из записей можно ими управлять. Например, откроем Record_1: Из данного окна доступны следующие функции: Remove Recording (Note, does not delete file from computer) - Функция удаления записи с сервера, но не с локального компьютера. Change Name - Изменить имя записи Descriptive Name - Дать записи развёрнутое описание Link to Feature Code - Привязать запись к определенному Feature Cod’у 5 Feature Code Password - Необязательный пароль Feature Cod’а. Позволяет ограничить доступ к записи и её изменению Тут также можно добавить множество файлов, которые необходимо использовать для данной записи. Первым будет проигрываться тот, который идёт и первым по счёту. Голосовые приветствия можно использовать в настройка Announcement в разделе Unembedded FreePBX, а так же, например, на этапе настройки IVR. О том, как это сделать, читайте по ссылке ниже: Настройка IVR в Elastix
img
Если вас удивляет то, каким образом веб-приложения могут взаимодействовать друг с другом и передавать информацию для оптимизации операций, то вам следует познакомиться с Webhook , веб-перехватчиком. Webhook (он же веб-перехватчик) – это больше, чем просто средство информационного взаимодействия для онлайн-сервисов. Webhook – это достаточно любопытная технология, используемая для запуска приложений. Эта статья позволит получить четкое понимание того, что же такое Webhook и какие методы его работы существуют. Видео: что такое Webhook и чем отличается от API? Что такое Webhook: быстрый экскурс Webhook – это автоматически сгенерированный HTTP-запрос, созданный на основе каких-то данных. Он запускается предопределенным событием или действием в исходной системе и передается системе, с которой исходная система пытается установить связь. Webhook работает быстрее, чем опрос или API. Вместе с этим для разработчиков он является менее трудоемким с точки зрения работы. Применительно к приложениям, Webhook – это не что иное, как SMS-уведомления, которые мы получаем во время использования приложения. Например, при покупке некого товара в Интернете продавец присылает вам уведомление по SMS. Аналогично, каждый раз, когда в исходной системе происходит некоторое событие/действие, система принимающей стороны уведомляется через Webhook. Для чего нужен Webhook? Webhook используется для связи приложений и быстрого обмена данными между системой-источником и системой-получателем. Это приводит к двусторонней связи между двумя различными сетевыми системами. Ниже приведен список нескольких сценариев, при который Webhook справится лучше, чем любое другое средство связи приложений: Использование Webhook для передачи информации о событиях в различные базы данных. Требуется мгновенный ответ приложения при выполнении определенного действия. Использование Webhook для беспрепятственной синхронизации данных клиентов в приложении. Необходимость иметь модель push-уведомлений для получения своевременных обновлений. Связь должна быть взаимно-однозначной. Webhook может помочь установить соединение между средством массовой email-рассылки/управления проводимыми акциями и платежными системами. Разработчики требуют приравнять 2 системы к временной системе связи. Принимая во внимание все эти утилиты, Webhook можно назвать ключевым инструментом для разработки SaaS-приложений. Одним из реально существующих примеров использования Webhook является Shopify , который использует веб-перехватчик, например, для операций автоматического обновления корзины или объявления о продаже. Еще одной известной платформой является Stripe . Она использует Webhook для передачи сведений, связанных с обновлениями учетных записей, уведомлений об оплате и др.   Webhook vs API Человеку, не являющемуся специалистом в данной области, может показаться, что Webhook и API это одно и то же, поскольку они оба используются для установки связи между приложениями. Ситуация усугубляется, когда некоторые разработчики называют Webhook обратным API . В данном случае только опытный разработчик сможет понять разницу между этими двумя технологиями и использовать их. Мы подготовили краткий обзор основных различий между Webhook и API. Обе эти технологии, как принято считать, используются приложениями для передачи информации другому приложению. В общих чертах они работают одинаково. Ключевое различие заключается в процессе получения данных. API использует процесс «опроса» для получения необходимых данных. Опрос ( polling ) – это выполнение запросов на сервер с целью проверки появления новых данных. Webhook работает по принципу «принудительной отправки данных», то есть как только происходит инициирующее событие, из источника отправляются необходимые данные. API ожидает появления новых данных и требует периодической активности, в то время как Webhook активируется автоматически при возникновении события. Если говорить об их практической реализации, то они принципиально разные. Например, API связывается с продавцом, чтобы удостовериться, что нужный вам товар есть в наличии, а Webhook попросит продавца самому связаться с вами, как только нужный товар будет доступен. При таком подходе обе стороны экономят время и усилия. Безопасность Web API – сложная задача, поскольку запросы выполняются снова и снова, и каждый раз необходимо внедрять методы обеспечения безопасности API. Обеспечить безопасность Webhook относительно просто, поскольку запросы производятся не так часто. Webhook лучше использовать, когда требуются обновления приложения в режиме реального времени, а API – когда часто обновляется серверное приложение. Webhook – это простейшая модель API. API – это полноценный язык приложений, способный выполнять добавление, удаление и извлечение данных. Webhook работает автоматически, в то время как API требует некоторых усилий разработчика. Webhook не является широко поддерживаемым, в то время как большинство сторонних интеграций принимают API.   Как работает Webhook? На первый взгляд все кажется похожим, но Webhook включает в себя определённый сложный процесс. Вот как это работает: Шаг 1: Генерация запроса Для использования Webhook система должна быть достаточно оборудована для поддержки всего процесса. Можно разработать дружественную к Webhook систему, осуществляя несколько HTTP-запросов для различных событий. Основанный на этом принципе Webhook имеет хорошую совместимость с платформой SaaS, поскольку присутствует поддержка нескольких событий. Также с Webhook совместимы такие платформы, как GitHub, Shopify, Twilio, Stripe и Slack. Для начала нужно зарегистрироваться, чтобы принять Webhook'и. Регистрация должна быть проведена для более чем одного события. После регистрации на целевой URL будет автоматически сгенерирован запрос Webhook. Этот запрос обработается автоматически, когда произойдет определенное событие. Шаг 2: Применение Webhook Когда процесс подготовки завершен, можно использовать Webhook'и. Процесс можно упростить, если вы создадите свои Webhook и протестируете их на пригодность. Если вам покажется это слишком тяжелым, то вы можете просто добавить нужный URL-адрес веб-перехватчика в приложение и начать делиться данными. Для использования Webhook вы можете использовать средства, указанные ниже: 1. RequestBin и Postman для тестирования Webhook Как уже отмечалось, тестирование Webhook – это наиболее эффективный способ понять его метод работы. RequestBin и Postman – два самых популярный инструмента для тестирования. Используя RequestBin, разработчики могут создавать нужные URL-адреса веб-перехватчиков и обмениваться данными, чтобы проверить, как он их идентифицирует. Postman аналогично может обрабатывать процесс отправки запроса для терминала и выделенный код приложения. Разработчик может свободно работать с кодировкой JSON и XML. 2. Общение приложений Тестирование Webhook было исчерпывающим. И теперь можно приступить к делу и позволить приложениям общаться между собой. Для начала разработчикам необходимо активировать Webhook триггерных приложений. Как правило, каждое приложение имеет большое количество настроек веб-перехватчиков. Чтобы получить данные из используемого триггерного приложения, необходимо открыть настройку Webhook в заданной форме. Будет сгенерировано поле URL и варианты для спецификации HTTP-запроса веб-перехватчика. На следующем шаге уже необходимо использовать URL-адреса приложения, получающего данные. В этом приложении каждый документ имеет свой конкретный URL-адрес слияния. Скопируйте URL-адрес слияния или любой другой предполагаемый URL-адрес приложения. Затем снова перейдите в приложение-триггер и вставьте скопированный URL-адрес веб-перехватчика из приложения, получающего данные, в поле URL-адреса приложения-триггера. Сохраните изменения. Теперь приложение готово к работе. Вы можете использовать любой из вышеупомянутых средств включения Webhook. Чтобы концепция работы была более понятна, ниже мы привели пример работы Webhook Shopify:   Пример Webhook Давайте продолжим приведенный выше пример Shopify. Предположим, что новый пользователь только что разместил 2 заказа в интернет-магазине после подтверждения адреса электронной почты. Получение информации с помощью события customer/update будет выглядеть примерно так: HTTP/1.1 200 OK { "webhook": { "id": 744408886555322224, "email": "ss@testmail.com", "accepts_marketing": false, "created_at": null, "updated_at": null, "first_name": "Jane", "last_name": "Doe", "orders_count": 2, "state": "disabled", "total_spent": "0.00", "last_order_id": 54254, 54258 "note": "The user registered from India and uses store for sending gifts", "verified_email": true, "multipass_identifier": null, "tax_exempt": false, "phone": 8585858585, "tags": "retailer", "last_order_name": null, "currency": "INR", "addresses": [ ], "accepts_marketing_updated_at": null, "marketing_opt_in_level": null, "admin_graphql_api_id": "gid://shopify/Customer/744408886555322224" } } Заключение Процесс передачи данных является ключевым во взаимодействии человека и веб-приложений. Webhook делает взаимодействие между приложениями быстрым, беспрепятственным и не таким сложным. Webhook является альтернативой API и автоматизирует коммуникационное соединение.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59