7 command-line bash zsh alias sh
我经常发现自己使用llwhich 是别名。
$ type ll
ll is an alias for ls -lh
Run Code Online (Sandbox Code Playgroud)
我一直想知道这是在哪里定义的,因为它适用于bash,zsh但不适用于sh:
$ type ll
ll is an alias for ls -lh
Run Code Online (Sandbox Code Playgroud)
在 Ubuntu 中,这个别名默认在~/.bashrc文件中定义,在我的文件中是这样的:
$ grep "alias ll" ~/.bashrc
alias ll='ls -alF'
Run Code Online (Sandbox Code Playgroud)
默认情况下读取的另一个文件是~/.bash_aliases. 它可能在您创建之前不存在,但它是存储别名的推荐方式,因为将它们保存在单独的文件中可以提供清晰的信息。您~/.bashrc包含以下部分,如果存在则加载此别名文件的 if 表达式:
# 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
Run Code Online (Sandbox Code Playgroud)
至于zsh我想别名在您的~/.zshrc文件或由它来源的任何文件中以相同的方式定义。如果您使用oh-my-zsh它,它可能包含在lib/directories.zsh或 中plugins/common-aliases/common-aliases.plugin.zsh。
sh(=dash在 Ubuntu 中) read only ~/.profile,通常不包含任何别名,因为它们是特定于 shell 的定义。在别名如此简单的情况下,alias ll='ls -lh'您可以在~/.profile. 进一步阅读:是否有所有 shell 读取的“.bashrc”等效文件?