【Linux】【命令】【解析原理】

本文介绍了Linux系统的shell及其内部和外部命令的区别。内部命令是shell的一部分,如cd、history,而外部命令如ls、vi存储在特定路径下,由shell管理执行。通过type和file命令可以区分内外部命令,help和man用于查看命令使用方法,whereis查找命令位置。shell解析命令时,按空格分隔字符串,先找内部命令,再找$PATH中的外部命令,未找到则提示命令未找到。
摘要由CSDN通过智能技术生成

0. 引言
本人才疏学浅,介绍的内容都是浅尝辄止,给出大致的使用方法和适用场景,深入的研究作者和读者还都需要下大功夫,如果我的分享恰好给正遇到难题的你一个排查的方向,那么这篇文章也是有意义的。

1. shell
shell是一个linux系统的一个壳,也可以理解为一个简单的桌面应用,接收用户输入的字符串,仅仅只有接受字符串的作用。解析的工作都是交由内部的核来完成的。

内部的核有几种,bash、ksh、csh,我只接触过bash,下面也都以bash举例。Bash后面会有专门的文章来介绍,我们先说一下linux命令解析原理。

2. Linux命令分为内部命令和外部命令
a) 内部命令:
是shell程序的一部分,包含一些简单的linux系统命令,由shell程序识别并在shell程序内部完成运行,在linux系统加载运行时shell就被加载并驻留在系统内存中。内部命令是写在bash源码里面的,其执行速度比外部命令快,因为解析内部命令shell不需要创建子进程。例如:cd history等
b) 外部命令:
是一些功能强大的实用程序,由于功能强大,其包含的代码量很大,系统加载时并不随系统一起被加载到内存中,在需要时才将其调用内存。外部命令的实体并不包含在shell中,但是其由shell程序控制的。shell程序管理外部命令执行的路径查找、加载存放,并控制命令的执行。外部命令是在bash之外额外安装的,通常放在/bin,/usr/bin,/sbin,/usr/sbin…等等。可通过“echo $PATH”命令查看外部命令的存储路径

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值