为什么在Node JS for Linux上有一个“js”命令?

我已经通过包pipe理器在一个XUbuntu 13.10上安装了软件Node.js:

xxx@xxx:/$ sudo apt-get install nodejs 

所有似乎都不错,但随着nodejs可执行文件,我find了一个js可执行文件。

这两个,如果用-v选项调用,显示v0.10.15 ,我已经成功地使用它们作为一个Javascript解释器。

我的问题是: nodejs命令和js命令有什么不同? jsnodejs命令的别名吗?

它与Ubuntu / Debian替代机制/etc/alternatives有关。

  • /usr/bin/js – 是一个链接
  • /etc/alternatives/js – 是一个链接
  • /usr/bin/node

因此,如果你的PATH/usr/bin ,运行js和运行node是完全一样的(除了必须遍历两个符号链接,这不是一个重要的代价)。 在脚本中使用js (例如)将允许将系统配置为使用已安装的Node版本的替代方案(可能是不同的版本),或者使用某些实验性功能构建的版本。

您可以在update-alternatives手册页阅读更多关于它的信息。

js命令是调用安装在系统上的任何javascript解释器的通用命令。

node命令是调用node.js的命令。

不同之处在于,如果在系统上安装另一个JavaScript解释器,它将被链接为/ usr / bin / js,但不会显示在/ usr / bin /节点中。