Советы и хитрости Bash для более эффективной работы в терминале
Как пользователи Linux, это особый момент, когда мы впервые открываем терминал и начинаем работать с системой наиболее эффективным, мощным и гибким способом. Однако ваш первый набег на терминал потенциально может быть пугающим, поскольку все, что вас встречает, — это мигающий курсор и бесконечный мир возможностей. Чтобы помочь с этим, мы покажем вам несколько советов и приемов Bash, которые помогут работать в терминале умнее, а не усерднее.
Поиск команд с помощью Apropos
Apropos (app-row-POE) — это команда, которая позволяет вам находить команды с ручными или ручными записями на основе их описания. Если вы когда-нибудь находили справочную страницу команды, она выглядит примерно так:
Я говорю о разделе «ИМЯ» вверху. Если бы я хотел найти команду ping с apropos, я бы набрал apropos icmp в свой терминал и нажал Enter. Обратите внимание, что регистр не учитывается. Это вызывает каждую команду с записью NAME, в которой есть «ICMP».
Еще одно отличное применение apropos — изучение инструментов, с которыми вы, возможно, не знакомы, например, selinux. Выполнение команды apropos selinux предоставит вам список всех различных команд, которые вы можете использовать для взаимодействия с SELinux, что поможет вам начать путь к эффективному применению.
Подстановка в предыдущую команду
Что-то, что сэкономило мне массу времени в терминале, — это выяснить, как что-то заменить в предыдущей команде. Если я что-то опечатал или мне просто нужно заменить параметр в предыдущей команде, я могу использовать клавишу ^, чтобы вытащить слово, которое я неправильно написал, а затем другой ^, чтобы вставить слово или параметр, который я хотел.
Давайте посмотрим на пример. Допустим, я хочу выполнить эхо-запрос «maketecheasier.com», чтобы убедиться, что у меня есть полное подключение к Интернету (включая DNS). Но если я что-то неправильно напишу, то могу получить какую-то ошибку. Так что, если я случайно пингую maktecheaser.com (пропущен «i»), у меня будут проблемы.
Чтобы заменить вариант с ошибкой, я могу набрать ^ maktecheaser.com ^ maketecheasier.com, и команда запустится, как ожидалось. Это простой пример, но предположим, что вы запускаете длинную команду с множеством параметров или неверно перенаправляете вывод или ошибки вашей команды. Возможность заменить> на >> в сложной команде — спаситель.
Другой пример — systemd и команда systemctl. Я часто использую несколько разных подкоманд systemctl, таких как запуск, остановка, включение или отключение службы. Я могу просто отключить их с помощью ^ start ^ enable, что сэкономит мне время.
!!
Это действительно полезно в одном конкретном сценарии, который часто случается со мной. !! (bang-bang) полностью откатит предыдущую команду. Это может показаться бесполезным, но если вы задумаетесь о том, сколько раз вы набираете команду, которую нужно запускать с правами суперпользователя, вы начнете понимать, где это полезно.
Отличный пример — скрипты установки. Допустим, вы запускаете сценарий установки с «./SCRIPT-NAME.sh», и в нем говорится, что вам нужно запускать его с привилегиями суперпользователя. Просто введите sudo !!, введите свой пароль, и вперед в гонки. Это экономит кучу времени, и как только вы запомните эту последовательность в своей мышечной памяти, вы сможете делать это быстрее, чем когда вы делали это неправильно.
Передача аргументов из предыдущих команд
Используя! $, Мы можем передать последний аргумент из команды в текущую команду, а с некоторыми небольшими вариациями мы можем передать любой из аргументов в нашу текущую команду.
Давайте посмотрим на несколько примеров. Если я редактирую сценарий, я могу использовать команду nano samplescript.sh. Когда я закончу с этим сценарием, я хочу сделать его исполняемым, поэтому я могу изменить восьмеричные разрешения на 755. Для этого я мог бы использовать команду chmod 755! $. Затем, чтобы снова получить имя сценария, я мог бы использовать ./!:2 для получения второго аргумента.
Еще несколько примеров:
! ^ — первый аргумент! * — все аргументы!: 2- $ — аргументы со второго по последний!: 2-4 — со второго по четвертый аргументы
Вы можете подставить свои числа, чтобы получить любые аргументы, которые вам нужны. С помощью этого метода Bash сохранит около 100 аргументов, и вы можете легко справиться с некоторыми черными задачами, подобными этой.
Надеюсь, вам понравились эти советы и приемы Bash, которые помогут вам работать в терминале с умом. Вы также должны узнать о переменных и специальных символах Bash.
Связанный:
Эта статья полезна? да нет