Rate this post

Терминал является невероятно важной частью рабочего сто­ла Linux. Как бы вы ни привыкли наводить и щелкать в ко­мандной строке, в какой-то момент вам придется окунуться в темные воды терминала и задействовать его. Не бойтесь, терми­нал не так страшен, как его малюют, и уделив время на изучение ос­нов, вы обнаружите, что определенные задачи в нем решаются го­раздо быстрее и эффективнее.nnКак и следует ожидать, терминал по сути выдает доступ к ко­мандной оболочке Linux, то есть работает так же и использует тот же язык (Bash). Это означает, что в терминале можно сделать то, что вы обычно делаете в командной строке, причем не расстава­ясь с относительным комфортом рабочего стола. Так что обучение работе с терминалом — и Bash — вдвойне выгодно, поскольку да­ет вам первое представление о работе с базовой оболочкой Linux. И на следующих нескольких уроках вы именно этим и займетесь: как освоить работу с терминалом.nnЭта серия уроков основана на Ubuntu, так что для начала от­кройте Dash и наберите ‘terminal’ в поле поиска. Терминал вы, ес-те ст вен но, най де те, но за од но уви ди те и два пунк та под на зва ни-ем UXTerm и XTerm. Это проливает свет на тот факт, что существует несколько эмуляторов терминала, которые можно запускать для взаимодействия с оболочкой. Различия между ними, конечно, есть, но в принципе они делают одно и то же.nnНа этом уроке мы придерживаемся терминала по умолчанию, который на самом деле является эмулятором gnome-terminal — технически это эмуляция сессии TeleTYpe (TTY). Он обладает всей необходимой функциональностью, но стоит отметить и XTerm и UXTerm как бо лее ми ни ма ли ст ские ин ст ру мен ты, не тре бую щие для запуска никаких зависимостей. И если основной терминал по­чему-либо отказывает, взамен можно использовать их. Кстати, единственная разница между ними состоит в том, что UXTerm под­держивает расширенный набор символов Unicode.n

Как работает Bash

Оболочка Linux использует оболочку Bash и командный язык для выполнения задач, с относительно простым синтаксисом для каж­дой команды: имя утилиты команда -опция.nnЧасть команды имя утилиты — это отсылка к инструменту, ко­торый вы хотите запустить: например, Is служит для просмот­ра содержимого каталога, а apt-get — для запуска инструмента управления пакетами APT. В части команда вы конкретно указы­ваете, что утилита должна сделать, например, apt-get install пред­писывает утилите управления пакетами выполнить установку име­нованного пакета, например: apt-get install vlc.nnВ части -опция можно установить один или несколько параметров-«флажков», чтобы задать определенные параметры. Каждому флагу предшествует один или два дефиса (—), а полезнее всех оп­ция —help, которая дает краткое описание утилиты плюс перечис­ляет все доступные команды и параметры, например, ls -l.nnФлаг -l велит инструменту вывода каталога предоставить под­робную информацию о содержимом папки, включая: права дос­тупа; владельца файла; время последнего изменения и его объем в байтах. Утилиты можно запускать без каких-либо команд или па­раметров — например, ls сама по себе выдает простой список всех папок и файлов в каталоге. Можно также запустить утилиты с ком­бинацией команд и/или параметров.n

Ограниченный доступ

Откройте терминал, и вы увидите нечто вроде username@pc-name:~$. Это показывает, что вы вошли в оболочку под своей учетной записью. А значит, у вас есть доступ к ограниченному чис­лу команд — можно, например, напрямую работать с ls, но нель­зя установить пакет с помощью apt-get, поскольку эта команда требует прав root. Права достигаются одним из двух способов — ес ли вы пользователь с правами админист ратора, как пользователь по умолчанию в Ubuntu, то можно предварить вашу команду командой sudo, например, sudo apt-get install vlc. Вам предло­жат ввести пароль учетной записи, а затем команда выполнит­ся. Вы об на ру жи те, что мо же те и дальше запускать команды че­рез sudo без повторного ввода пароля (пять минут), пока терминал открыт. В некоторых дистрибутивах можно войти в терминал пользова те ля root с по мощью su — вам предложат ввести па­роль пользова те ля root, послече го вы увидите следующее при­глашение: root@pc-name:~$. Войдя, вы сможете вводить коман­ды без ограничений.nnМы ре ко мен ду ем ис поль зо вать ко ман ду sudo, а не этот вари­ант, и если вы работаете в Ubuntu, то обнаружите, что su во обще не работает, поскольку пароль учетной записи root заблокирован по соображениям безопасности.nnПри установке некоторых дистрибутивов или добавлении но­вых пользователей в Ubuntu вы можете обнаружить, что ваша учет­ная за пись поль зо ва те ля по умол ча нию в груп пу sudo не до бав-лена. Чтобы решить эту проблему, откройте терминал в учетной записи, которая действительно имеет доступ root (или, если под­держивается, воспользуйтесь командой su) и введите sudoadduser <имяпользователя> sudo. Той же командой можно добавить поль­зователя в другие группы,есди перечислить все группы, в которые вы хотите его добавить, например: sudo adduser <username> adm sudo lpadmin sambashare.nnЕще один удобный инструмент — gksudo; он позволяет за­пускать настольные приложения с привилегиями root. Это наибо­лее полезно, когда требуется просмотреть систему с правами root с помощью диспетчера файлов: gksudo nautilus. Обязательно ос­тавляйте терминал открытым на все время выполнения приложе­ния, в противном случае оно при закрытии терминала закроется тоже. Закончив, закройте окно программы, затем нажмите Ctrl+c в терминале, что прерывает запущенную программу и возвращает вас в командную строку.nnМы уже об су ж да ли флаг —help, но есть и другие инструмен­ты помощи, которые тоже можно использовать. Во-первых, есть whatis — который можно ввести с любой командой, чтобы полу­чить крат кое опи са ние его и лю бых ука зан ных эле мен тов: на при­мер, whatis apt-get install vlc опи шет ин ст ру мент apt-get, ар гу мент install [установка] и что такое пакет vlc. Флаги игнорируются.nnЕсли вы ищете полноценное руководство, то инструмент man предоставляет доступ к онлайн-руководству вашего дистрибути­ва. Запуск man intro выдает большое и подробное введение в ко­мандную строку. После этого нажмите q, чтобы вернуться в тер­минал. Для дополнительных советов по навигации по руководству наберите man man или в сочетании с именем инструмента, напри­мер, man ls.nnТе перь, ко гда вы сде ла ли свои пер вые ша ги в мир тер ми на ла, посмотрите врезку (Ваши первые команды терминала, вверху), где вы найдете ряд полезных для работы команд управления пакета­ми. На следующем уроке мы рассмотрим перемещение по файло­вой системе из терминала и запуск программ, и изучим полезные сочетания клавиш, помогающие ускорить взаимодействие с ко­мандной строкойn

Ускорение ввода текста

Невзирая на степень вашего умения быстро печатать, команд­ная строка все равно может оказаться удручающе затратной по времени. К счастью, в терминале немало удобных сочетаний клавиш. Давайте посмотрим, как легко получить доступ к ранее использовавшимся командам и увидеть предложения:n

  • » Стрелки вверх/вниз Просмотр истории команд.
  • » history Просмотр истории команд.
  • » Ctrl+r Поиск по истории команд. Введите буквы, чтобы су­зить поиск до ближайшего совпадения, и придержите клавиши Ctrl + r, чтобы увидеть другие совпадения.
  • » Tab Посмотреть подсказку или автозавершение слова или пути, если вы его целиком не помните. Нажатие ~+Tab авто­матически вставит имя пользователя, @+Tab — имя хоста, а $+Tab — переменную.

Флаг —help можно использовать с любой командой, для выясне­ния, что она делает и какие аргументы использовать.

Ваши первые команды терминала

Хотя для установки и управления программным обеспечением можно обойтись комбинацией Software Center и панели управления Software & Updates Ubuntu, часто быстрее воспользоваться семейством инстру­ментов Advanced Package Tool (APT). Вот несколько основных способов их применения (применение sudo см. ниже):n

  • » $ apt-cache pkgnames Перечисляет все доступные пакеты в исходни­ках, указанных в списках источников в файле /etc/apt/sources.list.
  • » $ sudo add-apt-repository ppa:<имярепозитория> Добавляет в список исходников указанный репозиторий Launchpad PPA.
  • » $ sudo apt-get update Получает свежие списки пакетов (включая об­новленные версии) из всех перечисленных репозиториев.
  • » $ sudo apt-get install <пакет> Устанавливает названный пакет. Также скачивает и устанавливает все требуемые зависимости пакетов.
  • » $ apt-get remove <package> Удаляет установленный пакет. Исполь­зуйте apt-get purge <пакет>, чтобы удалить все файлы настройки па­кета, и apt-get autoremove, чтобы удалить уже не нужные пакеты, уста-нов ленные другими пакетами.
  • » $ sudo apt-get upgrade Обновляет все установленное программное обеспечение — перед этим запустите sudo apt-get update.

Другие полезные команды apt-get включают apt-get check — инст­румент проверки нарушенных зависимостей, и apt-get autoclean, кото­рый ликвидирует Deb-файлы удаленных пакетов.n

Пакет apt-cache также умеет отыскивать указанные пакеты или выявлять зависи­мости пакета.