Overview
很多时候由于在命令行会经常使用到很长的命令或者进一个很长的目录,可能需要为常用的命令取一个别名。通常有两种别名的方式,一种是不带参数的别名,一种是可以自带参数的别名。
两种方式都是通过修改shell
的配置文件实现,该配置目录在home
目录下,默认是隐藏文件,在home
目录使用ls -a
就可以看到。如果使用bsh
,则文件名为.bshrc
文件,如果使用zsh
,则文件名为.zshrc
。
不带参数的别名
通常使用alias
命令来为长命令创建别名。
alias sw="ssh wangjiawei@120.24.231.154"
在shell
配置文件中添加上述代码,就可以在命令行使用sw来代替每次ssh登陆时这一长串命令。
alias cc="cd..;ls"
由于我习惯,每次返回上一级目录的时候,显示上一级目录的文件列表,因此使用了cc
来代替每次执行两条命令。
带参数的命令
有时候我们需要别名也可以带参数,比如使用lsof -i tcp:8888
可以查看8888
端口是否被占用。如果想为这条命令取一个简短的别名port,需要可以使用port 8080
来查看8080
端口的占用情况。
# belongs to port
# usage: "port 8000"
function port() { lsof -i tcp:$1 }
使用function的方式,可以指定自带参数。
# all open ports
# usage: "ports"
function ports() { lsof -Pni4 | grep LISTEN }
使用function
方式也可以起到alias
的效果。上述语句使得用户使用命令ports
就可以列出来所有被使用的参数,不用自带参数。