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

Здесь перечислены основные команды 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.

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

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

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

  • Betty

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

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

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

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

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

  • В Ubuntu существует два вида интерфейса:

      Графический интерфейс пользователя (англ. Graphical user interface, GUI). — управление с помощью графических кнопок, менюшек, панелей, окон. Множество действий можно выполнять с помошью мыши.

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

      Интерфейс командной строки (англ. Command Line Interface, CLI). -это управление с помощью команд. Команды состоят из букв, цифр, символов, набираются построчно, выполняются после нажатия клавиши ентер. Основной инструмент здесь клавиатура и ваша память =) без нее команды не набрать.

    Этот интерфейс встроен в ядро системы, он будет доступен, даже если графический интерфейс не запустится поэтому всегда есть шанс исправить проблему через консоль не имея графической оболочки достаточно лишь знать необходимые команды. Главные преимущества: небольшой расход ресурсов, гибкость сценариев составленных из команд, автоматизация процессов, возможность скопировать команды из инструкций и выполнить их у себя. Если сравнивать интерфейсы в разных системах, то можно заметить, что основные команды одинаковы во всех дистрибутивах семейства Linux, а вот графические программы в каждой системе могут очень сильно различаться. Добраться до командной строки можно двумя способами: через консоль или терминал.

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

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

    Тем не менее, знание основных команд терминала необходимо любому, кто имеет дело с ОС.

    Синтаксис команд терминала Linux и команды помощи

    В самом общем виде синтаксис команды терминала Linux можно записать как:

    Команда [опции] [файлы/папки]
    где в качестве опций (часто называют ключами) указываются параметры, влияющие на выполнение команды, а файлы и папки являются объектами, на которые направлено действие команды.

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

    Для получения расширенной справки о команде можно воспользоваться командой man или info.

    С помощью опции –version можно узнать номер версии команды. Примеры получения справки для основной команды терминала Linux - ls:

    Ls --help ls --verison man ls infols
    Таким образом, можно легко получить необходимую информацию о синтаксисе, ключах и действиях команды.

    Обычные пользователи имеют ограниченные возможности при выполнении команд терминала Linux.

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

    Чтобы получить права суперпользователя не выходя из системы надо выполнить команду терминала su и ввести пароль root.

    Стоит отменить, что все пользователи, знающие root-пароль, по сути, обладают всеми правами в системе. Если существует необходимость дать пользователям возможность выполнять операции от имени суперпользователя и при этом ограничить свободу действий, можно воспользоваться командой sudo, предварительно настроив список разрешенных операций и доступных файлов, для каждого пользователя.

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

    При выполнении sudo пользователю нужно ввести свой пароль. Настройки возможностей, доступных пользователям по команде sudo хранятся в /etc/sudoers (подробнее man/etc/sudoers).

    Работа с файлами и доступ - основные команды терминала
    Команды терминала Linux используемые наиболее часто :
    • pwd– вывод текущей рабочей папки;
    • ls– вывод список файлов и папок;
    • cd– выбор рабочей папки;
    • locate– поиск файлов;
    • chmod– настройка прав доступа;
    • rpm–qa– показывает установленные пакеты в rpm-linux;
    • dpkg -l |more – показывает установленные пакеты в deb-linux;
    • rpm–i(rpm -e) – установка (удаление) rpm-пакета;
    • apt-get install (apt-get remove) – установка (удаление) deb-пакета;
    • mount (umount) – монтирование (размонтирование) носителей информации;
    • fdisk –l – просмотр списка всех подключенных носителей;
    • mkfs– форматирование дисков и разделов.
    Команды терминала Linux для настройки сети и управление процессами
    Знание следующих основных команд даст первоначальное представление о настройке сети в ОС Linux, управлении процессами и другом с помощь команд терминала:
    • ifconfig– отображение настроек сетевых интерфейсов, настройка параметров сети (IP, маска и т.д.), запуск сети;
    • ping– проверка доступности узлов сети;
    • route– просмотр и настройка таблицы маршрутизации;
    • nameserver– настройка DNS-серверов;
    • psaxjf– показать запущенные процессы;
    • pgrep -l– показать IDпроцесса;
    • kill– команда терминала Linux чтобы завершить процесс;
    • clear– очистка окна терминала;
    • export– назначение принтера по умолчанию;
    • lpr– вывод на печать.
    Команды терминала можно объединять в контейнеры, записывать в файлы и при необходимости запускать их на выполнение.

    Возможно последовательное выполнение основных команд Linux или выполнение при соблюдении определенных условий. Командный процессор вместе со знанием команд терминала является важным инструментом этой ОС.

    Основные команды Linux дают представление о работе с терминалом. За подробной информацией всегда можно обратить к справочной системе, которая есть в каждом дистрибутиве.

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

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

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

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

    С тех пор, такой способ ввода использовался во многих системах, в том числе DOS и OS/2 от Apple, пока не был придуман графический интерфейс. Затем текстовый режим терминала был успешно вытеснен, но его до сих пор продолжают использовать там, где это нужно.

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

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

    Консоль - это физическое оборудование для управления сервером. Когда к серверу нет доступа из сети, для управления им можно использовать только консоль.

    TTY - это файл устройства, который создается ядром и предоставляет доступ к терминалу для программ. Это могут быть файлы /dev/tty для постоянных текстовых терминалов и /dev/pts/* для эмуляторов терминалов. Вы можете выполнить команду или отправить сообщение просто записав данные в этот файл, и также получить результат, прочитав данные из этого файла.

    Эмулятор терминала - это графическая программа, которая предоставляет вам доступ к tty или pts терминалу. Например, Gnome Terminal, Konsole, Terminix, Xterm и многие другие.

    Командная оболочка - устройство tty занимается только передачей и приемом данных, но все эти данные должен еще кто-то обрабатывать, выполнять команды, интерпретировать их синтаксис. Командных оболочек достаточно много, это bash, sh, zsh, ksh и другие, но чаще всего применяется Bash.

    Ну и командная строка - это то место куда вы будете вводить свои команды, приглашение терминала для ввода.

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

    Как открыть терминал Linux?

    Есть несколько способов получить доступ к терминалу. Ваша система инициализации по умолчанию создает 12 виртуальных терминалов. В одном из них - обычно седьмом, запущена ваша графическая оболочка, но все другие могут быть свободно использованы. Для переключения между терминалами можно использовать сочетания Ctrl+Alt+F1-F12. Для авторизации нужно будет ввести логин и пароль.

    Это текстовые терминалы без графического интерфейса, в них может быть не совсем удобно работать, но, зато такие терминалы будут полезны, если графический интерфейс не работает.

    Второй способ позволяет открыть виртуальный терминал прямо в графическом интерфейсе с помощью эмулятора терминала. Эмулятор терминала linux работает с файлами в каталоге /dev/pts/* и еще называется псевдотерминалом, потому что не использует tty.

    В Ubuntu вы можете запустить терминал linux нажав сочетание клавиш Ctrl+Alt+T :

    Также его можно найти в меню приложений Dash:

    Как видите, открыть командную строку в linux очень просто.

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

    Рассмотрим более подробно терминал Linux для начинающих. Как я уже говорил, терминал и файлы устройств tty отвечают только за передачу данных. За обработку команд отвечает командная оболочка, которой и передаются полученные от пользователя данные.

    Вы можете набрать что-либо и убедиться, что это работает:

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

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

    Точно такая же схема работает для путей к файлам и параметров команд:

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

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

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

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

    $ команда опции параметр1 параметр2...

    Опции часто необязательны и уточняют тот или иной аспект работы программы. Они записываются в форме черточка и символ или двойная черточка и слово. Например -o или --output. Приведем пример для команды ls. Без опций и параметров:

    С параметром, указывающим какую папку посмотреть:

    С опцией -l, вывести в виде списка:

    В с опцией и параметром:

    Можно комбинировать две опции:

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

    Выводы

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

    Об авторе

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



    Статьи по теме