Paul Erlenmeyer Asked: 2019-12-05 03:11:13 +0800 CST2019-12-05 03:11:13 +0800 CST 2019-12-05 03:11:13 +0800 CST 在哪里可以找到终端命令的代码? 772 我希望能够看到每当我在终端中输入“ls”或“cd”时执行的代码。有了这个,我想修改现有程序并编写新程序。这些程序是用什么语言编写的? command-line source-code 1 个回答 Voted Best Answer Rinzwind 2019-12-05T03:48:24+08:002019-12-05T03:48:24+08:00 在哪里可以找到终端命令的代码? 在哪里可以找到它取决于命令。有几个位置。 关于你提到的两个: GNU 核心工具 ls是 GNU Coreutils 的一部分。您可以在www.gnu.org上获得所有 GNU 核心实用程序的源代码(不仅仅是ls:维基百科核心实用程序列表)。从使用 git 的命令行(需要安装):git git clone git://git.sv.gnu.org/coreutils ls也可以在git.savannah.gnu.org上在线找到源代码。所有其他命令也可以在那里访问。 外壳内置程序 cd是 shell 中的内置内容,因此也是bash. 您可以在ftp.gnu.org上找到 bash 的源代码。这也将是所有内置函数的源代码。 bash 定义了以下内置命令::, ., [, alias, bg, bind, break, builtin, case, cd, command, compgen, complete, continue, declare, dirs, disown, echo, enable, eval, exec , exit, export, fc, fg, getopts, hash, help, history, if, jobs, kill, let, local, logout, popd, printf, pushd, pwd, read, readonly, return, set, shift, shopt, source ,暂停,测试,时间,陷阱,类型,排版,ulimit,umask,unalias,未设置,直到,等待,while。 这些程序是用什么语言编写的? C或C++ 有了这个,我想修改现有程序并编写新程序 您最好使用现有工具并向其中添加:创建一个名为的脚本ls2,然后向该脚本添加功能以模仿ls+您的添加。您的添加可能是额外的字母作为触发功能的参数。最大的优势:您可以用您喜欢的语言编写它。更安全,因为如果您打算为这些工具编写新功能,您应该加入它们各自的邮件列表,因为您不会弄乱普通命令。
在哪里可以找到它取决于命令。有几个位置。
关于你提到的两个:
GNU 核心工具
ls
是 GNU Coreutils 的一部分。您可以在www.gnu.org上获得所有 GNU 核心实用程序的源代码(不仅仅是ls
:维基百科核心实用程序列表)。从使用 git 的命令行(需要安装):git
ls
也可以在git.savannah.gnu.org上在线找到源代码。所有其他命令也可以在那里访问。cd
是 shell 中的内置内容,因此也是bash
. 您可以在ftp.gnu.org上找到 bash 的源代码。这也将是所有内置函数的源代码。C或C++
您最好使用现有工具并向其中添加:创建一个名为的脚本
ls2
,然后向该脚本添加功能以模仿ls
+您的添加。您的添加可能是额外的字母作为触发功能的参数。最大的优势:您可以用您喜欢的语言编写它。更安全,因为如果您打算为这些工具编写新功能,您应该加入它们各自的邮件列表,因为您不会弄乱普通命令。