如何在终端中列出和编辑所有定义的别名?


93

在我之前拥有我当前Mac的一个朋友创建了许多别名命令。有没有办法列出所有已定义的别名以及与它们关联的命令?

如果是这样,我是否可以对其进行编辑,还是应该仅使用unalias删除它们并重新创建它们?

Answers:


105

您需要做的就是alias在提示符下输入,所有活动的别名都会列出。

别名通常是在外壳初始化时加载的,因此请在主目录中.bash_profile.bashrc主目录中查找。

unalias仅适用于您当前的会话。除非找到它的定义和加载位置,否则在启动新的终端会话时将再次加载它。

~/.bashrc在登录和非登录外壳程序上~/.bash_profile都运行,仅在登录外壳程序上运行。

请参阅登录外壳与非登录外壳

根据克里斯·佩奇的评论:

您应该将大多数自定义项(包括别名)放入~/.bashrc并已~/.bash_profile运行~/.bashrc,因此它们既适用于(~/.bash_profile)登录(~/.bashrc)外壳,也适用于非登录外壳。另外,确定其中哪个应为“主要” 文件,如果您选择配置文件,请在末尾添加rc文件。如果rc文件是主要文件,请在个人资料开头提供该文件

这些行应该在文件中~/.bash_profile

if [ -f "$HOME/.bashrc" ] ; then
  source $HOME/.bashrc
fi

这将包括~/.bashrc登录外壳程序,以及根据您所设置的一个文件是否依赖另一个文件的顺序。


1
我建议您将大多数自定义项放在〜/ .bashrc中,并让〜/ .bash_profile运行〜/ .bashrc,因此它们既适用于登录(〜/ .bash_profile)也适用于非登录(〜/ .bashrc)外壳。例如,将其放在〜/ .bash_profile中:if [ -f "$HOME"/.bashrc ]; then . "$HOME"/.bashrc fi
克里斯·佩奇

9

您应该查看以下文件:

/etc/profile
~/.profile
~/.bash_profile
~/.bashrc

它们是您外壳程序的合理启动文件(我认为是bash)。


“ .bashrc”是文件的正确名称。
克里斯·佩奇

您是对的,我不明白为什么要这样写。
Cedric H.

我本来可以不加评论地对其进行编辑,但是StackExchange不允许我进行一个字符的编辑。
克里斯·佩奇

还要检入系统范围的/ etc / bashrc
EmmEff 2011年

不要忘记使用source或来源的所有文件。(点)在这些文件中。
ManuelSchneid3r
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.