Linux 中的内部命令和外部命令

Linux 中的内部命令和外部命令

作者:Grey

原文地址:

博客园:Linux 中的内部命令和外部命令

CSDN:Linux 中的内部命令和外部命令

什么是 bash shell ?

bash shell,就是一个程序,就是 Linux 系统安装的一个软件,用户通过 SSH 输入用户名密码登录操作系统后,直接进入 bash shell 这个软件

shell 命令分为外部命令和内置命令:

比较内置命令外部命名
定义Bash Shell 自带的命令Linux 系统中的应用程序
执行效率
执行过程调用当前 Shell 进程的一个函数触发磁盘 I/O,fork 出一个单独的进程,执行完成后退出

内部命令( Shell 自带的命令)

例如:cd命令,使用

type cd

显示:

cd is a shell builtin

说明cd命令是 shell 自带的命令

通过

help -d

可以查看所有内部命令

image

外部命令(不是Shell自带的命令,由用户安装的)

比如 ifconfig 命令

type ifconfig

显示:ifconfig is /usr/sbin/ifconfig

可以使用 file 命令查看命令是一个什么类型的文件

file /usr/sbin/ifconfig

显示:

/usr/sbin/ifconfig: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=22d5b3be8d3ce3c71cad5b982581ede262397b56, stripped

使用 whereis 查看某个命令在哪个位置

whereis ifconfig

显示

ifconfig: /usr/sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz

此外:

内部命令的帮助用 help 指令,外部命令的帮助用 man 指令。

更多

bash shell 在执行命令的时候,做了两步优化:

第一个优化,通过 PATH 来(echo $PATH) 搜索命令 。

第二个优化,通过 hash 来搜索命令,hash查看,hash -r(清空hash)

编写脚本时候, 如需要执行权限,要赋予该文件执行权限 chmod u+rx filename

如果 bash 执行,则不需要赋予执行权限。

# 不需要执行权限
bash ./filename.sh
# 要赋予执行权限
./filename.sh

注:以上两种执行方式都是新开一个进程,使用如下方式执行

source ./filename.sh
.filename.sh

不会产生新的子进程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GreyZeng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值