“清除”命令从何而来?

Ant*_*t's 2 command-line bash

我来自 Windows 背景。我想知道像exit, 之类的所有命令clear都来自我的终端吗?

它们是脚本吗?它们是用什么语言编写的?

ohn*_*hno 7

这取决于:-) 有些是 shell 的内部命令,有些是脚本,有些是编译后的程序。

您可以使用以下type命令了解更多信息:例如:type type给出(在我的 cygwin bash 中!)type is a shell builtin

如果您键入type bash,您的答案将类似于bash is /usr/bin/bash.

现在你可以检查 /usr/bin/bash 是什么类型的文件:file /usr/bin/bash说类似... executable ...,所以这将是一个编译文件,大概是用 C、FORTRAN 或其他语言编写的。如果答案是类似的,... script... 您可以使用普通的文本编辑器(如 gedit、vim 或您喜欢的任何内容)检查此文件。


ate*_*enz 5

最重要的是,我可以说几乎所有命令都来自 UNIX,这是 LINUX 背后的前身和基本机制。

大多数实用程序,例如mv- movecp- copy是 Linux 中的实用程序,因为它们用于执行基本管理功能。这适用于所有其他此类实用程序,我宁愿说实用程序提供功能以集成并使其成为整个基于原理操作的操作系统类型实体。

现在进入主题,这些命令或实用程序主要由GNU开发,称为核心 GNU 实用程序

你会在 Core Utilities 描述页面找到大部分基本命令,说Linux只是内核的一个名称,而Ubuntu是这些实用程序的一个完整的高级集成操作系统。

命令大多用 C 语言编写,Shell 是内核和命令之间的解释器。Bash 是其中最好的。

关于脚本,并非完全不是,出于脚本目的,使用 Python 和 Perl,可在 bash 中访问。

注意:在 Ubuntu 中,您会发现安装了Coreutils

这个包包含基本的文件、shell 和文本操作实用程序,这些实用程序应该存在于每个操作系统上。

具体来说,这个包包括: arch base64 basename cat chcon chgrp chmod chown chroot cksum comm cp csplit cut date dd df dir dircolors dirname du echo env expand expr factor false flock fmt fold groups head hostid id install join link ln logname ls md5sum mkdir mkfifo mktemp mv nice nl nohup nproc od paste pathchk pinky pr printenv printf ptx pwd readlink rm rmdir runco​​n sha*sum seq shred sleep sort split stat stty sum sync tac tail tee test timeout touch tr true truncate tsort tty unexpand uniq who unlink users vdir哎呀是的

对于Bash shell 中的内置清除命令功能,您可以使用Ctrl+L