很多新手可能跟我一样用不惯Linux,或者说是用不惯它的终端,就是因为不直观而且需要记大量的命令。不过维护网站多少还是要跟终端打交道的,即便是使用宝塔这种可视化面板也只是将命令操作降低到最少(并不能保证完全不用)。
最近折腾服务器多了,终端也用得勤快了些,加之服务器性能羸弱,跑个宝塔估计就拉跨了,也就硬着头皮老老实实地输命令。
刚开始有很多内容都是靠便签来记,每次要操作时一边打开终端,一边打开便签,然后复制黏贴,倒也没什么不妥。只是有时偷懒忘了把常用的命令或者是路径写进便签,用时就得手工输一遍;又或者换了台电脑,便签内容没有同步,远程登录后就得凭记忆来操作。用Tab键自动补全目录或者文件名的方式已经很方便了,但每次要切换到各个目录还是稍显繁琐。所以还是得换个形式,其实Linux已经为我们准备好了,这就是alias(命令别名)。
命令别名就是你可以把一长串指令指定一个简短的名称,在键入指令的时候使用简短的名称来达到调用一长串指令的目的,或将某些命令用自己熟悉的方式记忆。
别名的语法如下:

alias alias_name="command_to_run"

比如我们在终端窗口中输入:

alias ll="ls -la"

那么我们就可以输入ll并获得ls -la同样的输出了。
又或者我们熟悉的DOS命令dir,其实也就是ls命令,我们同样在终端窗口输入:

alias dir='ls -l'

OK,又可以愉快地使用dir了。
想取消别名则可以使用 unalias 指令:

unalias dir

以上别名将只在当前终端会话可用。如果退出会话或从另一个终端打开新会话,则别名将不可用(相当于自动执行了unalias)。
要使别名持久化,就需要在~/.bashrc文件中声明它,打开之后我们会看到如下内容:

# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

这是系统默认设置的某些别名。在后面我们加上自己想要的内容,比如:

# 维护网站
alias mywiki='cd /data/wwwroot/www.mywiki.com' # 直接进入我的维基站目录
alias phpconf='vim /usr/local/php/etc/php.ini' # 直接编辑php配置文件
alias ftpdconf='vim /usr/local/pureftpd/etc/pure-ftpd.conf' # 直接编辑ftpd配置文件
alias nginxconf='vim  /usr/local/nginx/conf/nginx.conf' # 直接编辑nginx配置文件

# 常用命令缩写
alias la='ls -lhta' # 按修改时间逆序列出所有文件
alias auto='systemctl list-unit-files --type=service | grep enabled | more'  # 查看开机启动项
alias untar='tar -zxvf ' # 解压缩tar文件

你也可以通过传递参数的方式来建立别名,如:

#传递函数
alias sek='f(){ find / -name $1; }; f' # 在根目录下查找文件
alias sekc='f(){ find ./ -name $1; }; f' # 在当前目录下查找文件

其中的$1就是传递的参数(下例中也是)。
或者也可以直接创建一个简单的bash函数(创建一个目录并进入),如下:

mkcd='()
{
  mkdir -p -- "$1" && cd -P -- "$1"
}

上例中的--&&的作用如下:

  • -- - 确保您不会意外地向命令传递额外的参数。例如,如果尝试创建以-(破折号)开头而不使用--目录名的目录,则会将其解释为命令参数。
  • && - 确保第二个命令仅在第一个命令成功时运行。

修改完之后别忘了运行source ~/.bashrc命令让别名生效。
好了,现在你可以直接使用别名进行操作了,输入mywiki就能直接进入到我的维基站目录下了。
如果忘了自己设的别名,用aliasalias -p命令查看一下当前都有哪些别名就可以了。
更多别名的用法大家可以自行搜索,这里只是抛砖引玉一下。

参考文章

如何创建Bash alias别名
让你相见恨晚的10个Linux命令别名!

最后修改:2021 年 02 月 27 日
如果觉得我的文章对你有用,请随意赞赏