Linux中的alias命令
开始写内容之前,简单聊下这个周末吧,这个周末没怎么学习,周六去了趟玉渊潭公园,感觉就是人比樱花多,简直挤爆了。这引发我思考了一个问题:北京的很多资源都是国内顶尖的,但是除以人口密度,人均可以占有的资源真的是相当有限。就拿公园里面的划船来讲吧,我已经连续两个周末没有划船成功了,原因是划船的人实在是太多了,几乎所有的船都在湖里面,游客们只能在外面排队,回来一条船,上一组游客,这在老家西安简直是不能想象的事情。但是么,入乡随俗,没有办法只能适应环境了。今天周天,在家葛优躺了一天,打游戏,看电影,自己做饭吃,恩,美滋滋。
开始今天的主要内容吧,在linux中经常会使用某些重复性的命令,比如MySQL的启动连接串,或者是运行某个固定目录下的脚本,这种情况下,我们如果每次登陆都把这些长长的命令字符串输一遍,难免显得有些笨重,这里给大家介绍一种方法,就是使用linux中自带的alias命令将这种重复性的命令进行简化,具体的过程描述如下,首先我们在命令航中敲下alias,可以看到以下内容:
[dba_mysql ~]$ alias
alias l.='ls -d .* --color=auto'
alias la='ls -la'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias sudo='sudo '
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
上面的显示结果是,当我们输入la的时候,相当于输入了ls -la,也就是显示隐藏目录,当我们输入ll的时候,相当于输入了ls -l --color=auto,也就是显示详细文件内容,也就是说等号左右两边的命令结果是等效的,相比较来讲,左边命令的格式比较简短,所以这是一种快速的命令输入方法,这里我们做一下试验:
制定yyz的结果和ls结果一致
[dba_mysql ~]$ alias yyz=ls
再次查看alias
[dba_mysql ~]$ alias
alias l.='ls -d .* --color=auto'
alias la='ls -la'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias sudo='sudo '
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
alias yyz='ls'
运行yyz指令
[dba_mysql ~]$ yyz
a.csv a.sql.0 installMySQL_new mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz mysql_mgr_test-master.zip
a.sql conn.sh mgr.sql mysql_mgr_test-master sshtest.sh
可以看到,我们通过上述三个步骤就把yyz这个命令自定义成了ls,当我们需要输入一些连接串的时候:
[dba_mysql ~]$ /usr/local/mysql/bin/mysql -udba_admin -p -h127.0.0.1 -P4306
Enter password:
[dba_mysql ~]$ alias mysql_login=' /usr/local/mysql/bin/mysql -udba_admin -p -h127.0.0.1 -P4306'
[dba_mysql ~]$ mysql_login
Enter password:
我们可以看到,可以用一个快速的命令来代替常常的连接串,而且这个命令在我们输入一半的时候可以通过TAB按键来进行模糊匹配,这样就大大减少了输入命令串的速度。需要注意的是,如果我们想要这个改变持久生效,需要把这个alias的内容加入到bash_profile里面,这样就可以在当前环境下永久生效了。举例如下:
[dba_mysql ~]$ vim .bash_profile
[dba_mysql ~]$ cat .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
指定yeyz为pwd命令
alias yeyz=pwd
export PATH
[dba_mysql ~]$ source .bash_profile
[dba_mysql ~]$ yeyz
/home/dba_mysql
通过上述方法,我们就可以使用yeyz这个命令来代替pwd了,但是尽量不要这么做,因为yeyz有四个字母,pwd只有三个字母,这不是得不偿失么~最好用来代替一些字符串长度比较长的命令。