sonyps4.ru

Работа с терминалом в дебиан. Команды для управления процессами

Yakuake — терминал, выпадающий в верхней части экрана. Поддерживает вкладки и разделение окна на несколько терминалов.

  • Cool Retro Term — терминал для Linux в старом ламповом стиле. Имеет несколько тем оформления. Позволяет настраивать внешний вид.

  • QTerminal — легковесный терминал с возможностью открытия нескольких терминалов в одном окне. Поддерживается режим выпадающего окна.

  • Betty

    Betty — программа, которая позволяет выполнять различные команды Linux, но для их выполнения вам не нужно знать самих команд, вы можете просто написать то, что вы хотите на простом английском.

  • Final Term — современный эмулятор терминала для Linux, обладающий интерактивными функциями и возможностями, которых нет у других подобных программ. Программа обладает удобным автодополнением команд, распознает файлы, адреса и другие элементы, поддерживает сворачивание команд, настраиваемые горячие клавиши, темы оформления и многое другое.

  • Gnome Terminal — стандартный терминал среды рабочего стола Gnome . Работает стабильно, обладает необходимыми возможностями и настройками для повседневной работы. Поддерживает цветовые схемы, цветной вывод текста, вкладки и так далее.

  • Terra Terminal Emulator — терминал для Linux, который выпадает (появляется) в верхней части экрана по нажатию горячей клавиши (по умолчанию F12). Можно создавать несколько вкладок и в каждой вкладке по несколько терминалов. Само окно терминала прозрачное.

  • ASCIIQuarium — небольшая консольная программа (Perl-скрипт), отображающая собственную ASCII-анимацию виртуального водоёма с его обитателями.

  • Введение в терминал

    Среди всех элементов системы Linux самым важным, пожалуй, является командная строка (bash -B ourne A gain Sh ell) или Терминал :

    Начинающим пользователям кажется, что они ни когда не прибегнут к помощи командной строки, а некоторые её просто боятся. Однако чем больший опыт они приобретают, тем чаще обращаются к терминалу.
    С помощью командной строки можно выполнять действия, которые были бы не мыслимы при работе с графическим пользовательским интерфейсом. Оказывается, что многие действия гораздо быстрее и эффективнее выполнять, пользуясь командной строкой.
    Командная строка используется во всех OS : Windows, MacOS X и Linux .
    Многие начинающие пользователи могут возразить: "Так ведь в Windows мы не пользуемся командной строкой" . И будут не правы , т.к. все действия по установке/удалению программ или другие системные изменения незримо протекают в терминале, не говоря уже о системных администраторах, которые очень часто прибегают к услугам командной строки.
    Изначально окно терминала было отображено в первых мониторах компьютеров, ещё до того, как появились графические программы (GUI) и пока в обозримом будущем не видно чтобы его могло заменить что-то другое.

    Терминальные команды


    В системе Linux используются тысячи команд, которые совсем не обязательно знать простому пользователю, но иметь общее представление и знать некоторые, часто используемые, просто необходимо, т.к. волей - неволей вы с ними столкнётесь при настройке системы или установке нужной программы, отсутствующей в Центре приложений и т.д.
    Я использую системы Ubuntu/Linux Mint и на их основе будут задействованы примеры, но думаю, что кроме команды sudo , остальное применительно и к другим системам Linux .
    В Ubuntu/Linux Mint окно терминала открывается нажатием клавиш Ctrl+Alt+T .

    Обновление программ

    Многие пользователи, наверное, выполняли не раз такие команды в терминале:

    sudo apt-get update
    sudo apt-get upgrade

    Давайте разберём их более детально, чтобы понять что они собой представляют.
    Прежде всего хотелось бы заметить, что все команды написаны на английском языке и не просто "от фонаря", а в каждой заложен определённый смысл для её применения. И то что командная строка Linux очень чувствительна к регистру. Иными словами, данные команды написаны в нижнем регистре (строчными буквами), но если вы введёте идентичную команду, но в верхнем регистре (прописными буквами), то выполнить её не получится. Это нужно запомнить.

    Команда sudo , это по сути аббривеатура, состоящая из следующих слов: s uper u ser do , что в переводе с английского буквально означает следующее: s uper u ser - суперпользователь (администратор), do - делает . Т.е. когда данная команда присутствует в общей команде, то командной строке даётся понять, что выполнять её может суперпользователь (администратор), тот пользователь, который при установке системы был зарегистрирован и ввёл свой пароль:

    Команда apt-get , которая следует после sudo ипробела, состоит из двух слов через чёрточку, которая объединяет эти два слова в одну команду и буквально означает в переводе: склонен-выполнить .

    Команда update , в переводе - обновление .

    Итак sudo apt-get update в преводе буквально - суперпользователь склонен-выполнить обновление .

    После ввода данной команды и нажатия клавиши Enter , терминал запрашивает пароль. После ввода пароля и вновь нажатия Enter , начнётся процесс обновления списка пакетов.

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

    Команда sudo apt-get upgrade очень похожа на предыдущую команду, где upgrade - модернизировать, усовершенствовать (систему). Данная команда, как правило выполняется после команды обновления. После того как команда выполнена, она выдаёт в терминале возможные пакеты для установки, т.е. модернизации, усовершенствования системы. Пользователю остаётся согласиться или нет с установкой данных пакетов.

    Установка, удаление программ

    sudo apt-get install chromium-browser

    sudo apt-get remove chromium-browser

    Как видно команды очень похожи между собой, за исключением одного слова выделенного красным. В первой команде install - установить chromium-browser , а во второй remove - удалить chromium-browser

    Таким образом устанавливаются и удаляются приложения (программы) и др. файлы в системе.
    Если вы нашли на одном из сайтов похожую команду на установку программы и установили её, но программа вам не подошла и вы хотите удалить, достаточно в команде на установку изменить install на remove и выполнить в терминале, как программа удалится.

    Установка программ из стороннего репозитория

    Теперь рассмотрим команды на установку и удаление программ с добавлением стороннего репозитория (пример):

    sudo add -apt-repository ppa:upubuntu-com/gtk+3.6
    sudo apt-get update
    sudo apt-get install flatstudiodark-gtk

    Прежде всего давайте выясним зачем подключать сторонний репозиторий? Репозиторий, это хранилище файлов на сайте разработчика. В данном случае, третьей командой мы хотим установить тему оформления, но её нет в Центре приложений , а значит нам нужно прежде подключить хранилище (репозиторий) с темой (первая команда), где add - добавить , ppa:upubuntu-com/gtk+3.6 - название репозитория, затем второй командой обновить список пакетов и уже третьей - установить сам пакет с темой.

    Если данное приложение (в конкретном случае тема оформления) вам не понравилось и вы решили удалить его, то вы можете изменить команды на установку, чтобы они выглядели командами на удаление:

    sudo apt-get remove flatstudiodark-gtk
    sudo add-apt-repository --remove ppa:upubuntu-com/gtk+3.6
    sudo apt-get update

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

    Запуск графических программ с правами администратора.

    Допустим, нам необходимо запустить файловый менеджер Nautilus с правами администратора, чтобы через графический интерфейс как-то изменить содержимое системных папок. Для этого необходимо ввести следующую команду:

    gksudo nautilus

    gksu nautilus

    Где ввод пароля, в данном случае, будет происходить в графическом окне, а не в терминале.

    Но вы можете указать дополнительно необходимый путь в команде, непосредственно к нужной папке:

    gksu nautilus /usr/share/themes

    В данной команде косой чертой (/) - слешем указывается терминалу, что нужно перейти в следующую за ним папку.

    Запуск программ из терминала командой

    В системе Linux вы можете запустить любую программу из терминала установленную в вашей системе, главное знать её правильное название. Многие программы состоят из одного слова-названия, а некоторые из двух или трёх слов. Например: Nautilus; Ubuntu Tweak; Gnome Tweak Tool . Если мы введём в терминал название команд так, как они написаны, то не сможем открыть ни одно из приложений. Ещё раз повторюсь, что терминал очень чувствителен к регистру, т.е. команду нужно вводить только в нижнем регистре (строчными буквами) и обязательно монолитной, через чёрточку, если она состоит из нескольких слов(примеры):

    nautilus

    ubuntu-tweak

    gnome-tweak-tool

    Таким образом вы сможете открыть приложения, но если вы закроете терминал, то закроется и программа вместе с ним. Чтобы этого не происходило, необходимо дописать команду exit на закрытие терминала после открытия программы через пробелы и разделительный знак & :

    nautilus & exit

    ubuntu-tweak & exit

    gnome-tweak-tool & exit

    Через разделительный знак & можно включать несколько команд на выполнение (открытие), объединив их в одну команду:

    nautilus & ubuntu-tweak & gnome-tweak-tool & exit

    Создание каталогов (папок) и размещение в них файлов

    Многие из вас устанавливали флажки для отображения в трее раскладки клавиатуры посредством терминальных команд:

    mkdir ~/.icons

    mkdir ~/.icons/flags

    cd ~/.icons/flags

    Теперь давайте детально разберём каждую из приведённых команд.

    Командаmkdir ~/.icons - создаёт скрытый каталог (папку) в Домашней папке под названием icons .

    mk - сокращённо от make - сделать, создать . dir - сокращённо directoria - каталог, папка .~ - знак тильда всегда обозначает Домашнюю папку пользователя. / - обозначение папки. .icons - обозначает название создаваемой папки, а точка впереди всегда указывает на то, что данная папка скрытая.

    Команда mkdir ~/.icons/flags также создаёт папку под названием /flags в скрытойпапке /.icons и Домашней папке - ~ .

    Команда cd ~/.icons/flags делает переход в папку /flags , которая в свою очередь находится в Домашней папке - ~ и в скрытой папке /.icons .

    cd - c - обозначение перехода, d - directoria - каталог (папка) .

    Команда wget http://suservice.net/icons/flags2/{ru,us}.png загружает файлы флажков впапку /flags , в которую мы перешли на предыдущем этапе.
    wget - сокращённо от w - web - сеть , get - получать , т.е получить файлы из сети и ставится всегда перед URL адресом через пробел. В данном случае перед http://suservice.net/icons/flags2/{ru,us}.png , с которого и загружаются файлы с флажками.

    Убить процесс командой

    Прежде всего давайте выясним, что такое процесс?

    При запуске системы запускается множество процессов, о которых пользователь зачастую даже и не подозревает. Но многие процессы мы видим на экране монитора, сами их запускаем и управляем ими, это открытые программы. Лучше всего нам об этом раскажет программа top , запущенная в терминале:

    Иногда так случается, что какой-то процесс в системе дал сбой или попросту "зависла" какая-то программа и кнопка закрытия не реагирует, либо кнонопка закрытия отсутствует вовсе (виджет conky). На этот случай в Linux есть очень хорошая команда - "убийца":

    p - сокращённо от process (процесс), kill - убивать .
    Но сама по себе эта команда не работает, ей нужен аргумент, т.е. либо номер процесса, который отображён в колонке PID (см. снимок терминала) после выполнения команды top , либо название процесса в колонке COMMAND . Не переживайте, команда не убьёт саму программу, она только остановит процесс выполнения. Если это графическая программа, то она просто закроется. Для эксперимента я выбрал самый безобидный процесс, который при закрытии ни чему не повредит. Итак выполните следующую команду:

    pkill gnome-terminal

    Окно терминала исчезло, т.е. был "убит" (остановлен) процесс, отображающий программу на экране монитора.

    xkill - убивает видимый процесс и работает сама по себе, т.е. после выполнения команды кликните образовавшимся крестиком вместо курсора на любой видимой программе (окне), как оно закроется.

    Заключение

    Мною были подобраны команды для разбора, с которыми обычно сталкивается простой пользователь при настройке системы.
    Если кто-то хочет глубже узнать о терминальных командах, я вам рекомендую скачать бесплатный справочник Скотта Граннемана "Linux. Карманный справочник" . Просто наберите в Google Скотт Граннеман и дайте поиск.

    Терминал

    Работа с командной строкой - не такая страшная задача, как вы могли бы подумать. Чтобы использовать командную строку не требуется специальных знаний, так как это такая же программа, как и все остальные. Большинство задач в Linux можно выполнить в командной строке. И хотя для большинства программ существуют графические утилиты, иногда их просто недостаточно. Здесь и используется командная строка.

    Терминал часто называют командной строкой или оболочкой. В далекие дни пользователи общались с компьютером именно так; и тем не менее пользователи Linux находят, что использование терминала может быть быстрее графического метода. Сейчас вы узнаете как пользоваться терминалом.

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

    Запуск Терминала

    Приложение Konsole можно запустить, выбрав K-меню ->System ->Konsole (Terminal Program) из меню рабочего стола.

    Основные Команды

    Просмотр каталогов и файлов: - ls

    Команда ls (LiSt) показывает список файлов разными цветами с полным форматированием текста.

    Создание каталогов - mkdir (имя каталога)

    Приложение mkdir (MaKeDIRectory) создает каталог.

    Смена каталога: - cd (/адрес/каталога)

    Приложение cd (Change Directory - сменить каталог) изменяет ваш текущий каталог на указанный вами.

    Копирование файла и/или каталога: - cp (имя файла или каталога) (в: имя каталога или файла)

    Команда cp (CoPy) копирует любой выбранный файл. Команда cp -r копирует любой выбранный каталог со всем содержимым.

    Удаление файлов и/или каталогов: - rm (имя файла или каталога)

    Команда rm (ReMove) удаляет любой указанный вами файл. Команда rm -r удаляет любой указанный вами каталог со всем содержимым.

    Перемещение/Переименование Файлов/Каталогов: - mv (имя файла или каталога)

    Команда mv (MoVe) перемещает/переименовывает любой указанный вами файл или каталог

    Поиск файлов/каталогов: - locate (имя файла или каталога)

    Команда locate ищет файлы по указанному вами имени. Она использует индекс файлов на вашей системе, чтобы работать быстро. Чтобы обновить этот индекс, выполните команду sudo updatedb . Эта команда выполняется автоматически каждый день, если вы оставляете включенным ваш компьютер. Ее необходимо выполнять с административными привилегиями.

    Вы также можете использовать маски в именах файлов и каталогов, чтобы указать более одного файла, такие как "*" (совпадение со всеми символами) или "?" (совпадение с одним символом).

    Переключение в консольный режим

    Для доступа к командной строке в Kubuntu обычно запускают терминал (см. «Запуск Терминала» выше), тем не менее иногда полезно переключиться в настоящую консоль:

      Чтобы переключиться на первую консоль используйте комбинацию клавиш Ctrl -Alt -F1 .

      Чтобы переключиться обратно к рабочему столу, используйте комбинацию клавиш Ctrl -Alt -F7 .

    Замечание

    Доступно шесть консолей. К каждой из них можно получить доступ с помощью комбинации клавиш: от Ctrl -Alt -F1 до Ctrl -Alt -F6 .

        Командная строка, оболочка, консоль - эти термины используются для обозначения взаимодействия человека-оператора с операционной системой с применением стандартных устройств ввода-вывода, обеспечивающих ввод команд и получение результатов их выполнения. В операционных системах семейства Linux подобное взаимодействие обеспечивается специальным программным продуктом - оболочкой (shell) . Наиболее распространенной из них, является оболочка проекта GNU bash (B ourne A gain SH ell). Bash основывается на оболочке Bourne (sh) созданной Стефеном Борном и включает в себя свойства множества других оболочек - C (csh) , Korn (ksh) , tc (tcsh) . Bash была написана Брайаном Фоксом (Brian Fox) и в настоящее время поддерживается Четом Рейми (Chet Ramey).

        Свойства оболочки Bash делают ее наиболее универсальным и удобным средством взаимодействия с ОС Linux:

    - Bash обеспечивает редактирование командной строки. Курсор может быть перемещен в любую позицию команды для изменения ее содержания.

    - Bash поддерживает режим истории команд, позволяя отображать и изменять ранее введенные команды. Оболочка bash также имеет несколько переменных, значения которых влияют на сохранение и повторный вызов ранее введенных команд.

    - Bash обеспечивает завершение частично введенных слов для имен переменных, пользователей, хостов, команд и файлов.

    - Bash обеспечивает гибкое управление процессами, позволяя приостанавливать их, перезапускать, переключаться между задачами переднего плана и фоновыми, и даже продолжать выполнение задачи при завершении родительского процесса.

    - Bash позволяет использовать функции и псевдонимы, выполнять арифметические операции и вводить арифметические выражения в качестве команд.

    - Bash позволяет создавать целые наборы последовательно выполняемых команд (сценарии или скрипты) с использованием гибкого и функционального языка программирования данной оболочки.

    - Bash имеет гибкие настройки, обеспечивающие изменение внешнего вида командной строки.

    Оболочка bash может выполняться как в интерактивном, так и в неинтерактивном режимах. В первом случае программа bash взаимодействует с пользователем, во втором - используется для выполнения скриптов (специально подготовленных текстовых файлов с последовательностью команд) .

        Команда оболочки Linux - это строка символов из имени команды и аргументов, разделенных пробелами. Аргументы предоставляют команде дополнительные параметры, определяющие ее поведение. Например, команда
    echo 12345
    выведет на экран строку символов 12345, введенных в качестве аргумента команды.

    Команды, являющиеся частью оболочки называются встроенными . Естественно, они могут отличаться для различных оболочек. Кроме того, в качестве команд используются имена исполняемых файлов. В качестве аргументов, командам передаются ключи или опции , состоящие из тире и одного или нескольких символов. Пример такой команды:

    Ls -l

    ls - команда для отображения информации о файлах.. При вводе без аргументов, эта команда просто отобразит список файлов в текущем каталоге. При вводе с параметром -l - список в длинном формате - с отображением атрибутов, владельцев, даты и времени.

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

    Как получить подсказку по использованию команды Linux

    При работе в командной оболочке Linux, в большинстве случаев, можно получить справочную информацию по использованию конкретной команды, введя ее имя с параметром --help :

    Ls --help - отобразить справку для команды ls . В большинстве случаев, для получения справочной информации, допускается использование ключа -h

    Ls -h В операционных системах семейства Linux, более подробную справочную информацию можно получить из комплекта документации, известного как man-страницы , поскольку он доступен по команде man . Этот комплект включает в себя 8 разделов, содержащих справочную информацию, которую можно вывести на экран с использованием команды man

    Перечень разделов man-страниц :

    1 - Команды уровня пользователя.

    2 - Системные вызовы. Документация о библиотечных системных вызовах, как open, read, exec и т. п. Данный раздел обычно используется программистами.

    3 - Библиотеки. Этот раздел также предназначен для программистов и содержит справочную информацию о библиотеках прикладных программ (abs, rint и т.п.)

    4 и 5 - Форматы системных и пользовательских файлов. Содержит документацию о различных форматах файлов, как например, файл passwd

    6 - Игры. Описание игр, поставляемых с установленной системой.

    7 - Драйверы. Документация к драйверам, как например ip или ipv6

    8 - Поддержка системы. Документация с информацией о командах для системного администрирования (init, fdisk, ifconfig и т.п.).

    Примеры:

    Man 1 ls - отобразить справку для команды ls из первого раздела документации (в нем хранится информация о командах уровня пользователя).

    На практике, если требуется справка именно о команде, номер раздела опускают. В таком случае, поиск будет выполнен по всем разделам, начиная с первого до совпадения с аргументом, заданным в команде man :

    Man ls - отобразить справку для команды ls из первого раздела документации, где она будет найдена.

    Иногда отсутствие номера раздела в команде man даже предпочтительнее. Например, справка по команде

    Man 1 init - отобразить справку для команды init из первого раздела документации, завершится сообщением об отсутствии справочной информации, потому, что данная команда относится к командам поддержки системы и информация о ней содержится в 8-м разделе.

    Для поиска справочной документации во всех разделах, используется опция -a :

    Man -a passwd - отобразить справку для аргумента passwd из всех разделов, где она будет найдена: В результате, отобразится справка по команде passwd из первого раздела и описание формата файла паролей passwd из пятого.

    В качестве аргумента для строки поиска в команде man можно использовать шаблон:

    Man -a ip* - отобразить справку для всех параметров, начинающихся с ip из всех разделов справочной документации.

    При просмотре справочной документации, отображаемой по команде man используются клавиши:

    стрелка вверх/вниз - переход на строку вверх/вниз.

    PgUp/PgDown - переход на страницу вверх/вниз.

    Enter - переход на строку вниз.

    Пробел - переход на страницу вниз

    Q - выход из справки.

    Также, удобным средством поиска справочной информации являются утилиты apropos и whatis , позволяющие выполнить поиск по ключевому слову в базе данных документации. Первая из них выводит те строки, которые содержат строку поиска в в именах справочных страниц и кратких описаниях, а вторая – показывает однострочные описания справочных страниц, которые имеются в начале каждой страницы. С параметрами по умолчанию команды выдадут различающуюся информацию. Например, команда whatis tar , выдаст информацию имеющую отношение к утилите архивирования tar , а команда apropos tar - выдаст информацию и об утилите tar , и, кроме этого, справочные данные, где строка “tar” является частью слова, например “star t”. Использование утилиты apropos на первый взгляд кажется не очень эффективным, однако, это не так. Например, команда apropos net позволит быстро получить краткую справку по сетевым утилитам, присутствующим в данной системе. В данных командах можно использовать параметр -s указывающий номер раздела справочной системы, в котором будет выполняться поиск:

    apropos –s 1 net - выполнить поиск только в первом разделе man.

    При поиске обе утилиты используют индексные базы данных, которые обновляются с помощью программы mandb (или традиционной текстовой базы данных, создаваемой программой makewhatis ), поэтому поиск выполняется очень быстро. Дополнительные параметры командной строки, используемые apropos и whatis можно получить с помощью команды man .

        Работа в командной строке Linux имеет некоторые принципиальные отличия по сравнению с работой в среде Windows.

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

        Во-вторых, справка по команде с параметром --help и справка из man-страницы различаются. Последняя, как правило, более подробная, с примерами и ссылкой на связанные разделы документации.

    В-третьих, доступный список команд и результат их выполнения зависит от ваших прав в системе. Как правило, потенциально опасные для целостности системы команды, и команды, влияющие на работу других пользователей, не доступны обычному пользователю. Полными правами по отношению к системе имеет только один пользователь (суперпользователь)- root . Обычно, учетная запись данного пользователя используется только для изменения настроек системы, и в большинстве дистрибутивов Linux, после установки системы, нет возможности работать под root ‘ом в графической среде, в сеансах удаленного подключения, или даже при локальном входе в систему, как это сделано в Ubuntu . Такой подход позволяет предотвратить разрушение системы при ошибках пользователя, и вполне оправдан, однако существуют случаи, когда без прав root не обойтись. Для получения прав пользователя root (суперпользователя, superuser) , которому доступны все возможные команды, используйте команду su . Она позволяет сменить текущего пользователя. Если пользователь не задан, то подразумевается root. .

    Для выполнения отдельно взятой команды от имени суперпользователя root или другого пользователя используется команда sudo :

    sudo ifconfig - выполнить команду ifconfig от имени суперпользователя root

    sudo su - Комбинация sudo и su - выполнить команду su от имени суперпользователя root. Данный вариант команды позволяет пользователю перейти в учетную запись root без сохранения текущей пользовательской среды (знак "-").

    Обычно, использование команды sudo предпочтительнее, чем использование su и, при дополнительных настройках системы, позволяет легко отдавать отдельным пользователям только строго необходимые привилегии. Основная часть настроек sudo хранится в файле /etc/sudoers и задает правила, определяющие, какие пользователи, каких компьютеров, какие команды могут выполнять с вводом или без ввода пароля. Администратор системы может даже на какое-то время передать полномочия суперпользователя root любому пользователю, не передавая ему пароль от учетной записи root .

        Начинающих пользователей Linux обычно пугает работа в командной оболочке из-за необходимости набирать слишком длинные строки команд, имен каталогов или файлов. Однако, очень часто в таком наборе нет необходимости. При работе в среде командной оболочки очень удобно использовать режим подстановки имен с помощью клавиши Tab . Например, для получения списка файлов каталога /home/everyone пользователю необходимо набрать команду

    ls /home/everyone

    Однако, оболочка позволяет обойтись без полного набора пути. Если после набора ls /h нажать клавишу Tab , то в командной строке будет подставлена недостающая часть имени каталога - ome , и в строке ввода отобразится

    ls /home/

    Аналогично, не нужно набирать полностью оставшуюся часть пути, а только e и Tab . Если существуют частично совпадающие имена файлов или каталогов, то подстановка выполняется только для общей части имени. Если в каталоге /home имеются подкаталоги everyone1 и everyone2 то после нажатия клавиши Tab выполнится подстановка общей части everyone и на экране отобразится список из возможных вариантов ввода - everyone1 и everyone2 . Остается только ввести недостающую часть имени (1 или 2). Тот же прием используется и при наборе команд. Например, если набрать в качестве команды символ e и нажать Tab то отобразится список всех доступных команд, начинающихся с буквы e , если затем набрать символ c и снова нажать Tab , то будет выставлена подстановка имени до echo , или если есть другие варианты - подстановка общей части и возможные варианты имени.

    Как управлять выводом на экран.

      Для просмотра текста, ушедшего за пределы видимости экрана используются комбинации клавиш SHIFT и PAGE UP или PAGE DOWN (в зависимости от направления просмотра).
    Для приостановки вывода на экран - CTRL-S , отмена приостановки - CTRL-Q

     Для вывода большого объема текста на экран в постраничном режиме используется команда less , в цепочке с основной командой. Объясню на примере. Пусть у нас есть текстовый файл mytxt размером на 10 экранов. Для вывода текста на экран (стандартный вывод) можно воспользоваться командой cat имя файла
    cat mytxt

    После выполнения этой команды вы увидите быстро промелькнувший текст и последний (десятый) экран вывода. Можно, конечно, воспользоваться комбинациями клавиш SHIFT-PAGEDOUN или SHIFT-PAGEUP для просмотра текста, но существует возможеость воспользоваться и командой less .
    cat mytxt | less
    Символ | означает объединение в цепочку выполнения команды выдачи текста cat и команды управления постраничным выводом less . В результате, после отображения на экране первой страницы текста, вывод будет приостановлен до нажатия
    PAGE DOWN
    или ENTER (построчное перемещение). Для завершения постраничного вывода нажмите клавишу Q .
      В цепочки можно объединять несколько команд. Например, вам понадобилось вывести на экран в постраничном режиме все строки, содержащие слово mail . Для поиска можно воспользоваться командой
    grep
    Итоговая цепочка из трех команд:
    cat mytxt | grep mail | less

      Для большинства дистрибутивов Linux вместо less можно использовать more .

    Иногда удобно использовать одновременно несколько терминалов, переключаясь между ними (например, когда необходимо смотреть информацию журнала в одном окне и управлять процессами и настройками в другом).

    Для переключения используется комбинация клавиш CTRL - ALT - F1...F6 (от первого терминала до 6-го или далее). Для переключения в графическую оболочку используется одна из комбинаций, которая может отличаться для разных дистрибутивов. Например, CTRL-ALT-F7 .

    Чтобы запустить еще один графический сервер на этом же компьютере, используйте команду startx 1 -- :1 . У вас добавится новый графический терминал. Чтобы перейти во второй графический терминал, нажмите Alt+F8 ., а чтобы вернуться в первый - Alt+F7 . Таким образом можно открывать до 64 графических терминалов. (startx 2 -- :2 и т.д).

    Для завершения сеанса работы в командной оболочке используется команда exit .

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

    script имя файла журнала

    Например:

    script /home/user/mysession.log

    Чтобы прекратить запись в журнал введите команду exit .

    Для просмотра истории ранее введенных команд используются стрелки Вверх/Вниз. При вводе набранной или вызванной из истории команды положение курсора относительно строки ввода значения не имеет.

    Кроме того, в домашнем каталоге пользователя, имеется файл истории вводимых команд для данной оболочки, например .bash_history . Для отображения его содержимого на экране можно воспользоваться командой history .

    Для просмотра информации в конечной части файлов (например, журналов) используется команда tail :

    tail /var/log/mrssages - отобразить последние 10 строк (значение по умолчанию) из файла журнала /var/log/messages.

    tail –n 100 /var/log/mrssages - отобразить последние 100 строк из файла журнала /var/log/messages.


    Как перезагрузить или выключить компьютер.

      Одно и то же действие в Linux очень часто можно выполнить несколькими способами. Стандартно для перезагрузки или выключения компьютера используется shutdown . Команда имеет много опций, позволяющих выполнить перезагрузку в определенное время, быструю перезагрузку без проверки файловой системы, имитировать и отменять уже запущенный (ждущий своего времени) процесс перезагрузки.

    Полный список опций можно получить по shutdown --help

    Для немедленной перезагрузки (restart) команда будет выглядеть так:
    shutdown -r now
      Для выключения питания (halt):
    shutdown -h now

    В большинстве дистрибутивов можно использовать короткие команды:
    - выключение

    Можно также воспользоваться изменением уровня запуска системы командой init , позволяющей управлять запуском и завершением процессов в системе с использованием скриптов, хранящихся в /etc/inittab. Уровень 0 - выключение, уровень 6 - перезагрузка. Соответственно
    для выключения:
    init 0

    Для перезагрузки:
    init 6

    Команду init можно использовать для изменения уровней запуска системы.
    Уровни:
    1 - Однопользовательский режим. Доступ разрешен пользователю root.
    2 - Многопользовательский режим без поддержки сетевых функций.
    3 - С поддержкой сети.
    4 - Зарезервировано.
    5 - С использованием графической оболочки.

        Если вам нужно завершить графическую оболочку (например, когда инсталляция некоторых приложений требует ее закрытия) введите:

    init 3

        Графическая оболочка закроется, и система перейдет на уровень запуска 3. Для возврата на уровень 5 введите:

    init 5

        Уровень запуска системы по умолчанию определяется значением initdefault из файла /etc/inittab. Для запуска системы с поддержкой графической оболочки она выглядит так:

    Id:5:initdefault:

    Если 5 заменить на 3, то графическая оболочка при старте системы запускаться не будет.

    Все выше сказанное относится к системам инициализации SysV (SystemV), которая много лет использовалась во всех дистрибутивах Linux для загрузки рабочей среды с помощью скриптов init . Однако, начиная с 2012г, наметился постепенный переход на systemd новую систему инициализации, изначально разработанную для дистрибутива Fedora, начиная с Fedora 148 . Попросту говоря, systemd - это демон инициализации других демонов в Linux, пришедший на замену используемому ранее скрипту инициализации (/sbin/init). Главная его особенность - распараллеливание запуска служб в процессе загрузки системы, что позволяет существенно ускорить запуск операционной системы. Реализация systemd значительно отличается не только логикой, но и принципами управления процессом запуска, набором программных модулей и конфигурационных файлов. Файла /etc/initd больше нет, и для определения уровня запуска в systemd используются символические ссылки, например:

    Для состояния init 3
    ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

    Для состояния init 5
    ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target

    Команды init N в дистрибутивах с использованием systemd пока поддерживаются, но очевидно, что ее время заканчивается.


    Управление процессами в Linux.

        Посмотреть список процессов в Linux можно с помощью команды ps . Если ее запустить без всяких параметров, то она выдает список процессов, запущенных в текущем сеансе пользователя. Полный список опций можно получить стандартно - выполнив

    Ps --help

    Примеры использования:

  • Список всех процессов, запущенных в системе:
    ps -e - выдаст список процессов с идентификаторами (PID) и их именами
    или:
    ps -eF - выдаст тот же список процессов, но с полной строкой запуска
  • список задач, порожденных пользователем user:
    ps -U user
  • список задач, связанных с текущим терминалом:
    ps -T
  • список задач, связанных с терминалом N:
    ps t ttyN
  • Если список задач большой, а нас интересует состояние одной или нескольких задач, можно воспользоваться grep:
    ps -U root | grep ppp - выдать список задач, содержащих "ppp" в имени

        Для получения сведений об использовании ресурсов компьютера можно воспользоваться командой top

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

    Ниже выводится таблица, характеризующая отдельные процессы. Число строк, отображаемых в этой таблице, определяется размером окна. Содержимое окна обновляется каждые 3 секунды. Нажатие клавиши h выводит справку по командам, которые позволяют изменить формат отображаемых данных и управлять некоторыми параметрами процессов в системе:

  • s или d - изменить интервал обновления окна.
  • z - цветное/черно-белое отображение
  • n или # - количество отображаемых процессов
  • Можно отсортировать список процессов по использованию ресурсов процессора (P ), памяти (M ), времени выполнения (T ) и т.п.

        В среде утилиты top также существуют подкоманды, которые позволяют управлять процессами в интерактивном режиме:

  • k - снять (kill) задачу. По этой команде будет запрошен идентификатор процесса (PID), после ввода которого, процесс будет завершен.
  • r - изменить текущий приоритет задачи (renice). Как и при выполнении предыдущей команды, будет запрошен PID, и затем, новое значение приоритета (отображается в колонке NI). Диапазон значений приоритетов - от минус 20 (наивысший) до плюс 19. Отрицательные значения и 0 может устанавливать только пользователь root.
        Для выхода из top нажмите q


    Команда kill

        Эти же действия (принудительное завершение процесса и изменение его приоритета) можно выполнить и без команды top.

        Процессы в Linux имеют возможность обмениваться так называемыми "сигналами" с ядром и другими процессами. При получении сигнала процессом, управление передается подпрограмме его обработки или ядру, если такой подпрограммы не существует. В Linux имеется команда kill, которая позволяет послать заданному процессу любой сигнал. Список сигналов можно получить по команде:
    kill -l
    В результате выполнения этой команды вы увидите список номеров и названий сигналов. Для того, чтобы послать определенный сигнал выбранному процессу, нужно ввести:
    kill номер PID выбранного процесса
    Например, нам нужно завершить работу приложения Midnight Commander (mc).

  • Определим идентификатор процесса mc:
    ps -e | grep mc
    Пусть PID= 11597.
  • Посылаем сигнал SIGQUIT (номер 3):
    kill -3 11597
    После чего процесс mc обработает сигнал GIGQUIT и выполнит завершение работы. Однако, если mc "завис", то, естественно, завершиться он не сможет, поскольку подпрограмма обработки сигнала SIGQUIT не получит управления. В таких случаях используется сигнал под номером 9 (SIGKILL), обрабатываемый ядром операционной системы, и принудительно завершающий указанный процесс:
    kill -9 11597

    Если в команде kill номер сигнала не задан, то используется значение SIGKILL, т.е предыдущую команду можно было ввести как kill PID:
    kill 11597

        При завершении процесса завершаются и порожденные им процессы.

        Для завершения процесса по его имени используется команда killall:
    killall mc - завершить процесс, в имени которого есть "mc"
    killall -u user - завершить процессы, порожденные пользователем user


    Изменение приоритетов - команды nice и renice

        Для изменения приоритета процессов используются команды nice и renice. При запуске процесса, его приоритет задается значением родительского процесса, например, терминала xterm или командной оболочки (shell) . Команда nice позволяет запустить процесс с приоритетом, равным сумме родительского (например 8) и числа, задаваемого в качестве опции команды nice:
    nice - команда
    nice -4 mc - запустит mc с приоритетом = 8+4=12

    Команда renice используется для изменения приоритета уже запущенного процесса:
    renice -p PID
    renice 4 -p 11597 - установить значение приоритета для процесса mc (PID=11597) равным 4.
    После выполнения, renice выдаст строку результата:
    11597: old priority 12, new priority 4 - старый приоритет 12, новый приоритет 4
    Задание нулевого и отрицательного числа приоритета возможно только с правами root.

    Перечень наиболее часто используемых команд:

    Команды для работы с файлами и каталогами:

    pwd – отобразить путь текущего каталога
    cd – перейти в указанный каталог
    ls – отобразить список файлов каталога, с ключом -l показывает дополнительные сведения о файлах.
    cp – копирование файлов/папок
    mv – перемещение файлов/папок
    mkdir – создать папку
    rm – удалить файлы/папки, с ключом -r удаляет и все вложенные папки, с ключом -f - удаляет открытые файлы или каталоги
    rmdir – удаление пустой папки
    chmod – изменить права доступа к файлу
    chown - сменить владельца файла или каталога
    find - найти файл. Задается исходный путь для поиска и шаблон поиска, find / -name .X* - искать от корневого каталога файлы, содержащие в имени символы .X
    which - отобразить полный путь исполняемого файла, доступного в данной оболочке, например which ifconfig
    touch - изменить временные отметки файла. Удобно использовать для создания пустых файлов – touch myfile создаст пустой файл myfile .

    Системные команды

    Эти команды обычно используется от имени суперпользователя (с командой sudo).

    – выключение компьютера
    reset – очищает окно терминала
    passwd – сменить свой пароль, а суперпользователю - поменять пароль любого пользователя
    users - отобразить список пользователей, вошедших в систему.
    yum - установка, удаление или обновление программного обеспечения в дистрибутивах Fedora, RedHat и т.п.
    dpkg - установка, удаление или обновление программного обеспечения в дистрибутивах Debian, Ubuntu и т.п.
    apt-get - установка, удаление или обновление программного обеспечения в дистрибутивах на основе Debian (Ubuntu, Mint и т.п.)

    Управление процессами

    ps – отобразить список текущих активных процессов
    lsof - отобразить список открытых файлов процесса или пользователя
    strace - отобразить список системных вызовов
    last - отобразить историю перезагрузок и регистраций пользователей в системе
    kill – послать сигнал процессу, обычно используется для принудительного завершения работы процесса.
    killall – завершение работы всех процессов, имена которых заданы параметром командной строки
    top – отображение списка текущих процессов и интерактивное управление ими.

    Сетевые команды

    ifconfig – конфигурация сетевых интерфейсов
    route - таблица маршрутизации
    ifup / ifdown - включить /выключить сетевой интерфейс
    ip - просмотр или изменение параметров конфигурации протокола IP
    netstat - отобразить состояние сетевых соединений
    arp, ping, nslookup, traceroute - наиболее часто используемые команды сетевой диагностики.

    Здесь перечислены основные команды Linux, разбитые на категории. В конце приведены особенности работы с командной строкой и эмуляторами терминалов в Linux.

    Получение справки о командах

    man Описание команды или файла конфигурации. Синоним info. Описание листается стрелками, выход клавишей q. Пример: man fstab apropos Поиск по описаниям man. Пример: apropos iso

    Команды работы с файлами

    cd Смена текущего каталога. cd ~ или просто cd всегда переходит в домашний каталог текущего пользователя. Пример: cd /etc ls Выводит список файлов и каталогов. В отличие от dir подсвечивает файлы по типу. С параметром -l выводить дополнительную информацию о файлах: права, владельца, дату создания и т.д. ls без параметров выводит содержимое текущего каталога. ls /proc выводит все работающие процессы. mv Перенос файла. cp Копирование. rm Удаление файла. С ключем -R удаляет в подкаталогах. Пример: rm -R ~/killme mkdir Создание каталога. rmdir Удаление пустого каталога.

    Права доступа к файлам и каталогам

    chown Смена владельца. chgrp Смена группы владельца. chmod Смена прав. Пример: сhmod -R 777 /var/www дает доступ всем ко всем файлам и каталогам ниже /var/www.

    Просмотр файлов

    cat Вывод файла. Пример: cat /etc/fstab . tail Вывод конца файла. Удобно при работе с логами и большими файлами. Пример: tail /var/log/messages .

    Редактирование файлов

    nano и pico — наиболее вменяемые редакторы, работающие в текстовом режиме прямо в терминале. Чтоб изменить файл /etc/fstab, например, надо набрать nano /etc/fstab . Выход из редактора CTRL+X. Редакторы vi и vim предназначены для работы слепым десятипальцевым методом.

    Монтирование и отмонтирование дисков

    mount [параметры] устройство путь Монтирование устройства. Пример: mount /dev/sda1 /mnt/Disk1 . umount устройство/путь Размонтирование. Пример: umount /mnt/Disk1 . eject Размонтирование и выброс CDROM.

    Команды работы с драйверами устройств (модулями ядра Linux)

    lsmod Список всех загруженных модулей ядра Linux. insmod rmmod modprobe имя-модуля [параметры] Установка модуля, настройка его автозагрузки. Результат можно посмотреть в системном логе. Пример: modprobe radio-aztech io=0x350 . modinfo имя-модуля Информация о модуле, в том числе и список параметров. modconf Удобная программа для просмотра всех модулей по категориям, включения и отключения модулей. По умолчанию как правило не установлена, в Debian, Ubuntu и Kubuntu устанавливается с помощью одноименного пакейджа командой apt-get install modconf .

    Другие полезные консольные программы и команды Linux

    hdparm Управление жесткими дисками и приводами компакт-дисков. Пример: hdparm -E8 /dev/cdrom снижение скорости вращения CDROM. watch Периодическое выполнение команды. Пример: watch -n 60 hdparm -E8 /dev/cdrom раз в минуту тормозить диск чтобы привод не разгонял его и не шумел во время просмотра DVD. pppconfig Простая и надёжная программа настройки Dial-Up выхода в Интернет по модему. pon, poff и plog — команды установления, разрыва и просмотра лога соединения соответственно. pppoeconf Аналогично, настройка выхода в Интернет через ADSL-модем. wget Скачивание файла по HTTP/FTP.

    Суперпользователь root

    Обладает неограниченными правами. Использование прав суперпользователя необходимо при установке драйверов, смене важных параметров Linux. Пароль пользователя root обычно запрашивается при установке дистрибутива. Тогда сразу после установки в систему можно войти с указанным паролем и логином root .

    Если вход в систему выполнен под обычным пользователем, то получить права суперпользователя в конкретном экземпляре терминала можно командой su , после ввода которой необходимо ввести пароль суперпользователя. Вернуться к сессии обычного пользователя можно командой exit .

    Однако такие дистрибутивы как Ubuntu и Kubuntu не создают суперпользователя при установке. Войти под пользователем root или использовать su не удастся. Права суперпользователя в этих дистрибутивах можно получить командой sudo . Ее необходимо писать перед каждой командой, для которой требуются права суперпользователя. Например sudo nano /etc/fstab . После первой команды sudo необходимо ввести пароль текущего пользователя. Использовать sudo могут пользователи, состоящие в группе sudo или admin (в зависимости от дистрибутива Linux), что для первого пользователя Ubuntu и Kubuntu выполняется автоматически при установке дистрибутива.

    Особенности работы терминалов Linux

    Записанные в файл команды выполняются командой sh имя_файла .

    Стандартные команды в Linux отличаются от команд DOS и Windows -- обычно они короче. При работе с командной строкой как обычно мигающий курсор обозначает позицию ввода текста, командная строка начинается с текущего пути и имени компьютера, за которым следует символ $, % или #. Последний означает, что команды будут выполняться от имени суперпользователя root. Символ ~ означает путь к текущей домашней директории пользователя.

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

    В любом терминале Linux стрелками вверх/вниз на клавиатуре можно листать историю команд, которая сохраняется между сеансами работы и различается для разных пользователей и хостов (в случае подключения из командной строки к другому компьютеру по ssh). Набранное частично команда или имя файла или каталога в текущей директории может быть автоматически дописано клавишей TAB. Если найдено более одного варианта и однозначно продолжить команду по TAB невозможно, то выводятся все подходящие варианты.

    При работе в графической среде удобны эмуляторы терминала. Как правило они поддерживают закладки -- несколько терминалов в одном окне, поддерживают цветовые схемы. Наиболее распространены эмуляторы терминала Gnome Terminal, Konsole, XFCE Terminal.



  • Загрузка...