- Как очистить терминал Linux
- Команда clear
- Команда reset
- Сочетание клавиш Ctrl+L
- clear && clear
- printf «3c»
- Горячие клавиши терминала Linux
- Горячие клавиши терминала Linux
- 1. Tab
- 2. Ctrl + R
- 3. Ctrl + C
- 4. Ctrl + Z
- 5. Ctrl + D
- 6. Ctrl + L
- 7. Ctrl+P и Ctrl+N
- 8. Ctrl + A и Ctrl + E
- 10. Ctrl + W
- 11. Ctrl + Y
- 12. Ctrl + B и Ctrl + F
- 13. Ctrl + T
- 14. Ctrl +X затем Ctrl + E
- 15. Alt +.
- 16. Alt + B и Alt + F
- 17. Alt + C, Alt + L и Alt + U
- 18. Ctrl + S и Ctrl + Q
- Сочетания клавиш эмулятора терминала
- 1. Ctrl + Alt + T
- 2. Ctrl + Shift + С и Ctrl + Shift + V
- 3. Ctrl + Shift + F
- 4. Shift + ЛКМ и Shift + ПКМ
- Выводы
- Основные приёмы обработки строк в bash
- Термины
- Сравнение строковых переменных
- Основные операторы сравнения
- Пример скрипта для сравнения двух строковых переменных
- Создание тестового файла
- Основы работы с grep
- Синтаксис команды
- Основные опции
- Практическое применение grep
- Поиск подстроки в строке
- Вывод нескольких строк
- Чтение строки из файла с использованием регулярных выражений
- Рекурсивный режим поиска
- Точное вхождение
- Поиск нескольких слов
- Количество строк в файле
- Вывод только имени файла
- Использование sed
- Синтаксис
- Распространенные конструкции с sed
- Замена слова
- Редактирование файла
- Удаление строк из файла
- Нумерация строк
- Удаление всех чисел из текста
- Замена символов
- Обработка указанной строки
- Работа с диапазоном строк
Как очистить терминал Linux
Иногда бывает нужно очистить окно терминала от текста, чтобы начать работу, так сказать, с чистого листа. Рассмотрим 5 различных способов очистить терминал.
Команда clear
Самая простая для запоминания команда — команда clear.
Команда clear очищает окно терминала. На самом деле вывод предыдущих команд в терминале никуда не удаляется, просто строка ввода команд перемещается на первую строку терминала, а под ней вы получаете чистое пространство. (См. ниже, как удалить предыдущий текст в терминале.)
Команда reset
Команда reset предназначена для того, чтобы вернуть терминал в первоначальное состояние.
Например, если после выполнения какой-нибудь программы вы пытаетесь ввести в терминале команду, а вводятся совсем не те символы, которые вы нажимаете. В таком случае команда reset восстановит исходное состояние терминала. Также после выполнения данной команды окно терминала очищается.
Сочетание клавиш Ctrl+L
Один из самых быстрых и простых способов очистить терминал — это нажать сочетание клавиш Ctrl+L .
Действие Ctrl+L аналогично выполнению команды clear.
clear && clear
Если выполнить команду clear один раз, то окно терминала будет очищено, но при этом, если до этого в нем было много текста, то можно использовать скролл и просмотреть этот текст. Если выполнить команду clear повторно, то предыдущий вывод в окне терминала будет очищен. Чтобы два раза не вводить clear, можно выполнить:
printf «\033c»
Если выполнить в терминале команду printf «\033c», то окно терминала очистится.
Код 033 (восьмеричная система счисления) соответствует ASCII коду Esc-последовательности. Ввод Esc-последовательности+c в терминале выполняет сброс настроек терминал в первоначальное состояние (подобно команде reset).
Источник
Горячие клавиши терминала Linux
Терминал — один из самых мощных инструментов Linux. С помощью него можно настроить и сделать практически всё в этой операционной системе. Чтобы сделать работу в терминале ещё более удобной и продуктивной разработчики добавили различные сочетания клавиш.
В этой статье мы собрали самые полезные горячие клавиши терминала Linux, которые могут пригодится вам в работе. Здесь есть комбинации клавиш для навигации по истории команд, коррекции ошибок и управления окном терминала. Все клавиши расположены в случайном порядке.
Горячие клавиши терминала Linux
1. Tab
Без этого сочетания терминалом пользоваться невозможно, и поэтому его знают все. Одно нажатие клавиши Tab автоматически дополняет текущую команду или путь к файлу если возможен только один вариант. Два нажатия по ряд показывают возможные варианты автодополнения. Это делает набор команд и путей к файлам намного быстрее.
2. Ctrl + R
После нажатия Ctrl+R появляется строка поиска в которой вы можете начать вводить имя команды, которую надо выполнить. Система найдёт все команды, которые ранее выполнялись с таким началом и отобразит самую свежую. Вы можете уточнить поиск добавив ещё несколько символов. Для выполнения команды просто нажмите Enter, для редактирования Esc.
3. Ctrl + C
Это сочетание клавиш позволяет прервать работу любой программы, которая выполняется в терминале. После нажатия Ctr + C программе отправляется сигнал SIGINT и если она не обрабатывает его особым образом выполнение программы завершается. Некоторые программы перехватывают сигнал и перед завершением выполняют кое какие действия по сохранению данных и завершению операций, например пакетный менеджер zypper.
4. Ctrl + Z
С помощью Ctrl+Z вы можете перевести текущую программу в фоновый режим. Обычно, если вам надо чтобы программа выполнялась в фоновом режиме просто добавьте символ & после команды. Но если вы забыли это сделать поможет это сочетание клавиш. Чтобы посмотреть задачи, которые сейчас работают в фоне используйте команду jobs, а для возврата задачи в нормальный режим — команду fg.
5. Ctrl + D
Сочетание клавиш Ctrl+D можно считать альтернативой команды exit. Если вы подключены по SSH то сессия будет разорвана. Если вы работаете в терминале напрямую, то окно будет закрыто.
6. Ctrl + L
Альтернатива команды clear. Позволяет очистить вывод терминала. Очень удобно для создания снимков экрана и просто для очистки лишней информации.
7. Ctrl+P и Ctrl+N
Эти сочетания клавиш альтернативы клавишам стрелки вверх и вниз. Первое показывает предыдущую введенную команду, а второе следующую. Так вы можете перемещаться по истории команд. Это не удобнее стрелок, но иногда может быть полезно.
8. Ctrl + A и Ctrl + E
Перемещаться можно не только по истории команд, но и по текущей строке. Эти горячие клавиши — аналоги клавиш Home и End. Первая комбинация перемещает курсор в начало строи, а вторая в конец.
9. Ctrl + U и Ctrl + K
С помощью первого сочетания можно удалить весь текст от начала строки до позиции курсора, а с помощью второго — от позиции курсора и до конца строки. Это может быть полезно если вы ввели неверную команду и не хотите стирать её по одному символу.
10. Ctrl + W
Нажав Ctrl+W вы можете стереть слово перед курсором. Если курсор находится в середине слова, то будут стёрты все символы от курсора до начала слова. Удобнее всего ставить курсор после слова, которое нужно убрать.
11. Ctrl + Y
С помощью Ctrl + Y вы можете вставить текст вырезанный с помощью Ctrl + U, Ctrl + K и Ctrl + W. Текст будет вставлен туда, где находится курсор.
12. Ctrl + B и Ctrl + F
Аналог для клавиш стрелка вправо и стрелка влево. Первое сочетание позволяет перемещаться на один символ вправо, а второе на один символ влево.
13. Ctrl + T
Заменяет символ, находящийся под курсором на предыдущий символ. Или перемещает символ перед курсором к концу строки.
14. Ctrl +X затем Ctrl + E
Открывает текущую команду в текстовом редакторе. Если в переменной EDITOR редактор не задан, то будет использоваться nano. После редактирования и сохранения результата команда будет выполнена. Удобно для написания многострочных скриптов.
15. Alt +.
Аналог команды $!. Позволяет вставить последний аргумент предыдущей команды в позицию курсора. Удобно, если надо выполнить несколько команд с одинаковым аргументом.
16. Alt + B и Alt + F
Эти сочетания позволяют перемещаться по словам, также как их аналоги с Ctrl по символам. Alt + B перемещает курсор на слово влево, а Alt+F на слово вправо.
17. Alt + C, Alt + L и Alt + U
Следующие три сочетания клавиш позволяют играть с регистром символов команды. Первое сочетание — Alt + C делает символ под курсором прописным, а все остальные буквы до конца слова строчными. Alt + L делает все буквы до конца слова строчными, а Alt + U — прописными.
18. Ctrl + S и Ctrl + Q
Если команда выводит информацию слишком быстро, а вам надо прочитать её или скопировать, можно попросить терминал поставить на паузу вывод команды. Для этого нажмите Ctrl +S. Чтобы вернуть всё обратно нажмите Ctrl + Q.
Сочетания клавиш эмулятора терминала
Все сочетания клавиш, перечисленные выше будут работать во всех терминалах и эмуляторах терминала, которые используют командную оболочку Bash или другую популярную оболочку. Но у популярных эмуляторов терминала есть свои горячие клавиши, которые могут вам очень сильно пригодится при работе. Давайте рассмотрим их тоже. В этой статье будут использоваться горячие клавиши из Gnome Terminal, но в других терминалах они похожи.
1. Ctrl + Alt + T
С помощью этого сочетания клавиш можно открыть терминал в большинстве дистрибутивов, основанных на Ubuntu и Debian. Это просто, быстро и удобно.
2. Ctrl + Shift + С и Ctrl + Shift + V
Копирование и вставка — очень важные функции операционной системы. Сочетание клавиш Ctrl + C просто не может работать для копирования, потому что оно используется для завершения команды, поэтому для копирования и вставки была добавлена клавиша Shift.
3. Ctrl + Shift + F
Если вам надо выполнить поиск по выводу в терминале можно воспользоваться сочетанием Ctrl + Shift + F. После нажатия откроется окно ввода, в котором вы можете ввести искомое слово.
4. Shift + ЛКМ и Shift + ПКМ
Здесь ЛКМ и ПКМ — это правая и левая кнопка мышки. Такие программы, как screen и tmux в режиме поддержки работы мышью захватывают контроль мышки и вяжут на неё свои функции. Таким образом обычное копирование и вставка могут стать проблемой. Чтобы этого избежать можно выделять текст сочетанием клавиш Shift + ЛКМ и открывать контекстное меню с помощью Shift + ПКМ.
Выводы
В этой статье мы собрали лучшие сочетания клавиш терминала Linux, которые могут пригодится вам в работе с системой или во время её настройки. А какие горячие клавиши нравятся вам? Какие вы используете? Напишите в комментариях!
Источник
Основные приёмы обработки строк в bash
Работа со строками в bash осуществляется при помощи встроенных в оболочку команд.
Термины
- Консольные окружения — интерфейсы, в которых работа выполняется в текстовом режиме.
- Интерфейс — механизм взаимодействия пользователя с аппаратной частью компьютера.
- Оператор — элемент, задающий законченное действие над каким-либо объектом операционной системы (файлом, папкой, текстовой строкой и т. д.).
- Текстовые массивы данных — совокупность строк, записанных в переменную или файл.
- Переменная — поименованная область памяти, позволяющая осуществлять запись и чтение данных, которые в нее записываются. Она может принимать любые значения: числовые, строковые и т. д.
- Потоковый текстовый редактор — программа, поддерживающая потоковую обработку текстовой информации в консольном режиме.
- Регулярные выражения — формальный язык поиска части кода или фрагмента текста (в том числе строки) для дальнейших манипуляций над найденными объектами.
- Bash-скрипты — файл с набором инструкций для выполнения каких-либо манипуляций над строкой, текстом или другими объектами операционной системы.
Сравнение строковых переменных
Для выполнения операций сопоставления 2 строк (str1 и str2) в ОС на основе UNIX применяются операторы сравнения.
Основные операторы сравнения
- Равенство « = »: оператор возвращает значение «истина» («TRUE»), если количество символов в строке соответствует количеству во второй.
- Сравнение строк на эквивалентность « == »: возвращается «TRUE», если первая строка эквивалентна второй ( дом == дом ).
- Неравенство «str1 != str2»: «TRUE», если одна строковая переменная не равна другой по количеству символов.
- Неэквивалентность «str1 !== str2»: «TRUE», если одна строковая переменная не равна другой по смысловому значению ( дерево !== огонь ).
- Первая строка больше второй «str1 > str2»: «TRUE», когда str1 больше str2 по алфавитному порядку. Например, « дерево > огонь » , поскольку литера «д» находится ближе к алфавитному ряду, чем «о».
- Первая строка меньше второй «str1 str2»: «TRUE», когда str1 меньше str2 по алфавитному порядку. Например, « огонь », поскольку «о» находится дальше к началу алфавитного ряда, чем «д».
- Длина строки равна 0 « -z str2»: при выполнении этого условия возвращается «TRUE».
- Длина строки отлична от нулевого значения « -n str2»: «TRUE», если условие выполняется.
Пример скрипта для сравнения двух строковых переменных
- Чтобы сравнить две строки, нужно написать bash-скрипт с именем test .
- Далее необходимо открыть терминал и запустить test на выполнение командой:
- Предварительно необходимо дать файлу право на исполнение командой:
- После указания пароля скрипт выдаст сообщение на введение первого и второго слова. Затем требуется нажать клавишу «Enter» для получения результата сравнения.
Создание тестового файла
Обработка строк не является единственной особенностью консольных окружений Ubuntu. В них можно обрабатывать текстовые массивы данных.
- Для практического изучения команд, с помощью которых выполняется работа с текстом в интерпретаторе bash, необходимо создать текстовый файл txt .
- После этого нужно наполнить его произвольным текстом, разделив его на строки. Новая строка не должна сливаться с другими элементами.
- Далее нужно перейти в директорию, в которой находится файл, и запустить терминал с помощью сочетания клавиш — Ctrl+Alt+T.
Основы работы с grep
Поиск строки в файле операционной системы Linux Ubuntu осуществляется посредством специальной утилиты — grep . Она позволяет также отфильтровать вывод информации в консоли. Например, вывести все ошибки из log-файла утилиты ps или найти PID определенного процесса в ее отчете.
Команда grep работает с шаблонами и регулярными выражениями. Кроме того, она применяется с другими командами интерпретатора bash.
Синтаксис команды
Для работы с утилитой grep необходимо придерживаться определенного синтаксиса
- grep [options] pattern [file_name1 file_name2 file_nameN] (где «options» — дополнительные параметры для указания настроек поиска и вывода результата; «pattern» — шаблон, представляющий строку поиска или регулярное выражение, по которым будет осуществляться поиск; «file_name1 file_name2 file_nameN» — имя одного или нескольких файлов, в которых производится поиск).
- instruction | grep [options] pattern (где «instruction» — команда интерпретатора bash, «options» — дополнительные параметры для указания настроек поиска и вывода результата, «pattern» — шаблон, представляющий строку поиска или регулярное выражение, по которым будет производиться поиск).
Основные опции
- Отобразить в консоли номер блока перед строкой — -b .
- Число вхождений шаблона строки — -с .
- Не выводить имя файла в результатах поиска — -h .
- Без учета регистра — -i .
- Отобразить только имена файлов с совпадением строки — -l .
- Показать номер строки — -n .
- Игнорировать сообщения об ошибках — -s .
- Инверсия поиска (отображение всех строк, в которых не найден шаблон) — -v .
- Слово, окруженное пробелами, — -w .
- Включить регулярные выражения при поиске — -e .
- Отобразить вхождение и N строк до и после него — -An и -Bn соответственно.
- Показать строки до и после вхождения — -Cn .
Практическое применение grep
Поиск подстроки в строке
В окне терминала выводятся все строки, содержащие подстроку. Найденные совпадения подсвечиваются другим цветом.
- С учетом регистра:
- Без учета регистра:
Вывод нескольких строк
- Строка с вхождением и две после нее:
- Строка с вхождением и три до нее:
- Строка, содержащая вхождение, и одну до и после нее:
Чтение строки из файла с использованием регулярных выражений
Регулярные выражения расширяют возможности поиска и позволяют выполнить разбор строки на отдельные элементы. Они активируются при помощи ключа -e.
- Вывод строки, в начале которой встречается слово «Фамилия».
Чтобы вывести первый символ строки, нужно воспользоваться конструкцией
grep «оболочка$» firstfile.txt Если требуется вывести символ конца строки, то следует применять конструкцию
grep «а.$» firstfile.txt . В этом случае будут выведены все строки, заканчивающиеся на литеру «а».
Если воспользоваться числовыми интервалами, то можно вывести все строки, в которых встречаются числа:
Рекурсивный режим поиска
- Чтобы найти строку или слово в нескольких файлах, расположенных в одной папке, нужно использовать рекурсивный режим поиска:
- Если нет необходимости выводить имена файлов, содержащих искомую строку, то можно воспользоваться ключом-параметром деактивации отображения имен:
Точное вхождение
При поиске союза «и» grep будет выводить все строки, в которых он содержится. Чтобы этого избежать, требуется использовать специальный ключ « w »:
Поиск нескольких слов
Утилита «w» позволяет искать не только одно слово, но и несколько одновременно
Количество строк в файле
При помощи grep можно определить число вхождений строки или подстроки в текстовом файле и вывести ее номер.
- Число вхождений:
- Номера строк с совпадениями:
Инверсия
Если в тексте требуется найти определенные строки, которые не содержат какого-либо слова или подстроки, то рекомендуется использовать инверсионный режим поиска.
Вывод только имени файла
Чтобы не выводить все строки с совпадением, а вывести только имя файла, нужно воспользоваться конструкцией:
Использование sed
Потоковый текстовый редактор « sed » встроен в bash Linux Ubuntu. Он использует построчное чтение, а также позволяет выполнить фильтрацию и преобразование текста.
Синтаксис
Для работы с потоковым текстовым редактором sed используется следующий синтаксис:
sed [options] instructions [file_name] (где «options» — ключи-опции для указания метода обработки текста, «instructions» — команда, совершаемая над найденным фрагментом текста, «file_name» — имя файла, над которым совершаются действия).
Для вывода всех опций потокового текстового редактора нужно воспользоваться командой:
Распространенные конструкции с sed
Замена слова
Например, если требуется заменить строку в файле или слово с «команды» на «инструкции». Для этого нужно воспользоваться следующими конструкциями:
- Для первого вхождения:
Произвести замену только в строках, которые заканчиваются на«Bash»:
Редактирование файла
Чтобы записать строку в файл, нужно указать параметр замены одной строки на другую, воспользовавшись ключом — -i :
После выполнения команды произойдет замена слова «команды» на «инструкции» с последующим сохранением файла.
Удаление строк из файла
- Удалить первую строку из файла:
- Удалить строку из файла, содержащую слово«окне»:
После выполнения команды будет удалена первая строка, поскольку она содержит указанное слово.
Нумерация строк
Строки в файле будут пронумерованы следующим образом: первая строка — 1, вторая — 2 и т. д.
Следует обратить внимание, что нумерация начинается не с «0», как в языках программирования.
Удаление всех чисел из текста
Замена символов
Чтобы заменить набор символов, нужно воспользоваться инструкцией, содержащей команду « y »:
Обработка указанной строки
Утилита производит манипуляции не только с текстом, но и со строкой, указанной в правиле шаблона (3 строка):
Работа с диапазоном строк
Для выполнения замены только в 3 и 4 строках нужно использовать конструкцию:
Вставка содержимого файла после строки
Иногда требуется вставить содержимое одного файла (input_file.txt) после определенной строки другого (firstfile.txt). Для этой цели используется команда:
sed ‘5r input_file.txt’ firstfile.txt (где «5r» — 5 строка, «input_file.txt» — исходный файл и «firstfile.txt» — файл, в который требуется вставить массив текста).
Начни экономить на хостинге сейчас — 14 дней бесплатно!
Источник