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

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

Я получил этот ответ :

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

Но я не могу найти ни один из этих файлов.

(Я настроил OS X для просмотра скрытых файлов, но не вижу ничего из вышеперечисленного 4.)

Псевдонимы работают только в оболочке (в терминале), так что именно вы имеете в виду, добавляя псевдонимы в свою среду OS X? Вы хотите сделать псевдоним доступным для всех пользователей?
Я имел в виду, что он будет установлен для каждого экземпляра терминала, который я открою в будущем.
Я отменил ваше редактирование, потому что оно изменило фокус вопроса. Если вы все еще ищете ответ о том, как добавить псевдонимы в zsh, задайте новый вопрос.

Ответы (7)

Если вы используете bash, добавьте команды-псевдонимы в ~/.bashrc и сохраните такой файл как ~/.bash_profile:

. ~/.bashrc

Когда bash вызывается как интерактивная оболочка без входа в систему, он читает .bashrc, но не .bash_profile. Когда bash вызывается как интерактивная оболочка входа в систему, он читает .bash_profile, но не .bashrc.

Терминал и iTerm по умолчанию открывают новые оболочки как оболочки входа в систему, поэтому многие пользователи OS X просто используют .bash_profile в качестве своего личного файла конфигурации. Например, tmux и режим оболочки в Emacs открывают новые оболочки как оболочки без входа в систему.

.profile также читается другими оболочками, такими как ksh. Если и .bash_profile, и .profile существуют, bash читает только .bash_profile, когда он вызывается как интерактивная оболочка входа.

См. https://www.gnu.org/software/bash/manual/html_node/Bash-Startup-Files.html для получения дополнительной информации.

@EladBenda Если вы используете zsh, добавьте команды псевдонима в ~/.zshrc. ~/.zshrcчитается как (интерактивными) оболочками без входа в систему, так и для входа в систему, поэтому вам не нужно получать его из ~/.zprofile.
Всегда хотел узнать разницу между .bash_profile и .bashrc, теперь я знаю. Спасибо.
Лучше всего хранить псевдонимы в файле ~/.aliases, если вы используете oh-my-zsh. Если этот файл не существует, его можно добавить в домашнюю папку, и он будет скрытым файлом.

Откройте новое окно терминала и перейдите в свой домашний каталог (просто введите cdи нажмите Enter).

После этого введите ls .bash*и также ls .profile(обратите внимание, что каждое из этих имен файлов начинается с точки). Если у вас есть эти файлы (и у вас должен быть как минимум файл .profile), вам нужно отредактировать их и добавить к ним свои псевдонимы. Я использую VI (или VIM) для редактирования этих файлов, но вы можете использовать другой редактор (на самом деле ввод текста в окне терминала open .bash_profileоткроет его в TextEditor, что может быть немного более удобным для пользователя, если вы не знакомы с VI) . Если по какой-то причине у вас нет ни одного из этих файлов, то создайте новый (и назовите его .bashrc), добавьте в него строки вашего псевдонима (так что это будет одна команда в строке, как вы бы их вводили в оболочке), а затем сохраните файл. Затем вы можете создать символические ссылки на .bash_profile и .profile с помощью ln -s .bashrc .bash_profile; ln -s .bashrc .profile.

Что я обычно делаю, так это создаю символические ссылки .bashrc и .bash_profile на .profile, а затем просто беспокоюсь только об одном файле.

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

Вы получите больше информации, выполнив man bash, но будьте готовы, это длинная справочная страница. Вы сможете увидеть, какой из трех файлов (.bashrc, .profile и .bash_profile) является источником в зависимости от того, в каком режиме был запущен bash.

Надеюсь, это поможет - если нет, дайте мне крик.

Введите в Терминале следующие команды:

cd /etc
sudo vi bashrc

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

alias ll="ls -lrt"

Наконец, перезапустите Терминал.

Если вам нужна эта машина в ширину, вам нужно посмотреть в /etcпапке. Однако они могут не существовать по умолчанию, и в этом случае вам просто нужно создать их в указанной выше папке и перезапустить терминал. Вам, скорее всего, понадобится использовать sudoдля их создания, так как /etcпапка принадлежит root.

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

Также, как упоминалось в комментариях, вы, как правило, сможете увидеть их только с помощью терминала и с помощью ls -lha.

если у вас установлен ruby, посмотрите этот скрипт ruby ​​https://github.com/ytbryan/aka

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

отказ от ответственности: я написал этот скрипт и использую его каждый день. Дайте мне знать, если есть какие-либо ошибки/идеи. :)

Для тех из вас, кто ищет команду ll, как в Linux BASH, она создается следующим образом...

alias ll="ls -laF"

Добавьте эту строку в свой .bashrcфайл, затем продублируйте .bashrcфайл как .bash_profile, и у вас всегда и навсегда будет ll.

Что бы это ни стоило, ll в Linux BASH — это просто псевдоним " ls -laF".

у меня была та же проблема, что у меня не было .bash или .profile в моем местоположении профилей. я наконец нашел его в /etc

/etc используется для всей системы. Я настоятельно рекомендую не редактировать эти файлы, а вместо этого использовать ваши собственные файлы профиля в вашей домашней папке, например, ~/.bash_profile.
у меня нет шва ~/.bash_profile, это было первое, что я попробовал, и если я создам его, он не будет использоваться даже после перезапуска, я полагаю, что мои администраторы каким-то образом предотвратили это. теперь я использую zsh, и .zshrc работает хорошо