自己封装linux命令 linux封装外部命令

如何在程序中封装Linux命令行操作系统(无论Linux还是Windows)有一种“管道”的概念,可以把一个程序的标准输入/输出改到其他的地方 。你说的那些GUI外壳 , 就是为命令行程序创建了一个管道,标准输入和标准输出被改到了GUI外壳程序的内部 。所以就不会再弹出命令行窗口了 。GUI外壳会根据你在窗口上的操作,通过管道,向命令行程序发送指令,就像你手动在命令行窗口上敲命令一样 。命令行程序的标准输出也会通过管道传送到GUI外壳的内部,加以处理后在窗口上显示个给你.
怎么把脚本命令封装到linux的窗口程序里面在java程序中如何调用linux的命令?如何调用shell脚本呢?
这里不得不提到java的process类了 。
process这个类是一个抽象类 , 封装了一个进程(你在调用linux的命令或者shell脚本就是为了执行一个在linux下执行的程序,所以应该使用process类) 。
process类提供了执行从进程输入,执行输出到进程,等待进程完成,检查进程的推出状态,以及shut down掉进程 。
至于详细的process类的介绍放在以后介绍 。
另外还要注意一个类:Runtime类,Runtime类是一个与JVM运行时环境有关的类,这个类是Singleton的 。
这里用到的Runtime.getRuntime()方法是取得当前JVM的运行环境,也是java中唯一可以得到运行环境的方法 。(另外,Runtime的大部分方法都是实例方法 , 也就是说每次运行调用的时候都需要调用到getRuntime方法)
下面说说Runtime的exec()方法,这里要注意的有一点,就是public Process exec(String [] cmdArray, String [] envp);这个方法中cmdArray是一个执行的命令和参数的字符串数组,数组的第一个元素是要执行的命令往后依次都是命令的参数 , envp感觉应该和C中的execve中的环境变量是一样的 , envp中使用的是name=value的方式 。
下面说一下,如何使用process来调用shell脚本
例如 , 我需要在linux下实行linux命令:sh test.sh,下面就是执行test.sh命令的方法:
这个var参数就是日期这个201102包的名字 。
String shpath="/test/test.sh";//程序路径
Process process =null;
String command1 = “chmod 777 ” + shpath;
process = Runtime.getRuntime().exec(command1);
process.waitFor();
String var="201102";//参数
String command2 = “/bin/sh ” + shpath + ” ” + var;
Runtime.getRuntime().exec(command2).waitFor();
怎样对linux下的命令封装,使得可以在跟目录下就可以执行其他目录下的文件?你把要执行文件的目录在你说的profile里面声明一下(路径) 。在path 加上pathmunge /home/test/out/bin/ 。生效指令source profile 。改完后你可以用echo $PATH看看路径是不是包含进去自己封装linux命令了 。(我这是fedora自己封装linux命令,可能不一样)
如何重新封装linux系统成iso文件可以按如下方法进行,具体的操作步骤如下:
1、首先,打开用于制作iso镜像文件的工具,在软件界面左下方的“本地目录”列中浏览目标目录,然后在右侧的相应列中显示一些要制作成ISO的文件,如下图所示,然后进入下一步 。
2、其次,完成上述步骤后,选择文件(可以选择多个文件),单击鼠标右键,然后从下拉菜单中选择“添加”选项 。
或者,可以使用鼠标将文件直接拖到上一栏(即软件界面的右上栏),如下图所示,然后进入下一步 。
3、接着,完成上述步骤后,通过这种方式,就可以看到在软件右上角的“文件名”下添加了多个文件,如下图所示,然后进入下一步 。
4、然后,完成上述步骤后,添加完用于ISO镜像创建的文件,选择“文件”菜单下的“另存为”按钮,如下图所示,然后进入下一步 。

推荐阅读