如何在 Linux/Unix 上创建永久的 Bash 别名
我需要创建一个名为 update 的 bash shell 别名,如下所示:
alias update =' sudo -- sh -c " /root/bin/chk_disk && dnf update '
但是,重新启动 Fedora Linux 系统后,此更新别名将被删除。如何在 Fedora Linux 或类 Unix 系统上创建永久的 Bash 别名?
您需要将 bash shell 别名放入 ~/.bashrc 文件 ($HOME/.bashrc) 中,该文件由 bash 为非登录 shell 执行。在大多数现代 Linux 发行版中,您可能希望将所有 bash 别名定义放入单独的文件(如 ~/.bash_aliases)中,而不是直接将它们添加到 ~/.bashrc 文件中。本教程介绍如何在 Linux 和类 Unix 系统上创建并永久添加 bash shell 别名。
另请参阅适用于 Linux / Unix / Mac OS X 的 30 个方便的 Bash Shell 别名以及使用 man 命令或 help 命令的 bash 命令手册页:
alias update =' sudo -- sh -c " /root/bin/chk_disk && dnf update '
但是,重新启动 Fedora Linux 系统后,此更新别名将被删除。如何在 Fedora Linux 或类 Unix 系统上创建永久的 Bash 别名?
您需要将 bash shell 别名放入 ~/.bashrc 文件 ($HOME/.bashrc) 中,该文件由 bash 为非登录 shell 执行。在大多数现代 Linux 发行版中,您可能希望将所有 bash 别名定义放入单独的文件(如 ~/.bash_aliases)中,而不是直接将它们添加到 ~/.bashrc 文件中。本教程介绍如何在 Linux 和类 Unix 系统上创建并永久添加 bash shell 别名。
创建永久 Bash 别名的步骤:
打开终端应用程序,然后输入以下命令:
- 使用文本编辑器编辑~/.bash_aliases或(推荐)文件:~/.bashrc
$ vi ~/.bash_aliases
# or #
$ nano ~/.bashrc - 附加你的 bash 别名
- 例如附加:
alias update='sudo yum update'
- 保存并关闭文件。
- 通过输入以下源命令来激活别名:
$ source ~/.bash_aliases
## OR ##
$ source ~/.bashrc
警告!请注意,~/.bash_aliases仅当 ~/.bashrc 文件中存在以下行时,该文件才有效:
if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi
您的 ~/.bashrc 文件中是否缺少上述几行?只需使用文本编辑器(如 vi/vim 或 joe)将其附加到 ~/.bashrc 末尾即可。有关更多信息,请参阅 ~/.bash_aliases wiki 页面。
示例
让我们创建四个别名,如下所示:
$ vi ~/.bash_aliases
或
$ nano ~/.bashrc
附加 bash 别名文本:
# update our debian/ubuntu box alias update='sudo -- sh -c "apt update && apt upgrade"' # make grep output colorful alias grep='grep --color=auto' # set eth0 as an interface for eth0 alias vnstat='vnstat -i eth0' # flush redis cache for wp alias flush_redis='redis-cli -h 127.0.0.1 FLUSHDB'
保存并关闭文件。
如何加载别名
下次使用新的 ssh/terminal 会话登录时,所有新别名都将可用。要立即加载更改,请键入以下源命令:
$ source ~/.bash_aliases
或
$ . ~/.bash_aliases
如何列出我的所有别名
要列出所有别名,请运行:
$ alias
示例输出:
alias flush_redis='redis-cli -h 127.0.0.1 FLUSHDB' alias grep='grep --color=auto' alias l='ls -CF' alias la='ls -A' alias ll='ls -alF' alias ls='ls --color=auto' alias update='sudo -- sh -c "apt update && apt upgrade"' alias vnstat='vnstat -i eth0'
如何使用/调用别名
只需输入别名:
$ update
$ vnstat
$ flush_redis
删除 bash 别名
要从定义的别名列表中删除给定的别名,请尝试 unalias 命令:通过传递以下
命令删除别名定义:
$ unalias alias_name
$ unalias c
-a
$ unalias -a
所有命令的总结
您学习了如何使用alias 命令创建 bash 别名。请注意,bash 别名很有用,但不能替代 bash 函数。
命令 | 描述 | 示例 |
---|---|---|
alias alias -p |
打印别名列表 | alias |
alias name='value' | 定义别名 | alias c='clear' alias d='df -H' |
c d |
执行名为 c 或 d 的别名 | c d |
unalias NAME unalias -a |
从已定义别名列表中删除每个 NAME 选项-a删除所有别名定义 |
unalias c unalias -a |
vi ~/.bashrc nano ~/.bashrc vim ~/.bashr_aliases neovim ~/.bashr_aliases |
将你的别名永久存储在 bash 配置文件中 |
alias cp='cp -i' alias mv='mv -i' alias rm='rm -i' alias ls='ls --color=auto' alias l.='ls -d .*' alias vnstat='vnstat -i eth0' |
$ man bash
$ help source
$ help alias
$ help unalias