• 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。
  • 相关阅读:
    「两千年中公历转换」数据库介绍
    [转]Web中使用Word控件。(DSOFramer )
    解决DRIVE_IRQL_NOT_LESS_OR_EQUAL的方法
    Html Img的几个属性_存在个问题
    不错的开源C#博客_BlogEngine.net
    [转]引用指定的namespace 解决命名空间冲突的错误
    [原]不太完善的图像合并程序VS2005CSharp_有目录监控_TIF_JPG输出
    [转]JS小游戏_9格的棋
    JS小游戏_能坚持几秒
    [转]前台JS限制上传图片质量大小和尺寸!
  • 原文地址:https://www.cnblogs.com/i0ject/p/3658084.html
Copyright © 2020-2023  润新知