
При использовании терминала Linux мы часто совершаем ошибки. В других случаях задачи кажутся просто утомительными. К счастью, существует множество приемов терминала, которые помогут вам исправить эти ошибки и легко выполнять утомительные задачи. Давайте рассмотрим некоторые из этих приемов в этом руководстве.
13 Запустите предыдущую команду с помощью sudo
Мы все были там. Вы вводите команду, нажимаете Enter и получаете сообщение «Отказано в доступе». Вы понимаете, что забыли добавить префикс sudo. Вместо того, чтобы перепечатывать все заново, вы можете использовать небольшой трюк:
пот !!
Это говорит оболочке повторно выполнить вашу последнюю команду, но на этот раз с sudo. Символ !! является частью расширения истории Bash. Он расширяется на всю предыдущую команду. Так что, если ваша последняя команда была склонное обновление, ввод !! будет эффективно работать склонное обновление. И пот !! будет выглядеть так:
Обновление sudo apt

Это действительно экономит время, особенно когда вы глубоко погружены в рабочий процесс и забываете повысить привилегии.
12 команд запуска, не оставляя следов
Вы когда-нибудь запускали команду, которую вы бы предпочли не записывать в свою историю? Возможно, вы используете секретный токен, экспериментируете с рискованной командой или просто пробуете что-то, в чем не уверены. В Bash есть удивительно простой способ убрать команду из своей истории. Просто начните ее с пробела.
Вот пример моей истории команд.

Теперь после выполнения команды, начинающейся с пробела, она не будет добавлена в историю.

Как видите, последняя команда echo не найдена. Этот трюк основан на функции Bash под названием HISTCONTROL. По умолчанию во многих системах HISTCONTROL установлен либо на значение ignorespace, либо на значение ignoreboth. Эти настройки сообщают Bash, что при записи истории нужно игнорировать команды, начинающиеся с пробела.
11 Используйте аргумент из предыдущей команды
Вы когда-нибудь вводили длинное имя файла, а затем вам нужно было использовать его снова в следующей команде? Вместо копирования и вставки (или повторного ввода) просто нажмите Alt+точка (.), и последний аргумент из предыдущей команды будет вставлен прямо туда, где находится курсор. Это работает в большинстве оболочек Bash, и это особенно удобно для команд, которые работают с одним и тем же файлом или каталогом снова и снова.
Например, вы можете ввести следующую команду:
mkdir действительно_длинное_имя_каталога_с_подчеркиваниями
Тогда вы могли бы напечатать cd и нажмите Alt+., чтобы сменить каталог на тот, который вы только что создали.
Другая распространенная ситуация, когда вы можете использовать это, когда вы извлекаете архивный файл и хотите удалить его. Если вы выполнили эту команду:
tar -xvf имя_архива.tar.gz
Вы можете просто набрать rm и нажмите Alt+., чтобы удалить архив. Вы можете нажать эту комбинацию клавиш несколько раз, чтобы циклически перебирать предыдущие аргументы из более ранних команд.

10 Заменить слово другим в предыдущей команде
Мы все печатаем быстро и иногда ошибаемся. Возможно, вы используете неправильное имя файла, имя сервера или неправильно набрали флаг. Вместо того, чтобы перепечатывать всю команду, Bash предоставляет вам быстрый инструмент исправления — символ каретки (^):
^неправильно^правильно
Это заменит первое вхождение «неправильно» в вашей предыдущей команде на «правильно» и немедленно запустит обновленную команду. Допустим, вы хотели пинговать google.com, но набрали пинг goggle.com ошибочно. Просто сделайте:
^goggle^google
Bash запустит:
пинг google.com

Это может быть полезно, когда вам нужно быстро исправить опечатку, которая произошла всего один раз.
9 Поменять местами символы до и после курсора
Если вы быстро печатаете, вы, вероятно, нажимали не на те клавиши и печатали что-то вроде:
sl
Когда вы на самом деле хотели напечатать:
ls
Да, это настолько распространенная опечатка, что существует даже шуточный инструмент командной строки под названием sl, который показывает поезд, пыхтящий по вашему экрану.
Но вместо того, чтобы нажимать backspace, перепечатывать или тянуться к клавишам со стрелками, есть более быстрое решение. Просто нажмите Ctrl+T. Это поменяет два символа прямо вокруг вашего курсора. Допустим, вы набрали:
файл grpe.txt
Вы имели в виду grep. Просто поместите курсор на p, нажмите Ctrl+T, и это станет:
grep файл.txt
Это маленькая хитрость, которая кажется незначительной, пока вы не поймаете себя на том, что используете ее 20 раз в день.
8 Использование псевдонимов
Давайте посмотрим правде в глаза. Некоторые команды Linux просто длинные. И когда вы часто их запускаете, ввод одних и тех же флагов или полных путей начинает раздражать. Не говоря уже о подверженности ошибкам. Вот тут-то и появляются псевдонимы. Они позволяют вам создавать собственные сочетания клавиш для команд, используя простые имена для более сложных или часто используемых команд.
Создать псевдоним очень просто:
alias shortname=’фактическая команда здесь’
Допустим, вы всегда бежите:
ls -lah —цвет=авто
Вы можете быстро создать псевдоним следующим образом:
псевдоним ll=’ls -lah —color=auto’

Теперь вы можете просто запустить ll на терминале, чтобы сделать все это. Обратите внимание, что это будет действительно только для текущего сеанса терминала. Если вы хотите создать постоянный псевдоним, вам придется добавить его в файл ~/.bashrc и перезагрузить его.
7. Форматируйте вывод в столбцах
В Linux нам часто приходится работать с данными в командной строке. Иногда вывод может быть довольно запутанным. К счастью, у нас есть команда column. Она может превратить этот хаос в чистые, читаемые таблицы данных. Команда column форматирует текст в аккуратные столбцы, аккуратно выравнивая данные на основе пробелов или пользовательского разделителя. Это идеально, когда вы имеете дело с такими данными, как списки, CSV, данные, разделенные двоеточием, и т. д.
Давайте рассмотрим распространенный пример. Обычно мы можем вывести список процессов в Linux с помощью:
ps aux
Мы можем отформатировать его дополнительно, используя команду column:
ps aux | заголовок -10 | столбец -t

Это говорит column создать таблицу с выровненными столбцами. При использовании этой команды лучше всего иметь предсказуемые входные данные. Если ваши данные сильно противоречивы, вывод может выглядеть немного грубо. Более того, если ваш разделитель появляется в значениях, он может испортить форматирование.
6. Последовательное выполнение нескольких команд
Иногда вы хотите запустить несколько команд подряд. Вместо того, чтобы вводить их по одной и ждать, вы можете объединить их в одну строку. Затем проконтролируйте, будут ли они выполняться безусловно или только в случае успешного выполнения предыдущей.
Точка с запятой (;) позволяет объединять команды в цепочку, чтобы они выполнялись одна за другой, независимо от успеха или неудачи.
echo «Обновление…» ; sudo apt update ; echo «Готово!»

В этом примере, даже если склонное обновление терпит неудачу, финал эхо «Готово!» все еще бежит.
Оператор &&, с другой стороны, гарантирует, что каждая команда выполняется только в том случае, если предыдущая команда завершается успешно. Это более умный способ связывать команды в цепочку.
sudo apt update && sudo apt upgrade
Команда после && будет выполнена только в том случае, если предыдущая команда будет выполнена успешно. Противоположностью && является оператор || (две вертикальные черты). Когда две команды объединяются с помощью этого символа, команда справа будет выполнена только в том случае, если команда слева завершится с ошибкой. Использование && и || помогает отлаживать проблемы с вашими скриптами Bash.

5. Использование отпечатка пальца вместо пароля
Вводить пароль каждый раз, когда вы запускаете sudo или разблокируете экран? Это безопасно, но после многократного выполнения начинает казаться утомительным. Если на вашем ноутбуке есть сканер отпечатков пальцев, вы можете использовать его для аутентификации вместо ввода пароля.
Эти шаги предназначены для Ubuntu и производных. Для других дистрибутивов шаги могут отличаться.
Сначала установите необходимые пакеты:
sudo apt install fprintd libpam-fprintd
После этого выполните эту команду для сканирования вашего отпечатка пальца:
fprintd-зачисление
Затем откройте файл конфигурации PAM для sudo:
sudo нано /etc/pam.d/sudo
Добавьте эту строку вверху:
аутентификация достаточная pam_fprintd.so

Выполните команду с sudo для проверки отпечатка пальца. Система предложит вам отсканировать отпечаток пальца вместо того, чтобы спрашивать пароль.
4 Перейдите в предыдущий каталог, в котором вы были
Я часто ловлю себя на том, что прыгаю туда-сюда между двумя каталогами. Повторный ввод полного пути раздражает. Поэтому этот небольшой трюк стал для меня спасением:
компакт-диск —
Эта команда отправляет вас в предыдущий рабочий каталог, как кнопка «Назад» в вашей файловой системе Linux. Допустим, вы начинаете в:
/home/user/projects/website
Затем вы переходите в «~/Downloads». Теперь, если вы запустите компакт-диск — команда, вы мгновенно вернетесь в «/home/user/projects/website». А если вы запустите cd — снова вернетесь в «~/Downloads».
