
Найдите IP-адрес вашего роутера
Все маршрутизаторы имеют веб-интерфейс и, следовательно, настроены с веб-браузером. Хотя некоторые маршрутизаторы могут быть доступны по имени (они обычно перехватывают DNS-запросы), все они могут быть доступны по их IP-адресу.
Полный доступ к маршрутизатору требует имя пользователя и пароль, но для того, чтобы вас даже попросили об этом, вам нужно знать IP-адрес.
IP-адрес записывается в виде четырех чисел, разделенных точками. Типичные домашние сети используют IP-адреса, которые начинаются с 192.168. Часто маршрутизатор имеет IP-адрес, например 192.168.0.1, почему именно так, прочитайте стаью по ссылке: https://19216811.ru/192-168-0-1 или 192.168.2.1.
Если ваш интернет-провайдер (ISP) установил ваш маршрутизатор, он знает и его IP-адрес, и идентификатор пользователя/пароль для него. По нашему опыту, провайдер никогда не сообщает клиенту эту информацию заранее.
С помощью самостоятельно установленного маршрутизатора вы можете получить IP-адрес (при условии, что он не был изменен при установке) из документации производителя. Иногда это находится на этикетке в нижней части маршрутизатора.
После настройки сети каждое вычислительное устройство в сети знает IP-адрес маршрутизатора и разливает бины, если вы знаете секретное рукопожатие.
Устройства Apple называют маршрутизатор «Router». Windows называет его «Default Gateway», термин, заимствованный из TCP/IP. Chrome OS называет маршрутизатор «Gateway». Android не сообщит вам IP-адрес вашего роутера, заставив вас установить приложение.
WINDOWS
Пользователи Windows могут запустить командную строку и ввести «ipconfig», чтобы увидеть шлюз по умолчанию. Вывод будет выглядеть так в Windows 7 :
Конфигурация Windows IP
Ethernet-адаптер Local Area Connection:
DNS-суффикс для конкретного подключения. :
IPv4-адрес. , , , , , , , , , , : 192.168.5.29
Маска подсети . , , , , , , , , , , : 255.255.255.0
Шлюз по умолчанию . , , , , , , , : 192.168.5.1
Вывод команды Windows XP практически идентичен. В любой системе, если компьютер использует Wi-Fi, а не Ethernet, ищите «Беспроводное сетевое соединение» вместо «Подключение по локальной сети».
Та же команда ipconfig работает на настольной стороне Windows 8, которая также определяет маршрутизатор как «шлюз по умолчанию». Беспроводное соединение в Windows 8 называется «Адаптер беспроводной локальной сети Wi-Fi», а проводное соединение идентифицируется как «Адаптер Ethernet Ethernet».
IOS
Процедура одинакова для iOS 10 (протестировано с 10.0.2), iOS 9 (протестировано с 9.3.5 и 9.2) и iOS 8 (протестировано с 8.1.2 и 8.4.1). Перейдите в Настройки, затем Wi-Fi, затем нажмите/нажмите на название беспроводной сети, к которой вы подключены. IP-адрес маршрутизатора определяется как «Маршрутизатор» в разделе DHCP.
На iOS 7 (протестировано с 7.1.1), перейдите в настройки, затем Wi-Fi, затем нажмите на название беспроводной сети, к которой вы подключены. Как и в iOS 8, IP-адрес маршрутизатора обозначен как «Маршрутизатор» в разделе DHCP.
В iOS 6 перейдите в настройки, затем Wi-Fi, затем нажмите стрелку справа от сети, к которой вы подключены. Интерфейс аналогичен показанному выше, IP-адрес маршрутизатора обозначен как «Маршрутизатор».
Инструкции для iOS версии 5 идентичны инструкциям для версии 6.
Все инструкции выше предполагают, что устройству iOS был присвоен IP-адрес с использованием DHCP. В том редком случае, когда у него есть статический IP-адрес, щелкните вкладку «Статические» (показано выше) и снова найдите «Маршрутизатор».
OS X
В Snow Leopard перейдите в «Настройки сети», нажмите кнопку «Дополнительно», затем на вкладке TCP/IP. Как и в случае с iOS, маршрутизатор определяется как «Маршрутизатор».
В Yosemite вы можете получить IP-адрес маршрутизатора несколькими способами.
Один подход — терминальная команда. Запустите терминал с помощью Go -> Utilities -> Terminal, затем введите:
netstat -nr | grep default
Вывод выглядит примерно так
Default 192.168.3.1 UGSc 317 2 en0
В этом примере IP-адрес маршрутизатора — 192.168.3.1.
Другая команда терминала, которую вы можете попробовать
route -n get default
Ищите «шлюз» на линии отдельно. Справа от него находится IP-адрес маршрутизатора.
При использовании Wi-Fi на Yosemite нажатие Option на индикаторе Wi-Fi приводит к тому, что система отображает больше данных, чем обычный щелчок. В эти дополнительные данные включен IP-адрес маршрутизатора, обозначенный как «Маршрутизатор». Нажатие опции не отображало IP-адрес маршрутизатора в Lion, я не уверен, какой выпуск OS X представил его.
Обычный щелчок по индикатору Wi-Fi также дает IP-адрес маршрутизатора, если вы посмотрите достаточно внимательно. Нажмите на «Открыть настройки сети», затем на сетевом интерфейсе Wi-Fi в левом столбце (должен сказать «подключен»), затем нажмите кнопку «Дополнительно …», затем вкладку TCP/IP и найдите «Маршрутизатор».
Если вы не используете Wi-Fi, то: Системные настройки -> Сеть -> нажмите на «подключенный» сетевой интерфейс в столбце слева -> кнопка «Дополнительно» -> вкладка TCP/IP и найдите «Маршрутизатор».
Если этого недостаточно, IP-адрес также доступен в утилите Информация о системе (Перейти -> Утилиты -> Информация о системе). Нажмите «Сеть» в левой колонке, затем «Wi-Fi» в верхней панели (не левой панели) и найдите «Маршрутизатор» в разделе IPv4.
ANDROID
Обе версии Android 5.1 и 6.0 не отображают IP-адрес маршрутизатора как часть экрана настроек Wi-Fi.
Это продолжает давнюю традицию держать пользователей в неведении. Версии Android 4.4.4, 4.4.2 и 2.3 также не смогли предоставить IP-адрес маршрутизатора. Эти старые версии, по крайней мере, сообщали бы о IP-адресе вашего устройства, но в версии 5.1 он был заменен полосой радиочастот, используемой сетью, к которой вы подключены.
Как говорится, есть приложение для этого.
Наше любимое приложение для сетевой информации — Fing, о котором я писал в прошлом году. Fing предназначен для инвентаризации вычислительных устройств в вашей сети. Запустите Fing и нажмите на верхнюю строку с именем сети. Он относится к маршрутизатору как «шлюз», а IP-адрес находится ниже локального адреса и выше DNS. Он вполне может совпадать с адресом DNS, это совсем не необычно.
Еще одним замечательным приложением, которое показывает IP-адрес маршрутизатора в качестве дополнительного преимущества, является WiFi Analyzer от farproc. В WiFi Analyzer перейдите на экран списка точек доступа и нажмите на верхнюю строку, которая показывает название сети, к которой вы подключены, и ваш IP-адрес. В появившемся окне найдите IP-адрес шлюза (он находится над маской).
ХРОМ ОС
Перейдите на страницу настроек, либо выбрав «Настройки» в меню гамбургера, либо введя «chrome://settings» в адресной строке. Если вы используете Wi-Fi, нажмите «Сеть Wi-Fi» в разделе «Подключение к Интернету», затем на имя/SSID сети, к которой вы подключены. Откроется окно с тремя вкладками: Соединение, Сеть и Прокси. Нажмите на вкладку Сеть, как показано выше. Маршрутизатор идентифицирован как «шлюз».
Кроме того, вы можете ввести «chrome://system» в адресную строку и прокрутить вниз до раздела «маршруты», показанного выше. Текст справа скажет «по умолчанию через», а затем IP-адрес маршрутизатора. Хотя обрезка на снимке экрана выше, следующая строка заканчивается IP-адресом устройства, сразу после «src».
В другом разделе network-status также есть IP-адрес маршрутизатора, но это наименее удобный вариант.
Нажмите на серую кнопку Expand. Если Chromebook подключен через Ethernet, найдите группу данных, обозначенную как «eth0». Если он подключен по беспроводной сети, посмотрите в разделе «wlan0», как показано выше. Маршрутизатор идентифицирован как «шлюз».
Наконец, чтобы не проходить через это снова, мы предлагаем написать IP-адрес маршрутизатора вместе с идентификатором пользователя/паролем на листе бумаги, приклеенном к маршрутизатору лицевой стороной вниз.
Руководство по использованию команды “useradd” в Linux
В этом руководстве показано, как создавать пользователей в Linux с помощью командной строки.
Хотя многие настольные Linux-дистрибутивы представляют собой графический инструмент для создания пользователей, у вас есть хорошая возможность, чтобы узнать, как это сделать из командной строки, чтобы вы могли передавать свои навыки из одного дистрибутива другому без изучения новых пользовательских интерфейсов.
Создание
Синтаксис:
useradd <имя пользователя=””> [опции]
* опции не являются обязательными при создании пользователя.
Пример:
useradd dmosk
* в данном примере создается учетная запись dmosk.
Для учетной записи стоит сразу создать пароль:
passwd dmosk
* после ввода, система попросит ввести пароль дважды.
1. Как добавить нового пользователя в Linux
Для создания/добавления нового пользователя используется команда “useradd” с аргументом “username”, где username – это имя нового пользователя, которое будет использоваться для входа в систему.
За один раз можно добавить только одного пользователя, и его имя должно быть уникальным (то есть отличаться от имен других пользователей, уже существующих в системе).
Например, добавляем пользователя “techmint”:
[root@tecmint ~]# useradd tecmint
После выполнения данной команды, новый пользователь будет создан в заблокированном состоянии. Чтобы разблокировать пользовательский аккаунт, необходимо задать его пароль с помощью команды “passwd”.
[root@tecmint ~]# passwd tecmint Changing password for user tecmint. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully.
После создания нового пользователя его запись автоматически добавляется в пароль “/etc/passwd” и имеет следующий вид:
tecmint:x:504:504:tecmint:/home/tecmint:/bin/bash
Она состоит из семи разделенных двоеточием полей, каждое из которых имеет свое назначение:
Username: имя пользователя, используемое для входа в систему. Может иметь длинц от 1 до 32 символов.
Password: пользовательский пароль (или символ x), который хранится в зашифрованном виде в файле /etc/shadow.
User ID (UID): каждый пользователь должен иметь User ID (UID) – идентификатор пользователя. По умолчанию UID 0 зарезервирован для root, а UID в диапазоне 1-99 для других предопределенных аккаунтов. UID в диапазоне 100-999 предназначены для пользовательских аккаунтов и групп.
Group ID (GID): идентификатор группы – Group ID (GID), хранится в файле /etc/group file.
User Info: это опциональное поле и оно позволяет вам задать дополнительную информацию о пользователе, например полное имя. Это поле заполняется с помощью команды “finger”.
Home Directory: абсолютный путь к домашней директории пользователя.
Shell: абсолютный путь к командной оболочке пользователя, например /bin/bash.
2. Создание пользователя с нестандартным размещением домашней директории
По умолчанию команда “useradd” создает домашнюю директорию пользователя в /home и называет ее именем пользователя. Поэтому, например, для приведенного выше примера, мы увидим домашнюю директорию созданного нами пользователя “tecmint” в “/home/tecmint”.
Однако это действие можно изменить с помощью опции “-d”, указав после нее расположение новой домашней директории. Например, приведенная ниже команда создаст пользователя “anusha” с домашней директорией “/data/projects”.
[root@tecmint ~]# useradd -d /data/projects anusha
Вы можете просмотреть расположение домашней директории пользователя, а также другую информацию о нем:
[root@tecmint ~]# cat /etc/passwd | grep anusha anusha:x:505:505::/data/projects:/bin/bash
3. Создание пользователя с заданным User ID
В Linux каждый пользователь имеет свой собственный UID (Unique Identification Number). По умолчанию при создании нового пользователя ему присваивается userid 500, 501, 502 и т.д.
Но мы можем создать пользователя с заданным userid с помощью опции “-u”. Например, приведенная ниже команда создает пользователя “navin” с userid “999”.
[root@tecmint ~]# useradd -u 999 navin
Теперь мы можем проверить, что пользователь создан действительно с этим идентификатором.
[root@tecmint ~]# cat /etc/passwd | grep tecmint navin:x:999:999::/home/navin:/bin/bash
Замечание: Обратите внимание, что user ID должен отличаться от user ID пользователей, уже существующих в системе.
4. Создание пользователя с заданным Group ID
Аналогично, каждый пользователь имеет свой GID (Group Identification Number). Мы можем создавать пользователей с заданным group ID с помощью опции -g.
В этом примере мы добавим пользователя “tarunika” с заданными UID и GID:
[root@tecmint ~]# useradd -u 1000 -g 500 tarunika
Проверим, правильно ли сработала команда:
[root@tecmint ~]# cat /etc/passwd | grep tarunika tarunika:x:1000:500::/home/tarunika:/bin/bash
5. Добавление пользователя в несколько групп
Опция “-G” используется для добавления пользователя в дополнительные группы. Названия групп разделяются запятой без пробелов.
В приведенном ниже примере мы добавляем пользователя “tecmint” в группы admins, webadmin и developer.
[root@tecmint ~]# useradd -G admins,webadmin,developers tecmint
Теперь проверим, в каких группах числится пользователь, с помощью команды id.
[root@tecmint ~]# id tecmint uid=1001(tecmint) gid=1001(tecmint) groups=1001(tecmint),500(admins),501(webadmin),502(developers) context=root:system_r:unconfined_t:SystemLow-SystemHigh
6. Добавление пользователя без домашней директории
В некоторых ситуациях мы не хотим, по соображениям безопасности, давать пользователям домашние директории. В таком случае, когда пользователь авторизуется в системе сразу после ее запуска, его домашней директорией будет root. Если такой пользователь использует команду su, то он авторизуется в домашней директории предыдущего пользователя.
Для создания пользователя без домашней директории используется опция “-M”. Например, создадим пользователя “shilpi” без домашней директории.
[root@tecmint ~]# useradd -M shilpi
Давайте проверим, что пользователь создан без домашней директории, с помощью команды ls:
[root@tecmint ~]# ls -l /home/shilpi ls: cannot access /home/shilpi: No such file or directory
7. Добавление пользовательского аккаунта с ограниченным сроком действия
По умолчанию, когда мы добавляем пользователя с помощью команды “useradd”, его аккаунт не имеет сроков действия, то есть дата истечения сроков его жизни установена в 0 (никогда не истекает).
Однако мы можем установить дату истечения с помощью опции “-e”, задав дату в формате YYYY-MM-DD. Это полезно при создании временных аккаунтов для каких-то конкретных задач.
В приведенном ниже примере мы создаем пользователя “aparna” со сроком жизни его аккаунта до 27 апреля 2015 года в формате YYYY-MM-DD.
[root@tecmint ~]# useradd -e 2015-03-27 aparna
Далее, проверяем сроки действия аккаунта и пароля с помощью команды “chage”.
[root@tecmint ~]# chage -l aparna Last password change : Mar 28, 2014 Password expires : never Password inactive : never Account expires : Mar 27, 2015 Minimum number of days between password change : 0 Maximum number of days between password change : 99999 Number of days of warning before password expires : 7
8. Создание пользователя с ограниченным временем действия пароля
Аргумент “-f” используется для того, чтобы задать количество дней, через которое пароль перестанет действовать. По умолчанию его значение равно -1, при этом время действия пароля не ограничивается.
В примере мы задаем для пользователя “tecmint” время действия пароля 45 дней с помощью опций “-e” и “-f”.
[root@tecmint ~]# useradd -e 2014-04-27 -f 45 tecmint
Ключи (опции)
| -b | Задает базовый каталог для домашнего каталога useradd dmosk -b /var/home |
| -c | Создает комментарий для описания учетной записи useradd dmosk -c “Пользователя для управления системой” |
| -d | Полный путь к домашнему каталогу пользователя useradd dmosk -d /home/newuser |
| -D | Позволяет показать или изменить настройки по умолчанию, которые будут применяться при последующем создании пользователей useradd dmosk -Ds /bin/bash |
| -e | Дата, после которой учетная запись устареет. useradd dmosk -e 2017-12-31 |
| -f | Число дней, после которого учетная запись с устаревшим паролем будет заблокирована useradd dmosk -f 0 |
| -g | Задает основную группу useradd dmosk -g altternativegroup |
| -G | Задает дополнительные группы useradd dmosk -G wheel |
| -k | Путь к источнику скелета (файлы с шаблонами для нового пользователя) useradd dmosk -k /var/skel |
| -m | При создании пользователя создать домашний каталог useradd dmosk -m |
| -M | Не создавать домашний каталог useradd dmosk -M |
| -N | Не создавать основную группу с таким же именем, как у пользователя useradd dmosk -N |
| -o | Разрешает создание учетной записи с повторяющимся UID useradd dmosk -u 15 -o |
| -p | Задает пароль useradd dmosk -p pass |
| -r | Системная учетная запись (без домашнего каталога и с идентификаторами в диапазоне SYS_UID_MIN – SYS_UID_MAX из файла /etc/login.defs) useradd dmosk -r |
| -R | Каталог, в который выполняется chroot useradd dmosk -R /var/chroot/home |
| -s | Путь до оболочки командной строки useradd dmosk -s /bin/csh |
| -u | Задает UID useradd dmosk -u 666 |
| -U | Имя группы будет таким же, как у пользователя useradd dmosk -U |
Актуальный список ключей можно получить командой useradd -h.
Редактирование
Синтаксис:
usermod <имя пользователя=””> [опции]
Пример:
usermod dmosk -G wheel
* эта команда добавит пользователя dmosk в группу wheel
Удаление
Синтаксис:
userdel <имя пользователя=””> [опции]
Пример:
userdel dmosk
Блокировка
Можно заблокировать пользователя, не удаляя его из системы:
usermod -L <имя пользователя=””>
Пример:
usermod -L dmosk
Чтобы разблокировать пользователя, вводим:
usermod -U <имя пользователя=””>
Работа с группами
Добавление:
groupadd <группа> [опции]
Редактирование:
groupmod <группа> [опции]
Удаление:
groupdel <группа> [опции]
Примеры работы с учетными записями
Команда useradd
Во-первых, давайте посмотрим на поведение команды useradd по умолчанию. Вы когда-нибудь запускали следующую команду?
useradd NewUser
Мы еще не видели дистрибутив, где эта команда создала полную учетную запись пользователя. Даже после установки пароля для нового пользователя вам потребуется использовать дополнительные параметры.
Например, в нашей системе указанная выше команда добавила следующую запись в файл /etc/passwd.

Если вы читали статью о перечислении пользователей в Linux, вы, вероятно, уже знакомы с содержанием файла /etc/passwd. Сначала это выглядит хорошо, но если вы начнете копать, вы скоро заметите, что некоторые вещи не совсем правильные.
Во-первых, второе поле содержит «х». Это означает, что заполнитель для информации о пароле находится в /etc/shadow. Но мы не установили пароль. Это означает, что тестовый пользователь не сможет войти в систему.
Во-вторых, домашний каталог. Дело в том, что /home/test не существует. Даже после того, как вы установили пароль, произойдет ошибка, если пользователь войдет в систему. В зависимости от другой конфигурации ваша система Linux может запретить пользователю входить без действительного домашнего каталога. Скорее всего, пользователь test позволит войти в систему, по крайней мере, в текстовом режиме. Но пользователь test не сможет создать свой домашний каталог.
В-третьих, оболочкой по умолчанию является sh, а не bash. Мы не используем sh как оболочку. Вы, вероятно, тоже не знаете, потому что bash является оболочкой по умолчанию в большинстве дистрибутивов Linux.
В то время как useradd-х поведение можно немного изменить, отредактировав /etc/login.defs, существует мало шансов, что приведенная выше команда создаст полную учетную запись пользователя. Useradd является низкоуровневая утилита. Тем не менее, просмотр настроек в /etc/login.defs может быть полезен.
Синтаксис команды useradd
Команда useradd принимает в качестве аргумента имя пользователя, а также различные опции.
Синтаксис команды следующий:
useradd опцииимяпользователя
Создание нового пользователя
Чтобы просто создать пользователя используется команда useradd без каких-либо опций. Указывается только имя пользователя.
sudo useradd pupkin
Данная команда создает нового пользователя с системными параметрами по умолчанию, которые прописаны в файле /etc/default/useradd
Чтобы пользователь мог войти в систему, необходимо задать для него пароль. Для этого используем команду:
sudo passwd pupkin
Создание нового пользователя с домашней директорией в /home
Создадим пользователя и его домашнюю директорию.
sudo useradd -m pupkin
Домашняя директория создается по умолчанию в каталоге /home. Имя директории совпадает с именем пользователя.
Создание нового пользователя с произвольной домашней директорией
Чтобы создать пользователя с домашней директорией, расположенной в произвольном месте, используется опция -d, после которой указывается путь до директории. Директорию необходимо создать заранее.
Создаем домашнюю директорию для будущего пользователя:
sudo mkdir -p /users/pupkin
Копируем файлы и директории, которые по умолчанию создаются в домашней директории пользователя в данной системе. Данные файлы находятся в директории /etc/skel
sudo cp -rT /etc/skel /users/pupkin
Создаем пользователя и указываем домашнюю директорию:
sudo useradd -d /users/pupkin pupkin
Меняем права доступа у домашней директории:
sudo chown -R pupkin:pupkin /users/pupkin
Задаем пароль для пользователя:
sudo passwd pupkin
Можно просмотреть информацию о пользователе, которая сохранена в файле /etc/passwd
cat /etc/passwd | grep pupkin pupkin:x:1001:1001::/users/pupkin:/bin/sh

Создание нового пользователя с произвольными UID, GID
Каждый пользователь в Linux имеет свой числовой идентификатор — UID, а также идентификатор основной группы пользователя — GID.
При создании пользователя можно задать произвольные номера UID и/или GID. При указании номера группы, группа с этим номером должна быть создана заранее.
useradd -u 1234 -g 1222 pupkin
Создание пользователя с указанием оболочки (shell)
По умолчанию новые пользователи создаются с оболочкой /bin/sh Чтобы задать другую оболочку, используется опция -s /путь/до/оболочки
sudo useradd -m -s /bin/bash pupkin
Смотрите также: Как определить и изменить командную оболочку (shell) в Linux
Создать пользователя и добавить его в группы
Обычно пользователи в Linux принадлежат нескольким группам. Чтобы при создании нового пользователя задать группы, к которым он будет принадлежать, используется опция -G список,групп
sudo useradd -m -G adm,cdrom,wheel -s /bin/bash pupkin
Смотрите также: «Добавление пользователя в группу. Списки пользователей и групп в Linux»
В чем отличия adduser и useradd?
useradd — это низкоуровневая утилита для создания пользователей в Linux.
adduser — представляет собой более простое решение для создания пользователей и по факту является надстройкой над useradd, groupadd и usermod.
Утилита adduser доступна не во всех дистрибутивах Linux. Реализация adduser также может отличаться. Если в дистрибутиве присутствует утилита adduser, то для создания пользователей рекомендуется использовать именно ее.
Команда Adduser
Adduser недоступен. в некоторых дистрибутивах Linux. На других это мягкая ссылка на useradd. В то время как на некоторых других, это сценарий Perl.
Adduser – это интерактивная утилита высокого уровня. В качестве бэкэнда используется утилита низкого уровня useradd. Настройки в /etc/login.defs будут использоваться при использовании adduser. На дистрибутивах, основанных на Debian, даже страница man рекомендует использовать его с помощью команды useradd.
Вызов adduser только с именем пользователя проведет вас через ряд вопросов.

После ответа на несколько вопросов будет создана полная учетная запись пользователя. Новый пользователь готов войти через ваш менеджер входа в систему или в текстовом режиме.
Чтобы достичь почти того же результата с помощью низкоуровневой утилиты useradd, команда должна выглядеть примерно так:
sudo useradd -d /home/test -m -s/bin/bash -c FullName,Phone,OtherInfo test && passwd test
В опции -с могут быть удалены без проблем, то разделенный запятыми список, который следует будут добавлены комментарии к /etc/passwd. Но даже тогда adduser сохраняет две дополнительные команды.
У Adduser есть список доступных вам опций. Вот короткий список, который, я думаю, будет наиболее полезно узнать. Обратитесь к справке или справочной странице для получения более подробной информации.
- –system: добавить системного пользователя. По умолчанию системные пользователи помещаются в группу nogroup. Чтобы добавить системного пользователя в существующую группу, укажите параметр –gid или –ingroup.
- –home DIR: использовать DIR в качестве домашнего каталога вместо стандартного. При необходимости будет создан каталог и скопированы файлы скелета.
- –shell SHELL: используйте SHELL вместо значения по умолчанию.
- –ingroup GROUP: установить первичную группу пользователя на GROUP
- –add_extra_groups: добавить нового пользователя в дополнительную группу, определенную в файле конфигурации.
Файл конфигурации AddUser позволяет установить значения по умолчанию, которые будут использоваться при создании учетной записи. Файл хорошо документирован и позволяет устанавливать значения по умолчанию, такие как:
- Оболочка по умолчанию
- Домашний каталог
- Дополнительные группы
- Добавить дополнительные группы
[spoiler title=”Источники”]
- https://linuxinsider.ru/kak-sozdat-polzovatelya-linux/
- https://www.dmosk.ru/miniinstruktions.php?mini=linux-users
- http://rus-linux.net/MyLDP/consol/15-primerov-po-useradd.html
- https://andreyex.ru/linux/komandy-linux-i-komandy-shell/useradd-protiv-adduser-v-chem-raznitsa/
- https://pingvinus.ru/note/useradd
[/spoiler]
Пошаговая установка freebsd 11 для чайников
Как обычно, сначала нам нужно скачать установочный образ, и только потом может быть выполнена установка и настройка freebsd.
Шаг 1. Загрузка образа
На официальном сайте есть несколько версий для разных архитектур, нам нужна amd64 или x86, в зависимости от количества оперативной памяти, которую вы желаете использовать.
Мы будем устанавливать последнюю версию FreeBSD 11.1, но если позже выйдет более новая версия, то я думаю, что статья будет все еще актуальна и для нее.
Шаг 2. Запись образа на диск
Далее вам нужно записать полученный образ на диск или на флешку. Вы можете использовать один из известных вам методов для этого. Например, в Linux вы можете использовать Unetbootin или Etcher, а в Windows есть Rufus.
Далее вставьте носитель в компьютер и измените настройки BIOS так, чтобы загрузка выполнялась из вставленного носителя. Чтобы войти в BIOS, во время загрузки нажмите одну из клавишей: F2, F11, F12 перед загрузкой операционной системы. Затем перейдите на вкладку “Boot” и поставьте там ваш носитель на первое место.
Установка FreeBSD 11
Шаг 1. – Запуск установки.
При первой загрузке нас встречает меню загрузчика FreeBSD.(Рис.4)
- Boot Multi User [Enter] – Загрузка в многопользовательском режиме.
- Boot Single User – Загрузка в однопользовательском режиме.
- Escape to loader prompt – Переход в командную строку загрузчика.
- Reboot – Перезагрузка.
Жмём [Enter] для выбора первого пункта, или можно подождать 10 секунд и нас автоматически перенаправит к стандартной установке.

Рис.4 – Меню загрузчика FreeBSD.
Далее нас приветствует уже установщик FreeBSD.(Рис.5)
[перевод] Добро пожаловать в FreeBSD! Вы хотите начать установку или использовать live CD? [/перевод]
- – Установка.
- – Переход в консоль.
- – Загрузка в режиме Live CD.
Выбираем , Жмём “Enter”.

Рис.5 – Установщик FreeBSD.
Шаг 2. – Выбор раскладки.
Выбираем раскладку. Русская раскладка мне не нужна, меня устраивает раскладка по умолчанию (английская). Жму “Continue with default keymap”.(Рис.6)

Рис.6 – Выбор раскладки.
Шаг 3. – Имя сервера.
Пишем удобное для нас имя сервера, подберите такое имя, чтобы вам потом удобно было с ним работать. Много времени на раздумья тратить не стоит. После установки имя легко можно изменить,
Я ввожу – “freebsditdeer”, Жмём .(Рис.7)

Рис.7 – Имя сервера FreeBSD.
Шаг 4. – Выбор компонентов.
Выберите дополнительные системные компоненты для установки(Рис.8):
- base-dbg – Пакеты для отладки системы.
- doc – Дополнительная документация.
- kernel-dbg – Пакеты для отладки ядра.
- lib32-dbg – Пакеты для отладки 32х битных приложений.
- lib32 – Библиотека совместимости для 32x битных приложений.
- ports – Дерево портов.
- src – Дерево исходного кода системы.
- tests – Тестирование.

Рис.8 – Выбор дополнительных системных компонентов для установки.
По умолчанию отмечены lib32 и ports. Для стандартной серверной сборки этих компонентов достаточно. Лично я ничего больше выбирать не буду. а вы – на свое усмотрение. Выбираем (пробелом), а после жмём < OK >.
Шаг 5. – Разметка диска.
Выбор способа разметки диска.(Рис.9)
- Auto (UFS) – Автоматическая разметка диска.
- Manual – Ручная разметка диска.
- Shell – Ручная разметка через консоль.
- Auto (ZFS) – Установка на Raid.
Я выбираю автоматическую разметку диска. – Auto (UFS). Идём далее…

Рис.9 – Выбор способа разметки диска.
Нам предлагается выбрать куда именно устанавливать FreeBSD: < Entire Disk > – весь диск, или < Partition > – Раздел диска.(Рис.10) Если у вас на жестком диске не одна система, то выбирайте раздел, но лично у меня чистый диск, предназначенный только для FreeDSD. Я жму – < Entire Disk >.

Рис.10 – Выбор расположения системы.
Выберите таблицу разделов. Я выбираю GTP, Жмём < OK >.(Рис.11)

Рис.11 – Выбираем таблицу разделов.
Проверьте предложенную разметку диска. По завершении нажмите кнопку «Finish».(Рис.12)

Рис.12 – Предложенная разметка диска.
Даём согласие на применение новой разметки диска. Жмём < Commit >.(Рис.13)

Рис.13 – Даём согласие на применение новой разметки диска.
Шаг 6. – Установка базовой системы.
Установка базовой системы проходит в автоматическом режиме, без участия пользователя. Просто ждём пару минут…(Рис.14)

Рис.14 – Установка базовой системы.
Шаг 7. – Ввод пароля root.
Вводим пароль суперпользователя root. Из соображений безопасности при вводе пароля на экране ничего меняться не должно, не пугайтесь что пароль у вас не пишется, всё так и должно быть.(Рис.15)

Рис.15 – Ввод пароля суперпользователя.
Шаг 8. – Настройка сети.
Выбираем сетевую карту(интерфейс), так как у меня она одна, то выбирать не приходится. Жмём < OK >.(Рис.16)

Рис.16 – Выбор сетевого интерфейса.
“Хотим ли мы настроить IPv4 для этого интерфейса?” – Конечно хотим как же нам без сети… Жмём < Yes >.(Рис.17)

Рис.17 – Хотим ли мы настроить IPv4 для этого интерфейса?
“Вы хотите использовать DHCP для настройки этого интерфейса?” – Для сервера важно иметь статический(постоянный) IP адрес, для того чтобы он не менялся необходимо прописать его вручную, либо зарезервировать на DHCP сервере, я выбираю первый вариант – прописать вручную, а значит DHCP сервер нам не нужен. Жмём < NO >. (Рис.18) Идём далее…

Рис.18 – Вы хотите использовать DHCP для настройки этого интерфейса?
Вводим свои настройки.(Рис.19)
- IP Address – Вводим IP адрес нашей freebsd.
- Subnet Mask – Маску сети.
- Default Router – Шлюз по умолчанию.

Рис.19 – Вводим настройки сетевого интерфейса.
“Хотим ли мы настроить IPv6 для этого интерфейса?” – Нет не хотим. Жмём < NO >.(Рис.20)

Рис.20 – Хотим ли мы настроить IPv6 для этого интерфейса?
Предлагается ввести адреса DNS серверов. Если вы получали настройки по DHCP то поля с адресами уже будут заполнены.(Рис.21)
Я ввожу IP адрес своего роутера(шлюза) – 192.168.3.1 и на всякий случай DNS Google – 8.8.8.8. Жмём < OK >.

Рис.21 – Вводим DNS сервера.
Шаг 9. – Выбор локации.
Выбираем свое местоположение, для определения временной зоны. Я проживаю в Санкт-Петербурге и время тут не отличается от московского.
Выбираю регион – “8 Europe”(Рис.22), страну – “39 Russian Federation”(Рис.23) и часовой пояс – “2 MSK+00 – Moscow area”,подтверждаю выбор – жму < Yes >.(Рис.24)

Рис.22 – Выбор региона.
Рис.23 – Выбор страны.
Рис.24 – Выбор часового пояса.
Шаг 10. – Настройка даты и времени.
Настройка даты и времени, Если что-то не совпадает – меняйте. У меня расхождений нет. Дважды Жму < Skip >.(Рис.25)(Рис.26)

Рис.25 – Настройка даты.
Рис.26 – Настройка времени.
Шаг 11. – Настройка автозапуска служб.
Выберите службы, которые вы хотите запускать при загрузке.(Рис.27)
- local_unbound – Локальное кеширование.
- sshd – Демон для удаленного подключения по SSH.
- moused – Поддержка PS/2 клавиатур.
- ntpd – Сервер времени.
- powerd – Динамически настраиваемая частота процессора, в зависимости от нагрузки системы.
- dunpdev – Включить дампы сбоя ядра в /var/crash.
Вам не помешает sshd, ntpd и powerd. Лично я оставлю только powerd. В следующих статьях мы настроим sshd, ntpd вручную. Выбираем(пробелом) и жмем < OK >.

Рис.27 – Добавление служб в автозагрузку.
Шаг 12. – Настройки безопасности.
Выберите параметры безопасности системы.(Рис.28)
- Hide processes runing as other users – Скрыть процессы, выполняемые другими пользователями.
- Hide processes runing as other groups – Скрыть процессы, выполняемые другими группами пользователей.
- Disable reading kernel message buffer for unprivileged users – Отключение чтения буфера сообщений ядра для непривилегированных пользователей.
- Disable process debugging facilities for unprivileged users – Отключение средств отладки процессов для непривилегированных пользователей.
- Randomize the PID of newly created processes – Рандомизировать PID вновь созданных процессов.
- Insert stack guard page ahead of the growable segments – Вставить страницу защиты стека перед растущими сегментами.
- Clean the /tmp filesystem on system startup – Очистка каталога /tmp при запуске системы.
- Disable opening Syslog network socket (disables remote logging) – Отключить открытие сетевого сокета Syslog (отключает удаленную регистрацию).
- Disable Sandmail service – Отключить службу Sendmail.
Отмечаем(пробелом) 3, 4, 7, 8 и если не собираетесь устанавливать на FreeBSD почтовый сервер то и 9. жмём < OK >.

Рис.28 – Выбор параметров безопасности системы.
Шаг 13. – Добавление учетных записей пользователей.
Вы бы хотели сейчас добавить пользователей в устанавливаемую систему? – Я хотел бы, Жму < Yes >.(Рис.29)

Рис.29 – Хотите добавить пользователя?
Вводим Username и Full name, Я ввожу дважды – firstdeer. Дальше действуйте на свое усмотрение, я все оставляю по умолчанию, Ввожу и подтверждаю пароль.(Рис.30)
Если вы на 11 шаге выбрали sshd, то рекомендую добавить своего пользователя в группу – wheel, чтобы вы смогли авторизоваться по ssh и получить права суперпользователя.
В строке напишите “wheel”- Login group is firstdeer. Invite firstdeer into other groups? []: wheel. Лично я этого делать не буду.

Рис.30 – Добавление нового пользователя.
Нам предоставят для проверки введенную нами информацию и спросят все ли нас устраивает… OK? (yes/no): вводим yes.(Рис.31)
Получим сообщение: adduser INFO: Successfully added (firstdeer) to the user database.(Успешно добавлен (firstdeer) в пользовательскую базу данных.)
Если вам достаточно одного пользователя то на вопрос “Add another user?/Добавить другого пользователя” напишите “no”. Мне достаточно, я и пишу…

Рис.31 – Добавить нового пользователя?
Настройка графического окружения во FreeBSD

После того как freeBSD установлена и запущена, то первое, что мы увидим это командную строку.
Работать в командной строке не то чтобы не удобно, потому что очень даже удобно, а скорее не по используешь машину как развлекательный медиа центр, и то можно из командной строки слушать музыку, короче говоря, зачем нужна во freeBSD графическая среда каждый решает для себя сам, а в этом посте мы пройдем по шагам как превратить командную строку в графическую среду.
Подготовка к настройке
Если только у вас не настроена команда sudo то залогиньтесь под рутом, а если хотите все делать с командой sudo то сначала настройте sudo.
Первое, что надо сделать это поменять командный интерпретатор. Для этого запустите chpass:
chpass username
Так как в freeBSD в основном приходится работать в командной строке (по крайней мере после установки), сразу же что нужно сделать, это заменить оболочку которая идет по умолчанию на более функциональную, например такую как csh (вторая строчка):
#Changing user information for username. Shell: /bin/csh Full Name: username Office Location: Office Phone: Home Phone: Other information:
Следующее, что может понадобиться это немного настроить интернет если мы выходим туда через роутер. Есть такой файлик, называется /etc/resolv.conf, там прописывается ip адресс маршрутизатора. Перейдите в рута и откроете этот файл на редактирование в идущем по умолчанию редакторе ee:
suee /etc/resolv.conf
и добавьте адрес маршрутизатора, в моем случае его адрес 172.22.193.1:
nameserver 172.22.193.1
Для выхода и сохранения нажмите один раз на Esc и два раза на a.
Теперь должен заработать интернет (в случае если он ранее не работал и по причине что описана выше). Чтобы проверить, что интернет работает про пингуем ресурс ya.ru
ping ya.ru PING ya.ru (213.180.193.3): 56 data bytes 64 bytes from 213.180.193.3: icmp_seq=0 ttl=55 time=19.865 ms 64 bytes from 213.180.193.3: icmp_seq=1 ttl=55 time=23.762 ms 64 bytes from 213.180.193.3: icmp_seq=2 ttl=55 time=20.075 ms 64 bytes from 213.180.193.3: icmp_seq=3 ttl=55 time=19.721 ms
Установка оконного сервера Xorg
После того как мы убедились, что связь есть, можно продолжить дальнейшую настройку freeBSD. Так как мы хотим вместо командной строки видеть графическую среду, то для начала нам нужно установить какую-нибудь реализацию X Window System. Одной из таких реализаций является Xorg. Установим пакет Xorg командой pkg install:
pkg install xorg
После этого начнется процесс установки пакета Xorg с выводом информации об установке, как, например, вытаскивание пакетов из репозитория, затем их распаковка и установка.
Так как в дальнейшем нам надо будет редактировать текстовые файлы, нам надо установить более удобный редактор чем ee, например vim и файловый менеджер Midnight commander, так как нам надо будет перемещаться по файловой системе:
pkg install vim mc
На данный момент Xorg у нас есть, но это только оконная система или X Window System которая знает как рисовать окна, как их перемещать, как они между собой перерисовываются когда одно закрывает другое, как они должны взаимодействовать с устройствами ввода, в частности как они должны обрабатывать сообщения поступающие от клавиатуры и мыши, короче говоря реализует все базовые функции графической среды. В принципе для того, чтобы работать в графической среде этого будет достаточно, после вызова команды startx появится какая никакая графическая среда. Однако нам нужно FullHD разрешение, рабочий стол, чтобы было красиво, много эффектов и пр., для этого нам надо еще установить какое-нибудь графическое окружение или среду рабочего стола и таких несколько. Самые популярные это GNOME и KDE. Но ни гном ни кеды мне не подходят так как они слишком тяжелые. Лучшим выбором будет более легкий Xfce или MATE. Давайте поставим MATE:
pkg install mate
На данном этапе, если мы пропишем необходимые конфиги в конфигуркционных файлах ~/.xinitrc и /etc/rc.conf и запустим службы dbus и hald, то запустив команду startx мы увидим графическую среду.
Но если мы перезагрузимся, то запуска графической среды мы не увидим, так как она запускается командой startx, а чтобы эту команду ввести нужно сначала залогиниться в систему.
Если нужна графика еще до ввода креденшиналсов, то есть до ввода логина и без всяких запусков startx, то нам понадобиться менеджер экранов Display Managers, но о нем по говорим чуть дальше. А сейчас давайте пропишем все необходимые конфиги, что бы поднималась графическая среда.
Настройка конфигурационного файла /etc/rc.conf
Откройте на редактирование файл /etc/rc.conf:
vim /etc/rc.conf
И добавьте такие строки:
dbus_enable=”YES” hald_enable=”YES”
/etc/rc.conf
hostname=”freebsd” keymap=”ru.koi8-r.kbd” ifconfig_em0=”DHCP” ifconfig_em0=”inet 172.22.193.36 netmask 0xffffff00″ defaultrouter=”172.22.193.
1″ local_unbound_enable=”YES” sshd_enable=”YES” moused_enable=”YES” ntpd_enable=”YES” # Set dumpdev to “AUTO” to enable crash dumps, “NO” to disable dumpdev=”AUTO” dbus_enable=”YES” hald_enable=”YES”
Это означает, что сервисы hald и dbus будут запускаться при запуске системы, а сейчас запустим их вручную:
serivce dbus startserivce hald start
Для того, чтобы появилась графическая среда, все что осталось нам сделать это создать в домашних каталогах всех пользователей желающих работать в графичейской среде файл .xinitrc и поместить туда строчку exec mate-session:
cd # cd без параметров переходит в домашний каталог текущего пользователяecho “exec mate-session”>.xinitrc
Теперь все готово, осталось только запустить команду startx
startx
и вместо командной строки появится рабочий стол среды MATE:
Установка менеджера экранов Slim
Если нужен менеджер экранов, то хорошим выбором будет slim:
pkg install slim
После того как менеджер экранов slim установим добавим его в конфигурационный файл /etc/rc.conf (строчка 14):
hostname=”freebsd” keymap=”ru.koi8-r.kbd” ifconfig_em0=”DHCP” ifconfig_em0=”inet 172.22.193.36 netmask 0xffffff00″ defaultrouter=”172.22.193.1″ local_unbound_enable=”YES” sshd_enable=”YES” moused_enable=”YES” ntpd_enable=”YES” # Set dumpdev to “AUTO” to enable crash dumps, “NO” to disable dumpdev=”AUTO” dbus_enable=”YES” hald_enable=”YES” slim_enable=”YES”
И теперь нам необходимо либо перезагрузиться либо запустить сервис slim. Для запуска сервиса введите:
service slim start
Теперь после выхода из окружения рабочего стола (выбором кнопки Log out), а так же после перезагрузки системы мы уже попадем не в командную строку, а в оконный менеджер, где будет окно ввода логина и пароля:
Guest Additions. Только для людей запускающих FreeBSD на виртуальной машине VirtualBox
Если вы запускаете FreeBSD на виртуальной машине VirtualBox (как я), то для комфортной работы нужно еще до установить Guest Additions, чтобы разрешение было под размеры дисплея, а так же чтобы мышка при попадении в зону окна где работает freeBSD становилась фрибээсдэшной.
А пока для работы в окне VirtualBox нужно щелкнуть мышкой в любом месте окна, таким образом VirtualBox захватит мышку и все команды поступающие от мышки будут направляться на обработку в freeBSD запущенной в виртуалбоксе. Если надо вернуться обратно в ту среду, из которой запущен виртуалбокс, нужно нажать правый ctrl.
Это крайне не удобно, поэтому давайте установим Guest Additions:
pkg install virtualbox-ose-additions
Для того, чтобы guest additions режим стартовал при загрузке системы откроем на редактирование файл /etc/rc.conf
vim /etc/rc.conf
и добавим две строчки (15 и 16):
/etc/rc.conf
hostname=”freebsd” keymap=”ru.koi8-r.kbd” ifconfig_em0=”DHCP” ifconfig_em0=”inet 172.22.193.36 netmask 0xffffff00″ defaultrouter=”172.22.193.
1″ local_unbound_enable=”YES” sshd_enable=”YES” moused_enable=”YES” ntpd_enable=”YES” # Set dumpdev to “AUTO” to enable crash dumps, “NO” to disable dumpdev=”AUTO” dbus_enable=”YES” hald_enable=”YES” slim_enable=”YES” vboxguest_enable=”YES” vboxservice_enable=”YES”
Теперь настроем X11. Перейдите в рута и запустите команду Xorg -configure:
Xorg -configure Warning
Если команду Xorg -configure запустить уже из под запущенного графического режима, то она не запуститься, поэтому перед ее запуском стопоните сервисы dbus и hald:
service dbus stop
service hald stop
service slim stop
При этом в домашнем каталоге рута появится файл xorg.conf.new. Откройте его на редактирование: vim /root/xorg.conf.new
и измените драйвер мыши на Driver ‘vboxmouse’ (строчка 30):
xorg.conf.new
Section “ServerLayout” Identifier “X.
org Configured” Screen 0 “Screen0” 0 0 Screen 1 “Screen1” RightOf “Screen0” InputDevice “Mouse0” “CorePointer” InputDevice “Keyboard0” “CoreKeyboard” EndSection Section “Files” ModulePath “/usr/local/lib/xorg/modules” FontPath “/usr/local/lib/X11/fonts/misc/” FontPath “/usr/local/lib/X11/fonts/TTF/” FontPath “/usr/local/lib/X11/fonts/OTF/” FontPath “/usr/local/lib/X11/fonts/Type1/” FontPath “/usr/local/lib/X11/fonts/100dpi/” FontPath “/usr/local/lib/X11/fonts/75dpi/” EndSection Section “Module” Load “glx” EndSection Section “InputDevice” Identifier “Keyboard0” Driver “kbd” EndSection Section “InputDevice” Identifier “Mouse0” Driver “vboxmouse” EndSection Section “Monitor” Identifier “Monitor0” VendorName “Monitor Vendor” ModelName “Monitor Model” EndSection Section “Monitor” Identifier “Monitor1” VendorName “Monitor Vendor” ModelName “Monitor Model” EndSection Section “Device” ### Available Driver options are:- ### Values: : integer, : float, : “True”/”False”, ### : “String”, : ” Hz/kHz/MHz”, ### : “%” ### [arg]: arg optional Identifier “Card0” Driver “vboxvideo” BusID “PCI:0:2:0” EndSection Section “Device” ### Available Driver options are:- ### Values: : integer, : float, : “True”/”False”, ### : “String”, : ” Hz/kHz/MHz”, ### : “%” ### [arg]: arg optional #Option “ShadowFB” # [] #Option “DefaultRefresh” # [] #Option “ModeSetClearScreen” # [] Identifier “Card1” Driver “vesa” BusID “PCI:0:2:0” EndSection Section “Screen” Identifier “Screen0” Device “Card0” Monitor “Monitor0” SubSection “Display” Viewport 0 0 Depth 1 EndSubSection SubSection “Display” Viewport 0 0 Depth 4 EndSubSection SubSection “Display” Viewport 0 0 Depth 8 EndSubSection SubSection “Display” Viewport 0 0 Depth 15 EndSubSection SubSection “Display” Viewport 0 0 Depth 16 EndSubSection SubSection “Display” Viewport 0 0 Depth 24 EndSubSection EndSection Section “Screen” Identifier “Screen1” Device “Card1” Monitor “Monitor1” SubSection “Display” Viewport 0 0 Depth 1 EndSubSection SubSection “Display” Viewport 0 0 Depth 4 EndSubSection SubSection “Display” Viewport 0 0 Depth 8 EndSubSection SubSection “Display” Viewport 0 0 Depth 15 EndSubSection SubSection “Display” Viewport 0 0 Depth 16 EndSubSection SubSection “Display” Viewport 0 0 Depth 24 EndSubSection EndSection
Теперь скопируйте этот файл в /etc/X11 с именем xorg.conf:
cp xorg.conf.new /etc/X11/xorg.conf
И последнее, что осталось сделать, это перезагрузиться:
shutdown -r now
Если не был установлен какой-нибудь оконный менеджер, то после перезагрузки вход в систему будет из командной строки.
Введите свои креденшиналсы, и после того как войдете под своим юзером, запустите startx и графическая среда должна развернуться в полный размер дисплея, а принадлежность мышки между виртуалбоксом и средой в которой виртуалбокс запущен будет меняться автоматически, в случае если установлен оконный менеджер, например slim этого делать не надо, так как графическая среда поднимется автоматически.
FreeBSD с разрешением FullHD
Что еще можно поставить
После того как все настроено, можно установить привычный гуевый софт такой как браузер, офис и пр. Давайте установим firefox — браузер, libre office — документы, электронные таблицы, презентации, gimp — графический редактор, rhythmbox — проигрыватель:
pkg install firefox libreoffice gimp rhythmbox
Например так выглядит gimp во freeBSD (это уже среда рабочего стола Xfce):
Если захотите запустить среду рабочего стола Xfce, то установите Xfce командой: pkg install xfce
а затем надо будет прописать в файле ~/.xinitrc строчку:
/usr/local/bin/startxfce4
Линки
Installing Guest Additions causing (Ubuntu) — http://askubuntu.com/questions/526995/installing-guest-additions-causing-problems
Источник: http://dev-blogs.com/freebsd-customize/
I. Создание загрузочной флешки с FreeBSD
1.Вставьте USB флешку в USB разъем.
2. Установите скачанную утилиту Win32 Disk Imager. (прим. I accept the agreement > Next > Next > Install > Finish).
3. В Win32 Disk Imager выберите букву USB флешки и нажмите на синюю иконку. В появившемся окне выберите скачанный Вами ранее IMG-образ с FreeBSD, а затем нажмите Открыть (Рис.1).

Рис.1
.
4. Нажмите Write, затем, в появившемся окне, нажмите Yes. После чего начнётся создание загрузочной USB флешки (Рис.2).

Рис.2
.
5. После завершения создания загрузочной USB флешки нажмите OK и закройте программу (Рис.3).

Рис.3
.
II. Установка FreeBSD
1. Вставьте загрузочную USB флешку с FreeBSD в разъём USB.
2. Сразу после запуска компьютера необходимо вызвать Boot menu. Т.к. на разных материнских платах и ноутбуках клавиши вызова Boot menu отличаются, ниже приведена таблица (Рис.4) в соответствии с которой Вам необходимо нажать соответствующую клавишу (прим. если у Вас стационарный компьютер, и Вы не знаете какая материнская на нём стоит, обесточьте компьютер, откройте боковую крышку системного блока и посмотрите модель материнской платы).

Рис.4
.
3. Boot menu незначительно отличается на разных моделях и приблизительно выглядит следующим образом (Рис.5, Рис.6).

Рис.5
.

Рис.6
.
4. Выберите загрузку с USB флешки (Рис.5, Рис.6) и нажмите Enter.
5. В меню выберите первый пункт и нажмите Enter (Рис.7).

Рис.7
.
6. В появившемся окне выберите Install и нажмите Enter (Рис.8).

Рис.8
.
7. В разделе раскладки клавиатуры выберите Russian koi8-r и нажмите Enter (Рис.9).

Рис.9
.
8. Выберите Continue with ru.koi8-r.kbd keymap и нажмите Enter (Рис.10).

Рис.10
.
9. Выберите hostname (прим. можно выбрать любое, в дальнейшем его можно будет изменить), затем нажмите Enter (Рис.11).

Рис.11
.
10. В качестве компонентов для установки выберите lib32, ports, src (прим. чтобы отметить компонент как выбранный нужно его выделить и нажать пробел), затем нажмите Enter (Рис.12).

Рис.12
.
11. Выберите автоматическую разметку Auto (UFS), затем нажмите Enter (Рис.13).

Рис.13
.
12. Выберите Entire Disc, затем нажмите Enter (Рис.14).

Рис.14
.
13. Выберите пункт GPT, затем нажмите Enter (Рис.15).

Рис.15
.
14. Удостоверьтесь, что автоматическая разметка произведена верно, затем выберите Finish и нажмите Enter (Рис.16).

Рис.16
.
15. Выберите Commit и нажмите Enter (Рис.17).

Рис.17
.
16. Начнётся процесс установки (Рис.18).

Рис.18
.
17. После окончания установки необходимо придумать, ввести и повторить пароль для суперпользователя (root) (прим. при вводе пароля, символы не отображаются) (Рис.19).

Рис.19
.
18. В появившемся окне выберите сетевой интерфейс (прим. если у Вас их несколько — выберите тот, который вы хотите настроить для доступа к сети), затем нажмите Enter (Рис.20).

Рис.20
.
19. Для настройки IPv4 выберите Yes и нажмите Enter (Рис.21).

Рис.21
.
20. Для получения настроек по DHCP выберите Yes и нажмите Enter (Рис.22).

Рис.22
.
21. В появившемся окне настроек IPv6 выберите No и нажмите Enter (Рис.23).

Рис.23
.
22. В появившемся окне нажмите Enter т.к. Вы получили настройки по DHCP и адрес уже заполнен (Рис.24).

Рис.24
.
23. Выберите необходимый регион (прим. для России это Europe), затем нажмите Enter (Рис.25).

Рис.25
.
24. Выберите страну и нажмите Enter (Рис.26).

Рис.26
.
25. Выберите необходимый часовой пояс, затем нажмите Enter (Рис.27).

Рис.27
.
26. Подтвердите выбор часового пояса выбрав Yes, затем нажмите Enter (Рис.28).

Рис.28
.
27. Выберите дату (прим. если дата указана верно, то просто выберите Skip, в противном случае укажите дату вручную) (Рис.29).

Рис.29
.
28. Выберите время (прим. если время указано верно, то просто выберите Skip, в противном случае укажите время вручную) (Рис.30).

Рис.30
.
29. Выберите компоненты, которые будут запускаться автоматически при загрузке системы (прим. чтобы отметить компонент как выбранный нужно его выделить и нажать пробел), после выбора компонентов нажмите Enter (Рис.31).

Рис.31
.
30. Выберите третий пункт: Disable reading kernel message buffer for unprivileged users и нажмите Enter (Рис.32).

Рис.32
.
31. Для того, чтобы добавить пользователя выберите Yes и нажмите Enter (Рис.33).

Рис.33
.
32. В строках Username и Full name введите имя пользователя и полное имя (прим. можно указывать любые). В строке Login group введите wheel. Для строк Enter password и Enter password again необходимо придумать, ввести и повторить пароль для пользователя (прим. при вводе пароля символы не отображаются). В остальных строках нажимайте Enter (Рис.34).

Рис.34
.
33. Для подтверждения регистрации пользователя, напротив строки OK? (yes/no) введите yes. Напротив строки Add another user? введите no (Рис.35).

Рис.35
.
34. Выберите Exit и нажмите Enter (Рис.36).

Рис.36
.
35. В появившемся окне выберите No и нажмите Enter (Рис.37).

Рис.37
.
36. Для перезагрузки системы выберите Reboot и нажмите Enter (Рис.38).

Рис.38
.
37. После перезагрузки введите в строке login root, а в строке Password пароль, который вы указывали ранее (прим. см. пункт 17) (Рис.39).

Рис.39
.
III. Установка Xorg и GNOME 3 в FreeBSD
1. Прежде чем устанавливать Xorg и GNOME 3, необходимо проверить соединение с Интернет (прим. особенно это актуально, если доступ осуществляется через роутер). Для этого зайдите через root и введите следующие команды:
<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”dblclick” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 14px !important; line-height: 15px !important;”> # su # ee /etc/resolv.conf
| 12 | # su# ee /etc/resolv.conf |
Как это показано на Рис.40.

Рис.40
.
2. В строке nameserver должен быль прописан адрес DNS-сервера (прим. у Вас этот адрес будет другой), если его нет — пропишите адрес вручную (Рис.41).

Рис.41
.
3. После того как Вы проверили (прим. или прописали вручную) адрес DNS-сервера, нажмите Esc. В появившемся окне выберите leave editor и нажмите Enter (Рис.42).

Рис.42
.
4. Выберите пункт save changes и нажмите Enter (Рис.43).

Рис.43
.
5. Для установки Xorg введите:
<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”dblclick” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;”> # pkg install xorg
| 1 | # pkg install xorg |
Затем в строке Do you want to fetch and install it now введите Y (Рис.44).

Рис.44
.
6. В строке Proceed with this action введите Y, после чего начнётся установка Xorg (Рис.45).

Рис.45
.
7. Для установки GNOME 3 введите:
<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”dblclick” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;”> # pkg install gnome3
| 1 | # pkg install gnome3 |
Как это показано на Рис.46.

Рис.46
.
8. В строке Proceed with this action введите Y, после чего начнётся установка GNOME 3 (Рис.47).

Рис.47
.
9. Для настройки автоматического запуска GNOME 3 введите:
<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”dblclick” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;”> # ee /etc/rc.conf
| 1 | # ee /etc/rc.conf |
Как это показано на Рис.48.

Рис.48
.
10. Допишите в самом конце строчку:
<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”dblclick” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;”> gnome_enable=”YES”
| 1 | gnome_enable=”YES” |
Затем нажмите Esc (Рис.49).

Рис.49
.
11. В появившемся окне выберите leave editor и нажмите Enter (Рис.50).

Рис.50
12. Выберите пункт save changes и нажмите Enter (Рис.51).

Рис.51
13. Для перезагрузки введите:
<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”dblclick” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;”> #reboot
| 1 | #reboot |
Как это показано на Рис.52.

Рис.52
14. После перезагрузки, для входа в систему потребуется ввести пароль, который Вы указали ранее и нажмите Sign In (Рис.53).

Рис.53
15. После ввода пароля загрузится рабочий стол (Рис.54).

Рис.54
Установка FreeBSD и графической оболочки GNOME 3 завершена.
- https://losst.ru/ustanovka-freebsd-11
- https://itdeer.ru/ustanovka-freebsd-11-1/
- https://crb-otradnoe.ru/konfiguratsiya/poshagovaya-ustanovka-freebsd-11-dlya-chajnikov.html
- https://lyapidov.ru/setup-freebsd-and-gui-from-usb/
Командная строка Linux: краткий курс для начинающих
Linux – начинающим. Первое знакомство
Да, кроме практических материалов, мы всегда стараемся публиковать обзоры, посвященные какой-либо технологии в целом, или делаем обширные теоретические отступления, для того, чтобы читатель имел необходимый минимум знаний. Однако все они подразумевают, что читатель обладает базовыми знаниями системы в которой работает.
А как быть с теми, кто только делает свои первые шаги? К сожалению, в IT-сообществе существует некоторый снобизм, мол, чего об этом говорить, это и так все знают, или “гугл в помощь”, забывая, что каждый из нас когда-то был новичком и с мистическим ужасом смотрел в черный экран Linux-консоли, абсолютно не понимая, куда он попал и что ему делать.
В итоге новичок, столкнувшись с первыми трудностями, вынужден идти искать знания в другом месте и хорошо если такое место удастся быстро найти. Поэтому мы решили выпустить небольшой цикл материалов, в котором на доступном уровне изложить основы администрирования Linux систем, буквально объясняя на пальцах “общеизвестные вещи”, опытные пользователи могут пропустить данный цикл, а могут и прочитать, заодно обновив свои знания.
Итак, вы решили стать Linux администратором…
Немного перефразируем Маяковского “я б в Linux-админы пошел, пусть меня научат”, именно так дело в большинстве случаев и обстоит. Есть необходимость, есть желание, есть базовый набор знаний по работе с Windows системами – все это пригодится при работе с Linux системами. Гораздо хуже если какая-либо составляющая отсутствует, тогда, наверное, стоит задуматься о неправильном выборе профессии.
Сразу о том, что нужно раз и навсегда забыть. Это “религиозные войны” и “религиозный фанатизм”. Одинаково плохо отрицать возможности Linuх-систем, как и превозносить их, стремясь перевести на Linux все что нужно и не нужно. Запомните – операционная система – это инструмент, хороший специалист берет для каждой задачи наиболее подходящий, фанатик будет забивать гвозди микроскопом, потому что взять в руки молоток ему “религия не позволяет”.
Даже больше, сама по себе операционная система не имеет никакой ценности, это всего лищь среда для запуска и выполнения некоторых служб и сервисов. Без софта система мертва. Возьмем для примера клон BeOS – Haiku, ну поставили, ну посмотрели – прикольно… А дальше что?
Итак, вы решили стать… Прежде всего будьте готовы воспринимать новое, в частности новый подход к администрированию, постаравшись на время забыть о сложившихся привычках. На долгое время вашим основным инструментом станет консоль.
![]()
Для привыкшего к графическим инструментам Windows-администратора это может показаться сложным. Но следует твердо усвоить одну истину – консоль является единственным полноценным инструментом администрирования Linux и совсем не означает ограниченность в возможностях или неполноценность системы. Даже наоборот, командная строка позволяет выполнить многие задачи намного быстрее и проще, чем графические инструменты администрирования.
Но существуют же графические инструменты администрирования, скажет иной читатель, панели там разные, или можно же поставить графическую оболочку. Можно, но не нужно. Почему? Внимательно посмотрите на схему ниже:
![]()
Linux, создававшийся по образу и подобию UNIX-систем, является полноценной системой и без графической оболочки, более того мы можем запустить, закрыть или вообще сменить графическую оболочку без какого-либо влияния на работоспособность системы и даже без ее перезагрузки. Завершили сеанс Gnome, запустили KDE, а потом и вовсе вышли в консоль. Поэтому все инструменты управления системой разработаны для использования в режиме командной строки. А все панели и графические инструменты являются всего лишь надстройкой над ними.
Windows долгое время разрабатывался по принципиально иной технологии, графическая оболочка была поставлена в основу системы и долгое время даже выполнялась на уровне ядра (семейство Win 9x). Поэтому все инструменты администрирования были изначально графическими, а инструменты командной строки скорее их дополняли, чем заменяли. Любой, кто занимался восстановлением Windows, знает, что возможности инструментов командной строки там существенно ограничены и предназначены в первую очередь для восстановления системы, а не для ее администрирования.
Ситуация стала меняться с выходом PowerShell и Core-версий Windows Server. Несмотря на то, что сегодня графическая оболочка продолжает играть существенную роль в Windows-системах, администраторы получили в руки альтернативный инструмент – консоль PowerShell, которая позволяет полноценно администрировать Windows в режиме командной строки. При этом возможности PowerShell сразу завоевали популярность в среде специалистов, так как позволяют выполнять многие задачи быстрее и проще, чем графические инструменты.
А еще режим командной строки дает неограниченные возможности в создании собственных скриптов и сценариев, позволяющих выполнять сложные последовательности действий в автоматическом режиме или по расписанию.
После этого, как нам кажется, вы должны будете посмотреть на консоль Linux совсем с другой стороны. Что касается панелей и графических инструментов, то тут есть существенные отличия от Windows-систем. В Windows графические инструменты являются полноценной альтернативой PowerShell. В Linux графические инструменты являются надстройкой над консолью, по факту используя те-же самые инструменты, но через дополнительную прослойку. Поэтому мы категорически не рекомендуем использовать разного рода панели и иные графические инструменты, по крайней мере до тех пор, пока вы не освоите консоль. После этого вы уже сможете самостоятельно решить, нужна ли вам панель или вы способны сделать все проще и быстрее через консоль.
Увлечение панелями на раннем этапе знакомства с системой приводит к тому, что навыки администрирования системы будут подменены навыками работы с панелью, что черевато проблемами, когда панель по какой-либо причине окажется недоступной, а работать с системой надо. Это можно сравнить с тем, что человек учившийся вождению автомобиля с механической коробкой без проблем пересядет на автомат, а человек изначально умеющий ездить только на автомате вряд-ли сможет без дополнительного обучения поехать на машине с механикой.
Если вы еще не передумали становиться Linux-администратором, то поедем дальше и рассмотрим отличия в архитектуре системы.
Ядро и драйвера
Основу любой операционной системы составляет ядро. Существует несколько различных архитектур ядра, Linux, как и подавляющее большинство UNIX систем, использует монолитное ядро, Windows наоборот использует концепцию микроядра, хотя по-настоящему архитектура Windows микроядерной не является, принято считать, что Windows использует гибридное ядро.
Особенностью монолитного ядра является то, что все драйвера оборудования также являются частью ядра. Ранее, при изменении аппаратной части, ядро надо было пересобирать, сегодня монолитные ядра используют модульную схему, т.е. динамически позволяют загружать необходимые модули, отвечающие за тот или иной функционал. Т.е. добавив в систему новое устройство, мы должны динамически загрузить соответствующий модуль ядра, а если такого модуля нет, то работа с устройством окажется невозможной. В качестве решения мы можем собрать модуль самостоятельно, но при этом модуль будет скомпилирован под текущую версию ядра и при его смене модуль нужно будет перекомпилировать.
В микроядерной и гибридной архитектурах, драйвера, хоть могут и работать на уровне ядра, его частью не являются и от версии ядра не зависят. Поэтому мы можем без проблем обновлять ядро или использовать один и тот-же драйвер для всех версий систем с общей структурой ядра. Например, в Windows для всего семейства современных ОС, от Windows Vista до Windows 8.1, часто используется один и тот-же драйвер.
Это не значит, что Linux в этом плане хуже, иная архитектура предусматривает иные подходы. Практически это означает только одно – к выбору оборудования для серверов надо относиться более внимательно, стараясь чтобы все основные устройства поддерживались ядром вашего дистрибутива. Особенно это касается сетевых карт. Будет очень неприятно, если после каждого обновления ядра вам придется бегать в серверную, подключать к серверу монитор и клавиатуру и заново собирать модуль ядра.
По сути, такого понятия как драйвер, в Linux системах не существует. Оборудование либо поддерживается ядром, либо нет. Несомненный плюс монолитного ядра – оно самодостаточно. Если все оборудование поддерживается – поставил и забыл, самое время вспомнить ситуацию, когда под Windows нет драйвера сетевой карты и диск утерян.
Файловая система
Мы не будем касаться конкретных файловых систем, тут проблем возникнуть не должно, если администратор работал с Windows системами, то что такое файловая система и чем FAT отличается от NTFS он знает, поэтому разобраться в разнице между ext3, ext4 и, скажем, ReiserFS для него особого труда не составит. А поговорим о фундаментальных отличиях. В отличие от Windows, файловая система Linuх иерархична. Она начинается от корня, который обозначается знаком / (слеш), и имеет древовидную структуру. При этом абсолютно не имеет значения, что отдельные части файловой системы могут находиться на других разделах или вообще физических дисках.
Рассмотрим еще одну схему.

В Windows каждый раздел имеет собственную файловую систему и обозначающую его букву. Все пути к файлам и папкам начинаются с буквы, т.е. от корня раздела. Так если у нас на первом физическом диске, на втором логическом разделе была папка DATA, то путь к ней соответственно будет как D:DATA, если мы захотим перенести ее на второй жесткий диск, то ее пусть изменится на E:DATA. В ряде случаев это жутко неудобно, так как путь надо изменить во всех местах ее использования и даже существуют соответствующие утилиты.
В Linux подход кардинально иной. Самое время познакомиться с термином точка монтирования, который означает место файловой системы, куда подключается устройство хранения данных. Например, мы хотим вынести домашние каталоги пользователей на отдельный раздел, как на схеме выше, для этого нам нужно смонтировать второй логический раздел первого физического диска sda2 в /home. После чего перенести туда все пользовательские данные. Для системы и программ это произойдет абсолютно прозрачно, они как использовали абсолютный путь, скажем /home/andrey/data, так и будут его использовать. Добавили еще один диск и хотим вынести туда директорию /var? Нет проблем, останавливаем использующие каталог службы, монтируем sdb1 в /var и переносим данные, запускаем службы.
Всё есть файл
Еще один основополагающий принцип, который унаследован от UNIX-систем. В Linux всё есть файл: устройства, диски, сокеты и т.д., например, открыв /var/run мы увидим pid-файлы, соответствующие каждой запущенной службе в системе, а в /dev файлы каждого подключенного к системе устройства:
![]()
Что это дает? Не будем вдаваться в подробности, а разберем несколько простых примеров. Скажем, нужно создать образ оптического диска. В Windows нам понадобится для этого специализированное ПО, в Linuх все проще, CD-ROM – это блочное устройство, но в тоже время – это файл, файл блочного устройства. Берем соответствующий инструмент и копируем содержимое файла устройства в файл ISO образа:
dd if=/dev/cdrom of=/home/andrey/image.iso
Хотим заменить жесткий диск? Нет ничего проще, копируем содержимое одного файла блочного устройства в файл другого блочного устройства:
dd if=/dev/sda of=/dev/sdb
И не нужно никаких Partition Magic.
Другая ситуация, какое-либо ПО настоятельно ищет библиотеку lib-2-0-1.so, а у нас есть совместимая с ней, но более новая, lib-2-1-5.so, как быть? Создаем символическую ссылку на lib-2-1-5.so с именем lib-2-0-1.so и все будет работать. Потому что все есть файл и символическая ссылка тоже тип файла. А теперь попробуйте подсунуть Windows приложению lib-2-0-1.lnk вместо lib-2-1-5.dll…
Или нам нужно сохранить вывод какой-либо команды. Например, команда
ifconfig
выведет на экран сведения о сетевых адаптерах системы:

А теперь вспоминаем, что все есть файл, в том числе и устройство отображения (экран), поэтому просто перенаправим стандартный поток вывода вместо экрана в нужный нам файл:
ifconfig > ~/123.txt
После чего вывод команды будет сохранен в файл 123.txt в корневой директории пользователя:

Потоки и конвейер
В прошлом примере мы затронули стандартный поток вывода. В Linux существуют стандартные для всех процессов потоки ввода-вывода данных stdin, stdout и поток вывода ошибок stderr. Что это значит? Как минимум то, что процесс обмена данными между различными процессами стандартизован. Это позволяет создавать конвейеры, когда стандартный поток вывода одной команды передается стандартному потоку ввода другой. Например, мы хотим посмотреть список установленных пакетов в системе, в частности пакеты squid. Для этой цели есть команда:
dpkg -l
Ээээ… Это что такое и как тут что-то понять? На экране быстро промелькнули сведения о всех установленных в системе пакетах и все что мы можем видеть, это “хвост” этого вывода:

Но ведь нам и не нужен весь вывод этой команды, нас интересуют исключительно пакеты squid. Поэтому направим вывод этой команды на ввод другой, которая уже отберет и покажет то, что нам нужно:
dpkg -l | grep squid

Вот это совсем другое дело!
Причем конвейер может быть сколь угодно длинным, результат работы одной команды можно передавать второй, от второй к третьей и т.д. Еще один пример из жизни. Вам надо получить все строки вашего конфигурационного файла squid, но без комментариев и пустых строк, чтобы, например, выложить на форуме или отправить другу. Можно конечно скопировать все, но вряд-ли кто-то захочет вам помогать, прокручивая полотно стандартного файла squid.conf, большая часть которого комментарии и примеры. Делаем проще:
cat /etc/squid3/squid.conf | grep -v ‘^#’ | sed ‘/^$/d’ > ~/mysquid.conf
И вот что у нас получилось:

Просто и понятно, все опции как на ладони. Это стало возможным в результате использования конвейера трех команд, первая вывела в поток содержимое файла, вторая отобрала все строки кроме комментариев, а третья удалила пустые, результат мы направили в файл.
Буквы большие, буквы маленькие
Linux, как и UNIX, является регистрозависимой системой. И это надо помнить! Потому что, в отличие от Windows, myfile.txt, Myfile.txt и myfile.TXT – это три разных файла. В целях совместимости с другими системами не стоит этим злоупотреблять и хранить файлы, имя которых отличается только регистром, а хорошим тоном считается использование в именах только строчных букв.
Расширения и типы файлов
В Windows системах тип файла определяется его расширением, если мы переименуем exe-файл в jpg, то он не запустится, и система будет пытаться обработать его как картинку. В Linux тип файла определяется по его содержимому и расширение используется исключительно для совместимости с другими системами или для удобства пользователя. Возможность исполнения файла обеспечивается установкой соответствующего атрибута. Так в Windows чтобы сделать скрипт исполняемым, надо было изменить расширение с txt на bat, в Linux для этого нужно сделать файл исполняемым. Непонимание этого момента приводит к ситуациям, когда начинающий администратор не понимает, почему его скрипт myscript.sh не выполняется. На самом деле расширение .sh нужно только для удобства, чтобы сразу было ясно, это скрипт Bash Shell, а чтобы он работал, ему надо поставить атрибут исполняемого, а называться он может как угодно, хоть myscript.pupkin-vasya.
Требования
- сервер с Ubuntu 16.04 (см. руководство Vscale: создаём первый сервер).
Для разных операционных систем командную строку можно открывать с помощью приложений:
- Mac OS X: Terminal (default), iTerm 2;
- Windows: PuTTY;
- Linux: Terminal, KDE Konsole, XTerm.
С подробным описанием команд для Ubuntu можно ознакомиться в официальной документации Командная строка Ubuntu.
Вход на сервер через терминал
В операционной системе Ubuntu 16.04 открыть командную строку можно двумя способами: через консоль и через графический терминал.
Для работы через консоль следует нажать сочетание клавиш Ctrl+Alt+F1, для возврата в графический интерфейс – сочетание клавиш Ctrl+Alt+F7.
Для запуска терминала нажмите сочетание клавиш Ctrl+Alt+T.

Внизу экрана располагается приглашение командной строки – последовательность символов, извещающая о готовности к обработке команд:
kamilla@kamilla-Aspire-V3-371:~$
, где:
- kamilla – имя текущего пользователя (суперпользователь/администратор);
- kamilla-Aspire-V3-37 – имя хоста (сервер);
- : – разделитель;
- ~ – текущая директория (в какой папке выполняется команда) пользователя (по умолчанию /home/
- $ – символ приглашения ввода для пользователей с обычными правами;
- # – символ приглашения ввода для суперпользователя/администратора root (например, root@cs49647:~#).
Базовые команды, используемые при настройке сервера
После создания нового сервера необходимо предпринять несколько шагов по его базовой настройке (см. руководство Начальная настройка сервера под управлением ОС Ubuntu).
Для того чтобы открыть сервер под учетной записью заведенного пользователя введите команду:
ssh -p №port demo@adress
, где:
- №port – номер заданного порта при начальной настройке сервера;
- demo – имя пользователя;
- adress – ip-адрес сервера.

Для входа на сервер под учетной записью root используйте команду, заменив SERVER_IP_ADDRESS на публичный IP-адрес Вашего сервера:
ssh root@SERVER_IP_ADDRESS
Для создания новой учетной записи пользователя введите команду, заменив имя DEMO на любое другое необходимое имя:
adduser DEMO
Для открытия конфигурационного файла в текстовом редакторе под пользователем root введите команду:
nano /etc/ssh/sshd_config
Для замены строчки в открывшемся конфигурационном файле найдите, например, строчку Port 22 и замените число 22 на любое другое число (от 1025 и до 65536).
После внесения изменений сохраните и закройте файл, нажав сочетание клавиш CTRL-X, затем клавишу Y, затем клавишу ENTER.
Для перезапуска сервиса SSH выполните следующую команду:
service ssh restart
Для выполнения команды с привилегиями root-пользователя, перед ней следует поставить слово sudo:
sudo command_to_run
Для завершения сессии выполните команду:
exit
Обзорное описание команд, аргументов и опций для них
Для запуска команды следует ввести команду и нажать клавишу Enter.
Команды выполняются последовательно, для выполнения следующей появится приглашение командной строки (если не использовать специальные скрипты).
Для того чтобы открыть страницу с подробным описанием команды Linux, например ip address, введите команду man с именем команды:
man ip address
Запуск без аргументов и опций
При запуске команд без аргументов:
- cd – возврат в домашнюю директорию текущего пользователя;
- ls – вывод списка файлов и директорий в текущем каталоге.
Пример:
Выполнив команду ls без параметров, получаем список файлов в каталоге:
testk@cs49647:~$ ls
linux.jpg template ubuntu.jpg
Запуск с аргументами (параметрами)
Большинство команд рассчитано на запуск с передачей аргументов (параметров).
Наиболее распространенное использование команды cd – это вызов с аргументом, который является путем к директории, в которую следует перейти:
cd /usr/bin
Запуск с опциями
Многие команды также поддерживают опции (флаги, ключи) запуска, позволяющие изменять результат выполнения команды. Опции представляют собой одиночный символ после символа «-», либо в расширенном написании после «–».
Пример:
Выполнив команду ls с опциями -A, -S, -1, получаем список всех файлов, включая «скрытые», расположенных по одному на каждой строке и отсортированных по размеру:
testk@cs49647:~$ ls -AS1
.gtkrc-2.0
linux.jpg
ubuntu.jpg
template
.filter
Запуск с аргументами и опциями (одновременно)
Структура записи команды с опциями и аргументами:
команда -опции аргументы
Пример:
Команда ls -la /home выведет подробный (-l) листинг директории /home, включая скрытые файлы (-a):
testk@cs49647:~$ ls -la /home
total 12
drwxr-xr-x 3 root root 4096 Oct 14 16:13 .
drwxr-xr-x 22 root root 4096 Oct 20 10:25 ..
drwxr-xr-x 4 testk testk 4096 Oct 19 10:52 testk
Переменные окружения
Окружение/среда (environment) – это набор пар ПЕРЕМЕННАЯ=ЗНАЧЕНИЕ, которые могут использоваться запускаемыми процессами.
Просмотр переменных окружения
Для того чтобы посмотреть свое окружение введите команду без аргументов:
env
В зависимости от конфигурации системы, вывод списка переменных окружения может занять несколько экранов, поэтому лучше использовать команду:
env | more
Просмотр значения переменной
Переменные окружения могут формироваться как из заглавных, так и из строчных символов, однако исторически повелось именовать их в верхнем регистре.
Чтобы вывести на экран значение какой-нибудь переменной окружения, достаточно набрать echo $ИМЯ_ПЕРЕМЕННОЙ, например, просмотр домашней директории пользователя, хранящийся в переменной окружения $HOME:
echo $HOME
Для перехода в домашнюю директорию следует использовать команду:
cd $HOME
Установка переменных окружения
Для установки значений переменной окружения введите команду:
VAR=value
, где
VAR – название переменной;
value – значение переменной.
Пример:
Выполнив команду var=value, после вывода на просмотр получаем результат value:
testk@cs49647:~$ var=value
testk@cs49647:~$ echo $var
value
Использование встроенной консоли VScale
Для работы с командной строкой также можно использовать встроенную консоль VScale, нажав в меню справа кнопку “Открыть консоль”.

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

Шпаргалка по работе в командной строке Linux
Включение/выключение
Перезагрузить компьютер:rebootили shutdown -r nowВыключить компьютер:shutdown -h nowВыключить компьютер через заданное время:shutdown -h hh:mmили shutdown -h +mОкончание сеанса работы в терминале:exit
Управление пользователями
Включить корневую учетную запись:sudo passwd rootЗаблокировать корневую учетную запись:sudo passwd -l rootДобавить пользователя:adduser имя_пользователяУдалить пользователя:deluser имя_пользователяУдалить пользователя вместе с домашним каталогом:deluser имя_пользователя -remove-homeИзменить имя пользователя и название его домашнего каталога:usermod -l новое_имя_пользователя -d /home/новое_имя_пользователя -m старое_имя_пользователяИзменить пароль пользователя:passwd имя_пользователяВосстановить пароль к учетной записи в режиме восстановления системы (нажать Esc в процессе загрузки GRUB):passwd имя_записи
Управление каталогами
Показать информацию о файловых системах:sudo mountПоказать список разделов:dfПоказать содержание текущего каталога:du -hПоказать объем указанного каталога:du -S имя_каталогаОтобразить путь к текущему каталогу:pwdСоздать каталог:mkdir имя_каталогаСкопировать каталог:cp каталог_1 каталог_2Переместить каталог_1 в каталог_2:mv каталог_1 каталог_2Войти в каталог:cd /имя_каталогаПоказать содержание каталога:ls /имя_каталогаПоказать содержание каталога, включая скрытые файлы и каталоги:ls -a /имя_каталогаПоказать полную информацию о содержании каталога:ls -l /имя_каталогаУдалить пустой каталог:rmdir имя_каталогаУдалить каталог с содержанием:rm -r имя_каталога
Работа с файлами
Создать файл в текущем каталоге:touch имя_файла.txtНайти файл:locate имя_файлаОбновить базу поиска файлов:updatedbПросмотреть текстовый файл:cat /путь/имя_файлаПросмотреть текстовый файл в обратном порядке — от последней строки к первой:tac /путь/имя_файлаСкопировать файл_1 в файл_2:cp файл_1 файл_2Переместить файл_1 в файл_2:mv файл_1 файл_2Переместить файл с сохранением оригинала (в конец имени файла дописывается символ ~):mv -b файл целевой_каталогУдалить файл:rm имя_файлаЗаписать информацию в файл, перезаписав его:echo текст > имя_файла.txtДобавить информацию в файл без его перезаписи:echo текст >> имя_файла.txtСлить несколько текстовых файлов в один:cat файл_1 файл_2 > итоговый_файл
Работа с архивами
Создать архив из содержимого каталога:tar -cvf имя_архива.tar имя_каталога/Сжать файлы:bzip2 имя_файлаgzip имя_файлаzip имя_файлаРаспаковать архив:gunzip имя_архива.tar.gzbunzip имя_архива.tar.bzbunzip2 имя_архива. ar.bz2tar xvf имя_архива.tartar xzf имя_архива.tgz
Управление правами доступа
Пример:-r–r—–dr–r—–Дефис вначале означает обычный файл, d — каталог (директорию). Дальше три группы по три символа означают права доступа для владельца, членов группы, в которую входит владелец, и для всех остальных пользователей соответственно.дефис означает отсутствие прав,
r — означает право на чтение,
w — право на запись,
x — право на выполнение.Просмотреть права доступа:ls -l имя_файла_или_каталогаЗадать права доступа:chmod *** имя_файла_или_каталога где *** — права доступа, указанные абсолютным способом, или:
chmod группа=/+/-тип доступа имя_файла_или_каталога где группа: u (user, владелец), g (group, группа), o (other, другие), a (all, все), например: chmod a+rw имя_файлаИзменить владельца:chown имя_пользователя имя_файлаРаспространенные права доступа:644 = rw-r–r–
666 = rw-rw-rw-
777 = rwxrwxrwx
Порядок цифр соответствует порядку пользователей (ugo), цифра в каждой позиции складывается из значений 4, 2 и 1 для прав r, w и x, соответственно. Так право полного доступа для владельца и отсуствие каких-либо прав для группы и прочих пользователей будет 700 (4+2+1.0.0).
Управление программами
Обновить список программного обеспечения:apt-get updateОбновить систему:apt-get upgradeНайти программу в репозитарии по ключевому слову:apt-cache search ключевое_словоПоказать информацию о пакете:apt-cache show название_пакетаУстановить программу из репозитария:apt-get install имя_пакетаУдалить установленную программу:apt-get remove имя_пакетаУдалить программу вместе с файлами настройки:apt-get remove purge имя_пакетаУстановить программу из скомпилированного пакета:dpkg -i имя_пакета.debУдалить программу:dpkg -r имя_пакета.debОчистить локальное хранилище полученных файлов пакетов:apt-get cleanПросмотреть список установленных пакетов:dpkg -lДобавить частный источник программного обеспечения PPA (Personal Package Archive):add-apt-repository ppa:user/ppa-nameУстановить программу из бинарного файла (предварительно необходимо перейти в каталог с файлом программы):./имя_файла.binРазрешить исполнение файла (если необходимо):chmod a+x имя_файла.bin /> Установить программу из исходных файлов (предварительно необходимо перейти в каталог с файлом программы):./configure
make
make installУдалить программу, установленную из исходных файлов:make uninstallЗапустить графическую программу с правами root:gksudo имя_программы
Управление системой
Отобразить список зарегистрированных в системе пользователей:whoПоказать информацию об использовании оперативной памяти:freeПоказать список запущенных процессов:psЗавершить процесс:killall имя_процессаПоказать список процессов в реальном времени:topВнести изменения в файл конфигурацииgedit /путь/к_файлуСнизить скорость чтения диска в приводе:hdparm -E 4 /dev/dvdrom
Диагностика системы
Проверить жесткий диск на «битые» секторы:badblocksПоказать состояние сетевых интерфейсов:ifconfigПоказать состояние беспроводных сетевых устройств:iwconfigПроверить таблицу маршрутизации:routeПроверить доступность компьютера в сети:ping имя_сайта_или_ip_адрес Остановить процесс: Ctrl+CПроверить маршрут следования пакета:traceroute имя_сайта_или_ip_адресПоказать информацию о подключенных USB-устройствах:lsusbОтобразить список PCI-шин и подключенных к ним устройств:lspciОтобразить список оборудования системы:lshw
Получение помощи
Показать Введение в пользовательские команды:man introОтобразить краткое описание команды:whatis имя_командыВывести информацию о команде:man имя_командыinfo имя_командыимя_команды –helpНайти информацию по ключевым словам:man -k ключевое_словоПоиск по странице:/ключевое_словоПродолжить поиск:NВывести историю команд:historyВыполнить команду из списка истории команд:!номер_команды!первые_буквы_командыОчистить экран консоли:clear
Объединение команд
Последовательное выполнение команд:команда1 ; команда2Последовательное выполнение команд при условии успешного выполнения предыдущей команды:команда1 && команда2Последовательное выполнение команд при условии неудачного выполнения предыдущей команды:команда1 || команда2Последовательное выполнение команд с передачей результатов выполнения предыдущей команды последующей:команда1 | команда2Запуск команды в фоновом режиме:команда &
Символы подстановки
- Текущий каталог: .
- Родительский каталог: ..
- Домашний каталог пользователя: ~
- Один произвольный символ: ?
- Любое количество произвольных символов: *
- Символ из указанного диапазона: [a,b,x-z], например, [a,b].rar
- Любые символы, кроме указанных: [!ab], например, [!ab].rar
- Подстановка с помощью фигурных скобок: например, {a,b}{1,2} создаст строку a1 a2 b1 b2
- Указание специального символа: или апостроф, например, ’имя файла’, или имя файла
Основные команды Linux
Ниже я вкратце рассмотрю некоторые основные команды (утилиты) Linux и их опции, которые часто приходится использовать при работе в командной строке. Некоторые команды я приведу с примерами, а некоторые просто с кратким описанием.
ls — вывод имен файлов
Утилита ls предназначена, для вывода списка файлов и каталогов в текущем каталоге. Рассмотрим некоторые полезные свойства команды ls.
-A — включить в список «скрытые» файлы («скрытые» файлы в Linux имеют в своем названии точку в начале имени файла, например, .gtkrc-2.0). -S — отсортировать файлы по размеру. -t — отсортировать по дате изменения. -1 — выводить имена в столбик, по одному на каждой строке. -l — вывести подробную информацию о каждом файле, размер файла, владелец файла, права доступа, дата изменения.
Теперь приведу несколько примеров. Выполнив команду ls без параметров, вы получите просто список файлов в каталоге.
admin@pingvinus:~/information$ ls fonts.tar.gz linux.jpg report.odt template ubuntu.jpg
Теперь выполним команду с опциями -A, -S, -1. В результате получим список всех файлов, включая «скрытые», расположенных по одному на каждой строке и отсортированных по размеру.
admin@pingvinus:~/information$ ls -AS1 fonts.tar.gz .gtkrc-2.0 linux.jpg report.odt ubuntu.jpg template .filter
Выполним команду ls с опцией -l. Получим подробную информацию о каждом файле.
admin@pingvinus:~/information$ ls -l -rw-r–r– 1 admin admin 217589 2009-02-12 13:35 fonts.tar.gz -rw-r–r– 1 admin admin 162348 2009-02-03 20:50 linux.jpg -rw-r–r– 1 admin admin 155847 2009-02-15 12:54 report.odt -rw-r–r– 1 root root 120736 2009-02-12 12:55 template -rw-r–r– 1 admin admin 134404 2009-02-12 12:24 ubuntu.jpg
mkdir — создание каталога
Команда mkdir предназначена для создания новой директории. Чтобы создать новую директорию, выполните mkdir <имя директории=””>. Для того, чтобы создать сразу несколько директорий, укажите их имена через пробел, например:mkdir mydir1 mydir2 mydir3
cp — копирование файла
Утилита cp используется для создания копии файла. Для обычного копирования используется следующий синтаксис cp <имя файла=”” источника=””> <имя файла=”” назначения=””>.
При использовании cp есть один нюанс, который нужно обязательно помнить. Если файл назначения уже существует, то cp перезапишет его. Поэтому, чтобы избежать случайного уничтожения существующего файла, нужно использовать команду cp с опцией -i. Перед перезаписью файла будет выдан запрос на ваше согласие. Например, если мы копируем файл linux.jpg в файл windows.jpg и windows.jpg уже существует, то будет выдан запрос на перезапись файла:
admin@pingvinus:~/information$ cp -i linux.jpg windows.jpg cp: переписать `windows.jpg’? y
Опция -r (или -R) используется для копирования одной директории в другую.
mv — перемещение, переименование файла
Утилита mv предназначена для перемещения, переименования файла. Для переименования файла используется синтаксис mv <имя файла=””> <новое имя=”” файла=””>. Для перемещения файла в другую директорию используется синтаксис mv <имя файла=””> <директория>. С mv можно также использовать опцию -i, чтобы случайно не перезаписать существующий файл.
rm — удаление файла
Команда rm предназначена для удаления файлов. Основные опции команды:
-i — выводить запрос перед удалением каждого файла. -r (или -R) — удалить директории и их содержимое.
cd — смена текущего каталога
Команда cd предназначена для смены каталога, в котором вы сейчас находитесь. Например, вы сейчас находитесь в своем домашнем каталоге ~ и хотите перейти в каталог ~/information, тогда нужно просто выполнить команду cd information.
admin@pingvinus:~$ cd information/ admin@pingvinus:~/information$
Если выполнить команду cd без параметров, то вы перейдете в свой домашний каталог ~.
admin@pingvinus:~/information$ cd admin@pingvinus:~$
Чтобы перейти в каталог на уровень выше (в родительский каталог) можно использовать синоним «две точки» — .., которые в Linux служат синонимом пути родительского каталога. Например, находясь в каталоге ~/information мы можем перейти в каталог ~ следующим образом:
admin@pingvinus:~/information$ cd .. admin@pingvinus:~$
cat — вывод содержимого файла
Утилита cat выводит содержимое текстового файла. Простейший синтаксис команды cat <имя файла=””>. Утилита cat может использоваться для соединения конкатенации двух текстовых файлов, собственно от этого и происходит название утилиты (catenation, concatenation). Например, у нас есть два файла download и ubuntu и в каждом по две строки. Сначала мы выведем содержимое файлов по отдельности, а затем сделаем конкатенацию двух файлов.admin@pingvinus:~/information$ cat download first line of file download second line of file download admin@pingvinus:~/information$ cat ubuntu first line of file ubuntu second line of file ubuntu admin@pingvinus:~/information$ cat download ubuntu first line of file download second line of file download first line of file ubuntu second line of file ubuntu
pwd — вывод полного пути текущего каталога
Команда pwd используется, чтобы вывести полный путь текущего каталога.
admin@pingvinus:~/information$ pwd /home/admin/information
man — получение руководства
Системная утилита man выводит страницы системной документации. С ее помощью можно получить информацию по любым командам Linux. Для этого используется синтаксис man <имя утилиты=””>. Например, чтобы вывести руководство по утилите ls, используйте команду man ls. Войдите, чтобы ставить лайкимне нравитсяЛайков: +1 войдите, чтобы ставить лайки
Промежуточные команды
1. echo – команда “echo” помогает нам перемещать некоторые данные, обычно текст, в файл. Например, если вы хотите создать новый текстовый файл или добавить в уже созданный текстовый файл, вам просто нужно ввести «echo hello, меня зовут hich >> new.txt». Вам не нужно разделять пробелы с помощью обратной косой черты здесь, потому что мы заключаем в две треугольные скобки, когда мы заканчиваем то, что нам нужно написать.

результат команды echo в linux
2. cat – Используйте команду cat для отображения содержимого файла. Обычно используется для удобного просмотра программ.

результат команды echo в linux
3. nano, vi, jed – nano и vi уже установлены текстовые редакторы в командной строке Linux. Команда nano – хороший текстовый редактор, который помечает ключевые слова цветом и может распознавать большинство языков. И vi проще, чем nano. Вы можете создать новый файл или изменить файл с помощью этого редактора. Например, если вам нужно создать новый файл с именем «check.txt», вы можете создать его с помощью команды «nano check.txt». Вы можете сохранить ваши файлы после редактирования, используя последовательность Ctrl + X, затем Y (или N для no). По моему опыту, использование nano для редактирования HTML выглядит не очень хорошо из-за его цвета, поэтому я рекомендую jed текстовый редактор. Мы скоро приступим к установке пакетов.
4. sudo – широко используемая команда в командной строке Linux, sudo означает «SuperUser Do». Поэтому, если вы хотите, чтобы любая команда выполнялась с правами администратора или root, вы можете использовать команду sudo. Например, если вы хотите отредактировать файл, такой как viz. alsa-base.conf, для которого требуются права root, вы можете использовать команду – sudo nano alsa-base.conf. Вы можете ввести корневую командную строку с помощью команды «sudo bash», а затем ввести свой пароль пользователя. Вы также можете использовать команду «su», но перед этим вам нужно установить пароль root. Для этого вы можете использовать команду «sudo passwd» (не с орфографической ошибкой, это passwd). Затем введите новый пароль root.
5. df – используйте команду df, чтобы увидеть доступное дисковое пространство в каждом из разделов вашей системы. Вы можете просто ввести df в командной строке и увидеть каждый смонтированный раздел и его использованное / доступное пространство в % и в килобайтах. Если вы хотите, чтобы оно отображалось в мегабайтах, вы можете использовать команду «df -m».

результат команды df -m в linux
6. du – Используйте du, чтобы узнать, как файл используется в вашей системе. Если вы хотите узнать размер занимаемого места на диске для конкретной папки или файла в Linux, вы можете ввести команду df и имя папки или файла. Например, если вы хотите узнать размер дискового пространства, используемое папкой документов в Linux, вы можете использовать команду «du Documents». Вы также можете использовать команду «ls -lah», чтобы просмотреть размеры всех файлов в папке.
7. tar – Используйте tar для работы с tarballs (или файлами, сжатыми в архиве tarball) в командной строке Linux. У него длинный список применений. Он может использоваться для сжатия и распаковки различных типов архивов tar, таких как .tar, .tar.gz, .tar.bz2 и т. д. Это работает на основе аргументов, данных ему. К примеру, “tar -cvf” для создания .tar архива, –xvf для распаковки .tar архива, –tvf для просмотра содержимого архива и т.д.
8. zip, unzip – используйте zip для сжатия файлов в zip-архив и unzip для извлечения файлов из zip-архива.
9. uname – используйте uname, чтобы показать информацию о системе, в которой работает ваш дистрибутив Linux. Использование команды «uname -a» выводит большую часть информации о системе: дату выпуска ядра, версию, тип процессора и т. д.

результат команды uname -a в linux
10. apt-get – используйте apt для работы с пакетами в командной строке Linux. Используйте apt-get для установки пакетов. Это команда требует прав суперпользователя, поэтому используйте команду sudo с ним. Например, если вы хотите установить текстовый редактор jed (как я упоминал ранее), мы можем ввести команду «sudo apt-get install jed». Точно так же любые пакеты могут быть установлены следующим образом. Рекомендуется обновлять ваш репозиторий каждый раз, когда вы пытаетесь установить новый пакет. Вы можете сделать это, набрав «sudo apt-get update». Вы можете обновить систему, набрав «sudo apt-get upgrade». Мы также можем обновить дистрибутив, набрав «sudo apt-get dist-upgrade». Команда «apt-cache search» используется для поиска пакета. Если вы хотите найти его, вы можете ввести «apt-cache search jed» (для этого не требуется root).

11. chmod – используйте chmod, чтобы сделать файл исполняемым и изменить разрешения, предоставленные ему в Linux. Представьте, что на вашем компьютере есть код Python с именем numbers.py. Вам нужно будет запускать «python numbers.py» каждый раз, когда вам нужно его запустить. Вместо этого, когда вы делаете его исполняемым, вам просто нужно запустить «numbers.py» в терминале, чтобы запустить файл. Чтобы сделать файл исполняемым, вы можете использовать команду «chmod + x numbers.py» в этом случае. Вы можете использовать «chmod 755 numbers.py», чтобы дать ему права root, или «sudo chmod + x numbers.py» для исполняемого файла root. Вот еще немного информации о команде chmod.
12. hostname – Используйте команду hostname, чтобы узнать ваше имя в вашем хосте или сети. По сути, он отображает ваше имя хоста и IP-адрес. Просто набрав «hostname», вы получите имя хоста. Набрав «hostname -I», вы получите свой IP-адрес в сети.
13. ping – используйте ping для проверки вашего соединения с сервером. Википедия говорит: «Ping – это утилита для администрирования компьютерной сети, используемая для проверки доступности хоста в сети Интернет-протокола (IP)». Например, когда вы набираете, , «ping google.com», он проверяет, может ли он подключиться к серверу и вернуться обратно. Он измеряет это время в оба конца и дает вам подробную информацию о нем. Использовать эту команду можно и для проверки интернет-соединения. Если он пингует сервер Google (в данном случае) – интернет-соединение активно!

результат команды ping в linux
Советы и рекомендации по использованию командной строки Linux
- Вы можете использовать команду clear, чтобы очистить терминал, если он там скопилось слишком много команд.
- TAB можно использовать для заполнения в терминале. Например, вам просто нужно набрать «cd Doc», а затем TAB, и терминал заполняет все остальное и делает его «cd Documents».
- Ctrl + C может использоваться для безопасной остановки любой команды в терминале. Если Crtl+C не сработал, то можно использовать Ctrl + Z чтобы остановить процесс, запущенный в терминале.
- Вы можете выйти из терминала, используя команду exit.
Выключить или перезагрузить компьютер можно с помощью команд sudo halt и sudo reboot.
<хедер class=”read-next-card-хедер”>
5 инструментов, чтобы запомнить команды Linux навсегда
Semen Lobachevskiy 7 янв. 2019• 3 мин. чтения
Команда chmod используется для изменения прав доступа к файлам или каталогам.
<хедер class=”post-card-хедер”> Инструкции
[spoiler title=”Источники”]
- https://interface31.ru/tech_it/2014/09/linux-nachinayuschim-chast-1-pervoe-znakomstvo.html
- https://community.vscale.io/hc/ru/community/posts/209004205-%D0%9A%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D0%B0%D1%8F-%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B0-Linux-%D0%BA%D1%80%D0%B0%D1%82%D0%BA%D0%B8%D0%B9-%D0%BA%D1%83%D1%80%D1%81-%D0%B4%D0%BB%D1%8F-%D0%BD%D0%B0%D1%87%D0%B8%D0%BD%D0%B0%D1%8E%D1%89%D0%B8%D1%85
- https://vasilevsky.net/linux-commands
- https://pingvinus.ru/note/command-line-fundamentals
- https://omgubuntu.ru/basic-linux-commands-for-beginners/
[/spoiler]
Задачи по копированию файлов из одного места в другое возникают у пользователей чаще всего, скопировать нужные объекты можно через менеджер файлов, в котором
Название утилиты cp — это сокращение от Copy, что означает копировать. Утилита позволяет полностью копировать файлы и директории.
СИНТАКСИС И ОПЦИИ
Общий синтаксис cp выглядит вот так:
$ cp опции файл-источник файл-приемник
Или:
$ cp опции файл-источник директория-приемник/
После выполнения команды файл-источник будет полностью перенесен в файл-приемник. Если в конце указан слэш, файл будет записан в заданную директорию с оригинальным именем.
Утилита имеет несколько интересных опций, которые могут сильно помочь при нестандартных задачах копирования, поэтому давайте их рассмотрим:
- —attributes-only — не копировать содержимое файла, а только флаги доступа и владельца;
- -f, —force — перезаписывать существующие файлы;
- -i, —interactive — спрашивать, нужно ли перезаписывать существующие файлы;
- -L — копировать несимволические ссылки, а то на что они указывают;
- -n — не перезаписывать существующие файлы;
- -P — не следовать символическим ссылкам;
- -r — копировать папку linux рекурсивно;
- -s — не выполнять копирование файлов в linux, а создавать символические ссылки;
- -u — скопировать файл, только если он был изменен;
- -x — не выходить за пределы этой файловой системы;
- -p — сохранять владельца, временные метки и флаги доступа при копировании;
- -t — считать файл-приемник директорией и копировать файл-источник в эту директорию.
Как скопировать файл из одной директории в другую с помощью Linux
Синтаксис для копирования файла с одного места на другое выглядит следующим образом:
cp /source/path/name /target/path/name
Например представьте, что вы имеете следующую структуру папок:
- home
- andreyex
- documents
- folder_one
- file_one
- file_two
- file_three
- folder_two
- file4
- folder_one
- documents
- andreyex
Если вы хотите скопировать file_one из текущего местоположения в /home/andreyex/documents/folder_one в /home/andreyex/documents/folder_two, то вы должны ввести следующую команду в командной строке:
cp /home/andreyex/documents/folder_one/file_one /home/andreyex/documents/folder_two/file_one
Ярлыки вы можете сделать здесь.
Главная часть может быть заменена на тильду (~), что объясняется в этой статье. Это изменяет команду на:
cp ~/documents/folder_one/file_one ~/documents/folder_two/file_one
Вы можете просто опустить имя файла для цели, если вы собираетесь использовать то же имя файла
cp ~/documents/folder_one/file_one ~/documents/folder_two
Если вы уже в целевой папке вы можете просто заменить путь к цели с полной остановкой.
cp ~/documents/folder_one/file_one
В качестве альтернативы, если вы уже в исходной папке вы можете просто указать имя файла в качестве источника следующим образом:
cp file_one ~/documents/folder_two
Как сделать резервную копию перед копированием файлов в Linux
В предыдущем разделе folder_one содержит файл с именем file_one и folder_two не делает. Представьте себе, что folder_two имеет файл с именем file_one и вы запустили следующую команду:
cp file_one ~/documents/folder_two
Приведенная выше команда перезапишет file_one, который в настоящее время находится в folder_two. Там нет подсказок, нет предупреждения и сообщения об ошибках, потому что, вы указали действительную команду.
Вы можете принять меры предосторожности при копировании файлов в Linux, для создания резервной копии файла, прежде чем он переписывает его. Просто используйте следующую команду:
cp -b /source/file /target/file
Например:
cp -b ~/documents/folder_one/file_one ~/documents/folder_two/file_one
В папке назначения теперь присутствует файл, который был скопирован и там будет также файл с тильдой (~) в конце, которая является резервной копией оригинального файла.
Вы можете изменить команду резервного копирования для работы в несколько ином виде, так что она создает пронумерованные резервные копии. Вы можете это сделать, если вы уже скопировали файлы и резервные копии уже существуют. Это является одной из форм контроля версий
cp –backup=numbered ~/documents/folder_one/file_one ~/documents/folder_two/file_one
Имя файла для резервных копий будет меняться: file_one.~1~, file_one.~2~ и т.д.
Как запросить перед перезаписью файлов при копировании в Linux
Если вы не хотите делать резервные копии файлов, лежащих в вашей файловой системе, но вы также хотите, убедиться, что команда копия не перезаписывает файл без разбора вы можете получить приглашение, чтобы показать вопросом, не хотите ли вы перезаписать.
Для этого используйте следующий синтаксис:
cp -i /source/file /target/file
Например:
cp -i ~/documents/folder_one/file_one ~/documents/folder_two/file_one
Сообщение будет выглядеть следующим образом : cp: overwrite ‘./file1’?
Для перезаписи файла нажмите Y на клавиатуре или для отмены нажмите N или CTRL и C одновременно.
Что происходит при копировании символьных ссылок в Linux
Символическая ссылка немного походит на ярлык на рабочем столе. Содержимое символической ссылки является адрес физического файла.
Представьте себе, вы имеете следующую структуру папок:
- home
- andreyex
- documents
- folder_one
- file_one
- folder_two
- file_one (symbolic links points to folder_one/file_one)
- folder3
- folder_one
- documents
- andreyex
Посмотрите на следующую команду:
cp ~/documents/folder_one/file_one ~/documents/folder3/file_one
Здесь не должно быть ничего нового, так как он копирует физический файл из одной папки в другую.
Что происходит, однако, если скопировать символическую ссылку из folder_two в folder3?
cp ~/documents/folder_two/file_one ~/documents/folder3/file_one
Файл, который копируется в folder3 не будет символической ссылкой. Это на самом деле файл, на который указывает символическая ссылка, так на самом деле вы получите тот же результат, как если бы путем копирования file_one из folder_one.
Кстати вы можете получить тот же результат с помощью следующей команды:
cp -H ~/documents/folder_two/file_one ~/documents/folder3/file_one
Просто чтобы быть уверенным, хотя есть еще один переключатель, который абсолютно заставляет копировать файл, а не символическую ссылку:
cp -L ~/documents/folder_two/file_one ~/documents/folder3/file_one
Если вы хотите скопировать символическую ссылку необходимо указать следующую команду:
cp -d ~/documents/folder_two/file_one ~/documents/folder3/file_one
Чтобы символическую ссылку скопировать, а не физический файл с помощью следующей команды:
cp -P ~/documents/folder_two/file_one ~documents/folder3/file_one
Как создавать жесткие ссылки с помощью команды ср
В чем разница между символической ссылкой и жесткой связи?
Символическая ссылка – это ярлык для физического файла. Он не содержит больше, чем адрес на физический файл.
Жесткая связь, на основную ссылку на тот же физический файл, но с другим именем. Это почти как прозвище. Это отличный способ организации файлов, не занимая дальнейшего дискового пространства.
Это руководство расскажет вам все, что вам нужно знать о жестких ссылках .
Вы можете создать жесткую ссылку с помощью команды ср.
cp -l ~/source/file ~/target/file
В качестве примера того, почему вы могли бы использовать жесткую ссылку учесть, что у вас есть папка под названием видео и в этой папке видео у вас есть действительно большой видео файл с именем honeymoon_video.mp4. Теперь представьте, что вы также хотите, чтобы видео быть известным как barbados_video.mp4, потому что он также имеет кадры Барбадоса.
Вы можете просто скопировать файл и дать ему новое имя, но это означает, что вы увеличиваете в два раза больше дискового пространства для того, что, по существу, то же самое видео.
Вы могли бы вместо того, чтобы создать символическую ссылку с именем barbados_video.mp4, которая указывает на файл honeymoon_video.mp4. Это будет работать хорошо, но если кто-то удалил honeymoon_video.mp4 вы остались бы со ссылкой и ничего другого и связь по-прежнему занимает дисковое пространство.
Единственное отличие состоит в том, что они содержат разное количество индексных дескрипторов. (уникальные идентификаторы). Удаление файла honeymoon_video.mp4 не удаляет файл, но только снижает количество для этого файла на 1. Файл будет удален только если все ссылки на этот файл будут удалены.
Чтобы создать ссылку вы могли бы сделать что-то вроде этого:
cp -l /videos/honeymoon_video.mp4 /videos/barbados_video.mp4
Как создать символические ссылки с помощью команды ср
Если вы хотите создать символическую ссылку вместо жесткой ссылки вы можете использовать следующую команду:
cp -s /source/file /target/file
Опять же я бы лично вообще используют команду ln -s, но вместо этого работает хорошо.
Как скопировать файлы, если они новее
Если вы хотите скопировать файлы в папку, но только с перезаписью файлов назначения, если исходный файл новее, то вы можете использовать следующую команду:
cp -u /source/file /target/file
Стоит отметить, что если файл не существует на целевой стороне, то копия будет иметь место.
2. Как скопировать несколько файлов
Если вы хотите скопировать несколько файлов одновременно в новое место, вы можете сделать это следующим образом:
cp file1 file2 file3 fileN target_directory
Эта команда скопирует все указанные файлы в целевой каталог. Если в целевом каталоге есть файл(ы), соответствующий имени исходного файла (ов), он будет перезаписан.
3. Несколько способов обработки перезаписи при копировании файлов.
Вероятно, вы не всегда хотите, чтобы ваши существующие файлы целей были перезаписаны, и это абсолютно логично.
Чтобы предотвратить перезапись существующих файлов, вы можете использовать опцию -n. Таким образом, cp выиграл ‘перезаписать существующие файлы.
cp -n source_file target_directory
Но, возможно, вы хотите перезаписать некоторые файлы. Вы можете использовать интерактивную опцию -i, и она спросит вас, хотите ли вы перезаписать существующие файлы.
cp -i source_file target_directory cp: overwrite ‘target_directory/source_file’?
Вы можете ввести y для перезаписи существующего файла или n, чтобы не переписать его.
Существует также возможность создания автоматических резервных копий. Если вы используете опцию -b с командой cp, она перезапишет существующие файлы, но до этого она создаст резервную копию перезаписанных файлов.
cp -b file.txt target_dir / file.txt ls target_dir file.txt file.txt ~
Резервная копия файла заканчивается на ~.
Вы также можете использовать параметр обновления -u, когда имеете дело с перезаписью. С параметром -u исходные файлы будут скопированы только в новое место, если исходный файл более новый, чем существующий, или если он не существует в целевом каталоге.
Подвести итоги:
- -i: Подтвердить перед перезаписью
- -n: Нет перезаписи
- -b: Перезапись с резервным копированием
- -u: Перезаписать, если целевой файл устарел или не существует
Как скопировать папки
Копирование папок такое же, как копирование файлов.
Например представьте, что вы имеете следующую структуру папок:
- home
- andreyex
- documents
- folder_one
- file_one
- file_two
- folder_two
- folder_one
- documents
- andreyex
Представьте, что вы хотите переместить папку folder_one в папку folder_two следующим образом:
- home
- andreyex
- documents
- folder_two
- folder_one
- file_one
- file_two
- folder_one
- folder_two
- documents
- andreyex
Вы можете использовать следующую команду:
cp -r /home/andreyex/documents/folder_one /home/andreyex/documents/folder_two
Кроме того, можно использовать следующую команду:
cp -R /home/andreyex/documents/folder_one /home/andreyex/documents/folder_two
Это копирует содержимое folder_one, а также любые суб-каталоги и файлы в пределах подкаталогов.
Копирование файлов и каталогов
В Bash для копирования файлов используется команда cp (от “copy”), которой обычно передаются два аргумента:
-
адрес с именем исходного файла,
-
новый адрес с именем или просто адрес каталога, куда помещается копия.
Адрес может быть как абсолютным, так относительным. Если операции с файлами выполняются в текущем каталоге, то указывать адрес смысла нет. Пишется только имя исходного файла и имя копии. Поскольку файлов с одинаковыми именами и адресами быть не может, имя копии должно отличаться от имени исходного файла.
Рассмотрим примеры.
cp readme readme2
В данном случае создается копия файла readme, которая остается в той же директории под именем readme2.
cp readme Desktop/
В папку Desktop копируется файл readme. Здесь текущим является родительский Desktop’у каталог. Имена копии и файла оригинала будут совпадать, а вот полные адреса – нет.
cp/home/irina/tux.png /mnt/D/pingvin.png
Здесь копируется файл из одного каталога в другой, используются абсолютные адреса, имя копии изменяется.
Если надо скопировать несколько разных файлов в один и тот же каталог, то после команды cd сначала перечисляются все файлы-оригиналы, а последним указывается каталог, куда помещаются копии. Понятно, что при таком групповом действии имена файлов изменить нельзя.
Чтобы скопировать каталог со всем его содержимым, необходимо использовать ключ -r команды cp:
cp-r ./letters ./oldletters
Перемещение и переименование
В Bash-оболочке Linux для перемещения и переименования используется одна и та же команда – mv (от “move” – перемещать). Переименование можно рассматривать как частный случай перемещения, ведь по-сути изменяется полный адрес файла, что равносильно перемещению, даже если файл остается в том же каталоге.
Также как в случае cp, для mv необходимо указать пару аргументов. Выбор между перемещением и переименованием зависит от того, что это за аргументы. При перемещении файл меняет свой адрес, следовательно, если в первом и втором аргументах указаны разные адреса, то произойдет перемещение. Если адреса одинаковые, а различаются только имена, происходит переименование. Кроме того, перемещение может быть совмещено с переименованием.
В случае перемещения без переименования во втором аргументе указывается только каталог места назначения.
mv document.txt Work
mv document.txt Work/doc23.txt
Здесь в первом случае файл document.txt перемещается в каталог Work. Во-втором случае одновременно происходит перемещение файла и его переименование: файл document.txt перемещается в директорию Work и получает новое имя doc23.txt.
При использовании команды mv для переименования в качестве второго аргумента указывается новое имя:
mv order.txt orderNew.txt
mv Work/list.odt Work/names.odt
Каталоги перемещаются и переименовываются по тому же принципу, что и файлы. Групповое перемещение файлов работает также, как с командой cp.
Создание файлов и каталогов
Новые директории создаются командой mkdir. Например, чтобы создать каталог Work в текущей директории необходимо выполнить следующую команду:
mkdir Work
или
mkdir ./Work
Существует множество способов создания файлов, обычно они создаются какой-либо программой. Если все же возникает необходимость создать пустой файл, сделать это можно с помощью программы touch. В качестве аргумента ей передается имя создаваемого файла. Еще один способ – перенаправление вывода какой-либо команды в файл. Пример:
cal> ./Work/January
Здесь программа cal выводит календарь на текущий месяц, а поскольку стоит знак перенаправления вывода, то вывод команды будет записан в файл January, находящийся в папке Work.
Удаление файлов и каталогов
Для удаления файлов используется команда rm. Например:
rm ghost.png
Командой rmdir можно удалить пустой каталог. Если же каталог не пуст, следует использовать команду rm с ключом -r:
Вопросы
У вас в каталоге есть файлы с разными расширениями. Вам надо группу файлов, имеющих одно и тоже расширение, скопировать в другой каталог. Как это сделать одной командой?
Какой ключ надо использовать, чтобы при перемещении случайно не перезаписать уже имеющийся в каталоге файл с таким именем?
Курс с ответами к заданиям и дополнительными уроками:
android-приложение, pdf-версия.
- Добавить комментарий
6. Как скопировать несколько каталогов
Вы также можете скопировать несколько каталогов одновременно с помощью команды cp в Linux.
Просто используйте его так же, как и для одного каталога.
cp -r source_dir1 source_dir2 source_dir3 target_dir
Это всегда последний аргумент в команде, который принимается как целевой каталог.
Если вы хотите скопировать только содержимое нескольких каталогов одновременно, вы также можете это сделать:
cp -r source_dir1 /. source_dir2 /. source_dir3 /. target_dir
Фактически, вы можете смешивать каталоги, их содержимое и файлы в целом.
cp -r source_dir1 source_dir2 /. source_file target_dirСоветВы можете использовать подробный режим с опцией -v, чтобы посмотреть, какие файлы копируются.
7. Как сохранить атрибуты при копировании
Когда вы копируете файл в новое место, его атрибуты, такие как права доступа к файлам и временные метки файла, изменяются.
Если вы хотите сохранить атрибуты исходного файла, вы можете скопировать файлы с помощью опции -p.
Давайте посмотрим на пример.
ls -l /etc/services -rw-r – r– 1 root root 19183 12 Jan 2018 /etc/services
Если я попытаюсь скопировать этот файл, его атрибуты будут изменены:
ls -l /etc/services -rw-r–r– 1 root root 19183 Jan 12 2018 /etc/services
Но если мы используем параметр p, скопированный файл сохранит режим, право собственности и отметку времени.
cp /etc/services . ls -l services -rwxrwxrwx 1 andreyex andreyex 19183 Nov 27 23:16 services
Как вы можете видеть, вы сохранили режим доступа и временную метку исходного файла с опцией -p.
Но подождите! Разве это не должно было сохранить право собственности на исходные файлы? Но вот владелец (root) исходного файла был изменен на andreyex,
Это связано с тем, что только root имеет разрешение на изменение права собственности на файл, принадлежащий root. Если вы используете опцию -p с файлом, не принадлежащим root, он сохранит право собственности. Или вы можете запустить команду с помощью sudo, это сохранит право собственности на файл, принадлежащий root.
Вы также можете указать атрибуты, которые хотите сохранить. Но тогда вам придется использовать опцию -preserve.
cp –preserve=timestamp /etc/services . ls -l services -rw-r–r– 1 andreyex andreyex 19183 Jan 12 2018 services
Как видно из вышеприведенного вывода, команда сохранила только временную метку исходного файла.
Примеры, показанные здесь, являются наиболее распространенными, которые вы будете использовать в качестве пользователя Linux, сисадмина или разработчика программного обеспечения.
Если вам понравилась эта статья, пожалуйста, поделитесь этой статьей о социальных сетях и различных форумах.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Перекрёстные ссылки книги для Копирование, перемещение, создание и удаление файлов и каталогов
- Команда ls – просмотр каталога
- Вверх
- Жесткие и символьные ссылки
Linux
ПРИМЕРЫ КОПИРОВАНИЯ ФАЙЛОВ В LINUX
Теперь, когда вы знаете основные опции можно рассмотреть примеры.Например, мы хотим скопировать некую картинку из домашней папки в подкаталог pictures:
cp ~/pic.png ~/pictures/
Или можем явно указать имя новой картинки:
cp ~/pic.png ~/pictures/wallpaper.png
Копирование папок осуществляется с помощью ключа -r:
cp -R ~/папка ~/Документы/
После выполнения этой команды копирования ~/папка будет скопирована в папку ~/Документы. Главное, не забывайте поставить слэш в конце выражения или использовать опцию -t. Иначе папка ~/документы будет перезаписана.
По умолчанию команда cp linux перезаписывает существующие файлы или папки, но можно заставить утилиту спрашивать нужно ли перезаписывать каждый файл если вы неуверены в правильности составления команды:
cp -i ~/test ~/Documents/test
Есть и противоположная опция -n, означающая никогда не перезаписывать существующие файлы.
Опция -u позволяет копировать файл, только если уже существующий более старой версии, чем новый:
cp -u ~/test ~/Documents/test
cp также поддерживает специальные символы замены * и ?. Например, следующая команда скопирует все файлы, начинающиеся на test:
cp ~/test* ~/Документы/
Если нужно применить более сложные регулярные выражения, придется комбинировать утилиту cp с find или egrep.
В случае если важно сохранить права доступа к файлу и его владельца нужно использовать опцию -p:
cp -p ~/test* ~/Документы/
Для упрощения использования команды можно использовать синтаксис фигурных скобок. Например, чтобы создать резервную копию файла выполните:
$ cp test.conf{,.bak}
Будет создан файл с таким же именем и расширением .bak
По умолчанию в cp не отображается прогресс копирования файла, что очень неудобно при работе с большими файлами, но его можно легко посмотреть с помощью утилиты cv.
Скопировать файл в другую директорию
Скопируем файл myfile.txt в директорию mydir:
cp myfile.txt mydir
Скопируем файл myfile1.txt в новый файл myfile2.txt
cp myfile1.txt myfile2.txt
Скопировать несколько файлов
Для копирования нескольких файлов нужно перечислить их через пробел. Послений параметр определяет результирующую директорию, в которую будут скопированы файлы.
cp /etc/config/myfile1.txt /home/pupkin/myfile1.txt /mnt/some/myfile3.txt mydir
Скопировать файл с подтверждением
Выведем запрос на подтверждение перезаписи результирующего файла, если он существует:
cp -i myfile1.txt myfile2.txt cp: переписать ‘myfile2.txt’? y
Показать информацию о копируемых файлах
При использовании опции -v выводится информация о том, какие файлы и куда копируются.
cp -v myfile1.txt myfile2.txt mydir/ ‘myfile1.txt’ -> ‘mydir/myfile1.txt’ ‘myfile2.txt’ -> ‘mydir/myfile2.txt’
Скопировать директорию
Чтобы скопировать директорию и все ее содержимое нужно использовать опцию -r
cp -r /home/pupkin/mydir /mnt/usbflash
Скопировать только если файлы новее
Скопируем файлы вида myfile*.txt (например, это могут быть файлы myfile1.txtmyfile10.txtmyfile2.txt) в директорию mydir, но если результирующий файл существует, то копирование выполняется только в том случае, если исходный файл новее.
cp -u myfile*.txt mydir
Не перезаписывать существующие файлы
Чтобы существующие файлы не перезаписывались, используется опция -n
cp -n /home/pupkin/mydir /mnt/usbflash
Скопировать только атрибуты
Скопируем только атрибуты файла. Содержимое файла не копируется.
cp –attributes-only myfile1.txt myfile2.txt
Создать резервную копию для результирующих файлов, если они существуют
Скопируем файл myfile1.txt в файл myfile2.txt. Если файл myfile2.txt существует, то будет создана его резервная копия.
cp -b myfile1.txt myfile2.txt
Принудительно перезаписывать существующие файлы назначения
Если файл назначения существует и не может быть открыт и удален, то можно использовать опцию -f, чтобы принудительно перезаписать такой файл:
cp -f myfile1.txt myfile2.txt
[spoiler title=”Источники”]
- https://www.lcnt.ru/?p=213
- https://andreyex.ru/linux/komandy-linux-i-komandy-shell/kak-skopirovat-fajly-s-pomoshhyu-komandy-sr-v-linux/
- https://andreyex.ru/operacionnaya-sistema-linux/komanda-cp-v-linux-7-prakticheskih-primerov/
- https://younglinux.info/bash/cpmv.php
- https://pingvinus.ru/note/cmd-cp
[/spoiler]
