Как отменить команду в терминале linux
Можно ли отменить операции, выполняемые в терминале, например, удаление файла через rm ?
- Искажения
- Утилиты Undelete
- Утилиты резервного копирования
- LibTrash
- Управление версиями (FUSE)
Для каждой операции в терминале нет общего «отмены». Если вы хотите восстановить файл после использования rm , вам нужно будет искать программное обеспечение для восстановления.
Опция предотвращения будущих ошибок заключается в том, чтобы сделать alias es для альтернативных команд для удаления файлов. Добавьте их в свой
/.bashrc и привыкнуть использовать их вместо rm .
Если вы используете rmi , вам будет предложено подтвердить удаление в будущем. Попытайтесь избежать привычки сразу нажать y после того, как вы внесете команду rmi , так как это победит цель.
Вы также можете перемещать файлы, удаленные командой trsh в терминале, в ваш корзину (в KDE и Gnome):
Если вы используете trsh , у вас будет ограниченная возможность «восстановить». Остерегайтесь, что
может по-прежнему вызывать неустранимую потерю данных.
В командной строке нет корзины.
Вы можете попробовать некоторые утилиты undelete, но нет гарантии, что они будут работать.
Вы можете использовать trash-cli , если вы используете KDE при запуске gui , Это утилита командной строки для удаления /восстановления с использованием средств утилизации KDE.
Вы можете сделать rm псевдоним для trash (сначала вам нужно установить trash ). Добавьте это в свой
Это предпочтительнее alias rm='mv --target-directory=$HOME/.Trash' , так как
/.Trash НЕ является папкой мусора для gnome. Лучше ИМХО позволить trash определить, где находится фактическая папка мусора.
btw Я бы разместил это в комментарии, но мне не хватает репутации.
Еще два технических решения еще не названы:
- libtrash : динамическая библиотека, которая может быть предварительно загружена в вашей оболочке, которая перехватывает удаление /удаление системных вызовов и перемещение файлов в папку для мусора (как и псевдоним, но работает для любого приложения при предварительной загрузке).
- Файловая система версий. Если вы удалите (или отредактируете или скопируете или . ) файл, вы можете просто вернуться к старому состоянию. Это можно сделать с файловой системой FUSE и одним из ее файловые системы версий .
Здесь есть большой вопрос, заслуживающий внимания. Команды Shell не чаты (они не проверяют, что вы хотите), и они ожидают, что вы знаете, что делаете. Это имеет фундаментальное значение для дизайна . Это особенность, а не ошибка.
Некоторые люди чувствуют себя мачо, когда они используют такие команды, которые, я думаю, довольно глупы, но важно понять опасности. Вы можете нанести большой урон в терминале, даже если вы не root. Я думаю, вы, вероятно, действительно заботились о rm , но, поскольку вы сказали «Можем ли мы отменить операции, выполняемые в терминале», я подумал об этом стоило сказать. Общий ответ - нет, вы не можете.
Вариант 1: см. Отменить файлы Linux из файловой системы ext2 . На этой странице указывается программа, написанная Себастьяном Хетце из компании LunetIX, которая (как следует из названия) удаляет недавно удаленные файлы из файловой системы ext2. Пример использования:
- Исходный веб-сайт исчез. Ссылка, приведенная выше, относится к Интернет-архиву.
- Сайт (ы) находятся в смеси английского и немецкого языков.
- Как указано выше, инструмент разработан специально для файловой системы ext2. Это вряд ли будет работать на любой другой тип файловой системы; особенно не одни, кроме ext N .
Вариант 2: У меня на компьютере работает rsnapshot (rsync), который делает моментальные снимки по моим выбранным папкам. Он постепенно делает это каждый час, 2 часа или все, что вы скажете CRON. После полного дня он восстанавливает эти снимки в один дневной снимок и через 7 дней в неделю и так далее и так далее. Это заставляет меня возвращаться во времени около месяца или около того на каждый час! Это довольно хорошо с дисковым пространством, поскольку оно создает символические ссылки на файлы, которые никогда не менялись .
Существуют утилиты undelete для ext2, но большинство других файловых систем Linux застряли в каменном веке и не имеют каких-либо расширенных функций юзабилити. Грустное положение дел, рассматривающее гигантские диски с достаточным пространством, чтобы никогда не удалять файл снова, является обычным явлением.
Итак, вы застряли в трех вариантах:
Регулярно выполняйте резервное копирование, например, с помощью команды, например:
rsync -axvRP --backup --backupdir=/backup/incr/$(date -I) /home/ /backup/root/
Используйте инструмент управления версиями, например git для всей вашей работы. Хотя это не защитит от сумасшедшего rm -r , который убивает репозиторий, он будет защищать от обычных проблем, поскольку вы будете использовать git rm не raw rm .
Будьте особенно осторожны и не слишком доверяете в rm -i , trash-cli и друзей, так как большинство данных вы потеряете на оболочке, вы не проиграете случайно rm , но неправильно обработанные каналы, ошибочные выходные файлы, неверно указали mv и т. д., то есть вещи, которые будут перезаписывать ваши данные, а не просто удалить он.
Сделайте все три для максимального уровня безопасности.
предположим, что вы сделали
от терминала. восстановление этого файла - утомительный и не всегда успешный процесс.
, если вы использовали упомянутый сценарий. вам не нужно беспокоиться об этом, потому что
эквивалентны. сценарий обрабатывает больше случаев и не изменяет вашу систему rm вообще и это связано с тем, что он помещается в локальную папку bin пользователя, поэтому он тени системы rm и все же не влияет на нее или отключает ее использование.
это усовершенствованный алгоритм сглаживания, но без потери функции
TestDisk может восстановить файлы из FAT, exFAT, NTFS и ext2 файловые системы.
Для меня (opensuse leap 42.2, NTFS pendrive) PhotoRec - также через testdisk создатели - работали :) Однако он не восстанавливает имена файлов.
PhotoRec - это программное обеспечение для восстановления файлов, предназначенное для восстановления потерянных файлов, включая видео, документы и архивы с жестких дисков, компакт-дисков и потерянных изображений (таким образом, имя восстановления фото) из памяти цифровой камеры. PhotoRec игнорирует файловую систему и идет после базовых данных, поэтому она все равно будет работать, даже если файловая система вашего носителя сильно повреждена или переформатирована.
В терминале Linux, кроме всего прочего, есть одна замечательная вещь. Это история команд Linux. Все команды, которые вы вводите во время работы сохраняются и вы можете найти и посмотреть их в любой момент. Также можете вернуться на несколько команд чтобы не набирать недавно выполненную команду заново.
В этой небольшой статье мы рассмотрим как пользоваться историей команд Linux, как ее настроить, а также рассмотрим полезные приемы, которые могут помочь вам в работе.
История команд Linux
Большинство задач, связанных с историей команд, мы будем выполнять либо с помощью команды history, либо с помощью оболочки. В истории хранится последняя 1000 команд, которые вы выполняли. Чтобы посмотреть всю историю для этого терминала просто запустите команду history без параметров:
Для дополнительных действий с историей вам могут понадобиться опции. Команда history linux имеет очень простой синтаксис:
$ history опции файл
В качестве файла можно указать файл истории. По умолчанию история для текущего пользователя хранится в файле
/.history, но вы можете задать, например, файл другого пользователя. А теперь рассмотрим опции:
- -c - очистить историю;
- -d - удалить определенную строку из истории;
- -a - добавить новую команду в историю;
- -n - скопировать команды из файла истории в текущий список;
- -w - перезаписать содержимое одного файла истории в другой, заменяя повторяющиеся вхождения.
Наиболее полезной для нас из всего этого будет опция -c, которая позволяет очистить историю команд linux:
Так вы можете посмотреть только последние 10 команд:
А с помощью опции -d удалить ненужное, например, удалить команду под номером 1007:
Если вы хотите выполнить поиск по истории bash, можно использовать фильтр grep. Например, найдем все команды zypper:
history | grep zypper
На самом деле работать с историей еще более просто с помощью оболочки, возможно, вы уже используете многие ее функции, но о некоторых точно не знаете. Рассмотрим их:
Чтобы показать предыдущую команду просто нажмите стрелку вверх, так можно просмотреть список раньше выполненных команд.
Вы можете выполнить последнюю команду просто набрав "!!". Также можно выполнить одну из предыдущих команд указав ее номер "!-2"
Чтобы выполнить поиск по истории прямо во время ввода нажмите Ctrl+R и начните вводить начало команды.
Если вы знаете, что нужная команда была последней, которая начиналась на определенные символы, например, l, то вы можете ее выполнить, дописав "!l":
Если нужная команда последняя содержала определенное слово, например, tmp, то вы можете ее найти, использовав "!?tmp":
Если вы не хотите, чтобы выполняемая команда сохранилась в истории просто поставьте перед ней пробел.
Таким образом, вы можете очень быстро отыскать нужную команду, если помните как она была написана. История команд bash хранит очень много команд и этого вполне достаточно для комфортной работы.
Настройка истории Linux
Linux - очень настраиваемая и гибкая система, поэтому настроить здесь можно все, в том числе и историю. По умолчанию выводится только номер команды, но вы можете выводить и ее дату. Для этого нужно экспортировать переменную HISTORYFORMAT вместе нужным форматом:
export HISTTIMEFORMAT='%F %T '
$ history
Для форматирования можно использовать такие модификаторы:
Вы можете указать какие команды не стоит отображать, например, не будем выводить ls -l, pwd и date:
export HISTIGNORE='ls -l:pwd:date:'
Также можно отключить вывод одинаковых команд:
Существует два флага, ignoredups и ignorespace. Второй указывает, что нужно игнорировать команды, начинающиеся с пробела. Если вы хотите установить оба значения, используйте флаг ignoreboth. Используйте переменную HISTSIZE, чтобы установить размер истории:
По умолчанию история сохраняется для каждого терминала отдельно. Но если вы хотите чтобы все ваши команды немедленно синхронизировались между всеми терминалами, то это очень просто настроить. Добавьте такую переменную:
export PROMPT_COMMAND="$history -a; history -c; history -r;"
Для тестирования работы вы можете набирать эти команды прямо в терминале и сразу видеть результат, но для сохранения добавьте нужные строки в ваш
export PROMPT_COMMAND="$history -a; history -c; history -r;"
$ export HISTCONTROL=ignoredups
$ export HISTTIMEFORMAT='%F %T '
Готово, теперь осталось сохранить изменения и перезапустить ваши терминалы. Теперь ваша история будет выводить дату, игнорировать дубли и синхронизироваться между терминалами.
Выводы
В этой статье мы рассмотрели что такое история команд linux, как с ней работать, как применяется команда history linux и какие настройки можно использовать для более комфортной работы. Если у вас остались вопросы, спрашивайте в комментариях!
Тема полезных приёмов работы в терминале Linux неисчерпаема. Казалось бы — всё устроено очень просто: приглашение оболочки, да введённые с клавиатуры команды. Однако, в этой простоте кроется бездна неочевидных, но полезных возможностей. Именно поэтому мы регулярно публикуем материалы, посвящённые особенностям работы в командной строке Linux. В частности, сегодня это будет перевод статьи, автор которой увлечён экономией времени через повышение продуктивности труда.
Если вас интересует работа в командной строке Linux — вот некоторые из наших материалов на эту тему:
Приёмы работы в командной строке Linux и экономия времени
Вам когда-нибудь доводилось видеть, как коллега использует некие простые команды Linux для решения задач, решение которых занимает у вас несколько строк? Должно быть, когда подобное случалось, вы только и могли сказать себе: «Ну ничего ж себе! Я и не знал, что это можно сделать так просто».
В этом материале я покажу вам некоторые профессиональные приёмы работы в командной строке Linux, которые сэкономят вам уйму времени и в некоторых случаях избавят от плохого настроения. Мало того, что ваши друзья или коллеги скажут: «Ну надо же!», глядя на вас. Эти приёмы, кроме того, помогут вам увеличить личную продуктивность, так как вам понадобится вводить меньше команд и даже делать меньше щелчков мышью.
Нельзя сказать, что эти советы по Linux предназначены только для начинающих. Вполне возможно, что даже опытные пользователи найдут здесь что-нибудь полезное, то, о чём они не знали несмотря на то, что пользовались Linux многие годы. Linux изучают на основе опыта. Тут сгодится и собственный опыт, и опыт других людей.
Прежде чем мы начнём, хочется отметить, что некоторые из приведённых здесь методов зависят от настройки командной оболочки.
0. Автозавершение команд с использованием клавиши Tab
Я начну с кое-чего вполне очевидного, но весьма важного: с автозавершения команд с помощью клавиши Tab .
Когда вы начинаете набирать что-то в терминале Linux, вы можете нажать клавишу Tab , после чего будет выведена подсказка, содержащая набор вариантов продолжения ввода, начинающихся с только что введённых символов.
Например, собираясь скопировать файл с именем my_best_file_1.txt , вы можете просто ввести cp m и нажать Tab для того, чтобы увидеть возможные варианты продолжения команды.
Использование клавиши Tab для автозавершения ввода
Клавишу Tab можно использовать и для автозавершения команд.
1. Переход в последнюю рабочую директорию
Представьте, что вы работали в директории, до которой не так уж и просто добраться, а потом перешли в другую директорию, расположенную совершенно в другом месте. Потом вы поняли, что вам нужно вернуться в предыдущую директорию. В этом случае достаточно воспользоваться следующей командой:
Она позволит вам оказаться в последней рабочей директории. Теперь в подобных ситуациях вам не нужно больше будет вводить длинные пути, или пользоваться копированием и вставкой.
Простое переключение между директориями
2. Возврат в домашнюю директорию
Этот приём тоже весьма очевиден. Вы можете использовать нижеприведённую команду для того, чтобы вернуться в домашнюю директорию из любого места:
Однако, в домашнюю директорию можно вернуться ещё быстрее — с помощью команды cd .
В большинстве современных дистрибутивов Linux оболочка предварительно настроена на именно такое восприятие команды cd . Это сэкономит вам пару нажатий клавиш на клавиатуре.
Самый быстрый способ перехода в домашнюю директорию
3. Вывод на экран содержимого директории
Возможно, вы зададитесь вопросом о том, в чём состоит тонкость использования команды для вывода содержимого директории. Все знают, что для этой цели служит команда ls -l .
Но в том-то всё и дело. Практически все используют команду ls -l для вывода содержимого директорий, в то время как то же самое можно сделать с помощью следующей команды:
Работоспособность этой команды зависит от дистрибутива Linux и от настройки оболочки, но весьма вероятно, что вы сможете воспользоваться ей в большинстве дистрибутивов.
Использование команды ll вместо команды ls -l
4. Вызов нескольких команд в одной строке
Представьте, что вам нужно последовательно выполнить несколько команд. Наверное, вы вводите одну команду, потом ждёте, когда она завершится, дальше — вводите следующую?
В подобной ситуации полезным окажется разделитель команд ; (точка с запятой). При таком подходе вы можете ввести несколько команд в одной строке. При этом, в отличие от обычного ввода команд, для выполнения следующей команды не надо ждать завершения предыдущей.
5. Выполнение нескольких команд в одной строке и условие на успешное завершение предыдущей команды
Только что мы рассмотрели способ вызова нескольких команд в одной строке. Это экономит время. Но что если вам нужно, скажем, при вызове двух команд, чтобы следующая команда была выполнена только в том случае, если предыдущая завершится без ошибок?
Представьте себе, что хотите собрать код, а затем, если сборка оказалась успешной, вызвать make ?
В подобной ситуации можно использовать разделитель && . Этот разделитель позволяет гарантировать то, что следующая команда будет выполнена лишь в том случае, если предыдущая отработает успешно.
Вот хороший пример использования && :
6. Простой поиск и использование ранее введённых команд
Представьте себе, что вы, пару минут или пару часов назад, вводили длинную команду, и вам снова нужна эта команда. Причём, проблема заключается в том, что вспомнить точно эту команду вы не можете.
В подобной ситуации вас спасёт обратный поиск. Данная методика позволяет проводить поиск в истории команд по ключевому слову. Тут достаточно использовать комбинацию клавиш Ctrl + R для запуска обратного поиска и ввести что-то, имеющее отношение к команде. Система просмотрит историю команд и покажет команды, соответствующие введённому запросу.
По умолчанию показан будет лишь один результат. Для того, чтобы увидеть больше результатов, соответствующих запросу, вам понадобится использовать комбинацию клавиш Ctrl + R снова и снова. Для того, чтобы выйти из режима обратного поиска, нажмите Ctrl + C .
Обратный поиск по истории команд
Обратите внимание на то, что в некоторых оболочках Bash для перебора результатов поиска можно пользоваться клавишами Page Up и Page Down .
7. Разблокировка терминала после случайного нажатия Ctrl + S
Возможно, вы привыкли пользоваться комбинацией клавиш Ctrl + S для сохранения файлов. Но если нажать эти клавиши в терминале Linux, вы его заблокируете.
8. Перемещение к началу или концу строки
Представьте себе, что вы вводите длинную команду и где-нибудь посередине понимаете, что должны что-нибудь изменить в её начале. Вероятно, вы используете клавиши-стрелки для того, чтобы сначала переместиться в начало строки, а потом вернуться в конец.
Конечно, в подобной ситуации можно использовать клавиши Home и End , но, как вариант, с помощью комбинации клавиш Ctrl + A можно перейти в начало строки, а с помощью комбинации Ctrl + E — в конец.
Перемещение к началу или концу строки
Мне такой способ кажется удобнее, чем использование клавиш Home и End , особенно когда я работаю на ноутбуке.
9. Чтение лог-файлов в режиме реального времени
Когда вам нужно проанализировать файлы журналов, в которые, во время анализа, пишет данные какое-нибудь работающее приложение, вы можете использовать команду tail с опцией -f .
Кроме того, вы можете использовать команду grep в её обычном виде для отображения только тех строк, которые вас интересуют:
Также тут можно задействовать опцию F . Это приведёт к тому, что утилита tail продолжит работать даже в том случае, если просматриваемый лог-файл будет удалён. При таком подходе, если этот файл снова будет создан, tail продолжит выводить данные из него на экран.
10. Чтение сжатых лог-файлов без их распаковки
Серверные журналы обычно сжаты с помощью gzip для экономии места на диске. Это может привести к некоторым неудобствам при анализе логов разработчиками или системными администраторами. Вам может понадобиться использовать команду scp для копирования файла в свою локальную директорию, а после этого извлечь файл из архива для того, чтобы его просмотреть, так как у вас может не быть разрешения на запись туда, где хранится интересующий вас файл.
Тут нам на помощью приходит группа команд, имя которых начинается с буквы «z». Эти команды являются альтернативой обычным командам, которые используются для работы с файлами журналов. Среди них — less , cat , grep , и другие.
Итак, используя команды zless , zcat , zgrep и подобные им, вам не придётся явным образом распаковывать сжатые файлы. Подробности об этих командах можно посмотреть здесь.
Кстати, когда я рассказал об этих «секретных» командах коллеге, мне досталась чашка кофе.
11. Использование команды less для чтения файлов
Если вам нужно просмотреть файл, особенно — большой, можно попробовать команду cat , но гораздо лучше поискать что-нибудь другое. Дело в том, что cat выведет на экран весь файл, что не так уж и удобно.
Для просмотра файлов можно воспользоваться редакторами вроде Vi или Vim, работающими в терминале, но если вам просто нужно прочесть файл, очень кстати окажется команда less .
Во время сеанса работы с less можно искать нужные фрагменты текста по ключевым словам, перемещаться по страницам, выводить данные с номерами строк, и так далее.
12. Повторное использование последнего элемента из предыдущей команды с помощью !$
Во многих ситуациях очень кстати оказывается возможность использования аргумента предыдущей команды.
Предположим, вам нужно создать директорию, а потом в неё перейти. Тут можно воспользоваться опцией !$ , вводя команду перехода после команды создания директории.
Применение !$ для использования аргумента последней команды
Ещё лучше то же самое делается с помощью сочетания клавиш Alt +. (точка). Точку можно использовать несколько раз для перебора опций последней команды.
13. Использование предыдущей команды в текущей команде с помощью !!
С помощью !! можно вызвать всю предыдущую команду. Этот приём оказывается особенно полезным, когда вам нужно выполнить команду и оказывается, что для её выполнения нужны привилегии суперпользователя. Например, на рисунке ниже показана ситуация, в которой команда sudo !! позволяет сэкономить немало времени.
Воспользуйтесь. для подстановки последней команды в качестве аргумента
14. Использование псевдонимов для исправления ошибок ввода
Возможно, вы уже знакомы с командой alias . Её можно использовать для исправления ошибок во введённых командах.
Теперь вам не придётся перенабирать эту команду если вы введёте её имя неправильно.
15. Копирование и вставка в терминале Linux
Этот совет несколько неоднозначен, так как он зависит от дистрибутива Linux и от терминала.
Но обычно команды копирования и вставки можно вызывать следующим образом:
- Выделите текст, который надо скопировать, и щёлкните правой кнопкой мыши для его вставки (работает в Putty и других SSH-клиентах для Windows).
- Выделите текст, который надо скопировать, после чего щёлкните центральной кнопкой мыши (колесом прокрутки) для того, чтобы его вставить.
- Используйте комбинации клавиш Ctrl + Shift + C для копирования, и Ctrl + Shift + V для вставки.
16. Завершение работы команды или процесса
Возможно, то, что я тут хочу посоветовать, совершенно очевидно, однако, всё равно об этом расскажу. Если команда выполняется на переднем плане и вы хотите из неё выйти, можете нажать клавиши Ctrl + C для того, чтобы её остановить.
17. Использование команды yes для автоматизации интерактивных команд или скриптов
Если вам приходится работать с некоторыми командами или скриптами, которые предусматривают взаимодействие с пользователем, и вы знаете, что будете вводить Y в ответ на каждый вопрос программы, можете автоматизировать этот процесс с помощью команды yes . Делается это так:
18. Очистка содержимого файла без удаления самого файла
Если вы хотите очистить содержимое текстового файла, не удаляя сам файл, можете использовать следующую команду:
19. Выяснение наличия в директории файлов, содержащих определённый текст
Командная строка Linux поддерживает множество способов поиска информации. Однако, если вам просто нужно узнать, имеются ли в некоей директории файлы, которые содержат определённый текст, вы можете воспользоваться такой командой:
Однако я советую всем, кому нужен поиск в Linux, разобраться как следует с командой find .
20. Вызов справки для любой команды
Хочу завершить этот материал одним весьма очевидным, но, тем не менее, очень важным «трюком», который заключается в вызове справки для команды или инструмента командной строки.
Практически все средства командной строки содержат справочную информацию, раскрывающую особенности их использования. Обычно чтение справки помогает разобраться с основами команды. Вызвать справку можно так:
Итоги: делитесь полезными советами!
Я намеренно не включил в этот материал команды вроде fuck, так как они не из тех стандартных средств, которые можно найти буквально повсюду. То, о чём я тут рассказал, может принести пользу при работе практически со всеми дистрибутивами Linux и оболочками командной строки без необходимости установки новых программ.
Запуск терминала в Ubuntu непосредственно на рабочем столе также возможен по комбинациям клавиш.
- Ctrl+Alt+T — запускает окно терминала на активном рабочем столе.
- Alt+F2 — откроется окно «Выполнить», где достаточно вписать «lxterminal» и подтвердить кнопкой Ok.
- Ctrl+Alt+(F1-F6) — откроется системная консоль (можно запустить до шести консолей одновременно), графическим аналогом которой и является терминал. Хотя эти комбинации относятся к системным, а не к терминалу, но с их помощью также можно получить доступ к режиму ввода команд.
- Ctrl+Alt+F7 — возврат из консоли на рабочий стол.
- Win+T — вызов терминала в Linux Ubuntu с рабочим окружением XFCE.
Управление окнами и вкладками
Нередко встречаются ситуации, когда нужно использовать несколько окон терминала. Это неудобно, поэтому в терминале предусмотрена возможность работать с различными вкладками в одном окне.
Управление отображением
С помощью представленных ниже комбинаций можно управлять информацией, отображаемой в окне терминала.
- Ctrl+L — полностью очищает экран от записей. Вместо сочетания клавиш можно использовать команду «clear».
- Ctrl+S — остановка вывода в Bash. Актуально во время запуска команд, отображающих огромное количество выходных данных. Команда продолжит выполняться, но вывод результатов ее работы отображаться не будет.
- Ctrl+Q — вернуть вывод данных, если он был остановлен с использованием Ctrl+S.
Управление курсором
Хотя перемещать курсор в нужную позицию можно стрелочками на клавиатуре, следующие сокращения позволят установить его в нужную позицию. Это позволит быстрее и удобнее вводить команды.
- Ctrl+A(Home) — быстрый переход в начало строчки.
- Ctrl+E(End) — быстрый переход в конец строчки.
- Alt+B — перемещение курсора влево на одно слово (назад).
- Ctrl+B — перемещение на символ влево (назад).
- Alt+F — перемещение на слово вперед.
- Ctrl+F — перемещение на символ вперед.
- Ctrl+XX — быстрое перемещение на начало строчки и возврат на прошлую позицию. Это сочетание клавиш используется, когда необходимо изменить что-то в начале строки и этой же комбинацией перейти на исходное место курсора.
Удаление текста и исправление опечаток
Исправлять опечатки или удалять ненужные символы можно такими комбинациями:
Работа с буфером обмена
В Bash также можно работать с буфером обмена, вырезая и вставляя текст.
- Ctrl+W — вырезать слово перед курсором (и скопировать в буфер обмена).
- Ctrl+K — вырезать строку, набранную после курсора.
- Ctrl+U — вырезать строку перед курсором.
- Ctrl+Y — вставить последний текст, добавленный в буфер обмена.
- Shift+Insert — вставить текст из буфера обмена в строку терминала.
Операции форматирования
В Bash с помощью горячих клавиш (hotkeys) можно быстро изменять регистр символов, что подходит для исправления «правильных» опечаток.
- Alt+U — все символы, начиная от курсора до конца слова будет преобразован в верхний регистр.
- Alt+L — все символы, начиная от курсора до конца слова, преобразовывается в нижний регистр.
- Alt+C — расположенный под курсором символ преобразовывается в верхний регистр, причем курсор переместится в конец слова.
Функция автодополнения с клавишей Tab
Данная функция относится к одной из наиболее полезных в терминале. Во время ввода имени файла, каталога или команды достаточно нажать Tab, после чего ввод должен автоматически завершиться. Если таковой возможности нет, в окне терминала будут отображены всевозможные способы дополнения, позволяя пользователю дальше печатать и нажимать Tab для завершения ввода.
Tab — автоматическое завершение набора имени файла, директории или команды.
Управление историей введенных команд
Чтобы избежать частых переписываний одинаковых команд, вспомнить ранее введенную и забытую и выполнить другие операции, можно посмотреть их историю. Она хранится в файле по пути «
/.bash_history», который можно открыть через любой текстовый редактор и просто ознакомиться с ней наглядно.
- Ctrl+P(Стрелка вверх) — показывает предыдущую выполненную команду из сохраненной истории Bash. Нажимать можно не один раз, до момента пока не будет найдена нужная.
- Ctrl+N(Стрелка вниз) — нажатие клавиш отобразит следующую команду из истории. Также можно нажимать неограниченное количество раз.
- Alt+R — если команда была найдена через историю, а затем отредактирована, данное сочетание клавиш отменит эту правку.
В терминале также доступна функция поиска ранее запущенных команд.
- Ctrl+R — открывает режим поиска команд. Достаточно удержать эту комбинацию и начать набирать команду, что позволит найти ее в истории.
- Ctrl+O — выполнение найденной с использованием Ctrl+R команды.
- Ctrl+G — завершить работу с режимом поиска по истории, не выполняя команду.
Контроль над процессами
Чтобы управлять процессами в терминале, используется следующий список горячих клавиш:
Читайте также: