如何在Windows 7平台上用Java运行Linux命令?

时间:2013-06-18 04:40:52

标签: java linux

我需要在我的Java程序中执行Linux命令。我正在使用Windows 7操作系统。任何人都可以给我一个简单的语法来解决这个问题。

4 个答案:

答案 0 :(得分:4)

必须在Linux平台上执行linux命令。你为什么要在windows 7上执行它? 它没有任何意义。简单的答案是你不能在windows 7上运行它。但您可以使用windows 7java上运行Windows命令。

答案 1 :(得分:1)

如果要运行Linux命令,通常需要Linux操作系统,而不是Windows操作系统: - )

但是,有CygWinGnuWin32等工具可以为您提供Windows下的许多UNIXy工具。我更喜欢后者,因为更多的开放许可(CygWin有一些限制,使其不适合我的目的)。

一旦你知道要运行哪些命令,就需要查看Java Process和/或Runtime类。

答案 2 :(得分:1)

答案并不简单。但是让我们开始做一个简单的区分

Windows和Linux是两种不同的操作系统

这需要很多东西。特别是在您的情况下,这意味着每个程序和命令的开箱即用。因此,很可能开箱即用,您尝试运行的命令(或程序)在Windows上不可用。

另一个要点是

命令行“命令”有时是程序,有时是您正在使用的shell的命令

shell是一个程序,可让您与操作系统以及计算机中的其他程序进行交互。具体来说,“命令行”shell是一种纯粹基于文本运行的shell。您可以输入某些“命令”然后执行某些操作。通常,这些是其他程序。例如,在linux中,一些常用的程序是:

  1. LS
  2. PS
  3. 找到
  4. 的grep
  5. 这些实际上是编译过的程序。它们通常包含在开箱即用的Linux中。其中许多可以通过Cygwin安装在Windows上。 Cygwin提供了一个类似“linux”的环境,通过提供对Linux上常见程序的访问,但编译并准备在Windows上运行。

    其他'命令',如'cd',实际上是shell的命令,因为它们在当前环境中完全状态(例如,'cd'更改shell使用的当前目录)。

    您需要做什么

    因此,您需要了解的是,您要执行的命令是否实际上是已编译的程序,并下载/安装Cygwin,并使用绝对PATH运行您的程序以运行Cygwin程序。 或者,如果是'shell命令',那么find out which shell you are using,使用Cygwin下载并安装该shell,并运行该shell并发送一个参数。

答案 3 :(得分:0)

试试这个......

Runtime r = Runtime.getRuntime();
Process p = r.exec("linux command");
p.waitFor();
BufferedReader b = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = "";

while ((line = b.readLine()) != null) {
System.out.println(line);
}

现在你已经将命令作为行了..如果你想进行更改,你可以这样做..