Green-sell.info

Новые технологии
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Создать директорию linux

ИТ База знаний

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Навигация

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Популярное и похожее

Установка VirtualBox 6.0 на Linux

Как восстановить пароль от root в CentOS 7

Установка и настройка ClamAV Linux

Установка VirtualBox 6.0 на Linux

Linux: команды для работы с файлами и директориями

4 минуты чтения

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

Основы

Итак, в Linux в отличие от Windows существует понятие полного и относительного пути. Разница между ними в том, что полный путь всегда начинается с корневого каталога (корневой каталог обозначается как /), и далее также через слеш происходит перечисление всех названий каталогов на пути к искомому файлу или директории, а в случае относительного пути – в начале слеш не указывается. То есть без слеша путь указывается относительно нынешнего местоположения, а со слешем – относительно корневого каталога. Примеры:

/tmp/file1 — относительный путь;

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

Команды для работы с файлами и директориями

Команд довольно много, я перечислю самые, на мой взгляд, часто используемые:

  1. cd — смена директории на домашнюю, можно добавлять аргументы – к примеру, cd /root ;
  2. pwd — команда покажет текущий путь к директории, в которой вы находитесь в данный момент;
  3. ls — вывод списка файлов и каталогов по порядку (наверное, самая известная команда) если добавить модификаторы lax , то команда выведет форматированный список всех файлов и директорий (в том числе скрытые);
  4. cat — показывает содержимое файла, к примеру – cat /root/file.txt ;
  5. tail — например, tail /root/file.txt , выводит только конец файла, удобно при работе с логами;
  6. cp — копирование директории или файла, то есть cp /root/file.txt /etc/folder1/file.txt – из /root файл будет скопирован в указанную директорию
  7. mkdir — создание директории, например, mkdir /root/1 ;
  8. rmdir — удаление директории, синтаксис такой же, как и у команды выше;
  9. rm -rf — очень опасная команда (и довольно популярная в интернет фольклоре), но иногда и она может пригодиться – она удаляет директорию со вложенными файлами;
  10. mv — переименование файла или директории, сначала указывается целевая директория и затем её новое название;
  11. locate — поиск файла с заданным названием;

Для наглядности, посмотрите на вывод команды tail

В примере выше, команда tail вывела только последние 11 строк.

Работа с архивами

Работа с .tar архивами – очень часто встречающаяся задача, поэтому хотим привести несколько полезных команд, чтобы не пришлось лишний раз пользоваться поисковиком 🙂

  • tar cf example.tar /home/example.txt — создание .tar архива, который будет содержать в себе текстовый файл example.txt;
  • tar cjf example1.tar.codez2 /home/example1.txt — команда с тем же функционалом, только будет использоваться сжатие Bzip2;
  • tar czf example2.tar.gz /home/example2.txt — опять архивация, только на этот раз со сжатием Gzip;
  • tar xf example.tar — распаковка архива в текущую директорию, если тип сжатия нестандартный, то после расширения нужно добавить тип сжатия (.codez2 или .gz соответственно);
Работа с .rpm пакетами

Так как мы больше всего рассказываем и пишем про FreePBX, который по умолчанию скачивается с официального сайта вместе c СentOS, здесь место для пары команд по работе c RPM пакетами. Почему? Потому что CentOS – RPM-based Linux Distribution 🙂 Команды требуют наличие прав супер — пользователя.

  • rpm -qa — вывод списка всех установленных RPM пакетов в системе;
  • rpm –i rpmpackage.rpm — установка пакета с именем rpmpackage;
  • rpm –e rpmpackage — удаление пакета с таким именем;
  • dpkg -i *.rpm — установка всех пакетов в директории;
Про жёсткие диски

Команда fdisk –l выводит информацию о всех подключенных жёстких и сменных дисках в системе, бывает очень полезной. Ниже пример вывод этой команды (в качестве пример рассматривается OTRS — сервер)

Полезна ли Вам эта статья?

Пожалуйста, расскажите почему?

Нам жаль, что статья не была полезна для вас 🙁 Пожалуйста, если не затруднит, укажите по какой причине? Мы будем очень благодарны за подробный ответ. Спасибо, что помогаете нам стать лучше!

Подпишитесь на нашу еженедельную рассылку, и мы будем присылать самые интересные публикации 🙂 Просто оставьте свои данные в форме ниже.

DATAENGINER

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

Итак, приступим к установке.

Шаг 1. Для начала нам необходимо установить samba, для этого воспользуемся командой: yum install -y samba

Вместе с samba будет установлено несколько дополнительных пакетов.

Шаг 2. Далее нам будет необходимо отредактировать файл конфигурации, для этого воспользуемся текстовым редактором vim:

Первый раздел global содержит следующие параметры

Сделаем бекап нашего дефолтного файла, сделав его копию и добавив к имени .bak, выполним команду: cp smb.conf smb.conf.bak

Создадим каталог который будет использоваться для публичного доступа пользователями

mkdir -p /samba/public

Изменим права для доступа к каталогу на 0755, для этого выполним

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

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

Далее создадим пользователя sambauser

Присвоим пользователю ранее созданную группу

Просмотрим список групп у пользователя sambauser, для этого выполним

Изменим группу для приватного каталога, для того чтобы пользователи не имеющие данную группу не могли получить доступ к данному каталогу

Для авторизации в системе, по сети нашего пользователя, нам необходимо задать пароль для пользователя.

Откроем снова наш конфигурационный файл и приведем его к виду.

Читать еще:  Asp net core linux

Для проверки правильности конфигурационного файла выполним команду

Далее проверим что, имя нашего сервера указано в хост файле. В качестве поддомена укажем localhost. Выполним команду vim /etc/hosts и укажем следующую строку.

Сохраним файл host. После чего перезапустим сервер samba. Выполним systemctl restart smb.

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

После чего уберем firewalld из автозагрузки выполнив команду

Проверим выключен ли firewalld выполнив

На этом установка Samba завершена! Далее мы рассмотрим как вы можете подключиться к общий папке в ОС Windows.

4 мин для чтения Как создать каталог в Linux с помощью команды mkdir

Введение

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

Как создать новый каталог

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

Например , если вы хотите создать каталог в вашей домашней папке под названием тест, откройте окно терминала и убедитесь, что вы находитесь в вашей домашней папке (используйте команду cd

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

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

В последнем разделе я показал вам, как создать каталог под названием тест. Выполнение команды ls покажет вам разрешения для этого каталога:

Скорее всего вы будете иметь что-то вроде этого:

Биты , которые интересуют нас являются drwxr-xr-x owner и group

d говорит нам, что тест является каталогом.

Первые три символа после d разрешения для владельца каталога, указанного по имени владельца.

  • г – для чтения
  • w – обозначает запись
  • х означает выполнение (которое в данном случае означает, что вы можете получить доступ к папке)

Следующие три символа являются правами доступа группы для файла, указанного в названии группы. Опять же варианты r,w и x – означает, что разрешение отсутствует. В приведенном выше примере кто-нибудь, принадлежащий к группе может получить доступ к папке и читать файлы, но не может записать в папку.

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

Чтобы изменить разрешения для файла или папки можно использовать chmod команду.Команда chmod позволяет определить 3 номера, которые устанавливают права доступа.

  • права на чтение = 4
  • написать разрешения = 2
  • разрешения на выполнение = 1

Для того, чтобы получить смесь разрешений вы добавляете числа вместе. Например,

  • чтобы получить чтение и выполнение номер вам нужно 5,
  • чтобы получить разрешение на чтение и запись их – число 6
  • получить запись и выполнение их – число 3.

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

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

Если вы хотите изменить имя группы, владеющей папкой, то это делается с помощью командыchgrp.

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

Прежде всего надо создать учетные записи групп, введя следующее:

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

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

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

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

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

Как создать каталог и установить разрешения

Вы можете создать каталог и установить разрешения для этого каталога в то же время, используя следующую команду:

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

Создать папку и указать родителя

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

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

  • / Главная / музыка / рок / Элис Купер
  • / Главная / музыка / рок / Кипелов
  • / Главная / музыка / рэп / Децл
  • / Главная / музыка / джаз / Луи Джордан

Было бы неудобно создать папку рок, затем Элиса Купера, а затем создать папку рэпа и папку Децл, а затем папку джаз, а затем папку Луи Джордан.

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

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

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

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

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

Выходной сигнал будет такой mkdir: created directory /path/to/directoryname.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Создать директорию linux

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

Создание файлов и директорий в терминале Linux.

Создание текстовых файлов в терминале Linux.

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

1. С помощью команды touch:

Вводим команду touch, затем путь и название нового файла.

Например, создадим текстовый файл в текущей директории с именем file.txt:

2. С помощью перенаправления стандартного потока вывода любой команды.

О перенаправлении стандартных потоках вывода в файл более подробно будет рассказано в одной из следующих статей о терминале Linux.

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

Читать еще:  Visual studio ide linux

В общем виде команда будет следующей:

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

Например, перенаправим вывод справки команды ls в файл, который будет создан (а если такой файл есть, то он будет полностью перезаписан):

Но это мы создали не пустой файл, а если хотим создать пустой, то воспользуемся командой echo c переданной ей пустой строкой (две одинарных ковычки) и перенаправим это в файл:

3. С помощью любого текстового редактора, консольного или с графическим интерфейсом.

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

Самый простой консольный текстовый редактор это nano:

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

Про манипуляции с текстом более подробно в одной из следующих статей о терминале Linux.

Создание директорий (каталогов) в терминале Linux.

Создание каталогов выполняется командой «mkdir» (от англ. make directory):

Создать директорию с именем «dir1»:

Создать две директории одновременно:

Создать дерево директорий:

Удаление файлов и директорий в терминале Linux.

Удаление директорий (каталогов) в терминале Linux.

Для удаления директорий используется команда «rmdir» (от англ. remove directory):

Удаляются директории аналогично, как и создаются. Такие же команды.

Удаление файлов в терминале Linux.

Для удаления файлов используется команда «rm» (от англ. remove).

Работает очень просто, пишете команду rm и путь к файлу, который хотите удалить:

Удалить файл с именем «file1»:

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

Удалить директорию с именем «dir1» и рекурсивно всё её содержимое:

Удалить две директории и рекурсивно их содержимое:

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

Перемещение и переименование файлов и директорий в терминале Linux.

Для перемещения и переименовывания файлов и директорий (каталогов) используется команда «mv» (от англ. move).

Всё очень просто. Чтобы переименовать файл, выполняем команду:

Чтобы переместить файл:

Копирование файлов и директорий в терминале Linux.

Для копирования используется команда «cp» (от англ. copy).

Скопировать файл file1 и назвать его file2:

Копировать директорию dir1 в директорию dir2:

Копировать файл с именем file1 в директорию c именем dir1:

Справка о командах.

У каждой команды присутствует множество параметров, чтобы узнать их, просто наберите команду и параметр —help:

Базовые команды Linux

mkdir — создание директорий

mkdir [OPTION] DIRECTORY

Создать ДИРЕКТОРИЮ(ии), если они не существуют.

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

-m, —mode=MODE — устанавливает права доступа (как в chmod), а не как umask (rwxrwxrwx)

-p, —parents — устанавливает родительские каталоги. Создает родительские директории, если необходимо.

-v, —verbose — выводит сообщение для каждой созданной директории

—help — выводит подсказку

—version — выводит информацию о версии утилиты

cd — сменить директорию

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

mv — изменить имя директории

Наберите mv с последующим указанием имени директории и её нового имени.

Пример: mv testdir newnamedir

pwd — вывести имя директории в которой вы сейчас находитесь

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

rmdir — удаляет существующую директорию

rm -r, удаляет директории и файлы внутри директории рекурсивно (то есть вместе с поддиректориями). Чтобы система не запрашивала подтверждение удаления каждого файла, добавьте параметры -f.

chown — меняет владельца и группу файла.

chown [OPTION] OWNER[:[GROUP]] FILE

chown [OPTION] :GROUP FILE

chown [OPTION] —reference=RFILE FILE

Изменяет владельца и/или группу каждого файла на указанных владельца и/или группу (OWNER и GROUP). С параметром —reference, меняет владельца и группу каждого файла на таких же, как у указанного файла (RFILE).

-c, —change — выводит дополнительную информацию как verbose, но только после того как изменения уже сделаны,

—dereference — изменяет файл, на который указывает символьная ссылка, а не саму ссылку (по умолчанию)

-h, —no-dereference — изменяет каждую символьную ссылку вместо вместо файлов, на которые они указывают (полезно только в системах, которые могут менять владельца символьной ссылки)

—from=CURRENT_OWNER:CURRENT_GROUP — меняет владельца и/или группу каждого файла только если их текущий владелец и/или группа удовлетворяют тем, которые указаны в параметре. Как группа, так и владелец могут быть опущены, в этом случае совпадение для данного атрибута не обязательно.

—no-preserve-root — не обрабатывать ‘/’ особо (по умолчанию)

—preserve-root — отказываться рекурсивно обрабатывать ‘/’

-f, —silent, —quiet — не выводить большинство сообщений об ошибках

—reference=RFILE использовать владельца и группу указанного файла (RFILE), вместо того чтобы указывать значения Владелец:Группа

-R, -recursive — обрабатывать файлы и директории рекурсивно

-v, —verbose — выводить информацию по каждому обработанному файлу

Следующие опции управляют тем, как проходится иерархия директорий, когда указан параметр -R. Если несколько опций указано, то сработает только последняя.

-H — если аргумент командной строки является символьной ссылкой на директорию, то пройти по ней

-L — перейти по каждой символьной ссылке на директорию

-P — не переходить по символьным ссылкам (по умолчанию)

chmod — изменение прав доступа к файлам

chmod [-R] permissions filenames

-R — меняет права на файлы, которые находятся в поддиректориях той директории, в которой вы сейчас находитесь (то есть меняет права рекурсивно).

permissions — указывает права, которые будут выданы. Ниже можно найти различные наборы прав, которые могут быть выданы в буквенном и цифровом виде.

filenames — файл или директория, для которой происходит смена прав.

Права в буквенном виде задаются строкой типа [ugoa] [rwx], где первый набор символов указывает для кого меняются права, а второй набор — собственно набор прав:

u — пользователь, владеющий файлом,
g — группа, которая владеет файлом,
o — остальные,
a — все,
r — читать файл,
w — писать в файл или править его,
x — запускать или исполнять файл как программу.

Читать еще:  Ошибка 0 0000003b

Права в числовом виде:

400 — чтение владельцем
040 — чтение группой
004 — чтение кем угодно (прочими)
200 — запись владельцем
020 — запись группой
002 — запись кем угодно (прочими)
100 — запуск владельцем
010 — запуск группой
001 — запуск кем угодно (прочими)

Возможно их сумма, к примеру: 777 — права на чтение, запись и исполнение для владельца, группы и всех остальных, 774 — владелец и группа могут читать, записывать в файл и исполнять его, а все остальные только читать файл.

ls — краткий список содержимого директории

-a, —all — показывать скрытые файлы
-d, —directory — выводить имя текущей директории
-F, —classify — в списке помечать директории значком ‘/’, а исполняемые файлы значком ‘*’
-g — показывать группу файла (но не владельца) в расширенном выводе
-i, —inode — выводить индекс каждого файла
-l — расширенный вывод, показывающий детали о файлах и директориях
-R, —recursive — выводить все найденные поддиректории (рекурсивный вывод)
-t — сортировка по дате изменения, вместо сортировки по имени

cp — копирование файлов

cp myfile yourfile

Скопировать файл «myfile» в файл «yourfile» в текущей рабочей директории. Эта команда создает файл «yourfile», если он не существует. По умолчанию, файл перезаписывается если он существует.

Когда установлен параметр «-i», если файл «yourfile» существует, система выдаст запрос перед тем, как его перезаписать.

cp -i /data/myfile

Копирует файл «/data/myfile» в текущую рабочую директорию и называет его «myfile». Выдаст запрос прежде чем перезаписать файл.

cp -dpr srcdir destdir

Копирует все файлы из директории «srcdir» в директорию «destdir» сохраняя ссылки (-d option), атрибуты файлов (-p option) и копируя рекурсивно (-r option). С этими опциями, вся директория и всё её содержимое могут быть скопированы в другую директорию.

ln — создает символьную ссылку на файл.

ln -s test symlink

Создает символьную ссылку с именем «symlink», которая ведет на файл «test». Команда «ls -i test symlink» покажет два файла отличающиеся значениями индексов (inode). Команда «ls -l test symlink» покажет, что симлинк указывает на файл «test».

locate — быстрый поиск файлов на основе базы данных.

updatedb

Эта команда создает базу данных mlocate. Потребуется некоторое время для выполнения этой команды. Она должна выполняться перед поиском файлов, однако cron выполняет эту команду периодически на большинстве систем.

locate whereis

Выведет все файлы (директории), чьи имена содержат строку «whereis».

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

less — организует построчный вывод.

Например: ls —help | less

cat — отправляет содержимое файла на стандартный выход. Это способ вывести содержимое короткого файла на экран. Отлично работает с перенаправлением.

whereis — сообщает все известные экземпляры команды.

wc — печатает число переводов строк, слов и байт для заданного файла.

bg jobs

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

cal month year — выводит календарь для указанного месяца указанного года.

cat files — выводит содержимое указанных файлов.

clear — очищает экран терминала.

cmp file1 file2 — сравнивает два файла, сообщая об отличиях. Похожа на команду diff, но отличается формат вывода.

diff file1 file2 — сравнивает два файла, сообщая об отличиях. Похожа на команду cmp, но отличается формат вывода.

dmesg — выводит сообщения, полученные в ходе последней загрузки системы.

fg jobs — выводит текущую задачу (или указанные задачи) на передний план.

file files — определяет и выводит описание типа каждого указанного файла.

find path -name pattern -print

Ищет по указанному пути файлы с именами удовлетворяющими указанному паттерну (обычно заключенному в одинарные кавычки) и выводит их имена. Команда «find» имеет много других аргументов и функций, используйте «man find».

free — выводит информацию о количестве использованной и свободной системной памяти.

ftp hostname — открывает соединение на указанный хост, разрешая передачу файлов. Программа ftp предоставляет подкоманды для организации передачи файлов, смотри документацию в интернете.

head files — выводит на экран первые несколько строк каждого указанного файла.

ispell files — проверяет орфографию указанных файлов.

kill process_ids

kill -l — убивает указанные процессы, посылает указанным процессам указанные сигналы (в виде номера или имени) или выводит список доступных сигналов.

killall program

Убивает все процессы, которые являются экземплярами указанной программы или отправляет указанный сигнал всем процессам, являющимся экземплярами указанной программы.

mail — запускает простой почтовый клиент, который позволяет отправлять и получать почтовые сообщения.

man section title — выводит заданную страницу системы помощи man.

ping host — отправляет эхо-запрос с помощью TCP/IP на указанный хост. Ответ на запрос подтверждает, что хост в рабочем состоянии.

reboot — перезагружает систему (требуются привилегии суперпользователя).

shutdown minutes

Выключает систему через указанное количество минут (требуются привилегии суперпользователя). Опция «-r» заставляет систему перезагрузиться вместо выключения.

sleep time — заставляет командный интерпретатор приостановить работу на заданное количество секунд.

sort files — сортирует указанные файлы. Команда имеет много полезных аргументов. Смотри документацию в интернете.

split file — делит файл на несколько меньших файлов. Команда имеет много полезных аргументов. Смотри документацию в интернете.

sync — завершает все ожидающие операции ввода/вывода (требуются привилегии суперпользователя).

telnet host — открывает сессию доступа к указанному хосту.

top — выводит информацию о системных процессах, которая постоянно обновляется до тех пор, пока пользователь не нажмет клавишу «q».

traceroute host — использует эхо-запросы для определения и вывода сетевого пути до хоста.

uptime — выводит информацию о том, сколько времени прошло с последней перезагрузки.

w — выводит список пользователей, подключенных к системе в данный момент.

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

Ссылка на основную публикацию
Adblock
detector