Прежде всего нижеописанного, небольшое отступление: данное руководство написано человеком, который находился на этапе изучения работы с системой Linux/Debian GNU и может отличаться от информации представленной на просторах интернета, а так же от официальной документации.
Linux — Введение в основы
Перед началом работы с терминалом/консолью системы Linux давайте разберемся, что такое root в Debian. Root — это суперпользователь/администратор, обладающий всеми привилегиями и правами для управления системой. Во время установки, вас спрашивали хотите ли вы использовать данный аккаунт или нет:
Если вы согласились и вводили пароль: то вам потребуется авторизация с введенным вами паролем.
Если вы отказались, то пользователь root будет выключен в системе. Соответственно первый созданный пользователь будет использоваться для административных задач и будет обладать привилегиями суперпользователя (т.е. будет идентичен пользователю root).
В терминале вы можете использовать su (или gksu), чтобы изменить свой идентификатор на root. Тем не менее, лучше всего настроить и использовать sudo (или gksudo) для работы в системе.
Что такое sudo?
Sudo — это программа, которая позволяет системным администраторам разрешать выполнять команды обычным пользователям в терминале с правами суперпользователя. Т.е. системный администратор может позволить обычному пользователю выполнять команды в консоли с правами root. Особенность данной программы в том, что она позволяет просмотреть: какой пользователь воспользовался sudo, какую команду и дату ее использования. Помимо этого использование sudo безопаснее, чем открытая root — сессия по следующим причинам:
- Нет необходимости в пароле root, так как используется пароль текущего пользователя.
- По умолчанию команды выполняются от обычного пользователя (не привилегированного), что позволяет избежать ошибок. От имени root выполняются только команды с префиксом sudo.
- И как было упомянуто ранее, данная программа сохраняет данные использования: дату, саму команду и имя пользователя.
Поэтому переключение на суперпользователя(root) не требуется, иначе вышеперечисленные особенности отменяются.
Что необходимо знать с самого начала?
Прежде, чем мы начнем разбирать командный интерпретатор (терминал), хочу уточнить, что системы UNIX, в том числе и Debian, чувствительны к регистру символов. Это означает, что в отличии от Windows, в котором, например, папки AppData и appdata, это одно и то же, то в Дебиан это совершенно разные 2 папки. Это правило относится и к использованию команд, их ключей, имен пользователей, паролей и т.п., поэтому будьте внимательны к регистру.
Что такое терминал?
Это инструмент с огромным потенциалом, который облегчает и если нужно выполняет всю рутинную работу за Вас. Через терминал можно?
- Добавлять новые репозитории (хранилище программ)
- Устанавливать программы
- Запускать программы (для того, чтобы увидеть возможные ошибки)
- Настраивать дистрибутив и отдельные программы через конфигурационные файлы
- И многое другое;
Фактически в UNIX-системах терминалом является программа BASH, самый популярный командный интерпретатор, в особенности в системах GNU/Linux. Ниже приведен неполный ряд встроенных команд, которые понадобятся для работы с терминалом, а так же их описание:
- break — команда позволяет выйти из циклов for, while или until.
- continue — выполнение следующей итерации цикла for, while или until.
- echo — достаточно известная команда, которая выводит аргументы, разделенные пробелами, на стандартное устройство вывода
- exit — команда выхода из оболочки
- export — отмечает аргументы, как переменные для передачи в дочерние процессы в среде
- hash — запоминает полные мена путей команд, указанных в качестве аргументов, чтобы не искать их при следующем обращении
- kill — завершает процесс (если точнее, посылает сигнал завершения самому процессу)
- pwd — выводит текущий рабочий каталог
- read — читает строку из ввода оболочки и использует ее для присвоения значений указанным переменным.
- return — заставляет функцию оболочки выйти с указанным значением
- shift — перемещает позиционные параметры налево
- test — вычисляет условное выражение
- times — выводит имя пользователя и системной время, использованное оболочкой
- trap — указывает команды, которые должны выполняться оболочкой при получении сигнала
- unset — вызывает уничтожение переменных оболочки
- wait — ждет выхода из дочернего процесса и сообщает выходное состояние.
Кроме встроенных команд, так же имеются внешние, отдельные команд-программы, с которыми мы познакомимся немного позднее. На этом, пока что все! Не забывайте подписываться на наш Youtube — канал, группу ВКонтакте, страничку на Facebook-е, и конечно же на наш Twitter!