Командная строка Linux: краткий курс для начинающих
Как работать с командной строкой и базовыми командами.
Введение
В данном руководстве мы вкратце ознакомимся с работой в командной строке в Ubuntu 20.04 .
Требования
- Cервер с Ubuntu 20.04
Для разных операционных систем командную строку можно открывать с помощью приложений:
- Mac OS X: Terminal (default), iTerm 2;
- Windows: PuTTY;
- Linux: Terminal, KDE Konsole, XTerm.
С подробным описанием команд для Ubuntu можно ознакомиться в официальной документации.
Вход на сервер через терминал
В операционной системе Ubuntu 20.04 открыть командную строку можно двумя способами: через консоль и через графический терминал.
Для работы через консоль следует нажать сочетание клавиш Ctrl+Alt+F1, для возврата в графический интерфейс — сочетание клавиш Ctrl+Alt+F7.
Для запуска терминала нажмите сочетание клавиш Ctrl+Alt+T.
Внизу экрана располагается приглашение командной строки — последовательность символов, извещающая о готовности к обработке команд:
kamilla@kamilla-Aspire-V3-371:~$
, где:
- kamilla — имя текущего пользователя (суперпользователь/администратор);
- kamilla-Aspire-V3-37 — имя хоста (сервер);
- : — разделитель;
- ~ — текущая директория (в какой папке выполняется команда) пользователя (по умолчанию /home/<username>);
- $ — символ приглашения ввода для пользователей с обычными правами;
- # — символ приглашения ввода для суперпользователя/администратора root (например, root@cs49647:~#).
Базовые команды, используемые при настройке сервера
После создания нового сервера необходимо предпринять несколько шагов по его базовой настройке.
Для того чтобы открыть сервер под учетной записью заведенного пользователя введите команду:
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
Заключение
Мы познакомились с принципами работы в командной строке и базовыми командами.
В последующих статьях цикла, описывающего принципы работы в Linux, вы изучите с работой в bash (переменные, условия, циклы, примеры простых скриптов), а также ознакомитесь с управлением файлами и каталогами, созданием пользователей и настройкой прав.