Играя вокруг с Терминалом, я заметил, что существует много способов создать постоянные псевдонимы.
Я - новичок Linux, и от того, что я знаю, делая:
sudo ln -s /path/to/executable /usr/local/bin/desired_alias
desired_alias = '/path/to/executable'
кому: ~/.bashrc
некомментарий тех строк в ~/.bashrc
:
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
и помещение desired_alias = '/path/to/executable'
в ~/.bash_aliases
все имеют тот же эффект.
Каково различие между первыми и вторыми методами?
С помощью первого метода вы не создаете псевдоним, вы создаете символическую ссылку. Символьные ссылки - это короткие ссылки на символические ссылки:
Символические ссылки - это файлы, которые действуют как указатели на другие файлы. [...] Символическая ссылка - это специальный тип файла, содержимое которого представляет собой строку, которая является путем к другому файлу, файлу, на который ссылается ссылка. Другими словами, символическая ссылка является указателем на другое имя, а не на базовый объект.
blockquote>Подробнее о символических ссылках здесь и здесь .
Только со вторым методом вы фактически создаете псевдоним.
Псевдонимы позволяют заменить строку словом, когда оно используется в качестве первого слова простой команды. Оболочка поддерживает список псевдонимов, которые могут быть установлены и сняты с помощью встроенных команд псевдонимов и unalias (см. КОМАНДЫ ПОСТРОЕНИЯ ОБОЛОЧКИ ниже). Первое слово каждой простой команды, если оно не заключено в кавычки, проверяется на наличие псевдонима. Если это так, то это слово заменяется текстом псевдонима.
blockquote>Вы можете определить псевдоним в любом месте, где вы можете набрать команду и заставить оболочку (в данном случае bash ) интерпретировать ее, однако для того, чтобы псевдоним был доступен в других оболочках он должен быть определен в файле, который интерпретируется оболочкой при запуске (запуск оболочки, а не запуск компьютера).
Для bash это
/etc/bash.bashrc
(для всей системы) и~/.bashrc
. Эти файлы интерпретируются, когда оболочка запускается в интерактивном режиме (например, при использованииTerminal
). Я не буду упоминать файлы профиля, потому что они служат для другой цели.Итак, вы хотите добавить свои псевдонимы в
~/.bashrc
, чтобы они были доступны в каждой интерактивной оболочке.Метод
.bash_aliases
выполняет точно то же самое, что и помещение псевдонимов в~/.bashrc
, но имеет дополнительное преимущество, заключающееся в том, что его легче анализировать и манипулировать программами.
. ~/.bash_aliases
означает источник (загрузка)_~/.bash_aliases_
в контексте текущей запущенной оболочки.