Как создать собственные команды в Linux

В этой статье давайте узнаем о создании собственных команд в Linux. Да, мы собираемся говорить о создании псевдонима команды.

Прежде чем мы начнем, я хочу вам рассказать, как возникла идея этого учебника.

Один из подписчиков моего блога спросил меня:

«Привет, Арун! Мне интересно, способен ли твой мозг хранить много команд. Как это возможно?

«Я изучал Linux и писал код с момента обучения в колледже (около 7+ лет). За это время я столкнулся с большим количеством ошибок и решил каждую самостоятельно, что помогло мне овладеть», – ответил я.

«Даже тогда, как вы могли запомнить эти флажки и параметры вместе с каждой командой?» — спросил он.

«Я не могу запомнить каждую команду с ее параметрами и флажками. Поэтому я создаю свои команды», — ответил я.

«Что? Вы создали собственные команды? Могу ли я создать свои собственные команды?» — спросил он с большим волнением.

«Да. Вы можете. В Linux это называется команда псевдонима», — ответил я.

Он попросил меня написать об этом блоге, и вот он. Давайте узнаем о alias команды в этом блоге.

Что такое псевдонимы команд в Linux?

The alias Команда придает строковое значение, заменяющее название команды, когда она встречается.

The alias Команда позволяет создавать ярлыки для длинных команд, облегчая их запоминание и использование. Он будет иметь ту же функциональность, что и в случае выполнения всей команды.

Как создать собственные команды Linux

Используя alias команду, вы можете создавать собственные команды. Создать свою команду очень просто.

Вот синтаксис для alias команда:

alias [alias-name[=string]...]
Команда терминала для создания псевдонима

Давайте рассмотрим пример создания собственной команды.

Допустим, вы хотите создать команду под названием cdvа ввод команды в терминале должен перейти к Videos каталог.

Обычно, чтобы перейти в каталог, мы используем cd команда. Чтобы перейти к Videos нам нужно использовать cd Videos как показано на снимке экрана ниже:

изображение-121
Команда терминала для перехода Videos каталог

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

alias cdv="cd Videos"
Создайте простую команду псевдонима
изображение-149
Терминал (alias), чтобы создать нашу собственную команду

Мы создали свою команду. Из вышеприведенного снимка экрана видно, что он ничего не возвращает.

Но как мы можем проверить, что команда создана и работает?

Есть только один способ проверить, работает ли команда: это выполнить созданную команду.

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

изображение-150
Запустите созданное cdv команда

БУМ!!! Вы создали свою команду.

Как просмотреть созданные псевдонимы команд

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

Допустим, я создал несколько псевдонимов команд. Как я могу их просмотреть вместе? Как я могу посмотреть эквивалентную команду своего псевдонима?

Вы можете просмотреть все свои псевдонимы команд, добавив -p флаг к alias такая команда:

alias -p
Посмотреть все alias команды
изображение-122
Команда терминала для просмотра всех созданных псевдонимов команд

Я создал множество псевдонимов команд. На вышеприведенном скриншоте вы можете увидеть все команды псевдонимов, которые я создал.

Как удалить псевдоним команды в Linux

Передайте свой псевдоним в unalias как аргумент для удаления псевдонима команды.

unalias alias_name
Удалить псевдоним команды
изображение-123
Команда терминала (unalias), чтобы удалить команду псевдонима

Как удалить все псевдонимы команд в Linux

Предположим, вы добавили около 20 псевдонимов команд. Через некоторое время вы поняли, что использование псевдонимов команд вынудит вас забыть другие команды в долгосрочной перспективе. Опасаясь этого, вы хотите удалить все псевдонимы команд.

У нас есть команда для достижения этого:

unalias -a
Удалите все псевдонимы команд
изображение-124
Команда терминала для удаления всех псевдонимов команд

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

«Через некоторое время вы поняли, что использование псевдонимов команд заставит вас забыть другие команды в долгосрочной перспективе»

Это то, о чем вам следует беспокоиться? Может ли это произойти?

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

Ответ на ваш второй вопрос: совершенно нет. Это приведет к повышению производительности. Существует большая вероятность, что вы забудете создавшуюся команду, но вы никогда не забудете оригинальную команду. Поэтому я всегда рекомендую часто просматривать ваши команды псевдонимов и убедиться, что вы используете все созданные вами команды псевдонимов.

У меня для вас шокирующий сюрприз. Откройте окно терминала и создайте команду псевдонима. cdv команда, которую мы создали выше). Откройте другое окно терминала и введите cdv команда там.

изображение-127
Команда терминала, показывающая результат несуществующей команды псевдонима

Удивленно?

Да. Если вы создаете команду псевдонима, она будет активна только для определенного экземпляра терминала. Его не будет создано навсегда, поэтому вы не сможете получить к нему доступ в двух разных окнах терминала, если не запустите alias команду на обоих терминалах

Как создать постоянный псевдоним команды

Для создания постоянного alias вам нужно добавить команду alias в файл конфигурации оболочки. Доступно много конфигураций оболочки. Некоторые из известных снарядов:

  • Bash — ~/.bashrc
  • Zsh — ~/.zshrc
  • Рыба — ~/.config/fish/config.fish

Большинство дистрибутивов Linux работают с bashПоэтому давайте рассмотрим создание постоянного псевдонима в оболочке bash. Остальные оболочки работают почти так же.

Давайте откроем .bashrc файл с помощью Vim.

sudo vim ~/.bashrc
ОТКРЫТО .bashrc файл с помощью vim

Выделите нижнюю часть файла и нажмите i для входа в режим вставки. Добавьте команду псевдонима, которую нужно добавить навсегда.

alias cdv="cd Videos"
Добавьте команду псевдонима .bashrc файл

Сохраните и выйдите из Vim, нажав Esc ключ и ввод :wq.

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

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

изображение-139
Команда терминала для просмотра всех alias команды

Вы можете открыть несколько окон и проверить, введя alias -p команда.

Некоторые полезные команды псевдонимов, которые следует попробовать

Вот бонус для всех вас.

В компании, где я работаю, мы используем общие команды псевдонимов, которые мы устанавливаем на каждом компьютере при регистрации. Если люди захотят добавить свои команды, они смогут это сделать, и это не будет отображено для других (создано с учетом принципа OCP). Мы чувствуем высокую производительность, используя эти команды.

Я планировал поделиться частью этих команд со всеми вами.

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

cd ~/
Перейдите к домашнему каталогу

Клонируйте репо

Клонируйте репо команд псевдонимов из GitHub:

git clone https://github.com/gogosoon/x-commands.git
Клонируйте x-commands репо

Добавьте ссылку на командный файл псевдонима

Откройте ~/.bashrc файл с помощью Vim:

sudo vim ~/.bashrc
ОТКРЫТО ~/.bashrc файл с помощью vim

Добавьте следующую строку в конец файла:

source ~/x-commands/aliasCommands.sh
Добавьте строку в нижнюю часть файла

Сохраните и выйдите из Vim, нажав Esc и печатание :wq

Перезагрузите терминал

Перезагрузите терминал, выполнив следующую команду:

source ~/.bashrc
Перезагрузите терминал

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

welcome
Команда терминала для проверки успешной установки x-commands

Вас попросят ввести свое имя. Введите свое имя и нажмите Enter.

изображение-151
Команда терминала для проверки установки псевдонимов команд

Если вы получили указанное выше сообщение, вы установили его правильно.

Позвольте мне объяснить alias команды, к которым вы получите доступ с помощью этого репо.

Псевдоним команды Оригинальная команда описание
f cd $1 Идти вперед. Перейдите к следующему каталогу
b cd .. Идите обратно. Перейти на 1 каталог назад
в code ./ Откройте код Visual Studio в текущем каталоге
д exit Закройте вкладку/окно терминала
домой cd ~ Перейдите к домашнему каталогу
a xdotool key ctrl+shift+t Откройте новую вкладку терминала
cdb cd - Выделите последний каталог, где вы были раньше
GST git status Найдите статус git repo
gpr git pull -r Вытащите и перебазуйте комиты git
glo git log --oneline Показать журналы комиттов git в одной упрощенной строке
gcl git config -l Показать конфигурацию git текущего репо
gca git commit --amend Добавьте текущие изменения в существующий комит
gcane git commit --amend --no-edit Добавьте текущие изменения в существующий комит без редактирования существующего сообщения комита
объявление ~/Android/Sdk/emulator/emulator -list-avds Показать доступные эмуляторы Android
выключено sudo /opt/lampp/lampp stop
poweroff
systemctl poweroff -i
Выключите машину
bb if [ -z "$1" ]
then
b;b
else
for (( i=0;i<$1;i++ ))
do
b
done
fi
Это расширенная версия команды возвращения вспять. Входя в b команда возвращает только один каталог. Но ввод bb возвращает в 2 каталога. Если вы хотите вернуться на 5 каталогов назад, запустите
bb 5 команда
pokill kill $(lsof -t -i:$1) Закройте приложение, работающее на порту
cc sudo nano ~/x-commands/aliasCommands.sh Отредактируйте файл команд псевдонима
до н.э sudo nano ~/.bashrc Редактировать .bashrc файл
scc source ~/x-commands/aliasCommands.sh Обновите терминал после обновления команды псевдонима
скрытая копия source ~/.bashrc Обновите терминал после обновления .bashrc файл
Добро пожаловать echo Welcome to shell automation
echo Enter Your Name
read testName
echo Welcome to new shortcut world ~~ $testName ~~ Enjoy Coding....
Проверьте, правильно ли установлены псевдонимы команд

Если вы внимательно посмотрите на файл aliasCommands.sh, вы увидите, что я добавил несколько функций. Вы можете спросить, почему я использую функции. Прочтите больше, чтобы быстро погрузиться в эту тему.

Как запустить несколько команд в одной команде-псевдониме

Вы можете добиться этого 2 способами. Позвольте мне объяснить оба здесь.

Давайте узнаем это на примере.

Скажем, вам нужно создать команду псевдонима под названием gohome. Выполнение этой команды должно перевести вас в домашний каталог и отобразить сообщение «Перейти в домашний каталог».

Способ №1:

Это обычный способ добавления alias команда. Вы должны добавить две команды, разделенные точкой с запятой (;).

alias gohome="cd ~/;echo Navigated to home directory"
Команда псевдонима для навигации на дом
изображение-148
Выполните несколько команд с помощью одной команды-псевдонима – способ 1

Способ №2

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

Откройте .bashrc файл с помощью Vim.

sudo vim ~/.bashrc
ОТКРЫТО ~/.bashrc файл с vim

Войдите в режим вставки, нажав i ключ.

Создайте функцию с названием gohome с помощью 2 команд выше.

function gohome() {
        cd ~/
        echo Navigated to home directory
}
Создайте функцию с названием gohome в .bashrc файл

Сохраните и выйдите из Vim, нажав Esc ключ и ввод :wq в командном режиме

Перезагрузите терминал, запустив source ~/.bashrc и вы сможете проверить gohome команда сейчас.

изображение-152
Выполните несколько команд с помощью одной команды-псевдонима – способ 2

Примечание: Создание функции не будет указывать ее как псевдоним команды при запуске alias -p команда.

Вывод

В этой статье вы узнали, как создавать свои команды в Linux.

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *