十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
你把要执行文件的目录在你说的profile里面声明一下(路径)。在path 加上pathmunge /home/test/out/bin/。生效指令source profile。改完后你可以用echo $PATH看看路径是不是包含进去了。(我这是fedora,可能不一样)
成都创新互联公司是专业的兴国网站建设公司,兴国接单;提供成都网站制作、成都网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行兴国网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
操作系统(无论Linux还是Windows)有一种“管道”的概念,可以把一个程序的标准输入/输出改到其他的地方。 你说的那些GUI外壳,就是为命令行程序创建了一个管道,标准输入和标准输出被改到了GUI外壳程序的内部。所以就不会再弹出命令行窗口了。 GUI外壳会根据你在窗口上的操作,通过管道,向命令行程序发送指令,就像你手动在命令行窗口上敲命令一样。 命令行程序的标准输出也会通过管道传送到GUI外壳的内部,加以处理后在窗口上显示个给你.
高手教你全自动安装linux系统的简便方法:安装过linux系统的友友们,也许会觉得linux系统的安装并不太麻烦,但是如果我们以后安装linux系统不需要任何操作就能直接安装一个系统是不是很给力啊!特别是在需要批量安装、经常安装系统的时候,自动安装的优势就完全体现出来了,我们只需对现有的镜像、磁盘等等存放这系统安装的东西文件进行稍微的添加修改,就可以让你在安装系统的时候想干啥干啥,不必再被系统安装所束缚。当然这方法可以应用在光盘、磁盘、http、ftp等系统安装的方法上,其实方法大同小异,可以n次重复使用,很牛奔,有木有?!
废话不多说,我们直接开始,此处我们主要针用光盘镜像安装系统进行讲解。
1、创建自动安装linux系统的灵魂--ks文件
要想实现这个功能我们得先生成一个记录我们对安装linux系统时的配置的文件ks,也就是说,这个ks文件记录了我们将对安装的linux系统的配置,安装系统时将读取这个文件,对安装的系统进行相应的设置。
我们要用到 system-config-kickstart 软件,通过这个软件我们就可以在图形化界面中进行操作
(1)安装system-config-kickstart 软件,使用命令:yum install system-config-kickstart
(2)安装成功之后直接使用system-config-kickstart命令启动这个软件,开启图形话界面。
(3)在各个选项中进行对将要安装的`linux系统配置
(4)最后点击“file”--“save file”--选择需要保存的名字及路径(名字必须是以.cfg结尾,默认为ks.cfg)
然后就在相应目录下生成了一个保存着我们对将要安装的linux系统配置的ks文件,
2、将我们的“灵魂”赋予自己的ISO镜像。
(1)挂载镜像系统mount -o loop name.iso /mnt
因为在我们挂载的/mnt目录内的内容是只读的,所以我们再任意创建一个目录新的目录mkdir aaa 将/mnt内的所有东西都考进aaa中:cp /mnt/* aaa 接下来我们就在aaa目录中进行操作。
(2) cd /mnt/aaa 进入aaa目录,我们将发现一个文件和一个目录(我们假设目录的名字为isolinux),我们不用管这些文件和目录,将我们刚保存的ks文件拷贝进aaa
目录(也可以拷贝进镜像的目录内,但是这个不方便我们以后指定ks文件的位置)即可。
3、将加入ks文件的目录重新封装为iso镜像。
将aaa整个目录封装为新的iso惊醒,我们将其命名为new.iso
mkisofs -o new.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-tabie -R -J -v -T aaa/
这个命令忒长,而且难以理解,下面我就针对这个命令做一些说明。
-o 指定生成镜像的名字
-b 指定哪个文件为光盘光盘自引导启动的文件(目录内以.bin结尾的文件)
-c 将boot.cat文件的配置信息显示出来(目录内以.cat结尾的文件)
-no-emul-boot 不模仿boot这种引导格式(光盘内没有MBR不能进行boot格式的启动)
到此我们的自动安装镜像就创建成功了,可以放在虚拟机上进行实验,当然我们也可以将其刻成光盘吗,在安装系统的boot界面,我们只需要输入ks文件的位置即可,针对我们的镜像,只需输入如下命令: linux ks=cdrom:ks.cfg之后敲回车即可进行自动安装。
有些友友也许发现了,这里面最终要的就是找到我们的ks文件,在boot安装界面指明ks的位置及名字,我不得不说你忒聪明了,无论我们是通过光盘 、磁盘、ftp、http安装系统,只要想进行自动安装就必须指明ks文件的位置及名字,当然针对不同的安装方法,指明ks文件的格式也是不一样的,大家可以参考下图根据自己的实际情况进行文件名和路径的填写,这点很重要奥!
在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();