给命令设置别名
当命令过长时,可以给命令设置一个别名,alias flag=command
用来设置别名,如:
# 用lg代替长命令
$ alias lg='ls | grep test'
如果想要查看所有的别名,就直接使用alias
:
jyq@ubuntu:~$ alias
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l='ls -CF'
alias la='ls -A'
alias lg='ls | grep test'
alias ll='ls -alF'
alias ls='ls --color=auto'
jyq@ubuntu:~$
取消别名时,使用unalias flag
命令:
$ unalias lg
bash的环境配置文件
在上面说到,可以通过alias
来设置命令的别名、自定义变量,然而,这些变量在注销bash后就会失效,如果想保留所有的设置,就需要将这些设置写入配置文件。一些bash默认的变量或别名,就是bash在启动时直接在配置文件中读取到而设置的。
在了解bash的配置文件读取之前,需要搞清楚两个概念:login shell 和 non_login shell.
login shell
在启动bash时需要完整的登录流程,如在tty1-tty6中登录,就是login shell。
non_login shell
取得bash时不需要完整登录流程,如使用图形界面 ctrl+alt+T打开终端,或者在原来bash中启动bash,都没有输入用户名密码,属于non_login shell.
可以通过命令 shopt login_shell
查看是哪种bash: