Поиск по сайту:

Псевдонимы командной строки в оболочке Linux


На этой странице

  1. Псевдонимы командной строки в Linux
  2. Связанные сведения
  3. Заключение

Пока что в командах cd- и pushd/popd, а также в переменной окружения CDPATH. В этом четвертом и последнем выпуске мы обсудим концепцию псевдонимов, а также то, как вы можете использовать их, чтобы упростить и упростить навигацию в командной строке.

Псевдонимы командной строки в Linux

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

Например, следующая команда создает псевдоним для команды cd ~:

alias home="cd ~"

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

Вот что справочная страница команды alias говорит об этой утилите:

The alias utility shall create or redefine alias definitions or write the values of existing alias definitions to standard output. An alias definition provides a string value that shall replace a command name when it is encountered

An alias definition shall affect the current shell execution environment and the execution environments of the subshells of the current shell. When used as specified by this volume of IEEE Std 1003.1-2001, the alias definition shall not affect the parent process of the current shell nor any utility environment invoked by the shell.

Итак, как именно псевдонимы помогают в навигации из командной строки? Ну, вот простой пример:

Предположим, вы работаете в каталоге /home/himanshu/projects/howtoforge, который также содержит множество подкаталогов и подкаталогов. Например, ниже представлена одна полная ветвь каталога:

/home/himanshu/projects/howtoforge/command-line/navigation/tips-tricks/part4/final

Теперь представьте, что вы находитесь в последнем каталоге, а затем хотите вернуться в каталог tip-tricks, а оттуда вам нужно вернуться в каталог howtoforge. Что бы ты сделал?

Ну, обычно вы запускаете следующий набор команд:

cd ../..
cd ../../..

Хотя этот подход сам по себе не является неправильным, он определенно не удобен, особенно когда вам нужно вернуться, скажем, на 5 каталогов на очень длинном пути. Итак, каково решение? Ответ: псевдонимы.

Что вы можете сделать, так это создать легко запоминающиеся (и вводимые) псевдонимы для каждой из команд cd ... Например:

alias bk1="cd .."
alias bk2="cd ../.."
alias bk3="cd ../../.."
alias bk4="cd ../../../.."
alias bk5="cd ../../../../.."

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

bk5

Разве это не легко сейчас?

Связанные детали

Хотя техника, которую мы до сих пор использовали для определения псевдонимов (используя команду alias) в командной строке, делает свое дело, псевдонимы существуют только для текущего терминального сеанса. Есть хорошие шансы, что вы можете захотеть, чтобы псевдонимы, определенные вами, сохранялись, чтобы их можно было использовать в любом новом окне/вкладке терминала командной строки, которое вы запускаете после этого.

Для этого вам необходимо определить свои псевдонимы в файле ~/.bash_aliases, который по умолчанию загружается вашим файлом ~/.bashrc (пожалуйста, проверьте это, если вы используя более старую версию Ubuntu).

Ниже приведен отрывок из моего файла .bashrc, в котором говорится о файле .bash_aliases:

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi

После того как вы добавите определение псевдонима в файл .bash_aliases, этот псевдоним будет доступен на любом новом терминале. Однако вы не сможете использовать его в любом другом терминале, который уже был открыт, когда вы определили этот псевдоним. Выход — получить .bashrc из этих терминалов. Ниже приведена точная команда, которую вам нужно выполнить:

source ~/.bashrc

Если это звучит слишком много работы (да, я смотрю на вас, ЛЕНИВЫЕ), то вот быстрый способ сделать все это:

"alias [the-alias]" >> ~/.bash_aliases && source ~/.bash_aliases

Излишне говорить, что вам придется заменить [the-alias] фактической командой. Например:

"alias bk5='cd ../../../../..'" >> ~/.bash_aliases && source ~/.bash_aliases

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

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

Вот пример:

$ alias bk6
alias bk6='cd ../../../../../..'

Как видите, вышеупомянутая команда отображала реальную команду, назначенную псевдониму bk6. Есть еще один способ: использовать команду type. Ниже приведен пример:

$ type bk6
bk6 is aliased to `cd ../../../../../..'

Таким образом, команда type производит более понятный для человека вывод.

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

alias mroe='more'

Наконец, стоит также упомянуть, что не все поддерживают использование псевдонимов. Большинство из них утверждают, что как только вы привыкнете к псевдонимам, которые вы определяете для своего удобства, вам станет очень трудно работать в какой-то другой системе, где этих псевдонимов не существует (и вам также не разрешено создавать их). Для получения дополнительной информации (а также точных причин), почему некоторые эксперты не рекомендуют использовать псевдонимы, вы можете отправиться сюда.

Заключение

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

Итак, это знаменует собой конец этой серии руководств. Надеюсь, вам понравилось, а также вы узнали из него что-то новое/концепции. Если у вас есть какие-либо сомнения или вопросы, поделитесь ими с нами (и остальным миром) в комментариях ниже.