У вас когда-то был такой момент, когда вы смотрели как ваш коллега использовал некоторые очень простые команды или трюки для задач, которые требовали нескольких нажатий клавиш?
В этой статье я покажу вам некоторые трюки, которые сэкономят вам много времени. Вы сможете не только похвастаться перед друзьями, но и это также поможет вам увеличить производительность.
Дело не в том, что это советы для начинающих пользователей Linux. Скорее всего, даже опытные пользователи Linux найдут подводные камни, о которых они даже и не догадывались, несмотря на то, что все эти годы использовали Linux.
В любом случае вы изучаете Linux по опыту, будь то ваш собственный или чужой 🙂
Как сэкономить время и увеличить производительность в терминале Linux
Возможно, вы уже знаете некоторые из этих команд Linux или, возможно, даже все. В любом случае, вы можете делиться своими любимыми трюками в комментариях.
TAB для автозаполнения
Когда вы начинаете вводить что-то в терминале Linux, вы можете нажать клавишу TAB, и она предложит все возможные варианты, которые начинаются с этой строки набранной вами в терминале.
Например, если вы пытаетесь скопировать файл с именем МОЙ_ФАЙЛ.txt, вы можете просто ввести «cp М» и нажать TAB, чтобы просмотреть возможные варианты. Если такой файл один, то в терминале сразу же подставится полный путь, иначе у вас будет выбор из нескольких вариантов.
Возврат в предыдущий каталог
Предположим, вы гуляете по каталогам, а затем переходите в другой каталог по совершенно другому пути. И вы понимаете, что вам нужно вернуться к предыдущему каталогу, в котором вы были. В этом случае вам нужно только ввести команду:
cd -
Которая вернет вас в последний рабочий каталог. Вам не нужно вводить длинный путь к каталогу или копировать его.
Узнать содержимое каталога
Всем известно, что для этой цели используется команда
ls -l
И это все. Большинство людей используют ls -l для отображения содержимого каталога, тогда как то же самое можно сделать с помощью команды:
ll
Опять же, это зависит от дистрибутивов Linux и конфигурации оболочки, но, скорее всего, вы сможете использовать эту команду в большинстве дистрибутивов Linux.
Выполнение нескольких команд в одной строке
Предположим, вам нужно запускать несколько команд одну за другой. Вы конечно ждете, пока первая команда завершится, а уже потом запускаете следующую команду?
Вам на помощь придет ‘;’ (точка с запятой). Таким образом, вы можете запустить несколько команд в одной строке. Не нужно ждать, пока предыдущие команды закончат свою работу.
команда_1; команда_2; команда_3
Выполнение нескольких команд в одной строке только в том случае, если предыдущая команда была успешной
Предыдущая команда вам показала, как выполнять несколько команд в одной строке, чтобы сэкономить время. Но что, если вам нужно убедиться, что команды работают правильно?
Представьте себе ситуацию, когда вы хотите создать код, а затем, если сборка программы прошла успешно, запустить make.
Вы можете использовать && (два амперсанта) для этого случая. && гарантирует, что следующая команда будет выполняться только тогда, когда предыдущая команда завершилась с успехом.
команда_1 && команда_2
Хорошим примером этой команды является использование обновления
sudo apt update && sudo apt upgrade
Как найти команду, которую вы недавно использовали
Представьте себе ситуацию, когда вы вводили очень длинную команду пару минут/часов назад, и вам нужно использовать ее снова. Проблема в том, что вы уже не помните точную команду.
Обратный поиск — ваш спаситель. Вы можете найти команду в истории, используя поисковый запрос.
Просто используйте клавиши ctrl+r, чтобы начать обратный поиск и введите часть команды. Он заглянет в историю и покажет вам команды, соответствующие поисковому запросу.
По умолчанию эта команда покажет только один результат. Чтобы увидеть больше результатов, вам придется использовать опять ctrl+r. Ну а чтобы отказаться от поиска, просто используйте Ctrl+C.
Обратите внимание, что вы также можете использовать клавишу «Вверх» и «Вниз» чтобы найти команду.
Копирование/Вставка
Вероятно, вы, используете сочетание клавиш Ctrl+C для копирования и Ctrl+V для вставки в обычном текстовом редакторе. Но в терминале вам нужно будет использовать Ctrl+Shift+C для копирования и Ctrl+Shift+V для вставки,
Также, вы можете использовать мышь для этих целей, и если вы хотите копировать слово, то просто кликните на нем два раза левой кнопкой мыши, а для того чтобы вставить, то просто нажмите колесико мыши.
Переместиться в начало или конец строки
Предположим, вы набираете длинную команду, и на полпути вы понимаете, что вам нужно было что-то изменить в начале. Чтобы перейти к началу строки, вы будете использовать несколько нажатия клавиши со стрелкою влево.
Конечно, вы можете использовать клавиши Home и End, но, альтернативой этому, используйте Ctrl+A, чтобы перейти к началу строки, и Ctrl+E, чтобы перейти в конец.
Чтение log-файла в режиме реального времени
В ситуациях, когда вам нужно анализировать логи во время работы приложения, вы можете использовать команду tail с опцией -f.
tail -f log_file
Вы также можете использовать регулярные опции grep для отображения только тех строк, которые вам нужны:
tail -f log_file | grep search_term
Чтение сжатых логов без извлечения
Логи сервера обычно сжаты в gzip для экономии места на диске. Это создает проблему для разработчика или системного администратора, анализирующего логи. Возможно, вам придется скачивать их на локальный компьютер, затем извлекать чтобы получить доступ к файлам, а уже потом смотреть логи.
К счастью, команды z помогают вам в таких ситуациях. Z предоставляют альтернативы регулярным командам, которые вы используете для работы с файлами логов, такими как less, cat, grep и т. д.
Таким образом, вы можете использовать zless, zcat, zgrep и т. д., И вам даже не нужно извлекать сжатые файлы.
Повторно использовать последний элемент из предыдущей команды
Использование аргумента предыдущей команды пригодится во многих ситуациях.
Скажем, вам нужно создать каталог, а затем перейти в только что созданный каталог. Для этого вам пригодится команда
!$
Повторно использовать предыдущую команду
Вы можете вызвать всю предыдущую команду с помощью !!. Это особенно полезно, когда вы запустили команду и поняли, что ей нужны привилегии root.
В прошлой статье, я уже писал о такой замечательной утилите как fuck, которая поможет вам в исправлении стандартных команд, и это прекрасное дополнение к этой статье.
А какие вы знаете команды или трюки, чтобы сэкономить время работы в терминале?
Что вы можете сказать об Zsh (z-shell, командная оболочка)? Приходилось пользоваться? Стоит ли её устанавливать? Есть ли преимущества по сравнению с традиционным bash?