shell内部命令和外部命令

区别:

内部命令:内部命令被构建在shell之中。当执行shell命令时,内部命令的执行速度非常快。这是因为没有其他的进程因为执行这条命令而被创建。比如说,当我们执行“cd”命令时,没有进程被创建。在执行过程中只是简单的改变当前的目录。

外部命令:外部命令并没有被构建在shell中。这些可执行的外部命令保存在一个独立的文件当中。当一个外部命令被执行时,一个新的进程即被创建同时命令被执行。比如说,当我们执行“ls”(通常被保存在/bin

目录下)命令时,然后/usr/bin/cat被执行。

在终端输入 help 即可列出所有的内部命令。

判断一个命令是不是内部命令用type

cd is a shell builtin 说明cd是内部命。其他两个不是内部命令。

当你不知道一个内部命令的具体用法也可以用help 如jobs的用法:

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-11 12:39:37

shell内部命令和外部命令的相关文章

shell的内部命令和外部命令

shell命令分成内置命令和外部命令. 内置命令(builtin command) 是shell解释程序内建的,有shell直接执行,不需要派生新的进程.有一些内部命令可以用来改变当前的shell环境. 常见的内部命令有:.(点命令).bg.cd.continue.echo.exec.exit.export.fg.jobs.pwd.read.return.set.shift.test.times.trap.umask.unset和wait. 外部命令(external command) 又分两种

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

linux中的命令大致可分为两类,内部命令和外部命令 内部命令:也称shell内嵌命令: 外部命令:存放在一个文件中,使用时需要去文件中查找,这些文件被定义在$PATH [[email protected] ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin type命令可以查看命令类型,以区别是内部命令还是外部命令 例 [[email protected] ~]# type cd cd is a

shell的内建命令和外部命令

shell的内建命令和外部命令 Shell执行的命令可以分为内建命令(built-in)和外部命令(external),前者是构建在shell内部:后者是一个独立的文件(可以是二进制文件,也可以是一个脚本). 内建命令的执行比较简单,由当前shell本身来执行,例如echo, eval, exec, export, readonly, read, shift, wait和点(.)等: 外部命令的执行比较复杂,shell进程会fork一个子进程,父进程随后挂起,然后在子进程中exec加载外部文件,

Linux中 别名、内部命令、外部命令、hash缓存表 系统调用时的优先级比较

Linux系统中别名.内部命令.外部命令.hash缓存表 优先级优先级比较 在我们平时使用Linux系统执行各种命令时,会发现命令在执行过程中会区分哪个优先执行,哪个其次执行,这里我们来做个试验证明一下. 别名:用alias命令来设置命令的别名. 内部命令:内部命令在系统启动时就调入内存,是常驻内存的. 外部命令:外部命令是系统的软件功能表现为一个文件,用户需要时才从硬盘中读入内存. hash缓存表:linux系统下会有一个hash缓存表,当你刚开机时这个hash表为空,每当你执行过一条命令时,

Bash 中同名的内部命令和外部命令

昨天有个人在 bug-bash 上问:为什么 [ --help 没有输出帮助信息.有人回答他了,原因是 coreutils 提供的 [ 命令才接受 --help 选项,Bash 自己的 [ 命令不接受任何选项.当你在 Bash 里执行 [ --help 时,当然优先执行的是内部命令 [,而不是外部命令 [,执行 /usr/bin/[ --help(在我的 Mac 上是在 /bin/[)才能获得他想要的帮助信息. 其实除了 [,还有一些其它外部命令也会和 Bash 提供的内部命令同名,下面列举一下

shell 的内置命令与外部命令的区别

shell命令通常分为两类: 内置命令(man builtins) 外部命令 下面分析两者的区别. 内置命令: 内部命令被构建在shell之中.当执行shell命令时,内部命令的执行速度非常快.这是因为没有其他的进程因为执行这条命令而被创建.比如说,当我们执行"cd"命令时,没有进程被创建.在执行过程中只是简单的改变当前的目录. 外部命令: 外部命令并没有被构建在shell中.这些可执行的外部命令保存在一个独立的文件当中.当一个外部命令被执行时,一个新的进程即被创建同时命令被执行. 通

Linux查看命令是内部命令还是外部命令

在 Linux 中,怎样查看一个命令是内部命令还是外部命令呢?下面就来为大家介绍. 一.区别: 1.内部命令在系统启动时就调入内存,是常驻内存的,所以执行效率高. 2.外部命令是系统的软件功能,用户需要时才从硬盘中读入内存. 二.如何判断. 在终端中输入 type 可以查看命令是内部命令还是外部命令.格式为: type  要查看的命令 例如,我们要查看 cd 命令是否为内部命令,可以键入 type cd.从返回的结果可以看出, cd 是一个内部命令. $type cd cd is a shell

Windows7安装JDK的环境变量设置javac不是内部命令或外部命令

转自:http://bbs.gfan.com/android-5941970-1-1.html Windows7安装JDK的环境变量设置 Windows7 X64安装“jdk-6u26-windows-x64.exe”后,按照网上的环境变量设置方法设置了环境变量,但是死活都提示“javac不是内部命令或外部命令,也不是可运行的程序或批处理文件”.折腾了半天,还是这个问题.后上网查了半天,终于找到解决办法,并且亲测可用,现在整理如下,希望对童鞋门有用.第一步:安装jdk-6u26-windows-

'net’ 不是内部命令或外部命令,也不是可运行的程序或批处理文件 解决方法

'net’ 不是内部命令或外部命令,也不是可运行的程序或批处理文件 首先确定C:\Windows\System32下有net.exe     我的电脑-->属性-->高级-->环境变量 path的变量值新加: %SystemRoot%\system32     修改完成后,需要重新打开cmd命令行,否则不会生效的. 'net' 不是内部命令或外部命令,也不是可运行的程序或批处理文件 解决方法 原文地址:https://www.cnblogs.com/caiyishuai/p/107831