内建命令和外部命令

外部命令

外部命令,有时候也被称为文件系统命令,是存在于bash shell之外的程序。外部命令程序通常位于/bin、/usr/bin、/sbin或/usr/sbin中。外部命令需要使用子进程来执行。
ps就是外部命令。你可以使用which和type命令找到它。

which ps    #which命令只显示出了外部命令文件
/bin/ps

type -a ps  #显示出每个命令的两种实现
ps is /bin/ps

ls -l /bin/ps
-rwxr-xr-x 1 root root 133432 5月  14  2018 /bin/ps

当外部命令执行时,会创建出一个子进程。这种操作被称为衍生(forking)

内部命令

内部命令不需要使用子进程来执行,不需要借助外部程序文件来运行。
type command-line 可以查看是否内部命令

type cd
cd is a shell builtin

type exit
cd is a shell builtin

有些命令有多种实现。例如echo和pwd既有内建命令也有外部命令。两种实现略有不同。要查看命令的不同实现,使用type的命令的-a选项。

type -a echo 
echo is a shell builtin
echo is /bin/echo

which echo  #which只显示出了外部命令文件
/bin/echo
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值