По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Привет, коллега. Сегодня хотим рассказать о своем телеграмм чате, который создали для общения наших читателей по всем вопросам, связанным с IT. Цель данного чата - взаимопомощь ИТ экспертов, а также начинающих специалистов между собой. В чате можно задать вопрос, на который давно не можешь найти ответ и получить ответ, или как минимум, подсказку от профессионального сообщества.
Для кого этот чат?
В чате присутствует следующая экспертиза:
Сетевая инженерия: вопросы по работе сетей на базе вендоров MikroTik, Cisco, Huawei, маршрутизация, коммутация, построение VPN, провайдерские решения (ISP);
Телефония и контактные центры: вопросы по VoIP решениям на базе Asterisk, CUCM, CME, Openscape, Avaya, Huawei, а так же по КЦ платформам на базе UCCX, UCCE, Genesys
Серверное администрирование: Linux/Unix системы, решения на базе Windows Server, Apache, Nginx, IIS и прочее.
DevOPS: про Caddy, Kubernetes, Docker, Vagrant, Jenkins, Chef, Ansible, Hadoop и ELK (Elasticsearch, Logstash и Kiban) - что называется "under the hood".
Помимо прочего, на вопросы участников отвечают наши инженеры "Мерион Нетворкс".
Вступить в чат
#функция числительных
function getNumEnding($number, $endingArray)
{
$number = $number % 100;
if ($number>=11 && $number
Давайте рассмотрим один пример настройки DHCPv6:
В этом примере у нас есть DHCP-клиент, маршрутизатор и DHCP-сервер. Поскольку DHCP-клиент и DHCP-сервер не находятся в одной подсети, нам придется настроить маршрутизатор для ретрансляции сообщений DHCP.
Поиск клиентом IPv6 адреса будет начинаться с сообщения запроса:
Клиент будет использовать свой link-local адрес в качестве источника, а адрес назначения будет многоадресный адрес FF02:: 1:2 (all-DHCP-agents). Это link-local multicast адрес, поэтому он не будет покидать подсеть. В результате DHCP-сервер никогда не получит это сообщение запроса.
На маршрутизаторе мы настроим ретрансляцию DHCP таким образом, чтобы запрашивающее сообщение было переадресовано на DHCP-сервер:
Router(config)#interface fa0/0
Router(config-if)#ipv6 dhcp relay destination 2001:5:6:7::2
Это гарантирует, что маршрутизатор пересылает сообщения DHCP между клиентом и DHCP-сервером. Вот как это выглядит:
Маршрутизатор переадресует сообщение запроса, и адрес будет изменнен. Источником будет IPv6-адрес на интерфейсе Fa1/0 нашего маршрутизатора, а местом назначения-IPv6-адрес DHCP-сервера. Это большая разница по сравнению с DHCP relay для IPv4, где был бы использован IP-адрес на Fa0/0.
Другие сообщения DHCP будут использовать те же адреса. Между маршрутизатором и DHCP-сервером мы будем использовать 2001:5:6:7::1 и еще 2001:5:6:7::2 адреса. Маршрутизатор будет перенаправлять трафик на DHCP-клиент, используя его link-local адрес и в качестве места назначения.
Команда 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, она может помочь вам и упростить задачи системного администрирования. И ключ к его освоению - это его практика и использование!