zoukankan      html  css  js  c++  java
  • linux命令的别名及命令的执行

    查看命令是否是别名

    linux命令往往有默认的选项和参数,而这些默认的选项或者参数往往是通过别名来实现的。

    如rm命令,就是rm -i的别名。

    如何查看某条命令是不是别名呢,可以通过alias或者type来查看

    alias 命令
    type 命令

    如下

    [root@localhost vagrant]# alias rm
    alias rm='rm -i'
    [root@localhost vagrant]# type rm
    rm is aliased to `rm -i'
    [root@localhost vagrant]# 

    创建别名

    alias 别名='命令 选项' 
    alias rm='rm -i'

    删除别名

    unalias 别名
    unalias rm
    [root@localhost vagrant]# alias rm   //查看rm是否是别名
    alias rm='rm -i'
    [root@localhost vagrant]# type rm   //查看rm是否是别名
    rm is aliased to `rm -i'
    [root@localhost vagrant]# unalias rm  //删除别名rm
    [root@localhost vagrant]# alias rm   //再查看rm是不是别名
    bash: alias: rm: not found    //别名rm不存在
    [root@localhost vagrant]# type rm  
    rm is /bin/rm
    [root@localhost vagrant]# alias rm='rm -i'  //创建别名
    [root@localhost vagrant]# alias rm   //再查看rm是不是别名
    alias rm='rm -i'
    [root@localhost vagrant]# 

    结论: 命令的别名和命令本身可以重名,当有别名时,首先会执行别名而不是命令本身。

               命令的默认选项往往是通过创建同名别名来实现的,通过查看别名便可知道命令的默认选项

    命令的执行

    我们执行某条命令时,有时会输入完整的命令路径,而有时只是简单的输入命令

    完整的命令路径其实就是命令的执行文件,这种情况下会直接执行文件

    而简单的输入命令则有两种情况,如果是内部命令,则直接直接从内存中读取并执行,

    如果不是内部命令,及外部命名,则会在PATH 变量包含的多个路径中逐个查找,直到找到并执行,找不到则提示该命令不存在。

    内部命令和外部命令

    内部命令由 Shell 自带,会随着系统启动,可以直接从内存中读取;内部命令指的是解释器内部的命令,会被直接执行;

    而外部命令仅是在系统中有对应的可执行文件,执行时需要读取该文件。

    上面说的直接输入可执行文件的路径和在PATH变量的路径中查找命令的可执行文件都属于外部命令

    判断内部命令和外部命令

    type 命令
    [root@localhost vagrant]# type pwd   //内部命令
    pwd is a shell builtin
    [root@localhost vagrant]# type top  //外部命令
    top is /bin/top
  • 相关阅读:
    最小生成树之算法记录【prime算法+Kruskal算法】【模板】
    hdoj 1869 六度分离【最短路径求两两边之间最长边】
    la3211
    codeforces round #414 div1+div2
    bzoj1823
    bzoj3112
    bzoj1061&&bzoj3256
    单纯形&&线性规划
    bzoj1494
    bzoj3105
  • 原文地址:https://www.cnblogs.com/gaoBlog/p/11712732.html
Copyright © 2011-2022 走看看