-- TOC --
alias用来设置命令的别名,常常用来将长长的命令和特定参数设置成一个简单的短短别名,生活得以简化。
比如:
$ alias ll='ls -alF'
这条alias指令,是Ubuntu系统默认提供的,当我们输入 ll
,就相当于输入ls -alF
。但是树莓派的系统默认就没有 ll
这条别名,可以自己添加。
另一个我习惯的别名是docker:
$ alias docker='sudo docker'
有了这个别名,我就可以不用每次docker的时候,都输入sudo了!
直接输入alias命令,可以查看当前Bash环境下的所有别名:
$ 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 docker='sudo /usr/bin/docker'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -alF'
alias ls='ls --color=auto'
也可以查看某个具体的别名是否存在:
$ alias docker
alias docker='sudo docker'
如果你需要常常进入一个目录去工作,这个目录又很长,可以考虑设置一个别名,例如:
$ alias cda='cd /usr/local/apache2'
然后直接用你自定义的cda命令
,就可以直接进入那个指定的目录。
$ unalias cda docker
alias命令只作用于当次登入的操作。如果想每次登入都能使用这些命令的别名,则需要把相应的alias命令存放在 ~/.bashrc
文件中。每次用户登陆系统启动Bash,都会先运行这个文件,设置一些必要的参数,当然可以包括alias命令。
如果这样还不行,表示没有在~/.bash_profile
文件(或~/profile
)中执行~/.bashrc
文件,可以在~/.bash_profile
中加入命令 source ~/.bashrc
后保存,这样就可以每次登入后都可以使用设置好的命令别名。
没有 ~/.bash_profile
,就是 ~/.profile
。
这部分不同发行版本会有些差异,但原理都一样,就是在用户登录系统启动的时候,预先执行一些脚本。
原理很简单,设置别名的时候,将多条命令用 ;
分割开来,但是他们属于同一个别名:
$ alias showroot='cd /; ll; cd'
现在,自定义的showroot指令,先进入根目录,然后执行 ll
(它也是个别名),最后返回用户的home目录。
$ alias showroot='cd /;ll;cd'
xinlin@HASH:~$ showroot
total 2097240
drwxr-xr-x 20 root root 4096 Oct 12 2020 ./
drwxr-xr-x 20 root root 4096 Oct 12 2020 ../
lrwxrwxrwx 1 root root 7 Oct 12 2020 bin -> usr/bin/
drwxr-xr-x 4 root root 4096 Nov 30 2020 boot/
drwxrwxr-x 2 root root 4096 Oct 12 2020 cdrom/
drwxr-xr-x 19 root root 4420 Oct 9 11:36 dev/
drwxr-xr-x 137 root root 12288 Oct 13 14:22 etc/
drwxr-xr-x 3 root root 4096 Oct 12 2020 home/
lrwxrwxrwx 1 root root 7 Oct 12 2020 lib -> usr/lib/
lrwxrwxrwx 1 root root 9 Oct 12 2020 lib32 -> usr/lib32/
lrwxrwxrwx 1 root root 9 Oct 12 2020 lib64 -> usr/lib64/
lrwxrwxrwx 1 root root 10 Oct 12 2020 libx32 -> usr/libx32/
drwx------ 2 root root 16384 Oct 12 2020 lost+found/
drwxr-xr-x 3 root root 4096 Oct 16 2020 media/
drwxr-xr-x 2 root root 4096 Aug 1 2020 mnt/
drwxr-xr-x 3 root root 4096 Oct 13 14:22 opt/
dr-xr-xr-x 227 root root 0 Oct 9 11:34 proc/
drwx------ 4 root root 4096 Sep 17 10:50 root/
drwxr-xr-x 36 root root 1020 Oct 14 11:54 run/
lrwxrwxrwx 1 root root 8 Oct 12 2020 sbin -> usr/sbin/
drwxr-xr-x 9 root root 4096 Oct 9 11:37 snap/
drwxr-xr-x 2 root root 4096 Aug 1 2020 srv/
-rw------- 1 root root 2147483648 Oct 12 2020 swapfile
dr-xr-xr-x 13 root root 0 Oct 9 11:34 sys/
drwxrwxrwt 16 root root 4096 Oct 14 14:12 tmp/
drwxr-xr-x 14 root root 4096 Aug 1 2020 usr/
drwxr-xr-x 14 root root 4096 Aug 1 2020 var/
xinlin@HASH:~$ pwd
/home/xinlin
本文链接:https://cs.pynote.net/sf/linux/shell/202110146/
-- EOF --
-- MORE --