Советы и трюки с командами Linux, которые сэкономят вам много времени и повысят вашу производительность

Вы когда-нибудь сталкивались с ситуацией, когда вы видите, что ваш коллега использует несколько простых команд Linux для выполнения задач, на которые у вас уходило несколько нажатий клавиш? И когда вы увидели это, вы сказали: "Вау! Я и не знал, что это можно сделать так просто".

Table of Contents

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

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

Использование вкладки для автозавершения

Я начну с чего-то действительно очевидного и в то же время очень важного: завершение вкладки.

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

Например, если вы пытаетесь скопировать файл с именем my_best_file_1.txt, вы можете просто набрать 'cp m' и нажать клавишу tab, чтобы увидеть возможные варианты.
Вы можете использовать tab и для завершения команд.

Переход обратно в последний рабочий каталог

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

Это вернет вас в последний рабочий каталог. Вам больше не нужно набирать длинный путь к каталогу или копировать его.

Вернитесь в домашний каталог

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

Однако вы также можете использовать просто cd для возврата в домашний каталог:

В большинстве современных дистрибутивов Linux оболочка предварительно настроена на эту команду. Это сэкономит вам как минимум два нажатия клавиш.

Перечислить содержимое каталога

Вы, наверное, догадываетесь, в чем хитрость команды для вывода содержимого каталога. Все знают, что для этого нужно использовать команду ls -l.

В том-то и дело. Большинство людей используют ls -l для перечисления содержимого каталога, тогда как то же самое можно сделать с помощью следующей команды:

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

Выполнение нескольких команд одной командой

Предположим, вам нужно выполнить несколько команд Linux одну за другой. Ждать ли окончания выполнения первой команды, а затем выполнять следующую?

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

Выполнение нескольких команд в одной единственной команде только в том случае, если предыдущая команда была успешной

В предыдущей команде вы увидели, как запустить несколько команд в одной команде, чтобы сэкономить время. Но что, если вам нужно убедиться, что команды не провалятся?

Представьте себе ситуацию, когда вы хотите собрать код, а затем, если сборка прошла успешно, запустить make?

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

Хорошим примером такой команды является использование sudo apt update && sudo apt upgrade для обновления системы.

Легкий поиск и использование команд, которые вы использовали в прошлом

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

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

Просто используйте клавиши ctrl+r для запуска обратного поиска и введите часть команды. Это приведет к поиску в истории и покажет вам команды, соответствующие поисковому запросу.

ctrl+r search_term

По умолчанию будет показан только один результат. Чтобы увидеть больше результатов, соответствующих вашему поисковому запросу, вам придется использовать ctrl+r снова и снова. Чтобы выйти из обратного поиска, просто нажмите Ctrl+C.

Обратите внимание, что в некоторых оболочках Bash вы также можете использовать клавиши Page Up и Down вместе с поисковым запросом, и это приведет к автозаполнению команды.

Разморозьте свой терминал Linux от случайного Ctrl+S

Вы, вероятно, привыкли использовать Ctrl+S для сохранения. Но если вы используете его в терминале Linux, у вас будет замороженный терминал.

Не волнуйтесь, вам больше не нужно закрывать терминал. Просто используйте Ctrl+Q и вы снова сможете пользоваться терминалом.

ctrl+Q

Перемещение в начало или конец строки

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

Конечно, здесь можно использовать клавиши Home и End, но в качестве альтернативы можно использовать Ctrl+A для перехода к началу строки и Ctrl+E для перехода к концу.
Это более удобно, чем использование клавиш Home и End, особенно на ноутбуке.

Удаление всей строки из позиции курсора

Очень многие люди либо не знают об этом, либо почти не используют.

В терминале Linux, если вы нажмете Ctrl+U, то удалите все от текущей позиции курсора до начала строки.

Аналогично, если вы нажмете Ctrl+K, то удалите все от позиции курсора до конца строки.

Возможно, ошиблись при вводе пароля? Вместо того чтобы использовать клавишу Backspace, просто нажмите Ctrl+U и наберите пароль заново. Вы можете найти множество других применений этим сочетаниям клавиш.

Чтение файла журнала в реальном времени

В ситуациях, когда вам нужно проанализировать журналы во время работы приложения, вы можете использовать команду tail с опцией -f.

Вы также можете использовать обычные опции grep для отображения только тех строк, которые имеют для вас значение:

Вы также можете использовать опцию F. Это позволит сохранить хвост запущенным, даже если файл журнала будет удален. Таким образом, если файл журнала будет создан снова, tail продолжит ведение журнала.

Чтение сжатых журналов без извлечения

Журналы сервера обычно сжимаются gzip для экономии дискового пространства. Это создает проблему для разработчика или системного администратора, анализирующего журналы. Вам может потребоваться переслать его на локальный диск, а затем извлечь его, чтобы получить доступ к файлам, потому что иногда у вас нет прав на запись для извлечения журналов.

К счастью, команды z спасают вас в таких ситуациях. Команды z предоставляют альтернативу обычным командам, которые вы используете для работы с лог-файлами, таким как less, cat, grep и т.д..

Таким образом, вы получаете zless, zcat, zgrep и т.д., и вам даже не нужно явно извлекать сжатые файлы.

Используйте less для чтения файлов

Чтобы просмотреть содержимое файла, команда cat - не лучший вариант, особенно если это большой файл. Команда cat отобразит весь файл на экране.

Вы можете использовать Vi, Vim или другие текстовые редакторы на базе терминала, но если вы просто хотите прочитать файл, команда less - лучший выбор.

Вы можете искать термины внутри less, перемещаться по страницам, отображать с номерами строк и т.д.

Повторное использование последнего элемента из предыдущей команды с помощью !$

Использование аргумента предыдущей команды удобно во многих ситуациях.

Скажем, вам нужно создать каталог, а затем перейти в только что созданный каталог. Там вы можете использовать опции !$.

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

Повторное использование предыдущей команды в настоящей команде с помощью !!!

Вы можете вызвать всю предыдущую команду с помощью !!. Это особенно полезно, когда вам нужно выполнить команду и вы понимаете, что она требует привилегий root.

Быстрая команда sudo !! сэкономит много нажатий клавиш.

Использование псевдонима для исправления опечаток

Вы, вероятно, уже знаете, что такое команда alias в Linux. Вы можете использовать их для исправления опечаток.

Например, вы часто ошибочно вводите grep как gerp. Если вы введете псевдоним в bashrc следующим образом:

Таким образом, вам не придется набирать команду заново.

Копирование-вставка в терминале Linux

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

  • Выберите текст для копирования и нажмите правую кнопку мыши для вставки (работает в Putty и других клиентах Windows SSH)
  • Выделите текст для копирования и нажмите среднюю кнопку мыши (кнопку прокрутки на мышке) для вставки
  • Ctrl+Shift+C для копирования и Ctrl+Shift+V для вставки

Убить запущенную команду/процесс

Этот пункт, возможно, слишком очевиден. Если на переднем плане запущена команда, и вы хотите выйти из нее, вы можете нажать Ctrl+C, чтобы остановить запущенную команду.

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

Если есть некоторые команды или скрипты, которые требуют взаимодействия с пользователем, и вы знаете, что вам придется вводить Y каждый раз, когда требуется ввод, вы можете использовать команду Yes.

Просто используйте ее следующим образом:

Очистить файл, не удаляя его

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

Поиск файлов, содержащих определенный текст

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

Использование справки с любой командой

Почти все команды и инструменты командной строки поставляются со страницей справки, которая показывает, как использовать команду. Часто с помощью справки вы узнаете основные правила использования инструмента/команды.

Просто используйте ее таким образом:

Понравилась статья? Поделиться с друзьями:
Добавить комментарий