Linux 添加自定义命令
前一阵子更换Linux衍生版的频率有点高 -_-|||,各个衍生版的Linux Shell命令还是又一些差异的,例如有的衍生版会有ll,la等等这些命令,其实这些东西基本都是在Shell的初始化脚本中做的。
一般来说,Shell的初始化脚本分为2种:一种是全局默认的,一种是用户自己的。
全局默认的路径为/etc/profile在profile中,它默认会再加载/etc/bash.bashrc。
另一种用户自己的就是$HOME目录下的.profile它默认会载加载.bashrc文件。
各中文件也会加载一些其他的脚本,这个具体视脚本而定。
理清整个脚本加载过程后,就动手修改,至于要在那个脚本修改,还看个人取向,本人喜欢修改$HOME下的.bashrc。
如何添加自定义命令:
alias 命令和他英文的意思一样,“别名”。
比如我们要添加ll = ls -l
那么就在上述脚本中加上一句:
alias ll="ls -l"
同样,la写法如下:
alias la="ls -A"
ls多彩显示,默认会添加,但是遇上特殊的我们可以这样写:
alias ls="ls --color"
那么快速清理Shell的命令历史记录,本人自己起的别名叫clean:
alias clean="history -c ; history -w"
这样每次执行完clean history就被完全清除了,很方便。
编辑所用的 shell 配置文件,如 bash 的 .bashrc,zsh 的 .zshrc,如加入:
alias ws="cd ~/workspace"
重载该配置文件使更改生效,如source .bashrc。在任意位置输入ws,即可 cd 到 workspace 目录。
www.2cto.com
如果有很多 alias 命令,可单独定义一个文件存放,参考 .bashrc中 的一段说明:
# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
如果有多个shell,这种方法更方便管理,只需要将这个文件添加到各shell配置文件中即可。
方法二:将可执行文件目录加入PATH
1、创建存放自定义命令的目录,如my_cmd
2、将该目录加入path中
编辑所用的 shell 配置文件,如 bash 的 .bashrc,zsh 的 .zshrc,加入
PATH=$PATH:~/my_cmd
也可以将该命令添加到方法一中单独创建的自定义命令存放文件中
3、重载该配置文件使更改生效,如 source .bashrc
4、将自定义的可执行程序放入 my_cmd 中,在 shell 就可以直接执行了
➜ ~ mkdir ~/my_cmd
➜ ~ vi .bashrc
➜ ~ source .bashrc
➜ ~
➜ ~ vi .zshrc
➜ ~ source .zshrc
➜ ~
方法三:综合上述方法管理自定义命令
1、编辑所用的 shell 配置文件,如 bash 的 .bashrc,zsh 的 .zshrc,加入:
if [ -f ~/shellrc ]; then
. ~/shellrc
fi
2、创建 shellrc,加入对 shell 配置文件的改动,如:
PATH=$PATH:~/my_cmd
alias ws="cd ~/workspace"
简单的命令如 alias,放入shellrc。可执行文件放入my_cmd。