Программы
Трюки терминала Bash

Трюки терминала Bash

Полезные комбинации клавиш (хоткеи) и небольшие хитрости, которые сделают Вашу работу в Linux более эффективной.

"Горячие клавиши" Bash с Ctrl

  • Ctrl + n — то же самое, что и стрелка вниз.
  • Ctrl + p — то же самое, что и стрелка вверх.
  • Ctrl + r — поиск по предыдущим командам из истории команд (history). Продолжайте нажимать Ctrl + r, чтобы искать дальше. Ctrl + Shift + r — поиск в другую сторону.
  • Ctrl + s — остановить вывод в терминал.
  • Ctrl + q — восстановить вывод в терминал после Ctrl + s.
  • Ctrl + a — перейти к началу строки (аналог клавиши Home).
  • Ctrl + e — перейти к концу строки (аналог клавиши End).
  • Ctrl + d — если вы ввели что-то, то Ctrl + d удаляет символ под курсором. В противном случае означает конец ввода и завершает текущую сессию Bash.
  • Ctrl + k — удалить весь текст от курсора до конца строки.
  • Ctrl + x + backspace — удалить весь текст от начала строки до курсора.
  • Ctrl + t — переставить символ до курсора на символ под курсором. Нажмите Esc + t для перестановки двух слов до курсора.
  • Ctrl + w — удалить слово до курсора; затем Ctrl + y, чтобы вставить его.
  • Ctrl + u — удалить строку перед курсором; Ctrl + y для вставки его.
  • Ctrl + _ — отменить ввод.
  • Ctrl + l — очищает окно терминала. То же самое, что и clear.
  • Ctrl + x + Ctrl + e — запускает редактор, определённый в переменной $EDITOR, для ввода команды. Полезно для многострочных команд.

Изменить заглавные на строчные и наоборот

  • Esc + u — преобразовать буквы от курсора до конца строки в заглавные буквы.
  • Esc + l — преобразовать буквы от курсора до конца строки в нижний регистр.
  • Esc + c — заменить букву под курсором на заглавную.

Запустить предыдущую команду ещё раз

Запустить команду из истории по номеру (например, 53)

!53
  • !! — запуск последней команды.
  • sudo !! — запустить предыдущую команду с sudo.

Запускает последнюю команду и меняет какой-то параметр. Например, меняем "aaa" на "bbb":

# Последняя команда: echo 'aaa'
$ ^aaa^bbb

$ echo 'bbb'
bbb
Важно: предыдущая команда заменит только первое вхождение "aaa". Если вы хотите заменить все вхождения, используйте `:&`:

^aaa^bbb^:&
# или
!!:gs/aaa/bbb/

Запустить последнюю команду, которая начинается с...

Например, до этого в истории команд была команда cat filename:

!cat
# или
!c

— запускает cat filename ещё раз.

Указание файлов по шаблону в Bash

  • /etc/pa*wd/etc/passwd — символ * означает "несколько любых символов".
  • /b?n/?at/bin/cat — символ ? означает "один любой символ".
  • ls -l [a-z]* — вывести список файлов, содержащих только буквы латинского алфавита. В квадратных скобках [] перечисляются символы, которые будут искаться. А символ * после [] означает "хоть сколько раз".
  • ls {*.sh,*.py} — вывести все .sh и .py файлы. {} используется для группировки нескольких шаблонов по принципу "или".

Полезные переменные окружения Bash

Короткие переменные:

  • $0 — оболочка командной строки или путь до запускаемого файла.
  • $1, $2, $3, ... — аргументы запуска скрипта.
  • $# — число аргументов, переданных в скрипт из терминала.
  • $? — код завершения последней команды.
  • $- — текущие опции, установленные для оболочки.
  • $$ — идентификатор текущего процесса.
  • $! — идентификатор процесса, завершённого последним.

Более длинные, но тоже полезные переменные:

  • $DESKTOP_SESSION — текущий менеджер дисплеев.
  • $EDITOR — редактор текста по умолчанию.
  • $LANG — используемый системой язык.
  • $PATH — список директорий, в которых будут искаться исполняемые файлы.
  • $PWD — текущая директория.
  • $SHELL — текущая оболочка командной строки.
  • $USER — имя текущего пользователя.
  • $HOSTNAME — имя текущего хоста (компьютера).
Также может быть вам интересно:

Что нового в Python 3.10

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

Читать »
Фото Так ли безопасен Linux? Несколько коммитов с уязвимосятми в stable

Так ли безопасен Linux? Несколько коммитов с уязвимосятми в stable

Исследователи сумели пройти code-review с реквестами в ядро Linux, заведомо содержащими добавление уязвимостей.

Фото Пример своей консольной команды в Django проекте

Пример своей консольной команды в Django проекте

Если вы работали с Django проектом, то, скорее всего, запускали команды из консоли (manage.py). В Django есть простой способ писать свои команды для управления проектом.

Фото Как на Bash посчитать число строк в проекте (директории)

Как на Bash посчитать число строк в проекте (директории)

Ниже будет представлен однострочник, решающий данную задачу на Bash + пошаговое описание его работы.

Фото И снова sudo, и снова "решето"

И снова sudo, и снова "решето"

В утилите sudo была исправлена очередная уязвимость.

Фото Как установить часовой пояс в Linux

Как установить часовой пояс в Linux

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

Фото Как найти самые большие папки и файлы в Linux

Как найти самые большие папки и файлы в Linux

Когда кончается место на жестком диске, возникает закономерный вопрос: на что же оно было потрачено, какие файлы разрослись больше положенного?

Фото Команда grep – полезные ключи и примеры использования

Команда grep – полезные ключи и примеры использования

У команды "grep" довольно много различных особенностей. особенно, если учесть, что с английского это "решето" – а что может войти в решето , не факт что выйдет!

Фото Как создать неизменяемый файл в Linux / MacOS / FreeBSD

Как создать неизменяемый файл в Linux / MacOS / FreeBSD

Само собой, root может всё (если введёт пару команд), однако, это вполне легальный способ запретить изменение файла.