什么是Bash Shell的内建(build in)命令

1.什么是build in命令:

shell内建命令是指bash(或其它版本)工具集中的命令。一般都会有一个与之同名的系统命令,比如bash中的echo命令与/bin/echo是两个不同的命令,尽管他们行为大体相仿。当在bash中键入一个命令时系统会先看他是否是一个内建命令,如果不是才会查看是否是系统命令或第三方工具。所以在bash中键入echo命令实际上执行bash工具集中的bash命令也就是内建命令,而不是/bin/echo这个系统命令。

2.内建命令与系统命令
 
内建命令要比系统论命令有比较高的执行效率。外部命令执行时往往需要fork出(产生出)一个子进程,而内建命令一般不用。下面(或许以后还会有)这一篇文章将介简bash的内建命令。

3.查看一个命令是系统命令还是内建命令:type
 
[email protected]:~/Documents
 $ type -a pwd
 pwd is a shell builtin
 pwd is /bin/pwd
 
[email protected]:~/Documents
 $ type -a echo
 echo is a shell builtin
 echo is /bin/echo

可以看出,有些命令,echo和pwd同时是内建命令和系统命令。

4.常见命令的类型

[[email protected] ~]# type -a cd

cd is a shell builtin
 [[email protected] ~]# type -a pwd
 pwd is a shell builtin
 pwd is /bin/pwd
 [[email protected] ~]# type -a time
 time is a shell keyword
 time is /usr/bin/time
 [[email protected] ~]# type -a date
 date is /bin/date
 [[email protected] ~]# type -a which
 which is aliased to `alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde‘
 which is /usr/bin/which
 [[email protected] ~]# type -a whereis
 whereis is /usr/bin/whereis
 [[email protected] ~]# type -a whatis
 whatis is /usr/bin/whatis
 [[email protected] ~]# type -a function
 function is a shell keyword
 [[email protected] ~]# type -a ls
 ls is aliased to `ls --color=tty‘
 ls is /bin/ls
 [[email protected] ~]# type -a ll
 ll is aliased to `ls -l --color=tty‘
 [[email protected] ~]# type -a echo
 echo is a shell builtin
 echo is /bin/echo
 [[email protected] ~]# type -a bulitin
 -bash: type: bulitin: not found
 [[email protected] ~]# type -a builtin
 builtin is a shell builtin
 [[email protected] ~]# type -a keyword
 -bash: type: keyword: not found
 [[email protected] ~]# type -a command
 command is a shell builtin
 [[email protected] ~]# type -a alias
 alias is a shell builtin
 [[email protected] ~]# type -a grep
 grep is /bin/grep
 [[email protected] ~]#

时间: 2024-10-17 04:01:02

什么是Bash Shell的内建(build in)命令的相关文章

shell的内建命令和外部命令

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

Bash shell基本操作命令和环境变量命令(笔记)

一.Bash Shell 的基本操作命令 1.type:查看命令是否是bash shell 的内置命令 type cd 2.echo :变量的显示 echo $变量 echo name 3.unset :取消刚才设置的变量 unset name 4.env 或者set 命令查看环境变量 5.export 自定义变量转成环境变量 export 变量名 6.read 变量键盘读取 read [-pt] variable 7.declare/typeset 声明变量的类型 declare [-aixr

Shell所有内建命令

参考自 Linux命令大全 查看shell命令是否是shell内建命令,可使用type来判断: $ type cdcd is a shell builtin$ type pingping is /bin/ping 所有的内建命令如下: sh shell命令解释器 trap 指定在接收到信号后将要采取的动作 let 简单的计算器 seq 以指定增量从首数开始打印数字到尾数 tput 通过terminfo数据库对终端会话进行初始化和操作 apropos 在 whatis 数据库中查找字符串 set

Linux - Bash shell的功能;内建命令type

命令编修能力 (history): bash 的功能里头,相当棒的一个就是『他能记忆使用过的命令!』 这功能真的相当的棒!因为我只要在命令列按『上下键』就可以找到前/后一个输入的命令!而在很多 distribution 里头,默认的命令记忆功能可以到达 1000 个!也就是说, 你曾经下达过的命令几乎都被记录下来了. 这么多的命令记录在哪里呢?在你的家目录内的 .bash_history 啦! 不过,需要留意的是,~/.bash_history 记录的是前一次登陆以前所运行过的命令, 而至于这一

linux杂记(十)?what is BASH Shell

first,what is shell?其实只要是碰过计算机的,对于OS(Operation System操作系统,不管是linux.unix.windows)有点概念的人大多都听过这个名词,因为只要有OS那么就离不开Shell.其实Shell就是将我们输入的指令与kernel(核心)的沟通,使kernel可以控制hardware硬件(例如声卡,网卡,显卡)来正确无误工作. 基本上,替我们工作的是[hardware],控制硬件的是[kernel],而我们user则是利用[shell]控制一些ke

鸟0哥的Linux私房菜——第十四章:Bash Shell

视频链接 土豆: B站: 本章目录: 1. Bash shell1.1 什么是 shell ? (我们通过shell与Kernel核心沟通,使Kernel操控硬件)1.2 系统的 shell 与 /etc/shells 功能 (cat /etc/shells一下,可以看到当前电脑的shell)1.3 Bash shell 的功能  (1.命令编修能力,就是记忆你写的命令按上下键切换.2.命令与档案补全功能,就是tab键补全.3.命令别名(alias)设定功能alias命令.下面还有一些介绍)1.

Bash Shell内建命令和保留字

Bash Shell内建命令和保留字命令含义!保留字,逻辑非:不做任何事,只做参数展开.读取文件并在shell中执行它alias设置命令或命令行别名bg将作业置于后台运行bind将关键字序列与readline函数或宏捆绑break保留字,跳出for.while.until.select循环builtin调用命令的内建命令格式,而禁用同名的函数.或者同名的扩展命令case保留字,多重选择cd切换当前工作目录command找出内建和外部命令:寻找内建命令而非同名函数continue保留字,到达下次f

Linux Shell的父子关系及内建命令

Linux Shell的父子关系及内建命令 Shell的类型 系统启动什么样的shell程序取决于你个人的用户ID配置.在/etc/passwd文件中,在用户ID记录的第7个字段中列出了默认的shell程序.只要用户登录到某个虚拟控制台终端或是在GUI中启动终端仿真器,默认的shell程序就会开始运行. 在下面的例子中,用户xiaoyu使用了GNU bash shell作为自己的默认shell程序: 1 [email protected]:/$ cat /etc/passwd 2 [...] 3

第十一章、认识与学习 BASH Bash Shell 的操作环境

Bash Shell 的操作环境: 配置值分为系统整体配置值与各人喜好配置值, 仅是一些文件放置的地点不同! 路径与命令搜寻顺序 一个命令 (例如 ls) 被下达时, 到底是哪一个 ls 被拿来运行? 以相对/绝对路径运行命令,例如『 /bin/ls 』或『 ./ls 』: 由 alias 找到该命令来运行: 由 bash 内建的 (builtin) 命令来运行: 透过 $PATH 这个变量的顺序搜寻到的第一个命令来运行. 可以发现ls有颜色但是/bin/ls则没有颜色. 因为 /bin/ls