如何在Linux/Unix上创建永久的Bash别名
时间:2020-01-09 14:16:10 来源:igfitidea点击:
问题描述:
我创建了一个名为update的bash shell别名,如下所示:alias update ='sudo-sh -c"/root/bin/chk_disk && dnf update'
但是,在我重新启动Fedora Linux后,别名被删除。
如何在Fedora Linux或类似Unix的系统上创建永久的Bash别名?
解决方法:
您需要将bash shell别名放在由bash执行的~/.bashrc文件($HOME/.bashrc)文件中(对于在大多数现代Linux发行版上)
您可能希望将所有bash别名定义放入一个单独的文件中,例如~/.bash_aliases,而不是直接将它们添加到~/.bashrc文件中。
在Linux和类似Unix的系统上,您的bash shell永久使用别名。
创建永久Bash别名的步骤:
打开终端应用
- 使用
vi~/.bash_aliases
编辑~/.bash_aliases或~/.bashrc文件。 - 追加您的bash别名
- 例如追加:
alias update ='sudo yum update'
- 保存并关闭文件。
- 输入以下命令激活别名:
source~/.bash_aliases
请注意,~/.bash_aliases文件仅在~/.bashrc文件中出现以下行时才起作用:
if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi
如果~/.bashrc文件中是否缺少上面的行,只需在~/.bashrc的最后添加。
例子
让我们创建四个别名,如下所示:
$ vi ~/.bash_aliases
或者
$ joe ~/.bashrc
追加下面内容:
# 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