码迷,mamicode.com
首页 > 系统相关 > 详细

Linux编程 10 (shell外部命令与内建命令,alias ,type命令)

时间:2018-09-15 11:31:12      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:通过   简单   命令参数   列表   编译   inf   17.   ash   相同   

一.  内部命令

  Linux命令有内部命令(内建命令)和外部命令之分,内部命令和外部命令功能基本相同,但也有些细微差别。内部命令不需要使用子进程来执行,它们已经和shell编译成一体,作为shell工具的组成部分存在。不需要借助外部程序文件来运行。它们是一些比较简单的linux系统命令,如exit,history,cd,echo等。

  要分区是外部命令还是内部命令可以使用type  来查看,如下图查看cd是内部还是外部命令:
    技术分享图片

  1.1命令别名

    alias 命令也是一个内建命令,允许你为常用的命令和参数创建另一个名称,从而减少输入。在系统中已经设置好了一些常用的命令的别名。查看当前可用的别名使用alias -p如下图所示:
    技术分享图片

    下面通过alias 命令来创建属于自己的别名。把ls -li 长列表命令参数改别名为li。
    技术分享图片

    一但定义好了别名就可以随时在shell中使用,但要注意的是只有在当前进程中才有效。下面演示在子shell中使用别名无效,只有退出子shell才行。
    技术分享图片
    

二.外部命令

  外部命令是存在于bash shell之外的程序,它们不是shell程序的一部分,外部命令程序通常位于/bin, /usr/bin, /sbin, /usr/sbin中。 ps就是一个外部命令,使用type查看如下所示:
    技术分享图片

  所有外部命令都会被一个子进程来执行。ps的父进程是bash shell PID 2486,如下所示:
    技术分享图片

  2.1 使用type的小技巧
    当命令是外部命令时,type还会显示外部命令所在路径,如下图,查看service和ps的路径:
    技术分享图片
    根据路径提示,可以找到命令所在目录,如找service命令如下所示:
    技术分享图片
  

  总结:这篇介绍的两种不同类型的命令:内部命令和外部命令。外部命令会创建出一个包含全新环境的子进程,而内部命令则不会。

Linux编程 10 (shell外部命令与内建命令,alias ,type命令)

标签:通过   简单   命令参数   列表   编译   inf   17.   ash   相同   

原文地址:https://www.cnblogs.com/MrHSR/p/9650305.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!