Использование тоннелей
Можно работать не только с файлами, но и перенаправлять вывод одной команды в качестве ввода другой. Это очень полезно для выполнения сложных операций. Например, выведем пять недавно измененных файлов:
С помощью утилиты xargs вы можете комбинировать команды таким образом, чтобы стандартный ввод передавался в параметры. Например, скопируем один файл в несколько папок:
Здесь параметр -n 1 задает, что для одной команды нужно подставлять только один параметр, а опция -v в cp позволяет выводить подробную информацию о перемещениях. Еще одна, полезная в таких случаях команда — это tee. Она читает данные из стандартного ввода и записывает в стандартный вывод или файлы. Например:
В сочетании с другими командами все это может использоваться для создания сложных инструкций из нескольких команд.
Справочная информация / документация
(Manual). Показывает инструкцию к программам и командам Linux. Чтобы получить руководство для программы, наберите:
Для инструкции по команде, введите:
whereis
Показывает полный путь к исполняемому файлу и другим файлам программы. Пример:
Также даёт информацию о связанной с программой справочной информации.
Показывает к какому типу относится файл. Особенность Linux в том, что рабочие файлы могут и не иметь расширения. Поэтому у пользователя могут возникнуть проблемы с идентификацией файлов, которые снимает эта команда.
Вся необходимая информация о команде будет доступна, если набрать:
whoami
Команда показывает действительный идентификатор пользователя (UID).
Показывает варианты автозавершения команды. Нажатие клавиши табуляция после определённой команды или их последовательности выводит подсказку с вариантами возможного продолжения команды.
Ctrl + R
Это сочетание клавиш помогает запустить обратный поиск по всем параметрам, связанным с указанной командой. Достаточно лишь указать ключевое слово для поиска. Есть серьёзный минус – за раз можно увидеть только 1 результат. Выйти из режима реверсивного поиска поможет комбинация Ctrl + C .
mc
Работа с файлами Linux через терминал может выполняться не только с помощью обычных консольных команд, каждая из которых выполняет только определенное действие. Вы можете использовать полнофункциональный файловый менеджер с псевдографическим интерфейсом на основе ncurses. Midnight Commander — это файловый менеджер, который можно использовать прямо в терминале. Для установки mc в Ubuntu выполните:
После завершения установки достаточно выполнить команду mc:
Используйте клавиши со стрелками для перемещения по файлах, Tab для перехода на другую панель, Alt+1 для просмотра справки и Alt+2 для вывода меню:
Если терминальное окружение поддерживает мышь, то вы можете ее использовать в Midnight Commander.
Команды Linux: группы и пользователи
Эти команды Linux необходимы для работы с пользователями и группами пользователей.
# id # Сводная информация по текущему пользователю (логин, UID, GID, группы); # finger # Информация о пользователе ; # last # Последние зарегистрированные пользователи; # who # Имя текущего пользователя и время его входа; # useradd # Добавляет нового пользователя ; # groupadd Otus # Добавляет группу Otus; # usermod -a -G Otus # Добавляет пользователя с именем в группу под названием Otus (для Debian); groupmod -A Otus # Добавление пользователя в группу под названием Otus (SuSE); # userdel # Пользователь удаляется; # groupdel Otus # Группа Otus удаляется.
Пользователь и система
Используя bash, вы можете легко получить любую необходимую вам техническую информацию о пользователях и системе.
Если вы хотите идентифицировать, под каким пользователем авторизованы в данный момент, вам нужно ввести в командную строку следующую команду:
whoami
Если вам нужно узнать не только о вашем, но и о других пользователях, находящихся в данный момент в этой операционной системе, используйте команды:
who
или
w
В отличие от whoami, эти команды показывает более подробную информацию: кроме имени пользователя вы также узнаете о том, какая используется терминальная линия, время начала сеанса, IP-адрес и некоторые другие данные.
Что касается данных о системе, то с ними можно ознакомиться, используя команду uname. Сама по себе эта команда даст вам не так много информации – только название системы. Однако если вы будете использовать ключи, то сможете узнать гораздо больше.
Ключи – это специальные аргументы, которые пишутся через пробел после команды и начинаются с одного или двух дефисов. Они определяют параметры, которые будут применены к команде. Как правило, узнать о доступных ключах вы можете, написав команду и —help (либо -help): к примеру,
uname --help
У команды uname вы можете задать ключ -a (или —all), и тогда на экран будет выведена вся информация об операционной системе:
uname -a
Если вас интересуют конкретно данные о ядре, то наберите следующую команду:
uname -rv
В этом случае вы узнаете о релизе и версии ядра операционной системы.
Получить информацию обо всех процессах можно при помощи этой команды:
ps -a
А команда pstree выведет информацию в виде дерева процессов.
Узнать сетевое имя машины вы можете с помощью команды hostname.
Что такое man?
Команда man позволяет получить доступ к общей базе справки по команде, функции или программе. Обычно для просмотра справки программе надо передать название команды или другого объекта в системе. Синтаксис у неё такой:
$ man раздел название_страницы
Обычно название страницы совпадает с именем команды или названием программы. Вся справка разделена на несколько разделов. По умолчанию страницы справки выводятся из всех разделов, но вы можете выводить страницы справки из определённого раздела. Для этого достаточно передать номер раздела команде. Вот список основных разделов:
- 1 — команды оболочки или программы;
- 2 — системные вызовы;
- 3 — функции библиотек;
- 4 — файлы из каталога /dev;
- 5 — форматы файлов;
- 6 — игры;
- 7 — разное;
- 8 — команды администрирования системы;
- 9 — процедуры ядра.
Давайте рассмотрим несколько примеров. Для того чтобы посмотреть справку по команде man достаточно выполнить такую команду:
Для команды ls справка вызывается так:
Каждая страница справки разделена на несколько секций. Вы можете видеть их на снимках экрана выше. Это:
- NAME — имя программы или команды, а также краткое её описание;
- SYNOPSIS — синтаксис команды и порядок передачи в неё опций;
- DESCRIPTION — более подробное описание команды;
- CONFIGURATION — настройки программы;
- OPTIONS — опции команды;
- EXAMPLE — примеры использования;
- AUTHORS — авторы программы.
Конечно существуют и другие разделы, но эти самые основные. Если информации про утилиту мало, то некоторые разделы могут быть объединены вместе, а некоторых может и вовсе не быть.
Для просмотра информации и управлением страницей справки используются такие горячие клавиши:
- стрелка вверх/вниз — прокрутка информации вверх или вниз;
- e или j — переместиться на одну строку вверх;
- y или h — переместиться на одну строку вниз;
- z — переместиться на одно окно вниз;
- w — переместиться на одно окно вверх;
- d — переместиться на пол окна вниз;
- u — переместиться на пол окна вверх;
- — поиск вхождений указанных после символов вперед;
- ? — то же самое, что и предыдущее, только поиск назад;
- n — в режиме поиска отображение следующего вхождения;
- N — в режиме поиска отображение предыдущего вхождения.
С перемещением по странице, скорее всего, всё понятно. Для того чтобы искать какое-либо слово на странице нажмите клавишу и начните набирать слово, которое надо искать. Оно будет отображаться внизу окна:
Затем нажмите Enter и программа подсветит все вхождения этого слова в текст. Для поиска следующего вхождения нажимайте n:
Этих клавиш вам полностью хватит чтобы пользоваться справкой. Для вывода информации используется утилита less, поэтому если вам нужно больше горячих клавиш, смотрите соответствующую статью.
При запуске утилиты можно использовать несколько опций, давайте рассмотрим эти опции. Их не так уж много и самые интересные из них только несколько. Опция -f позволяет посмотреть краткое описание справочной страницы. Например:
С помощью опции -k можно выполнять поиск по кратким описаниям справочных страниц. Например, давайте найдём все страницы, в описаниях которых есть слово printf:
Опция -K позволяет выполнять поиск по самим справочным страницам. Поиск выполняется методом перебора, поэтому занимает некоторое время:
Команда будет открывать найденные страницы по очереди. Для выхода нажмите Ctrl+C. Опция -L позволяет вручную задать язык, на котором будет отображена страница. Например для вывода информации про man на английском выполните:
А чтобы отобразить man на русском Linux надо передать этой опции значение ru_RU:
Однако для того чтобы это работало нужно чтобы в системе были установлены пакеты локализации для русского языка.
Команды Linux для конвертирования данных
15.1 Конвертирование текста
# iconv -l # Вывод списка всех кодировок, которые доступны; # iconv -f cp1251 -t UTF-8 file_cp1251.txt -o file_utf8.txt # Смена кодировки. Например, был файл file_cp1251.txt (кодировка cp1251), а получился файл file_utf8.txt (кодировка utf8).
15.2 Конвертирование PDF в JPEG
# convert name.pdf name-%03d.jpg # Конвертация name.pdf в постраничные изображения JPEG (может понадобиться пакет imagemagick); # convert *.jpeg name.pdf # Конвертация изображений JPEG в PDF (может потребоваться пакет imagemagick).
15.3 Конвертирование видео
# mencoder -o videoout.avi -oac mp3lame -ovc lavc -srate 11025 -channels 1 -af-adv force=1 -lameopts preset=medium -lavcopts vcodec=msmpeg4v2:vbitrate=600 -mc 0 vidoein.AVI
15.4 Конвертирование аудио
# cdparanoia -B # Треки с AudioCD копируются в текущую директорию wav-файлами; # oggenc in.wav -b 256 out.ogg # Wav-файлы конвертируются в Ogg Vorbis с качеством 256 kb/s; # lame -b 256 in.wav out.mp3 # Wav-файлы конвертируются в mp3 с качеством 256 kb/s.
Какие существуют руководства для управления командной строкой
Всех полезных функций консоли этой операционной системы не счесть. Необходимо самостоятельно изучить их по материалам из руководств пользователей или книг от опытных людей. В качестве примера книга У. Шоттса «Командная строка Linux: полное руководство». Она лучше всех остальных знакомит читателя с философией линукса и основами работы в консоли.
Важно! Также следует обратить внимание на материал Е. Немета «Руководство системного администратора», которая не только познакомит с линукс, но и поможет освоиться в нелегком деле системного администрирования
Книга для обучения азам терминала линукс для начинающих
Команды терминала Kali Linux отличаются от некоторых других дистрибутивов, но в целом традиции Unix сохраняются в любой версии этой ОС. Вызвать командную строку и запустить терминал крайне просто. Создать и удалить файл куда сложнее, чем работать с консолью.
Дополнительно
Команда clear используется для очистки терминала, если он загроможден слишком большим количеством данных от прошлых команд
Нажатие на клавишу TAB (табуляция) приведет к автоматическому дополнению того, что вы в данный момент набираете в терминале. Например, если вам нужно перейти в папку Documents, то начните вводить команду , а затем нажмите на клавишу TAB и терминал автоматически дополнит команду до .
Сочетания клавиш:
— останавливает и завершает команду;
— ставит выполнение команды на паузу;
— временно приостанавливает вывод информации в терминал;
— продолжает вывод информации в терминал;
— перемещает вас в начало строки;
— перемещает вас в конец строки.
Вы можете запускать несколько команд в одной строке, отделяя их с помощью символа , например:
Если вместо использовать , то следующая команда выполнится только после успешного выполнения предыдущей.
Установка Программного Обеспечения через терминал Linux Ubuntu
Одно из самых эффективных действий в терминале это установка программного обеспечения. Для установки программного обеспечения существую графические менеджеры, например в Ubuntu «Центр приложений». Центр приложений Ubuntu это графическая оболочка тех немногих команд терминала, которые он используют в фоновом режиме. Если Вы знаете, что Вам нужно, то вместо того чтобы щелкать по всем этим кнопкам и поискам, можно легко установить программу из терминала одной командой. Вы можете даже установить несколько приложений с помощью одной команды.
Пример буду использовать на Ubuntu / Linux Mint или других Ubuntu-подобных дистрибутивах (все другие дистрибутивы имеют свои собственные системы управления пакетами). Итак, вот команда для установки нового программного пакета:
Это может показаться немного сложным, но это работает, так же как и вышеупомянутый Firefox. Слово-сокращение sudo запускает программу, которая запрашивает пароль root (администратора) перед запуском apt-get. Программа apt-get в свою очередь считывает аргументы install имени пакета и устанавливает пакет запрошенный вами.
Пример для установки через терминал сразу нескольких пакетов. Например, чтобы установить веб-браузер хромиум и менеджер мгновенных сообщений Pidgin выполните эту команду:
Выше упомянутой командой я пользуюсь после того как установлю «новоиспеченную» Ubuntu. Установил новый релиз Ubuntu, добавил одной командой все свои любимые программы. Вы просто должны знать название пакетов ваших любимых программ. Как видите о названии пакетов довольно легко догадаться. Вы также можете уточнить ваши догадки с помощью tab, трюк ниже. У меня в рабочем дистрибутиве десятки нужных мне программ, не буду же я вводить имена всех программ в терминале на новой установленной Linux. И поэтому я использую более автоматизированный способ. Который заключается в том, что перед установкой нового дистрибутива Linux, я сначала на старой установке, с помощью терминала, экспортирую название всех установленных пакетов в текстовый файл.
А потом, после переустановки, в новом, через терминал импортирую этот тестовый файл, который сообщает дистрибутиву обо всех программах, которые необходимо установить. Таким образом, эти команды совсем небольшие, в отличие от того если бы я вводил их вручную, и экономится много времени. Этот совет и другие, более глубокие инструкции вы найдете в этой книге.
Навигация по файлу в Vi
Теперь вернемся к файлу, который мы только что создали, и введем еще немного контента. В режиме вставки вы можете использовать клавиши со стрелками для перемещения курсора. Введите еще два абзаца содержания, затем нажмите Esc, чтобы вернуться в режим редактирования.
Ниже приведены некоторые из множества команд, которые вы можете вводить для перемещения по файлу. Посмотрите как они работают.
- Клавиши со стрелками — перемещать курсор
- j, k, h, l — переместить курсор вниз, вверх, влево и вправо (аналогично клавишам со стрелками)
- ^ — переместить курсор в начало текущей строки
- $ — переместить курсор в конец текущей строки
- nG — перейти к n- й строке (например, 5G — к 5-й строке)
- G — перейти к последней строке
- w — перейти к началу следующего слова
- nw — переместиться вперед
- b — перейти к началу предыдущего слова
- nb — вернуться на n слово
- { — переместиться назад на один абзац
- } — перейти на один абзац вперед
Набрав set nu в режиме редактирования в vi, позволяет включить номера строк. В итоге, включение номеров строк делает работу с файлами намного проще.
Установка, удаление и обновление пакетов
Для установки программ в Linux используются менеджеры пакетов. Они разнятся от дистрибутива к дистрибутиву, поэтому команды для управления ими тоже отличаются. Рассмотрим наиболее популярные.
Debian/Ubuntu
- sudo apt-get install название пакета — устанавливает программу на выбор. Главное знать, как она называется.
- sudo apt remove название пакета — стирает с жесткого диска имеющийся в системе пакет.
- sudo apt-get update — обновляет информацию о пакетах, имеющихся в системе, и тех, что хранятся в подключенных репозиториях.
- sudo apt-upgrade — обновляет установленные пакеты до самых свежих версий, доступных в подключенных репозиториях.
Red Hat Linux/CentOS
- sudo dnf install название пакета — устанавливает программу на выбор.
- sudo dnf upgrade — обновляет установленные пакеты до самых свежих версий.
- sudo dnf remove название пакета — стирает с жесткого диска имеющийся в системе пакет.
Права суперпользователя
Большое число базовых команд Linux, например, установка программ или создание файлов в корневой системе, требуют для исполнения права пользователя root или суперпользователя. Применение данного режима несёт серьёзные изменения для операционной системы, поэтому нужно точно понимать, как сработает запущенная команда.
Способы получить права root в Linux
- Вход от имени суперпользователя в виртуальной консоли, введя логин и пароль пользователя root.
- Разовое переключение на роль суперпользователя в терминале с помощью специальных утилит.
О втором варианте расскажем подробнее.
(Super User Do). Позволяет исполнять команды с правами суперпользователя. Перед переходом в режим root администратора система выполнит запрос пароля и логина root. Пример:
sudo su
Инструмент применяется, когда нужно запустить несколько «суперпользовательских» команд. Все следующие вводимые команды будут запускаться в режиме суперпользователя до закрытия командной строки.
sudo gksudo
Осуществляет запуска приложений от имени суперпользователя, использующих не терминал, а графический интерфейс. В дистрибутиве Kubuntu имя этой команды выглядит несколько иначе — sudo kdesudo .
Команда применяется, если нужно перезапустить с правами root уже отданную (от имени обычного пользователя) команду.
Максимальную производительность приложений Linux зависит от правильного подбора платформы для ОС. Мощный виртуальный сервер от Eternalhost обеспечит интернет-ресурсу стабильную работу и пространство для развития.
Перенаправить вывод в файл
Все очень просто. Вы можете перенаправить вывод в файл с помощью символа >. Например, сохраним вывод команды top:
Опция -b заставляет программу работать в не интерактивном пакетном режиме, а n — повторяет операцию пять раз, чтобы получить информацию обо всех процессах. Теперь смотрим что получилось с помощью cat:
Символ «>» перезаписывает информацию из файла, если там уже что-то есть. Для добавления данных в конец используйте «>>». Например, перенаправить вывод в файл linux еще для top:
По умолчанию для перенаправления используется дескриптор файла стандартного вывода. Но вы можете указать это явно. Эта команда даст тот же результат: