目前有许多 Linux 发行版,并且都默认安装了不同的软件包。
一般默认安装哪些语言?
我知道可以安装新的软件包但有些管理员不喜欢这样。
目前我会假设:(编辑:我添加了一些答案。谢谢)
- 猛击
- C(运行但不编译)
经常提供的语言 - Python - Perl
工具(而非语言)
- grep
- 制作
- sed
- yacc
答案1
您不能假设已安装 Perl 或 Python,尽管它们通常已安装。例如,类似 redhat 的发行版通常会安装 Python,但其他发行版通常不会安装。
如果这是个问题,您应该针对特定的发行版 - 否则您必须构建自己的发行版(例如 Python)并自行发布 - 这是保证其可用的唯一方法。实际上,如果您正在编写一个需要移植到许多发行版的复杂软件,则可能需要发布您自己的 Python。
答案2
在任何非古董或嵌入式的 unix 系统上,你所能找到的最低要求是POSIX/单UNIX具体来说,目前所有的unices大多符合POSIX:2004,又名 Single Unix 第 6 期. 这为您提供了sh
、sed
和awk
作为编程语言。
如果安装了开发包(它们通常不在服务器上),您可以使用(C 编译器)、、、进行开发;cc
但lex
除此之外,这些在您将部署应用程序的机器上没有用,只能在开发机器上使用。yacc
make
make
如果你假设 Linux,大多数发行版都遵循Linux 标准库在某种程度上。最低有效位超越了 POSIX。核心规范包含一个支持多线程、NSS、PAM、ncurses、libz、SSL 和其他一些库的 C 运行时。LSB 不需要bash
,只需要 POSIX sh
(可以是ash
或 )ksh
,但实际上大多数非嵌入式 Linux 发行版都bash
作为默认安装的一部分提供。语言规范包括 Perl 和 Python。实际上,并非所有发行版都将完整的 LSB 支持作为其默认安装的一部分,但通常可以证明,如果它由 LSB 指定(但显然不在 LSB 桌面规范中),则应该将其安装在 Linux 服务器上。
在其他系统上,Perl 经常可用。Python 并不常见,但越来越受欢迎。您几乎可以依赖其中之一bash
(pdksh
但并非总是如此;我记得 NetBSD 仅ash
在其默认安装中提供)。对于编译语言,您总会找到 C 运行时,并且几乎总会找到 C++ 运行时。
答案3
Make 和 yacc 可能不存在。根据您是否使用嵌入式系统,bash 也可能不存在。编码到 sh,如果您想超越这一点,则可以使用 Perl(我想不出一个没有附带 Perl 的发行版)。
答案4
正如许多人已经说过的,这取决于您的发行版。例如,如果您使用的是 Fedora,则可能具有以下内容:
- 海湾合作委员会
- C++/g++
- perl
- Python
- 制作
- 以及标准 Linux/Unix 组件
要了解您的系统上有哪些编程语言,请输入:man -k language 要了解您的系统上有哪些实用程序/工具/杂项,请输入:man -k name 或:man name