`

什么是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

linuxidc@www.linuxidc.com:~/Documents

 $ type -a pwd

 pwd is a shell builtin

 pwd is /bin/pwd

 

[root@linuxidc ~]# type -a echo

 echo is a shell builtin

 echo is /bin/echo

 

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

 

4.常见命令的类型 

 

 

[root@linuxidc ~]# type -a cd 

cd is a shell builtin

[root@linuxidc ~]# type -a pwd 

pwd is a shell builtin

pwd is /bin/pwd

[root@linuxidc ~]# type -a time 

time is a shell keyword

time is /usr/bin/time

[root@linuxidc ~]# type -a date 

date is /bin/date

[root@linuxidc ~]# type -a which 

which is aliased to `alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

which is /usr/bin/which

[root@linuxidc ~]# type -a whereis 

whereis is /usr/bin/whereis

[root@linuxidc ~]# type -a whatis 

whatis is /usr/bin/whatis

[root@linuxidc ~]# type -a function 

function is a shell keyword

[root@linuxidc ~]# type -a ls 

ls is aliased to `ls --color=tty'

ls is /bin/ls

[root@linuxidc ~]# type -a ll 

ll is aliased to `ls -l --color=tty'

[root@linuxidc ~]# type -a echo 

echo is a shell builtin

echo is /bin/echo

[root@linuxidc ~]# type -a bulitin 

-bash: type: bulitin: not found

[root@linuxidc ~]# type -a builtin 

builtin is a shell builtin

[root@linuxidc ~]# type -a keyword 

-bash: type: keyword: not found

[root@linuxidc ~]# type -a command 

command is a shell builtin

[root@linuxidc ~]# type -a alias 

alias is a shell builtin

[root@linuxidc ~]# type -a grep 

grep is /bin/grep

 
分享到:
评论

相关推荐

    linux中的命令shell与make介绍

    **1.1 什么是Shell** - **用户与Linux的接口**: Shell充当了用户与Linux操作系统之间的桥梁。 - **命令解释器**: Shell负责解释用户输入的命令,并将其转换为操作系统能够理解的语言。 - **支持多用户**: 在多用户...

    op.tar.gz_bash shell_linux_lxc_openldap

    首先,我们需要在宿主机上安装bash shell环境,这是Linux系统的默认命令行界面,也是执行脚本的主要工具。确保你的Linux系统已经更新到最新版本,并安装了必要的开发工具,如`build-essential`,这将包含编译和构建...

    Shell.Programming.in.Unix.Linux.and.OS.X.4th.Ed

    Shell Programming in Unix, Linux and OS X is a thoroughly updated revision of Kochan and Wood’s classic Unix Shell Programming tutorial. Following the methodology of the original text, the book ...

    jenkins 打包 ios shell命令

    ### Jenkins 打包 iOS 使用 Shell 命令详解 #### 一、背景介绍 在持续集成(CI)的流程中,使用自动化工具如Jenkins来构建iOS应用是常见且高效的做法。通过Shell脚本实现自动化的打包过程可以极大提高开发效率,并...

    ndk-build.zip

    这个文件的核心是“ndk-build.exe”,这是一个用于编译原生C/C++代码的命令行工具,与Git Bash环境集成,使得用户可以在Git Bash shell中调用它来执行原生Android开发的相关构建任务。 在Android开发中,NDK...

    Pro Bash Programming

    The bash shell is a complete programming language, not merely a glue to combine external Linux commands. By taking full advantage of shell internals, shell programs can perform as snappily as ...

    Linux Shell编程(内附详细说明)

    在Bash shell中,`help`可以直接列出内置命令的帮助,而外部命令的帮助通常需要`man`命令来查看。 接下来,我们关注的是如何编写Shell脚本。一个基本的Shell脚本以`#!/bin/bash`开头,声明使用的Shell解释器。然后...

    Jenkins插件:Post-Build Script Plug-in

    1. **脚本语言选择**:Post-Build Script Plug-in支持多种脚本语言,包括Unix Shell(bash、sh)、Windows批处理(cmd、bat)和Groovy。选择合适的语言编写符合项目需求的脚本。 2. **脚本内容**:脚本可以执行任何...

    shell脚本+ant脚本

    Shell脚本的核心是Shell解释器,如Bash(Bourne-Again SHell),它解析并执行脚本中的指令。Shell脚本可以用于文件操作、系统管理、任务调度等多种场景,例如定时备份、日志处理等。编写Shell脚本的基本元素包括变量...

    bash2cpp:将bash脚本转换为C ++代码。 对于简单的shell脚本很有用,这些脚本可以转换为C ++以提高速度

    通过使用本机二进制文件而不是Shell脚本,可以缩短执行时间。 防止混淆代码,以防止修改。 bash2cpp并不是一个完整的翻译器,但是对于简单的脚本却表现出色。 要求 sudo apt-get install -y build-essential sudo...

    docker-mongodb-shell:在Docker容器中安装mongo shell和工具的示例

    docker build --rm -t thelebster/mongo-shell-example .docker run -ti --rm --name mongo-shell-example -d thelebster/mongo-shell-exampledocker exec -it mongo-shell-example bashdocker run -ti --rm --name...

    Mastering Linux Shell Scripting

    Learn about scripting in Perl and programming in Python as a BASH scripting alternative with this practical, step-by-step guide Book Description Shell scripting is a quick method to prototype a ...

    Linux makefile 和shell文件相互调用实例详解

    1. **定义SHELL变量**: 在Makefile中定义了一个名为`SHELL`的变量,其值设置为`/bin/bash`,这表示Make命令将会使用Bash作为默认的Shell执行器。 2. **创建规则**: 定义了一个名为`test`的目标,当执行`make test`...

    shell自动化构建脚本

    shell脚本是Unix/Linux系统中的一种命令行解释器,用于执行一系列命令,实现任务的自动化。在本文中,我们将深入探讨shell自动化构建脚本的核心概念、用途、以及如何创建和使用它们。 一、shell脚本简介 Shell脚本...

    adb命令学习

    adb shell cat /system/build.prop ``` 显示设备的基本信息,包括设备名称、制造商等。 #### 43. 查看ADB帮助 ```bash adb help ``` 显示ADB的帮助信息,介绍ADB的基本命令和使用方法。 #### 44. 运行Monkey测试 `...

Global site tag (gtag.js) - Google Analytics