* Нажмите здесь, чтобы перейти к части I или здесь, чтобы перейти к части III

По мере того, как вы продвигаетесь в своей карьере разработчика, вы одновременно улучшаете свой лучший инструмент для эффективной работы: свой список команд! Чем больше вы кодируете и изучаете, тем больше команд вам нужно будет запомнить наизусть. И вместе с этими командами идут все их полезные параметры. Но давайте посмотрим правде в глаза, вы не можете запомнить все. Так что же нам делать? Мы сокращаем все вещи и создаем основную шпаргалку в выбранном вами текстовом редакторе.

По мере развития нашей карьеры этот текстовый файл, заполненный командами в произвольном порядке, быстро становится одним из наших основных инструментов в нашей повседневной деятельности; он становится нашим основным набором инструментов еще до поиска в Google.

Позвольте мне рассказать вам историю о разработчике, у которого в наборе инструментов было более 500 команд, откуда он мог легко найти все, что ему нужно, чтобы пережить день. Однажды его компьютер полностью завис. После 1-2 часов работы со службой технической поддержки его компании ему не оставалось ничего другого, кроме как полностью переформатировать свой компьютер и попрощаться со своим дорогим набором инструментов! Не забыл ли он сделать резервную копию документа, в котором, казалось бы, есть ответы на все проблемы, с которыми он когда-либо сталкивался? Конечно, нет!

Этим разработчиком был я, когда несколько лет назад только начинал свою карьеру. Будьте уверены, теперь я автоматически создаю резервные копии всего в облаке. Тот роковой день, когда я потерял свой ценный набор инструментов, также привел меня к команде, которую часто упускают из виду и редко используют. Команда, которая помогла мне восстановить утилиту моего прежнего набора инструментов гораздо более эффективно: Псевдоним.

Использование псевдонима

Псевдоним - это очень минимальная команда, которая создает ярлыки терминала. Вот как определить псевдоним:

# alias [alias name]=’command to execute’
$ alias ll=’ls -lsa’
# How to use it
$ ll
[list of a directory]

Для чего-то более конкретного, давайте рассмотрим пример, в котором мы используем alias для маскировки общих команд, используемых при работе с экземплярами AWS EC2:

# Define your alias
$ alias ssh-staging=’ssh -i /path/my-key-pair.pem ec2-user@ec2–123.compute-1.amazonaws.com’
# Use the alias to ssh on the staging ec2 instance
$ ssh-staging

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

Чтобы перечислить все доступные псевдонимы в вашем терминале, просто используйте параметр -p или вообще не используйте параметр, например:

$ alias -p
alias ssh-staging=’ssh -i /path/my-key-pair.pem ec2-user@ec2–123.compute-1.amazonaws.com’
$ alias
alias ssh-staging=’ssh -i /path/my-key-pair.pem ec2-user@ec2–123.compute-1.amazonaws.com’

Это очень просто! Теперь вы можете начать создавать псевдонимы в своем терминале, которые ускорят вашу повседневную работу. Однако, как только вы откроете второй терминал и воспользуетесь определенными псевдонимами, вы заметите, что они не работают. Почему? Эта проблема возникает из-за того, что при вызове команды псевдонима в вашем терминале область псевдонима ограничена вашим текущим сеансом. В новых сеансах не будут применяться эти очень полезные псевдонимы, но не беспокойтесь, есть способ постоянно сохранять псевдонимы для всех сеансов терминала.

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

Примечание. Существует несколько способов использования терминала в зависимости от вашей ОС, например: sh, bash, zsh, csh, ksh, fish и т. д. В следующих нескольких примерах я буду использовать Bash, однако все они используют та же концепция профиля.

Чтобы добавить псевдоним в свой профиль терминала, выполните следующие действия:

# Use a text editor to edit your bash_profile
$ vi ~/.bash_profile
# It’s possible that your profile is empty, otherwise simply add this at the end of the file
alias ssh-staging=’ssh -i /path/my-key-pair.pem ec2-user@ec2–123.compute-1.amazonaws.com’
# save and quit
$ ESQ + wq

Теперь, если вы откроете новый сеанс терминала и вызовете псевдоним ssh-staging, ваши определенные псевдонимы снова будут работать!

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

# Create a file only for your aliases
$ vi ~/.aliases
[add your aliases]
# Save and quit
# Edit your profile
$ vi ~/.bash_profile
# Add the “source” instruction to load the commands from another file
source ~/.aliases
# Save and quit

На этом этапе при открытии нового сеанса терминала ваш профиль загрузит псевдонимы, содержащиеся в файле ~./aliases. Если по какой-либо причине вы потеряете свой bash_profile, вы не потеряете свои псевдонимы.

Сохранение псевдонимов

Теперь у нас есть псевдонимы, определенные в наших терминальных сессиях, но мы не решили проблему, с которой все это началось, что, если ваш компьютер выйдет из строя?

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

В зависимости от чувствительности ваших команд сохраняйте псевдонимы либо в общедоступном месте, например GitHub, либо в частном месте, к которому вы можете получить доступ через командную строку. Я буду использовать GitHub в следующем примере: https://raw.githubusercontent.com/yannbr/bash-aliases/master/aliases

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

$ cp /dev/null ~/.aliases && curl -sS https://raw.githubusercontent.com/yannbr/bash-aliases/master/aliases >> ~/.aliases && source ~/.aliases

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

Отредактируйте файл резервной копии и добавьте следующее содержимое:

alias refresh-alias=’cp /dev/null ~/.aliases && curl -sS https://raw.githubusercontent.com/yannbr/bash-aliases/master/aliases >> ~/.aliases && source ~/.aliases’

Выполните ту же команду в своем терминале в первый раз и запустите свой новый псевдоним refresh-alias!

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

Объединение псевдонимов и команд

Наконец, вы можете связать псевдоним с другими командами в той же строке.

Пример:

Учитывая псевдоним: alias gc=’git commit -m ‘ (обратите внимание на конечный пробел в конце)

$ gc ‘this is my git comment’

Полезные псевдонимы

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

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

  • Очистите терминал: alias c=’clear’
  • Разархивируйте файл: alias untar=’tar -zxvf ‘
  • Создайте пароль с помощью: alias getpass=”openssl rand -base64 20"

и т.п.

Ярлыки Git:

  • alias gp=’git pull’
  • alias ga=’git add .’
  • alias gc=’git commit -m ‘

и т.п.

Переход из папки в папку:

  • Перейдите в свой рабочий каталог: alias gowork=’cd /home/user/MyUser/work’
  • Перейдите в папку "Загрузки": alias godl=’cd ~/Downloads/’

и т.п.

«Заменить» текущие команды:

  • Перечислить каталог в более удобочитаемом виде и включить скрытые элементы: alias ls=’ls -lsa’
  • Всегда копируйте рекурсивно с помощью: alias cp=’cp -R’
  • Всегда удаляйте с помощью параметра подтверждения: alias rm=’rm -i’

и т.п.

Безопасные операции DevOps:

  • Всегда добавляйте профиль среды перед использованием команды aws: alias aws-prod=’aws — profile production ‘
  • Двигайтесь быстрее при использовании команд Kubernetes: alias k=’kubectl ‘
  • Всегда добавляйте целевую среду перед использованием helm с: alias helm-prod=’helm — kube-context=production ‘
  • И, как было показано ранее в статье, создайте ssh ярлыки, например: alias ssh-prod-1=’ssh -i /path/my-key-pair.pem ec2-user@ec2–12345.compute-1.amazonaws.com

Заключение

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

Редакционные обзоры на Deanna Chow, Liela Touré и Prateek Sanyal

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