Linux 中的内部命令和外部命令
2024-08-29 23:21:32
Linux 中的内部命令和外部命令
作者:Grey
原文地址:
什么是 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
可以查看所有内部命令
外部命令(不是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
不会产生新的子进程。
最新文章
- 几个有趣的WEB设备API 前端提高B格必备(一)——电池状态&;震动api
- 女生的最爱,装饰品。WPF也有,Adorner。(上海晒衣服理念)
- RDS MySQL 空间问题的原因和解决
- Learn ZYNQ(10) – zybo cluster word count
- Debian8.3.0下安装Odoo8.0步骤
- Java API 实现HBase的数据添加与过滤查询
- Codeforces Round #129 (Div. 2)
- java Spring集合
- Scrum教练不应兼任product owner
- String,StringBuffer与StringBuilder的差别??
- 当今最流行的Node.js应用开发框架简介
- IDL和生成代码分析
- MySQL5.6多实例部署
- 第16次CCF CSP认证-第5题-317 号子任务(subtask317)-图论最短路径
- AVIER Racing Drone App Privacy Policy
- 让linux启动更快的方法
- 从虚拟机指令执行的角度分析JAVA中多态的实现原理
- 在 Python 中使用 JSON
- [转]centos安装autossh
- 记一次升级Tomcat
热门文章
- 使用Steamwork.Net 接入Steam一点心得
- 华南理工大学 Python第5章课后小测-2
- 好书推荐之Mysql三剑客 :《高性能Mysql》、《Mysql技术内幕》、《数据库索引设计与优化》
- Python数据科学手册-机器学习: 流形学习
- (一)JPA的快速入门
- java项目中VO、DTO以及Entity,各自是在什么情况下应用的
- 存储类StorageClass
- DeepHyperX代码理解-HamidaEtAl
- .Net WebApi 中的 FromBody FromForm FromQuery FromHeader FromRoute
- .Net CLR异常简析