Главная страница » Что такое рекурсивное удаление

Что такое рекурсивное удаление

  • автор:

Команда rm

Команда rm в Linux

По умолчанию команда rm не удаляет директории. Чтобы удалить директорию и все ее содержимое, включая вложенные директории, нужно использовать опцию -r (рекурсивное удаление).

Синтаксис

файл(ы) — один или несколько файлов и/или директорий, записанных через пробел. Можно использовать шаблон (например, *.txt ).

Опции

  • never — никогда не выдавать запросы на подтверждение удаления.
  • once — выводить запрос один раз (аналог опции -I ).
  • always — выводить запрос всегда (аналог опции -i ).

Если значение КОГДА не задано, то используется always

Примечание

Если нужно удалить файл, название которого начинается с символа — , например, файл -myfile , то используется следующая команда:

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

Удалить файл

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

Можно удалить несколько файлов, перечислив их имена через пробел:

Принудительно удалить защищенный файл

Если файл защищен от записи, то по умолчанию будет выдан запрос на подтверждение операции удаления. Чтобы запрос не выводился, и происходило удаление защищенных файлов, используется опция -f

Удалить все файлы в текущей директории

Чтобы удалить все файлы в текущей директории можно использовать шаблонную запись звездочка *

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

Чтобы перед удалением каждого файла выводилось подтверждение на удаление данного файла, используется опция -i

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

При использовании опции -I выводится всего один запрос на подтверждение удаления файлов, причем, только если удаляемых файлов четыре и более. Если файлов 3, или 2, или 1, то запрос не выводится.

Команда RM. Запрос на удаление файлов

Удалить директорию и ее содержимое

Для удаления директорий и их содержимого используется опция -r . Удалим директорию mydir и все файлы и директории внутри нее:

Команда Linux rm

В Linux команда rm (remove) используется для удаления файлов. Они удаляются навсегда поэтому следует соблюдать осторожность и желательно иметь резервные копии.

Использование команды Linux rm с примерами

Содержание

Синтаксис

Опции

По умолчанию каталоги не удаляются. Используйте параметр —recursive ( -r или -R ), чтобы удалить все перечисленные каталоги вместе с их содержимым.

Для удаления файла, начинающегося с — (например: -foo ), используйте одну из следующих команд:

  • rm — -foo
  • rm ./-foo

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

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

Удаление файла

В каталоге Directory был создан файл examle :

Для удаления файла команде опции не нужны:

Удаление нескольких файлов

В этом же каталоге были созданы файлы example_1 , example_2 , example_3 :

Для удаления файлов их можно просто перечислить:

Интерактивное удаление файла

Если вы хотите получать запрос на подтверждение удаления файла, то используйте опцию -i :

При запросе подтверждения вводите y для удаления файла, либо n для прерывания выполнения команды.

Удаление защищённого файла

В каталоге Directory создан файл example , защищённый от записи:

В любом дистрибутиве Linux команда запросит подтверждения на удаление, но с опцией -f файл удаляется без предупреждения:

Удаление каталога

Команда может использоваться для рекурсивного удаления каталога и его содержимого:

Удаление содержимого каталога

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

Удаление пустого каталога

Для удаления пустого каталога команда используется с опцией -d :

Использование подстановочных символов

В качестве примера были созданы несколько файлов:

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

Файлы, имена которых начинаются с linux , удаляются так:

Заключение

Команда Linux rm является одной из базовых утилит. Она позволяет вам удалять файлы и каталоги. В этой статье мы рассмотрели некоторые титичные примеры.

Примеры команды RM Linux

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

В этом посте я продемонстрирую 10 примеров команд Linux rm. Ниже приведен основной синтаксис команды rm.

Удаление файла

Давайте удалим файл с именем «linux.log»

Удаление нескольких файлов одновременно.

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

Интерактивное удаление файлов

Параметр ‘-i‘ спрашивает разрешение перед удалением, как показано ниже.

Удаление пустой директории

Используйте опцию «-d» для удаления пустой папки.

Вы также можете использовать команду ‘rmdir‘ для удаления пустых папок.

Рекурсивное удаление директорий

Команде rm вместе параметром ‘-r‘ рекурсивно удалит все файлы и подкаталогов в родительской директории.

Удаление файлов и подкаталогов интерактивно

Используйте опцию ‘-ri‘ в команде rm для интерактивного удаления файлов и подкаталогов.

Принудительное удаление файлов

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

Давайте удалим защищенный от записи файл ‘tech.txt’

Как мы видим выше, когда мы пытаемся удалить файл, защищенный от записи, с помощью команды rm без опции ‘-f‘, выходит предупреждение.

Теперь попробуйте удалить файл, используя опцию ‘-f‘.

Также попробуем удалить несуществующий файл.

Примечание: опция -f не будет работать для каталогов, защищенных от записи.

Давайте рассмотрим пример, каталог ‘home/home/mordeniuss/location/protected‘ защищен от записи, а файл ‘db_stuff‘ внутри этого каталога нет.

Проверка при удалении более 3 файлов или рекурсивном удаление

Параметр ‘-I‘ в команде rm перед удалением более трех файлов или рекурсивным удалением запрашивает подтверждение.

Предположим, я хочу удалить все файлы журнала, которые начинаются с имени «app» в каталоге «linux_store».

Регулярные выражения в команде rm

Мы можем использовать регулярные выражения в команде rm, некоторые примеры показаны ниже:

Давайте удалим 5 файлов журнала, начиная с log1 до log5 в каталоге ‘linux_store‘.

Удалим все файлы в данной директории, которые заканчиваются на ‘.txt

Удалим все файлы в текущем каталоге, которые имеют три символа в расширение.

Удаление большого количества файлов

Если вы пытаетесь удалить большое количество файлов с помощью команды rm, вы получите сообщение об ошибке
Argument list too long‘ (Список аргументов слишком длинный)

В приведенном ниже примере я пытаюсь удалить все файлы (около 300001) каталога ‘/home/mordeniuss/linux_store‘ сразу.

Чтобы решить эту проблему, используйте команду:

Удаление файлов, начинающихся с дефиса (-)

Давайте предположим, что у нас есть файл с именем ‘-store‘ в нашем текущем каталоге, и мы хотим удалить этот файл.

Рекурсивное удаление файлов что это

Рекурсивное удаление файлов что это

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

А как узнать их количество?

Рекурсивное удаление файлов что это

Что такое рекурсивное удаление?

Представим, что есть каталог. А в нем еще подкаталоги и файлы, а в тех подкаталогах другие подкаталоги. Чтобы удалить сразу все объкты одним разом, то достаточно при удалении указать корневой родительский каталог и система, начиная с самого низа удалит и файлы и подкаталоги.Данный процесс и называется рекурсивным.

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

Рекурсивное удаление файлов что это

Теперь удалим каталог catalogue_A вместе с содержимым и проверим все

Рекурсивное удаление файлов что это

Как видно каталог catalogue_A отсутствует.

Нет, система выдаст ошибку, так как команда rm используется в основном для удаления файлов.

Для удаления отдельных каталогов используется следующая команда:

А если он не пустой?

Если он не пустой, то система выдаст ошибку:

Рекурсивное удаление файлов что это

В данном случае поможет команда

Например, попробуем удалить каталог testA со всеми подкаталогами:

Рекурсивное удаление файлов что это

Теперь удалим их все:

Рекурсивное удаление файлов что это

10 примеров команды ‘rm’ для начинающих

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

В этом посте я продемонстрирую 10 примеров команд Linux rm. Ниже приведен основной синтаксис команды rm.

Пример #1: Удаление файла

Давайте удалим файл с именем «linuxstufff.log»

Удаление нескольких файлов одновременно.

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

Пример #2: Интерактивное удаление файлов

Параметр ‘-i‘ спрашивает разрешение перед удалением, как показано ниже.

Пример #3: Удаление пустой директории

Используйте опцию «-d» для удаления пустой папки.

Вы также можете использовать команду ‘rmdir‘ для удаления пустых папок.

Пример #4: Рекурсивное удаление директорий

Команде rm вместе параметром ‘-r‘ рекурсивно удалит все файлы и подкаталогов в родительской директории.

Пример #5: Удаление файлов и подкаталогов интерактивно

Используйте опцию ‘-ri‘ в команде rm для интерактивного удаления файлов и подкаталогов.

Пример #6: Принудительное удаление файлов

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

Давайте удалим защищенный от записи файл ‘tech.txt’

Как мы видим выше, когда мы пытаемся удалить файл, защищенный от записи, с помощью команды rm без опции ‘-f‘, выходит предупреждение.

Теперь попробуйте удалить файл, используя опцию ‘-f‘.

Также попробуем удалить несуществующий файл.

Примечание: опция -f не будет работать для каталогов, защищенных от записи.

Давайте рассмотрим пример, каталог ‘home/home/mordeniuss/location/protected‘ защищен от записи, а файл ‘db_stuff‘ внутри этого каталога нет.

Пример #7: Проверка при удалении более 3 файлов или рекурсивном удаление

Параметр ‘-I‘ в команде rm перед удалением более трех файлов или рекурсивным удалением запрашивает подтверждение.

Предположим, я хочу удалить все файлы журнала, которые начинаются с имени «app» в каталоге «linux_store».

Пример #8: Регулярные выражения в команде rm

Мы можем использовать регулярные выражения в команде rm, некоторые примеры показаны ниже:

Давайте удалим 5 файлов журнала, начиная с log1 до log5 в каталоге ‘linux_store‘.

Удалим все файлы в данной директории, которые заканчиваются на ‘.txt

Удалим все файлы в текущем каталоге, которые имеют три символа в расширение.

Пример #9: Удаление большого количества файлов

Если вы пытаетесь удалить большое количество файлов с помощью команды rm, вы получите сообщение об ошибке
Argument list too long‘ (Список аргументов слишком длинный)

В приведенном ниже примере я пытаюсь удалить все файлы (около 300001) каталога ‘/home/mordeniuss/linux_store‘ сразу.

Чтобы решить эту проблему, используйте команду:

Пример #10: Удаление файлов, начинающихся с дефиса (-)

Давайте предположим, что у нас есть файл с именем ‘-store‘ в нашем текущем каталоге, и мы хотим удалить этот файл.

Удалить этот файл можно с помощью команд ниже.

Опубликовано 2021-11-11 · Обновлено 2021-11-11

Содержание:

1. Описание.

Команда rm означает «remove» и создана для удаления файлов и каталогов.

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

2. Синтаксис.

Вместо КОГДА можно использовать:

3. Примеры использования.

3.1. Удалить файл.

Это очень просто. Все, что вам нужно сделать — передать имя файла (вместе с путями, если он не находится в текущем рабочем каталоге), как ввод для команды rm :

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

# ls /rm_test/
# rm /rm_test/some_file_01.txt
# ls /rm_test/

Ответ:

Рекурсивное удаление файлов что это

Можно удалить несколько файлов, перечислив их имена через пробел:

# ls /rm_test/
# cd /rm_test/
# rm some_file_02.txt some_file_03.txt some_file_04.txt
# ls /rm_test/

Ответ:

Рекурсивное удаление файлов что это

3.2. Удалить файл с необычным именем.

Ответ:

Рекурсивное удаление файлов что это

Ответ:

Рекурсивное удаление файлов что это

3.3. Удалить все файлы в текущем каталоге.

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

# ls /rm_test/
# rm /rm_test/*
# ls /rm_test/

Ответ:

Рекурсивное удаление файлов что это

3.4. Выдать запрос на удаление всего один раз на всё.

Ответ:

Рекурсивное удаление файлов что это

3.5. Удалить файлы и каталоги без предварительного запроса или не существующие.

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

Ответ:

Рекурсивное удаление файлов что это

Также попробуем удалить несуществующий файл или каталог:

Ответ: просто успешно применится команда и всё, нет предупреждений, что чего-то не существует.

3.6. Удалить каталог и его содержимое рекурсивно.

Удалим каталог mydir и все файлы и подкаталоги внутри его:

Ответ:

Рекурсивное удаление файлов что это

3.7. Удаление файлов и подкаталогов интерактивно.

Ответ:

Рекурсивное удаление файлов что это

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

Ответ:

Рекурсивное удаление файлов что это

3.8. Удаление пустых каталогов.

Ответ:

Рекурсивное удаление файлов что это

Вы также можете использовать команду rmdir для удаления пустых каталогов:

Ответ:

Рекурсивное удаление файлов что это

3.9. Как заставить rm выводить детали работы, которые она выполняет?

Ответ:

Рекурсивное удаление файлов что это
3.10. Регулярные выражения в команде.

К примеру удалим 5 файлов журнала, начиная с log1 до log5 в каталоге /rm_test/ :

Удалим все файлы в данном каталоге, которые заканчиваются на *.txt :

Удалим все файлы в текущем каталоге, которые имеют три символа в расширение:

3.11. Удаление большого количества файлов.

‘Argument list too long‘ (Список аргументов слишком длинный).

В приведенном ниже примере требуется удалить все файлы (около 300001) из каталога /home/logman/linux_logs/ и его подкаталогов, все и сразу:

Ответ: 300001

Ответ: -bash: /bin/rm: Argument list too long

Чтобы решить эту проблему, используйте команду:

4. Как защитить файл или каталог от удаления.

Защитим файл или каталог от удаления:

# chattr +i /rm_test/some_file_01.txt
# lsattr /rm_test/some_file_01.txt

Давайте удалим защищенный от записи файл some_file_01.txt :

Ответ:

Рекурсивное удаление файлов что это

Давайте удалим защищенный от записи файл some_file_01.txt :

Ответ: нормально позволит удалить с запросом на удаление.

5. Как уничтожить операционную систему одной командой?

Если выполнить эту команду в терминале, а именно выполнить:

Появится предупреждение о том, что выполнение команды опасно:

Если выполнить команду:

Тогда все данные с корневого раздела диска будут удалены!

Иногла злоумышленнки могу замаскировать ввод команды вот так:

Примечание! Иногда данная команда используется, чтобы «подшутить» над новичками в GNU/Linux. Некоторые пользователи на форумах советуют «чайникам» выполнить данную команду, чтобы решить свои проблемы. Чтобы шутка удалась, саму команду иногда маскируют, например, вставляют ее внутрь другой длинной команды, чтобы она не так выделялась.

Внимание! Все, что вы прочитаете ниже, написано только в информационных целях, не повторяйте этого на своем компьютере!

Французский математик Фабрис Белар (Fabrice Bellard), более известный как разработчик знаменитых утилит ffmpeg, qemu, tcc, заявляет, что из-за ошибки предустановленных в дистрибутивы GNU/Linux французских языковых пакетов скорость его работы замедляется от 15% до 25%, в зависимости от архитектуры.

Ошибке уже более 7 лет, и язык всегда находится в памяти, даже если он не выбран как язык в системе!

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

Как я рекурсивно удаляю каталог и все его содержимое (файлы + поддиректории) в PHP?

Как удалить каталог и все его содержимое (файлы и подкаталоги) в PHP?

ОТВЕТЫ

Ответ 1
Ответ 2

Основываясь на Комментарий разработчика Pixel, фрагмент, использующий SPL, может выглядеть так:

Ответ 3

Удаляет все файлы и папки в пути.

Ответ 4
Ответ 5
Ответ 6

Существует еще один поток с большим количеством примеров: Рекурсивная функция удаления каталога для PHP?

Если вы используете Yii, вы можете оставить его в рамке:

Ответ 7

«простой» код, который работает и может быть прочитан десятилетним пользователем:

Обратите внимание, что все, что я делал, было расширение/упрощение и исправление (не работало для непустого каталога): В PHP как я рекурсивно удаляю все папки, которые не пусты?

Ответ 8
Ответ 9
Ответ 10

Пример с функцией glob(). Он будет рекурсивно удалять все файлы и папки, включая файлы, начинающиеся с точки.

Ответ 11

Функция unlinkr рекурсивно удаляет все папки и файлы в указанном пути, убедившись, что она сама не удаляет script.

если вы хотите удалить все файлы и папки, в которые вы помещаете этот script, затем выполните его как

если вы хотите просто удалить только файлы php, а затем вызвать его как

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

Это приведет к удалению всех файлов в каталоге home/user/temp.

Ответ 12

Я использую этот код.

Ответ 13

Как только вы закончите выполнение тестов, просто удалите # из #unlink и #rmdir в классе.

Ответ 14
Ответ 15

100% рабочий раствор

Ответ 16

Кажется, что все остальные ответы предполагают, что путь к функции всегда является каталогом. Этот вариант работает для удаления каталогов, а также отдельных файлов:

Ответ 17

Я сделал этот код из некоторых обсуждений в StackOverflow. Я еще не тестировал среду Linux. Он создан для полного удаления файла или каталога:

Ответ 18
Ответ 19

Модифицированный вариант решения @XzaR. Он удаляет пустые папки, когда все файлы удаляются из них, и он генерирует исключения вместо того, чтобы возвращать false при ошибках.

Как удалять файлы и каталоги с помощью командной строки Linux

Если файл защищен от записи, вам будет предложено подтвердить ее, как показано ниже. Чтобы удалить файл введите y и нажмите Enter. В противном случае, если файл не защищен от записи, он будет удален без запроса.

Когда вы используете rm с wildcards ( *) и регулярными расширениями, рекомендуется перечислить файлы с помощью команды ls, чтобы вы могли видеть, какие файлы будут удалены перед запуском команды rm.

Как удалить каталоги (папки)

Если каталог или файл в каталоге защищены от записи, вам будет предложено подтвердить удаление.

То же, что и в файлах, вы также можете использовать подстановочный знак ( *) и регулярные выражения для соответствия нескольким каталогам.

Как удалить каталог Linux

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

Рекурсивное удаление файлов что это

Рекурсивное удаление файлов что это
Рекурсивное удаление файлов что это

Такая команда уже позволяет удалить непустой каталог Linux. Но, можно по-другому, например, если вы хотите вывести информацию о файлах, которые удаляются:

Рекурсивное удаление файлов что это

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

Рекурсивное удаление файлов что это

Как видите, в find необязательно выполнять отдельную команду, утилита тоже умеет удалять. Вместо домашней папки, можно указать любой нужный вам путь:

Перед удалением вы можете подсчитать количество пустых папок:

Рекурсивное удаление файлов что это

Другой способ удалить папку linux с помощью find – использовать в дополнение утилиту xargs. Она позволяет подставить аргументы в нужное место. Например:

Если вы хотите полностью удалить папку Linux, так, чтобы ее невозможно было восстановить, то можно использовать утилиту wipe. Она не поставляется по умолчанию, но вы можете ее достаточно просто установить:

sudo apt install wipe

Теперь для удаления каталога Linux используйте такую команду:

Как удалить каталог в linux через терминал

Как удалить пустую папку в Linux через терминал

Если вам нужно удалить пустую папку в Linux через терминал, то для этого проще всего использовать команду rmdir. Данная команда используется для удаления пустых папок из файловой системы Linux. Каталоги с файлами или другими каталогами данная команда не удаляет.

Синтаксис команды rmdir выглядит следующим образом:

rmdir [-p] [-v | –verbose] [–ignore-fail-on-non-empty] directories …

Разберем доступные параметры подробней:

Для того чтобы просто удалить пустую папку нужно ввести «rmdir foldername». Где «foldername» это название удаляемого объекта. При желании можно удалить сразу несколько папок, для этого достаточно перечислить их через пробел.

Рекурсивное удаление файлов что это

Рекурсивное удаление файлов что это

При использовании параметра «-v» в консоль будет выведена подробная информация о процессе удаления каталогов.

Рекурсивное удаление файлов что это

А при использовании параметра «ignore-fail-on-non-empty» команда будет игнорировать ошибки, которые будут возникать при попытке удаления непустых каталогов.

Рекурсивное удаление файлов что это

Нужно отметить, что также существует команда «mkdir», которая предназначена для создания папок и обладает точно таким же синтаксисом.

Рекурсивное удаление файлов что это

С ее помощью вы можете создать папки по одной или целым деревом (при использовании параметра «-p»).

Как удалить папку с содержимым (с файлами) в Linux

Если нужно удалить папку с каким-то содержимым, например, с файлами, то тут уже нужно использовать команду «rm». Данная Linux команда предназначена для удаления файлов, но с ее помощью можно удалять и каталоги, если использовать параметр «-r», который включает рекурсивное удаление.

Синтаксис команды rm выглядит следующим образом:

Разберем основные параметры команды rm:

Рекурсивное удаление файлов что это

Рекурсивное удаление файлов что это

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

Рекурсивное удаление файлов что это

Как удалить все файлы в папке Linux

Рекурсивное удаление файлов что это

Рекурсивное удаление файлов что это

Альтернативный вариант — это удаление самой папки со всем содержимым (включая скрытые файлы и каталоги) и повторное ее создание.

Рекурсивное удаление файлов что это

Удаление всей директории со всеми вложенными файлами и директориями командой rm

В повседневной работе гораздо чаще приходится удалять не пустые директории, и тут на на помощь приходит команда rm. К примеру, удалить все содержимое директории letters можно командой (Осторожно! удаление без подтверждения):

Дополнительная информация о командах rmdir и rm

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

Почему существует две различные команды для одной операции?

Казалось бы, а зачем создавать отдельную команду для удаления только пустых директорий, если можно воспользоваться rm? Но, вдумавшись, понимаешь, что это была просто великолепная идея! Почему? Да потому что невозможно запомнить какие и где файлы хранятся, и когда нужно удалить директорию с каким-нибудь глупым или подозрительным названием (явно созданную по ошибке) можно воспользоваться безопасной командой rmdir, которая выдаст ошибку если в этой директории есть какие-то файлы. Очень удобно! Это защищает от случайного удаления.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *