Абсолютный путь и путь: Путь к файлу — Википедия – Что такое абсолютный и относительный путь — учебник CSS

Путь к файлу в Linux

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

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

Пути файлов в Linux

Файловая система Linux очень сильно отличается от Windows. Мы не будем рассматривать ее структуру, это было сделано ранее. Мы сосредоточимся на работе с файлами.

Самое главное отличие, в том что адрес файла начинается не с диска, например, C:\ или D:\ как это происходит в Windows, а с корня, корневого системного каталога, к которому подключены все другие. Его адрес — /. И тут нужно сказать про адреса. Пути файлов linux используют прямой слеш «/» для разделения каталогов в адресе, и это отличается от того, что вы привыкли видеть в Windows — \.

Например, если в Windows полный путь к файлу на рабочем столе выглядел C:\Users\Sergiy\Desktop\ то в путь файла в linux будет просто /home/sergiy/desktop/. С этим пока все просто и понятно. Но проблемы возникают дальше.

В операционной системе Linux может быть несколько видов путей к файлу. Давайте рассмотрим какие бывают пути в linux:

  • Полный, абсолютный путь linux от корня файловой системы — этот путь вы уже видели в примере выше, он начинается от корня «/» и описывает весь путь к файлу;
  • Относительный путь linux — это путь к файлу относительно текущей папки, такие пути часто вызывают путаницу.
  • Путь относительно домашний папки текущего пользователя. — путь в файловой системе, только не от корня, а от папки текущего пользователя.

Рассмотрим теперь подробнее как выглядят эти пути в linux, а также разберем несколько примеров, чтобы было окончательно понятно. Для демонстрации будем пользоваться утилитой ls, которая предназначена для просмотра содержимого каталогов.

Например, у нас есть такой каталог в домашней папке с четырьмя файлами в нем:

ls

dir

Вот так будет выглядеть полный путь linux к одному из файлов:

ls /home/sergiy/tmp/file1

dir1

Это уже относительный путь linux, который начинается от домашней папки, она обозначается ~/. Заметьте, не ~, а именно ~/. Дальше вы уже можете указывать подпапки, в нашем случае tmp:

ls ~/tmp/file1

dir2

Ну или путь файла в linux, относительно текущей папки:

ls file1

В каждой папке есть две скрытые ссылки, мы сможем их увидеть с помощью ls, выполнив ее с параметром -a:

ls -a

dir3

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

./file1

dir4

Это бесполезно при просмотре содержимого файла. Но очень важно при выполнении программы. Поскольку программа будет сначала искаться в среде PATH, а уже потом в этой папке. А потому, если нужно запустить программу, которая находится в текущей папке и она называется точно также как и та что в каталоге /bin, то без явной ссылки что файл нужно искать в текущей папке ничего не получится.

Вторая ссылка вам позволяет получить доступ к файлам в папке выше текущей. Например:

ls ../tmp/file1

dir5

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

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

ls ./f*

dir6

dir7

Или даже можно искать не только в папке tmp, а в любой подпапке домашней папки:

ls ~/*/f*

И все это будет работать, возможно, это не всегда нужно и практично. Но в определенных ситуациях может очень сильно помочь. Эти функции реализуются на уровне оболочки Bash, поэтому вы можете применять их в любой команде. Оболочка смотрит сколько файлов было найдено и для каждого из них вызывает команду.

Выводы

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

Оцените статью:

dir7 Загрузка…

Абсолютный или относительный путь к файлам

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

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

Абсолютный путь

Абсолютный путь представляет из себя полный URL файла или страницы. В адресе обязательно должен присутствовать используемый протокол. Живым примером может быть путь «http://profiphp.ru«, где протоколом является «Http«.

Использование абсолютного пути может привести к маленькой проблеме, если сайт будет переноситься на новый домен. Придется все пути типа «http://oldsite.com» заменять на «http://newsite.com«. Но это маленькая проблема, поэтому не стоит на ее обращать особое внимание. Но такой подход даст и плюсы, например, когда ваша публикация используется на другом сайте — будет прямая ссылка на ваш ресурс. В большинстве случаев, абсолютный путь используется, тогда, когда нужно дать ссылку на другой сайт.

Относительный путь

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

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

../ — служит для перехода на одну директорию (уровень) выше в иерархии каталогов. Последовательность символов «../» можно использовать неоднократно (../../), если документ находиться выше на 2 уровня.

./ — служит для обозначения текущей директории.

Все пути относительно корня сайта начинаются со знака «/«. Например, «/images/picture.png» означает, что файл «picture.png» находится в папке «images«, которая расположена в корневом каталоге.

Что касается PHP, в большинстве случаев пути к файлам используются при подключении файлов к скрипту. Делается все это с помощью конструкций Include или Require.

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

Этот путь задается в конфигурации веб-сервера и именно он содержится в системной переменной PHP $_SERVER[‘DOCUMENT_ROOT’]. Также для решения этих проблем будут полезны функции Getcwd и функция Chdir.

Как указать путь к файлу: основные правила

Несмотря на достаточно высокую автоматизацию всех процессов и пользовательских действий, которые предусмотрены в Windows-системах, иногда возникает необходимость ручного задания пути к какому-то объекту, хранящемуся на локальных дисках или на удаленных серверах в Интернете. Ситуаций, когда крайне необходимо вводить такие данные, может быть очень много, но обычно рядовые пользователи ограничиваются простейшими действиями при задании выполнения команд в командной строке, при быстром вызове программных модулей, при проверке расположения объектов на локальных или сетевых ресурсах и т. д. Далее попробуем определиться, как указать путь к файлу или к любому другому объекту, затронув только самые основные аспекты и действия, которые могут понадобиться в повседневной работе, не вникая в нюансы организации сложных структур веб-страниц.

Что такое путь к файлу, каталогу, диску или веб-странице?

Для начала давайте определимся с основным понятием пути файла. Что это такое? Грубо говоря, путь к любому объекту представляет собой полную или сокращенную ссылку на его физическое местоположение на жестком диске или в Интернете (но тоже на жестком диске удаленного сервера или компьютера). В некотором смысле компьютерное указание пути можно сравнить со всем привычным почтовым адресом, где вы проживаете.

Пример почтового адреса

Так, например, в адресе указывается страна, город, улица, дом, корпус, квартира и имя жильца. Аналогия здесь такая:

  • страна – диск или удаленный сетевой ресурс;
  • имя жильца или адресата – название конечного файла;
  • все остальное – промежуточные подпапки.

Многие могут заметить, что в почтовом адресе указывается еще и индекс города. Его чисто условно можно соотнести, скажем, с IP-адресом страницы в Интернете или в сетевом окружении, поскольку для локальных ресурсов такие пути практически никогда не используются.

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

Типы путей

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

Как записывать путь к файлу в Windows-системах: общие правила

Но это все пока что была теория. Перейдем к практике.

Указание путь к файлу на локальном диске

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

Запись путей для веб-страниц

Теперь отдельно стоит сказать о том, как указать путь к файлу, находящемуся на удаленном сервере (в Интернете). Понятно, что в этом случае точно определить букву диска вы не сможете. Собственно, это и не нужно.

Указание пути к файлу в интернете

В качестве абсолютного пути указывается последовательность, в которой первым вписывается название протокола (например, http, https и т. д.). Затем ставится двоеточие, указывается двойной правый слэш. После этого через одинарный правый слэш прописываются все промежуточные страницы (ресурсы). А в конце, как и в прошлом случае, задается название файла с расширением или имя содержащего его каталога (или страницы) для просмотра всех объектов.

Как узнать, где находится файл?

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

Копирование абсолютного пути к папке в "Проводнике"

В случае с папками в адресной строке путь можно будет скопировать, используя для этого пункт меню ПКМ «Копировать адрес как текст», а затем вставить в нужное место, дописав название файла вручную. Однако можно использовать свойства самого файла, где тоже будет указана директория, в которой он находится.

Путь к файлу в свойствах ярлыка

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

Методы быстрого копирования путей и открытия нужных файлов

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

Указание абсолютного пути к файлу в командной строке

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

Напоследок остается добавить, что очень часто может потребоваться использовать консоль «Выполнить». В качестве простейших команд в ней вводятся именно названия исполняемых компонентов, для которых путь доступа к файлу и расширение запускаемого объекта очень часто указывать не нужно. Почему? Да только потому, что меню «Выполнить» в основном предназначено для вызова исполняемых апплетов (обычно EXE-формата и некоторых других), находящихся по умолчанию либо в директории System32, либо в каталоге Windows.

Указание относительного пути к файлу в меню "Выполнить"

Например, для запуска редактора реестра достаточно вписать только имя файла regedit, для старта стандартного «Блокнота» — notepad, для командной строки — cmd и т. д. В принципе, если выполнить некоторые нехитрые настройки, для такого типа быстрого запуска можно указать любое приложение или какой-то документ, но это уже отдельная тема для разговора.

Переменные среды и абсолютные пути Windows

ALLUSERSPROFILEВозвращает размещение профиля «All Users». В Windows 7 возвращает путь к папке C:\ProgramData\.
APPDATAВозвращает используемое по умолчанию размещение данных приложений. В Windows XP это C:\Documents and Settings\%UserName%\Application Data. В Windows 7 — C:\Users\%UserName%\AppData\Roaming.
CDУказывает путь к текущему каталогу. Идентична команде CD без аргументов.
CLIENTNAMEПеременная определена только в среде удаленного подключения к рабочему столу. Хранит имя компьютера (%COMPUTERNAME%) клиента удаленного доступа.
CMDCMDLINEТочная команда, использованная для запуска текущего cmd.exe.
CMDEXTVERSIONВерсия текущего Command Processor Extensions.
COMMONPROGRAMFILESРасположение каталога «Common Files» (обычно %ProgramFiles%\Common Files).
COMMONPROGRAMFILES(x86)Расположение каталога «Common Files» в Program Files (x86) для 64-разрядной ОС (обычно %ProgramFiles(x86)%\Common Files).
COMPUTERNAMEИмя компьютера
COMSPECПуть к исполняемому файлу командного процессора (shell).
DATEВозвращает текущую дату. Использует тот же формат, что и команда date /t. Создаётся командой Cmd.exe.
ERRORLEVELВозвращает код ошибки последней использовавшейся команды. Значение, не равное нулю, обычно указывает на наличие ошибки.
HOMEDRIVEВозвращает имя диска локальной рабочей станции, связанного с основным каталогом пользователя. Задаётся на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы».
HOMEPATHВозвращает полный путь к основному каталогу пользователя. Задаётся на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы».
HOMESHAREВозвращает сетевой путь к общему основному каталогу пользователя. Задаётся на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы».
LOCALAPPDATAВозвращает используемое по умолчанию локальное размещение данных приложений (C:\Users\%UserName%\AppData\Local).
LOGONSERVERИмя контроллера домена, использовавшегося для авторизации текущего пользователя.
NUMBER_OF_PROCESSORSКоличество процессоров в системе.
OSНазвание операционной системы. Windows XP и Windows 2000 отображаются как Windows_NT.
PATHУказывает путь поиска исполняемых файлов.
PATHEXTВозвращает список расширений файлов, которые рассматриваются операционной системой как исполняемые.
PROCESSOR_ARCHITECTUREАрхитектура процессора. Возможные варианты: x86, IA64, AMD64.
PROCESSOR_IDENTIFIERОписание процессора (в Интернете часто встречается ошибочное написание PROCESSOR_IDENTFIER — пропущена буква).
PROCESSOR_LEVELНомер модели процессора.
PROCESSOR_REVISIONРевизия процессора.
PROGRAMDATAВозвращает путь к каталогу C:\ProgramData\ (аналогично ALLUSERSPROFILE).
PROGRAMFILESПуть к каталогу Program Files.
PROGRAMFILES(x86)Путь к каталогу Program Files (x86) в 64-разрядных системах для приложений архитектуры x86.
PROMPTВозвращает параметры командной строки для текущего интерпретатора. Создаётся командой Cmd.exe.
PUBLICВ Windows 7 возвращает путь к каталогу C:\Users\Public.
RANDOMСлучайное десятичное число от 0 до 32767. Генерируется Cmd.exe.
SESSIONNAMEХранит имя активного пользовательского сеанса. При локальном входе имеет значение «Console», при удаленном доступе имеет вид RDP-Tcp#<номер сеанса>
SYSTEMDRIVEДиск, на котором расположен корневой каталог Windows.
SYSTEMROOTПуть к корневому каталогу Windows.
TEMP or TMPВозвращает временные каталоги, по умолчанию используемые приложениями, которые доступны пользователям, выполнившим вход в систему. Некоторые приложения требуют переменную TEMP, другие — переменную TMP. Потенциально TEMP и TMP могут указывать на разные каталоги, но обычно — совпадают.
TIMEВозвращает текущее время. Использует тот же формат, что и команда time /t. Создаётся командой Cmd.exe. Дополнительные сведения о команде time см. в разделе Time.
USERDOMAINИмя домена, которому принадлежит текущий пользователь.
USERNAMEИмя текущего пользователя.
USERPROFILEПуть к профилю текущего пользователя.
WINDIRКаталог, в котором установлена Windows.

Путь к файлу

Раздел: Контрольные по информатике / Контрольная № 1

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

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

Надеюсь, вы уже знаете, что такое файл. Поэтому разбирать этот термин здесь не будем. А будем вести рассказ только о пути к файлу.

Забегая вперёд, скажу, что есть два способа добраться до файла — используя либо полный путь к файлу, либо относительный путь. Подробнее об этом чуть позже, а пока разберёмся с именем файла.

Имя файла

Имя файла в операционных системах DOS/Windows состоит из трёх частей:

  1. Название (имя).
  2. Разделитель.
  3. Расширение.

ПРИМЕЧАНИЕ
По умолчанию в Windows расширения файлов скрыты, так что в Проводнике вы можете их и не увидеть. Как сделать их видимыми — зависит от операционной системы.

В первых версиях операционной системы DOS имя (то есть первая часть имени файла) не могла иметь длину более 8 символов. Сейчас это ограничение снято. Однако я настоятельно рекомендую не давать файлам слишком длинные имена. Потому что если полный путь к файлу (о полном пути будет сказано далее) будет превышать 255 символов, то вы можете столкнуться с разного рода неприятностями (особенно в операционных системах вплоть до Windows XP).

Подробнее см. в бесплатной книге Компьютер для чайника.

Полный путь к файлу

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

Начнём с истоков. Где хранятся файлы? Правильно — на диске.

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

Файл может храниться непосредственно на диске, либо в какой-то папке (каталоге, директории — это разные названия одного и того же объекта — папки). Папки могут быть вложенными другу в друга (как матрёшки).

То есть полный путь файла начинается с буквы диска и заканчивается именем файла. А между ними могут быть имена каталогов. Каталоги в DOS/Windows разделяются косой чертой (\).

Например, у нас на диске С есть папка 000, а в этой папке есть папка 010, а в этой папке тоже есть папка 100. А уже в папке 100 есть файл 111.ТХТ. Тогда полный путь к файлу будет такой:

С:\000\010\100\111.ТХТ

Относительный путь к файлу

С этим вопросом у новичков обычно сложнее. Потому что теорию относительности люди как-то плохо понимают ))))

Разумеется, относительный путь к файлу — это тема намного более простая, чем вышеупомянутая теория Эйнштейна. Поэтому разберёмся и с ней.

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

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

Поэтому, чтобы не писать полный путь к файлу для того, чтобы получить к нему доступ, придумали такую штуку как относительный путь.

Сначала давайте вспомним про вложенные папки (каталоги).

Итак, всё начинается с диска. Диск — это корневой каталог. Корневой — потому что он первый в пути, и дальше “расти” уже некуда. Диск — это корень. А дальше растут стволы и ветви (папки), а на ветвях растут листья (файлы).

Соответственно каждая папка имеет родителя (кроме корневого каталога). Но не каждая папка имеет детей (то есть вложенные папки). Что поделаешь — не всем везёт в любви )))

Следовательно, у каждой папки могут быть (а могут и не быть) дочерние папки. И у каждой папки (кроме корневого каталога) есть родительские папки.

Следовательно, в общем случае папка может быть родительской относительно своих “детей”, и дочерней относительно своих “родителей”.

Здесь всё как в жизни — вы чей-то ребёнок, и также чей-то родитель (ну или скоро будете)))

Для вашей мамы вы ребёнок, а для ваших детей — мама (или папа).

А теперь наконец после долгих лирических отступлений перейдём к относительности путей. Итак, снова вспомним наш пример:

С:\000\010\100\111.ТХТ

Здесь каталог 010 является дочерним относительно каталога 000, и он же является родительским по отношению к каталогу 100.

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

Например, если вы работаете в командной строке и находитесь в папке 100 из нашего примера, то для открытия файла 111.ТХТ вам не надо набирать полный путь к файлу — достаточно написать только имя файла.

Имя файла в данном случае и будет относительным путём. То есть относительный путь — это часть полного пути относительно текущего каталога.

Например, вы находитесь в папке 010. То есть выше находятся

С:\000

а ниже находится каталог

100

Тогда относительный путь к файлу 111.ТХТ будет таким:

100\111.ТХТ

Так можно перемещаться вниз относительно текущего местоположения.

А можно ли перемещаться вверх?

Да, можно.

Для того, чтобы перейти на одну ступень вверх (то есть в родительский каталог) относительно текущего каталога, используются две точки ..

Например, если мы находимся здесь: С:\000\010\100, и в папке 010 у нас есть файл 011.ТХТ, то открыть его можно так:

..\011.ТХТ

А если в папке 000 у нас есть файл 001.ТХТ, то открыть его можно так:

..\..\001.ТХТ

Ну и так далее. Надеюсь, смысл вы уловили.

Как прописать путь к файлу

Вернёмся к полному пути, который мы рассмотрели выше:

С:\000\010\100\111.ТХТ

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

Командную строку можно вызвать комбинацией клавиш WIN+R или через меню ПУСК-ВЫПОЛНИТЬ.

Когда вы откроете командную строку, то можете непосредственно в ней ввести команду (в нашем случае командой будет путь к файлу) и нажать ENTER.

Если же вам любопытно немного помучиться и представить, как люди работали в DOS, то вы можете открыть командный интерпретатор. Для этого в командной строке наберите CMD (для Windows 2000 и выше) или COMMAND (для Windows 95/98/ME) и нажмите ENTER.

Откроется консоль (см. рис.), где вы можете вдоволь натешиться, вводя разные команды. Правда, для этого вы должны их знать — но это уже другая тема…

Если что-то осталось непонятным, то опять же отправляю вас к книге Компьютер для чайника.

Неправильный путь к файлу

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

Причины подобных ошибок могут быть следующими:

  1. Файл не существует по указанному пути.
  2. Указанный путь не существует (например, вы указали диск D, а на вашем компьютере нет диска с такой буквой).
  3. В имени файла содержатся недопустимые символы (список недопустимых символов у каждой операционной системы свой).
  4. Путь к файлу слишком длинный, и операционная система не может его понять.
  5. Кодировка символов в пути к файлу не соответствует кодировке, установленной в операционной системе (это надо, в основном, программистам — обычные пользователи редко встречаются с такой проблемой).

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


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

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