Использование быстрых клавиш в командной строке linux (bash)

Команды консоли для работы с текстом

Linux командная строка — что это такое, как вызвать

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

  • «grep» ищет текст, применяя специальный шаблон для поиска;
  • «more» необходима для просмотра текстового документа, не помещающегося в рабочую область;
  • «head» выводит для просмотра шапку текстового документа;
  • «tail» позволяет просмотреть последнюю строчку текстового файла. Для изменения количества показанных строк в командах» head»/»tail» применяют специальные опции «-n» и «-f»;
  • «sort» сортирует строки. Работает с опциями «-n» и «-r» (верх-низ);
  • «diff» производит анализ текстовых документов, сравнивает данные и демонстрирует все отличия в них;
  • «wc» показывает количество слов, строк и символов.

Обратите внимание! Для включения режима суперпользователя необходимо ввести в терминале функцию «sudo su» (не используя кавычки) перед выполнением нужной команды

Установка, обновление и удаление пакетов

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

apt (в Debian, Ubuntu и им подобных)

sudo apt-get install название пакета — устанавливает пакет из подключенных репозиториев. Ищется по названию и версии.

sudo apt remove название пакета — удаляет из системы установленный пакет.

sudo apt purge название пакета — удаляет установленный пакет и вместе с ним уничтожает все зависимые данные. От приложения не остается никаких следов. Такой вариант подходит, когда нужна полная переустановка пакета «с нуля».

sudo apt autoremove — автоматически выполняет уборку среди установленных пакетов, убирая ненужные остатки кода.

sudo apt-add-repository адрес репозитория — подключает к системе дополнительный репозиторий с пакетами, не вошедшими в базу репозиториев по умолчанию. Требуется для установки некоторых редких open-source-приложений.

sudo apt-get update — обновляет информацию о пакетах, имеющихся в системе и тех, что хранятся в подключенных репозиториях.

sudo apt-upgrade — обновляет версии установленных пакетов до самых свежих, доступных в подключенных репозиториях.

dnf (в Red Hat Linux, CentOS, Fedora)

sudo dnf install название пакета — устанавливает программу на выбор.

sudo dnf config-manager –add-repo адрес репозитория — подключает к системе дополнительный репозиторий.

sudo dnf upgrade — обновляет версии установленных пакетов до самых свежих, доступных в подключенных репозиториях.

sudo dnf remove название пакета — стирает с жесткого диска имеющийся в системе пакет.

sudo dnf autoremove — разыскивает мусор среди имеющихся пакетов и в автоматическом режиме вычищает его.

pacman (в Arch Linux и Manjaro)

sudo pacman -S название пакета — устанавливает пакет на выбор.

sudo yaourt -S название пакета — устанавливает пакет на выбор из репозитория AUR.

sudo pacman -Sy — обновляет информацию о пакетах, имеющихся в системе и тех, что хранятся в подключенных репозиториях.

sudo pacman -Syu — обновляет версии установленных пакетов до самых свежих, доступных в подключенных репозиториях.

sudo pacman -R название пакета — стирает с жесткого диска имеющийся в системе пакет.

sudo pacman -Rs название пакета — стирает не только установленное приложение, но и все зависимые от него элементы.

Баш-Оно

Лучший и самый простой способ улучшить оболочку Bash — использовать фреймворк Bash-It. Проще говоря: это набор скриптов и инструментов, специально созданных для добавления вещей в Bash.

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

Монтаж

Как упоминалось ранее, для работы фреймворка Bash-It требуется пакет Git. Следуйте инструкциям, чтобы запустить Git в вашей системе:

Другой

Git очень хорошо известен. Даже если вашей операционной системы нет в списке выше, велика вероятность, что вы все равно сможете ее установить. Просто откройте терминал и используйте диспетчер пакетов вашего дистрибутива для поиска «git».

После установки Git запустите процесс установки Bash-It:

git clone --depth=1 https://github.com/Bash-it/bash-it.git ~/.bash_it

Код у нас есть локально, и он легко устанавливается. Нет необходимости брать другие файлы, но еще не все сделано. Необходимо запустить файл install.sh, чтобы Bash-It мог взять профиль Bash по умолчанию и сделать резервную копию (таким образом, в случае чего-нибудь плохого, пользователь может восстановить резервную копию и начать заново).

Запустите сценарий после установки от имени обычного пользователя. Не запускать от root. Это заменит ваш пользовательский Bashrc / Bash_profile.

sh ~/.bash_it/install.sh

Запуск такого сценария — это хорошо. Он будет проходить через все и создавать резервные копии. Однако, если вы заинтересованы в использовании некоторых плагинов, таких как псевдонимы и т. Д., Запустите сценарий после установки, используя вместо этого:

~/.bash_it/install.sh --interactive

После запуска этого скрипта фреймворк Bash-It запускается в системе. Обновите его, перейдя в терминал и используя эту команду:

bash-it update

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

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

man команда

Например:

man ls

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

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

утилита --help

Например:

ls --help

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

Guake

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

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

Этот терминал входит в большинство репозиториев Linux, поэтому мы можем установить его, запустив:

Владение файлами и права доступа

Команда chmod

Команда chmod (от англ. «change mode») позволяет изменить права доступа к файлам. Она работает в двух режимах: символьном и числовом.

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

    (чтение) =

    (запись) =

    (выполнение) =

   нет разрешений =

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

Только пользователь root, владелец файла или пользователь с правами sudo могут изменять права доступа к файлу.

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

Команда chown

Команда chown (от англ. «change owner») позволяет изменить владельца и группу заданного файла, каталога или символьной ссылки.

Чтобы изменить владельца файла, достаточно выполнить:

Чтобы изменить как владельца, так и группу файла, вызовите:

Используйте опцию , чтобы рекурсивно обработать все файлы и каталоги в заданном каталоге:

Команда sudo

Команда sudo (от англ. «Substitute User and do« = «подменить пользователя и выполнить») позволяет запускать программы от имени другого пользователя (по умолчанию, пользователя root). Использование команды , вместо входа в систему под учетной записью пользователя root, более безопасно, поскольку вы можете предоставить ограниченные административные привилегии отдельным пользователям, не зная пароля пользователя root.

Чтобы использовать , просто добавьте префикс перед именем команды:

Просматриваем список процессов в Linux

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

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

Способ 1: Терминал

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

Обратим внимание мы лишь на одну команду, однако рассмотрим самые популярные и полезные аргументы

  1. Для начала запустите консоль, нажав на соответствующий значок в меню или используя комбинацию клавиш Ctrl + Alt + T.

Пропишите команду , чтобы просто убедиться в ее работоспособности и ознакомиться с видом показанных данных без применения аргументов.

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

Чтобы отобразились сразу все процессы, стоит добавить -A. В таком случае команда выглядит как (A обязательно должна быть в верхнем регистре). После нажатия на клавишу Enter вы сразу увидите сводку строк.

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

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

Тогда полный список процессов с расширенной информацией будет вызываться через . В таблице вы увидите UID — имя пользователя, запустившего процесс, PID — уникальный номер, PPID — номер родительского процесса, C — количество времени нагрузки на ЦП в процентах, когда активен процесс, STIME — время активации, TTY — номер консоли, откуда был совершен запуск, TIME — время работы, CMD — команда, запустившая процесс.

Каждый процесс имеет свой PID (Proccess Identificator). Если вы хотите увидеть сводку о конкретном объекте, пропишите , где PID — номер процесса.

Отдельно хотелось бы затронуть и сортировку. Например, команда позволяет поставить все строки в порядке нагрузки на CPU, а — по затрачиваемому объему оперативной памяти.

Выше мы рассказали об основных аргументах команды , однако присутствуют еще и другие параметры, например:

  • — отображение дерева процессов;
  • — вывод версий объектов;
  • — выборка всех процессов кроме заданных;
  • — отображение только по имени команды.

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

Способ 2: Системный монитор

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

Подробнее: Способы запуска Системного монитора в Linux

  1. Запустите «Системный монитор» любым удобным методом, например, через меню.

Сразу же отобразится список процессов. Вы узнаете, сколько они потребляют памяти и ресурсов ЦП, увидите пользователя, запустившего выполнение программы, а также сможете ознакомиться с другой информацией.

Щелкните правой кнопкой мыши на интересующей строке, чтобы перейти в ее свойства.

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

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

Обратите внимание и на панель сверху — она позволяет сортировать таблицу по необходимым значениям.

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

Опишите, что у вас не получилось.
Наши специалисты постараются ответить максимально быстро.

История команд Linux

Большинство задач, связанных с историей команд, мы будем выполнять либо с помощью команды history, либо с помощью оболочки. В истории хранится последняя 1000 команд, которые вы выполняли. Чтобы посмотреть всю историю для этого терминала просто запустите команду history без параметров:

Для дополнительных действий с историей вам могут понадобиться опции. Команда history linux имеет очень простой синтаксис:

$ history опции файл

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

  • -c — очистить историю;
  • -d — удалить определенную строку из истории;
  • -a — добавить новую команду в историю;
  • -n — скопировать команды из файла истории в текущий список;
  • -w — перезаписать содержимое одного файла истории в другой, заменяя повторяющиеся вхождения.

Наиболее полезной для нас из всего этого будет опция -c, которая позволяет очистить историю команд linux:

Так вы можете посмотреть только последние 10 команд:

А с помощью опции -d удалить ненужное, например, удалить команду под номером 1007:

Если вы хотите выполнить поиск по истории bash, можно использовать фильтр grep. Например, найдем все команды zypper:

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

Чтобы показать предыдущую команду просто нажмите стрелку вверх, так можно просмотреть список раньше выполненных команд.

Вы можете выполнить последнюю команду просто набрав «!!». Также можно выполнить одну из предыдущих команд указав ее номер «!-2»

Чтобы выполнить поиск по истории прямо во время ввода нажмите Ctrl+R и начните вводить начало команды.

Если вы знаете, что нужная команда была последней, которая начиналась на определенные символы, например, l, то вы можете ее выполнить, дописав «!l»:

Если нужная команда последняя содержала определенное слово, например, tmp, то вы можете ее найти, использовав «!?tmp»:

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

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

Работа со справочными страницами

apropos

— поиск справочных страниц по ключевому слову.

aropos

apropos user
— поиск мануалов, в описании которых встречается слово «user» (User).

apropos -e delete
— поиск мануалов, в описании которых встречается точное слово «delete».

apropos -w «*create*»
— поиск мануалов по маске, в описании которых встречается  слово «create» (creates, created).

info

— аналог команде man, выводит справочные страницы в другом формате.

info

info useradd

info pwd -o pwdinfo.txt
— вывод справки по команде pwd в файл pwdinfo.txt

man

— вызов страниц из указанного раздела. Вызов справочной страницы о команде.

man 

man 3 undocumented

man 5 terminfo

man 

man awk

manpath
— отображение путей хранения справочных страниц.

whatis

— информация о команде одной строкой.

whatis

whatis mkdir

type

— определяет тип команды (выполняемая программа, внутренняя команда, функция оболочки, алиас).

type

type w
 => w is /usr/bin/w

type cd
 => cd is a shell builtin

type sayhi
 => sayhi is a function

type sites
 => sites is aliased to ‘cd /var/www’

help

— короткая справка по встроенным в оболочку командам (builtin).

help

help cd
— справка по команде cd

help pwd
— справка по команде pwd

help factor
— ничего не выведет, factor — не встроенная команда.

команда —help
— показать доступные флаги для команды.

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

ps

— выводит информацию о выполняемых в данный момент процессах.

ps 

ps -fp 1256 1886 1887
— полная информация о процессах с id 1256, 1886, 1887.

ps aux
— выводит полный список запущенных процессов в системе.

ps -ejH
— вывести дерево процессов.

ps axjf
— вывести расширенное дерево процессов.

ps -p 15 -o comm=
— вывести имя процесса по id.

ps -C sshd -o pid=
— вывести id процесса по его имени.

ps axo pid,pcpu,comm
— вывести информацию о процессах в пользовательском формате.

pstree

— вывод дерева процессов.

pstree 

pstree -p
— вывод дерева процессов совместно с их идентификаторами PID.

top
— выводит информацию в реальном времени о запущенных процессах в системе.

jobs
— вывод запущенных задач, остановленных или выполняемых в фоновом режиме.

bg

— перевод задачи (остановленной) на выполнение в фоновом режиме.

bg 

bg
— перевод последней (остановленной) задачи в фоновый режим

bg %2
— перевод задачи %2 в фоновый режим.

fg

— вывод задач (остановленных) из фонового режима работы на передний план.

fg 

fg
— перевод последней фоновой (остановленной) задачи на передний план.

fg %3
— перевод задачи 3 на передний план.

процесс &

— запуск процесса в фоновом режиме.

firefox &
— запуск браузера Mozilla Firefox в фоновом режиме.

kill

— принудительное завершение работы процессов.

kill 

kill 6478
— послать сигнал Terminate (завершить) процессу с идентификатором PID=6478.

kill %2
— послать сигнал Terminate (завершить) задаче под номером 2 в списке jobs.

kill -2 45211
— послать сигнал Interrupt (прервать) процессу с идентификатором PID=45211. Аналог работы Ctrl + C.

kill -19 6478
— послать сигнал Stop (приостановить). Грубо говоря, процесс ставится на паузу.

kill -18 6478
— послать сигнал Continue (продолжить). Грубо говоря, снять процесс с паузы.

kill -28 6478
— послать сигнал Window Changed (сменен размер окна).

kill -20 6478
— послать сигнал Stop (остановить). Аналог работы Ctrl + Z.

kill -l
— получить полный список доступных сигналов.

killall

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

killall 

killall -9 top
— принудительное завершение работы для всех процессов с именем top.

Основные команды для работы в терминале

    pwd — полный путь до папки, в которой находитесь сейчас:

ls — просмотр содержимого открытой папки:

У команд есть ключи — например, можно написать команду ls с ключом -a и увидеть список всех файлов, в том числе скрытых. Как правило, у всех команд терминала есть такие дополнительные ключи. Их может быть довольно много — например, как в списке ключей для команды ls.

ls -la выводит дополнительную информацию (о правах, владельце, дате редактирования и размере).

ls путь до папки поможет посмотреть содержимое в папке, в которую вы прокладываете навигацию относительно вашего текущего места. Например, вы находитесь в папке ~geekbrains и хотите просмотреть файлы в ~geekbrains/adaptive — тогда вам нужно написать ls adaptive. 

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

Лайфхак: если вы начнёте набирать имя папки и нажмёте Tab, то сработает автокомплит (автодополнение) и терминал сам подставит оставшиеся буквы. Это часто спасает от опечаток в названиях.

cd прокладывает навигацию к корневой папке, то есть к user.

cd название папки прокладывает навигацию к любой папке. Это происходит примерно по той же схеме, что в проводнике или Finder.

cd .. — поднимает вас на один уровень в файловой системе. Например, если находились в ~geekbrains/adaptive, то после команды окажетесь в ~geekbrains. Также можно использовать запись cd ../.. — так вы подниметесь на два уровня. Уточним пример: будем использовать pwd, чтобы видеть, где мы находимся, и ls, чтобы смотреть содержимое папок:

mkdir название папки — создаёт папку. В примере сначала и в конце просматриваем папки при помощи ключа ls, чтобы убедиться, что папка создалась:

touch название файла — создаёт файл, а также указывает расширение, например touch index.html. На скриншоте при первой команде ls ничего не вывелось в терминал, потому что папка была пустой.

   

cat название — показывает текстовое содержимое файла. На скриншоте видим его у файла index.html, открытого в VSCode, а также наблюдаем вывод в консоли.

mv старое_имя новое_имя — переименовывает файл:

rm имя файла — удаляет его:

cp путь до файла, который копируем, и путь, куда помещаем копию (и имя, если нужно) — создаёт копию, также может переименовать файл при необходимости:

clear — очищает консоль от предыдущих команд и выводов.

node файл — запускает js-файл. Чтобы это сделать, нужно установить на свой компьютер node. В примере использован файлик со строкой, поэтому в консоли появляется вывод «script»:

console.log(‘script’);

GNOME Terminal

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

GNOME Terminal — довольно простой TTY по сравнению с другими альтернативами, но он отлично справляется со своей задачей. Быстро, легко и имеет очень полную историю команд, а также функции автозаполнения и возможность открытия нескольких терминалов во вкладках. Это также очень настраиваемый и поддерживает цвета в командах.

Этот терминал установлен по умолчанию во всех дистрибутивах Linux с рабочим столом GNOME. Но если нет, или если мы используем другой рабочий стол, мы можем установить его вручную с помощью следующей команды:

Поиск и использование регулярных выражений

Для поиска файлов в bash используется команда find. Ее синтаксис следующий: find + нужная директория (путь) + ключ (или несколько) + критерии ключа + (опционально) последующее действие над найденными файлами.

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

find --h

К примеру, следующая команда позволит вам найти все файлы, которые находятся в директории dir1, и имеют название file:

find /home/users/dir1 -name ‘file*’

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

* — обозначает любое количество символов, включая их отсутствие (например, по запросу file* будут найдены все файлы: file, file1, file829, fileabc и т.д.);

? — обозначает один символ (по запросу file? будут найдены файлы с одним символом после слова file: file1, file9, filea и т.д.; по запросу file?? будут найдены файлы с двумя символами: file12, file34, file92 и т.д.);

[] — обозначает подмножество значений, которые может принимать один символ (по запросу file будут найдены файлы: file1, file2, file3 и так далее до file9; по запросу file файлы filea, fileb, filec и filed).

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: