Linux中内部命令和外部命令

不及物动词 其他 64

回复

共3条回复 我来回复
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    Linux中的命令分为内部命令和外部命令。内部命令是指直接嵌入在Shell解释器中的命令,而外部命令是指以可执行文件形式存在于Linux系统中的命令。

    一、内部命令
    内部命令是由Shell解释器直接支持和执行的命令。它们的优势是执行速度快,因为它们不需要创建新的进程执行。常见的内部命令包括:

    1. cd:用于切换当前工作目录。
    2. pwd:打印当前工作目录。
    3. echo:用于在终端输出文本。
    4. alias:设置命令的别名。
    5. source:用于执行指定的Shell脚本文件。
    6. history:显示最近使用的命令历史记录。
    7. export:设置环境变量。
    8. unset:删除指定的环境变量。
    9. quit或exit:退出当前Shell会话。

    二、外部命令
    外部命令是以可执行文件的形式存在于Linux系统中的命令。它们的执行需要通过创建新的进程来完成。常见的外部命令包括:

    1. ls:列出当前目录中的文件和子目录。
    2. cp:复制文件或目录。
    3. rm:删除文件或目录。
    4. mv:移动或重命名文件和目录。
    5. cat:连接文件并打印到终端上。
    6. grep:在文件中搜索指定的模式。
    7. find:在指定路径下查找文件和目录。
    8. chmod:修改文件或目录的权限。
    9. chown:修改文件或目录的所有人。
    10. tar:打包和解包文件和目录。

    三、内外命令的区别
    1. 执行速度:内部命令的执行速度比外部命令快,因为它们直接在Shell解释器中执行,不需要创建新的进程。
    2. 可扩展性:外部命令的可扩展性比内部命令强,因为我们可以通过添加新的可执行文件来扩展系统的功能。
    3. 兼容性:内部命令通常是Shell解释器的一部分,所以在不同的Shell中可能会有一些差异;而外部命令的可移植性较好,几乎在所有的Linux系统中都能正常使用。

    总结:Linux中的命令分为内部命令和外部命令。内部命令是Shell内部嵌入的命令,执行速度快;外部命令是以可执行文件形式存在的命令,可扩展性强。了解这两种命令的区别有助于我们更好地理解和使用Linux系统。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    Linux中的命令可以分为内部命令和外部命令。内部命令是由Shell(命令行解释器)内置的命令,可以直接在Shell中执行。而外部命令是独立于Shell的可执行程序,需要通过文件路径来执行。下面将详细介绍Linux中的内部命令和外部命令。

    1. 内部命令:
    – 内部命令是由Shell程序直接提供的特殊命令,是Shell自带的一种功能,不需要额外的可执行程序。例如,`cd`命令用于改变当前工作目录,`echo`命令用于输出文本,`history`命令用于查看已执行命令的历史记录等。内部命令的执行速度通常比外部命令快,因为它们在Shell进程中直接执行,无需创建新的进程。
    – 使用`type`命令可以确认一个命令是内部命令还是外部命令。例如,`type cd`会显示`cd is a shell builtin`,表示`cd`是一个内部命令。

    2. 外部命令:
    – 外部命令是独立于Shell的可执行程序。它们通常在磁盘上作为单独的文件存在,并且可以通过添加文件路径来执行。例如,`ls`命令用于显示当前目录下的文件和文件夹,`grep`命令用于在文件中搜索匹配的文本,`rm`命令用于删除文件等。外部命令通常由C语言、Python等编写而成,可以通过编译和链接生成可执行文件。
    – 当执行一个外部命令时,Shell会创建一个新的进程,并将该外部命令加载到新进程中执行。执行完成后,Shell再将执行结果返回给用户。

    3. 区别:
    – 内部命令比外部命令执行速度快,因为内部命令直接在Shell进程中执行,不需要创建新的进程。
    – 内部命令通常提供更简单和便捷的功能,如`cd`、`echo`和`history`等,而外部命令提供了更复杂和灵活的功能,如`grep`、`sed`和`rm`等。
    – Shell可以通过自定义命令别名或者设置环境变量来覆盖外部命令,但无法覆盖内部命令。
    – 内部命令在Shell的内存空间中执行,不依赖于外部文件;而外部命令需要从磁盘上加载可执行文件。
    – 内部命令的用法和参数通常比外部命令更简洁,可以通过`command –help`或者`man command`来查看内部命令的帮助文档。

    4. 使用:
    – 内部命令可以直接在Shell中使用,无需指定路径。例如,`cd`命令用于切换目录,`echo`命令用于打印文本,`history`命令用于查看命令历史记录等。可以通过`help`命令获取内部命令的帮助信息。
    – 外部命令需要指定文件路径才能执行。例如,`/bin/ls`命令用于显示当前目录下的文件和文件夹,`/bin/grep`命令用于在文件中搜索匹配的文本,`/bin/rm`命令用于删除文件。可以通过`man`命令获取外部命令的帮助信息。

    总而言之,Linux中的命令可以分为内部命令和外部命令。内部命令是由Shell程序内置的命令,无需额外的可执行程序。外部命令是独立于Shell的可执行程序,需要通过文件路径来执行。内部命令通常提供简单便捷的功能,执行速度快;而外部命令提供复杂灵活的功能,需要创建新进程执行。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    一、内部命令和外部命令的概念

    在Linux中,命令是用户通过终端输入的指令,用于告诉操作系统执行特定的任务。根据命令的来源,可以将命令分为内部命令和外部命令。

    内部命令是指直接内置在shell解释器中的命令,也就是说这些命令是shell本身实现的一部分。内部命令的执行速度相对较快,因为它们无需启动新的进程,而是直接在当前的shell进程中执行。

    外部命令是指不直接内置在shell解释器中的命令,它们是由独立的可执行文件所实现的。外部命令的执行速度相对较慢,因为每次执行外部命令时需要启动一个新的进程。

    二、内部命令和外部命令的区别

    1. 执行速度

    由于内部命令无需启动新的进程,因此执行速度更快。而外部命令需要启动一个新的进程来执行,因此执行速度相对较慢。

    2. 访问权限

    内部命令的执行不需要访问外部文件,因此不涉及权限问题。而外部命令可能需要访问外部文件,因此需要相应的执行权限。

    3. 占用资源

    因为内部命令是在当前的shell进程中执行,所以占用的系统资源相对较少。而外部命令需要启动新的进程,因此会占用更多的系统资源。

    4. 特性和功能

    内部命令通常提供一些特殊的功能和选项,而外部命令则通常提供更丰富、更复杂的功能和选项。

    三、常见的内部命令和外部命令

    下面列举一些常见的内部命令和外部命令,以作进一步说明:

    1. 内部命令

    – cd:用于切换当前工作目录。
    – echo:用于在终端输出指定的文本。
    – alias:用于创建命令别名。
    – export:用于设置或显示环境变量。
    – set:用于设置一些特殊的变量和选项。

    2. 外部命令

    – ls:用于列出当前目录内容。
    – cp:用于复制文件或目录。
    – mkdir:用于创建目录。
    – rm:用于删除文件或目录。
    – cat:用于显示文件内容。
    – grep:用于在文件中搜索指定的模式。

    四、如何查看命令是内部命令还是外部命令

    在Linux中,通过type命令可以查看指定命令是内部命令还是外部命令。命令的输出可以告诉我们该命令的来源:

    “`
    $ type cd
    cd is a shell builtin
    $ type ls
    ls is /bin/ls
    “`

    type命令告诉我们cd是内部命令,ls是外部命令。对于外部命令,type命令还会显示该命令所在的路径,以便我们找到该命令的具体位置。

    总结:

    内部命令和外部命令是Linux中常见的命令分类。了解和掌握这两种命令的特点和区别,可以帮助我们更好地理解和使用Linux系统中的各种命令。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部