现代的Unix工具是用什么编程语言编写的?

时间:2015-06-14 14:51:03

标签: c linux bash unix grep

以下是使用两个Unix工具的示例:

ls | grep "MMC"

lsgrep是两个Unix工具。

我相信lsgrep都是用C语写的。(如果我错了,请纠正我)

使用什么编程语言来实现现代Unix工具?现代的Unix工具是否仍在C中实现?或者,是否使用其他语言?

2 个答案:

答案 0 :(得分:4)

Unix工具用多种语言编写。大多数经典工具都是用C和C ++等语言编写的,但Perl和Python也是很受欢迎的选择。 C仍然是主导语言,但似乎Go可能会在编写Unix命令行实用程序时找到一些用处。

答案 1 :(得分:4)

UNIX最初是由Ken Thompson和Dennis Ritchie用汇编语言编写的,但很快就将它迁移到Thompson的C语言中。早期UNIX的内核,shell,文件系统和基本实用程序都是用C语言编写的,对于我今天所知的所有UNIX风格都是如此。

但是,并非所有内容都是用C语言编写的(这会很痛苦)。 UNIX的一个强大功能是它的shell,其中的每一种风格(sh,bash,csh,tcsh ksh,zsh,...)都可以通过脚本实现自动化。一些“UNIX工具”是通过在shell脚本中缝合其他编译工具来实现的。

其他工具的实现与shell脚本类似,但由其他脚本语言(如perl或python)执行。 Python最近非常流行,甚至用于编写早期UNIX程序员从未梦想用解释型脚本语言编写的前端图形程序。

由于传统和C的发展势头,C ++在UNIX中不常见。 C ++还需要安装单独的C ++标准库。 UNIX系统可以很好地相处,而无需接触C ++或它的标准库。一个主要的例外是GCC,因为4.8之后的版本是用c ++构建的。

另见: