Урок #31. Работа с Терминалом

В этом видео речь пойдет о применении Терминала Линукс и давайте рассмотрим несколько примеров.

Есть ряд команд, для выполнения которых достаточно ввести только их название.

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

Но все же для выполнения большинства команд необходимо ввести дополнительные опции или аргументы.

Для того чтобы получить подробную подсказку с описанием аргументов и опций нужно ввести команду, а затем сделав пробел через две двойных черты ввести слово «help», например, «ls —help». Справочная информация может быть как на английском, так и на русском языке. Все зависит от того, к какой команде вызывается справка. Если вы не владеете английским, то проще поискать информацию о команде в интернете.

Терминал Линукс

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

Например, «ls -a» выводит список всех файлов и каталогов в текущем каталоге. В том числе отображаются и скрытые файлы.

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

cp [путь к файлу] [путь в конечный каталог]

И тут самое время рассказать о том, как прописываются пути к файлам и каталогам.

Путь — это однозначное положение файла в файловой системе. Как я уже говорил в одном из первых видео этого курса, отсчет ведется от корневого каталога, обозначающегося косой чертой — «/«. Но тут есть свои нюансы. Так родительские каталоги обозначаются как «../», а текущие каталоги как «./».

Terminal Linux

Чтобы было понятно, рассмотрим пример. Как мы знаем символ «~» означает то, что мы сейчас находимся в домашнем каталоге. Если мы захотим посмотреть содержимое папки Изображения, то команда будет выглядеть как: ls ./Изображения

Команды Терминала Линукс

Если же мы захотим посмотреть перечень папок и файлов на уровень выше, то вводим — ls ../

То есть эти операции позволяют нам перемещаться в файловой структуре исходя из текущего месторасположения.

Чтобы воспользоваться абсолютным заданием адреса файла или каталога, мы должны указать полный путь от корневого каталога. Для папки Изображения он будет выглядеть так:

ls /home/andrey/Изображения

Согласитесь, вводить такие длинные адреса не особо удобно, но можно воспользоваться все тем же автодополнением — клавише Tab. То есть начинаем вводить адрес, а затем нажимаем Tab и название каталога подставляется автоматически.

Итак, имея уже некоторые знания давайте скопируем текстовый файл 1, находящийся в домашнем каталоге в папку 2, которая также располагается здесь: cp 1 ./2

Команды терминал Linux

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

Итак, во-первых, нам понадобится список программ, которые вы хотите установить. Для примера я установлю одновременно три программы — Skype, программу Wine, о которой речь пойдет в одном из следующих видео, а также архиватор Rar.

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

Первая команда — sudo. Это одна из важнейших команд в Линукс, поскольку именно с помощью нее обычный пользователь может получить права администратора. А именно администраторские права нам понадобятся для установки программ на компьютер. Расшифровать sudo можно как — super user do, что в переводе с английского будет означать «суперпользователь делает». Мы уже знаем, что суперпользователь обладает неограниченными правами на компьютере и для некоторых действий в системе нам нужны его права.

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

Следующая команда, которая нам понадобится — apt-get.

По сути менеджеры пакетов вроде Synaptic>, который мы рассматривали в одном из предыдущих видео, являются графическими оболочками APT-утилит (Advanced Packaging Tool), которые и позволяют работать с пакетами. Команда apt-get используется для установки, удаления и обновления пакетов. Соответственно, для работы с ней нам понадобятся администраторские права.

Чтобы запустить утилиту, достаточно ввести ее название в Терминале. Ну а чтобы она была запущена с администраторскими правами что нужно сделать? Правильно — перед ней нужно ввести команду sudo.

Но поскольку данная утилита умеет производить несколько действий, то нам нужно указать именно то действие, которое мы хотим выполнить, а также указать программу (пакет) который мы хотим установить, удалить или обновить. Все атрибуты команды можно увидеть вызвав справку также известной нам опцией: apt-get —help

установка программ через терминал

Поскольку мы хотим установить пакеты, то нас будет интересовать команда install. Аргументом данной команды будет название пакета (программы).

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

sudo apt-get install skype

Как вы понимаете, такая команда установит программу Skype на компьютер, но нам с вами нужно установить несколько программ. Я выбрал три.

Для этого достаточно перечислить программы через пробел, а для того, чтобы при установке программы не возникало дополнительных вопросов, требующих вашего вмешательства, применим параметр «-y», который принудительно будет отвечать «да» на все запросы установщика. Установка этого параметра не обязательна, просто я хочу для демонстрации несколько усложнить нашу команду, воспользовавшись дополнительными ее параметрами.

Итак, получаем: sudo apt-get install -y skype wine rar

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

После установки можем проверить наличие пакетов на компьютере и я запущу, например, скайп. Для этого я обращусь к главному меню.

pic.008

Также пакетно можно обновлять или удалять программы. Например, если мы хотим удалить только что установленные программы, то можем воспользоваться той же утилитой apt-get и наша команда будет выглядеть так: sudo apt-get remove skype wine rar

Думаю логику вы поняли.

В Linux используются тысячи команд и каждая из них имеет свои опции, которых, как вы видели, у каждой команды тоже может быть с десяток. Знать их все абсолютно не обязательно! Но вот иметь представление о том, где и как можно получить информацию о той или иной команде, все же следует. В этом нам всегда поможет самая, пожалуй, главная команда — man (от англ. manual — руководство).

Она предназначена для вызова документации об интересующей нас программе или команде. Так уж принято в линукс-сообществе, что любая программа или утилита должна иметь документацию в man-формате. Большинство документов на английском языке, поэтому многим все же будет проще найти информацию о команде в интернете, нежели читать мануал. В любом случае, чтобы получить справку о команде достаточно ввести man [название команды], например, man apt-get или man ls.

Ну и в заключение повторюсь, что кроме стандартного Терминала существует масса программ, его эмулирующих и предоставляющих больше возможностей в плане комфорта работы. Я в свое время пользовался эмулятором Терминала с громким названием Terminator. Он может открывать в одном и том же окне несколько панелей, что позволяет запускать сразу несколько задач параллельно.

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

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