扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
Java可以通过Runtime调用Linux命令,形式如下:
成都创新互联-专业网站定制、快速模板网站建设、高性价比西山网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式西山网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖西山地区。费用合理售后完善,十余年实体公司更值得信赖。
Runtime.getRuntime().exec(command)
但是这样执行时没有任何输出,因为调用Runtime.exec方法将产生一个本地的进程,并返回一个Process子类的实例(注意:Runtime.getRuntime().exec(command)返回的是一个Process类的实例)该实例可用于控制进程或取得进程的相关信息。
由于调用Runtime.exec方法所创建的子进程没有自己的终端或控制台,因此该子进程的标准IO(如stdin,stdou,stderr)都通过Process.getOutputStream(),Process.getInputStream(),Process.getErrorStream()方法重定向给它的父进程了。
用户需要用这些stream来向子进程输入数据或获取子进程的输出,下面的代码可以取到linux命令的执行结果:
try{
String[]cmd=newString[]{”/bin/sh”,“-c”,”ls“};
Processps=Runtime.getRuntime().exec(cmd);
BufferedReaderbr=newBufferedReader(newInputStreamReader(ps.getInputStream()));
StringBuffersb=newStringBuffer();
Stringline;
while((line=br.readLine())!=null){
sb.append(line).append(”\n”);
}
Stringresult=sb.toString();
System.out.println(result);
}catch(Exceptione){
e.printStackTrace();
}
格式: mysql -h主机地址 -u用户名-p用户密码 1、例1:连接到本机上的MYSQL 找到mysql的安装目录,一般可以直接键入命令mysql -uroot -p,回车后提示你输密码,输入密码,直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql 2、连接到远程...
在
linux
下执行
php
脚本时通常是可以使用以下命令:
#/usr/local/php/bin/php test.php为简化输入可把此php执行程序
copy
到系统命令目录下:
#cp /usr/local/php/bin/php /usr/sbin/验证:输入以下命令,如正确获取
php
版本,说明操作成功。
#php -v这样,以后再执行php脚本时可直接采用以下输入方式即可。
#php a.php
首先先要给大家介绍PHP执行linux系统命令的几个基本函数 我曾经很长一段时间都分不清下面几个函数的具体用法区别 system函数 说明 执行外部程序并显示输出资料 语法 string system(string mand int [return_var]); 返回值: 字符串 详细介绍 本函数就像是 C 语中的函数 system() 用来执行指令 并输出结果 若是 return_var 参数存在 则执行 mand 之后的状态会填入 return_var 中 同样值得注意的是若需要处理用户输入的资料 而又要防止用户耍花招破解系统 则可以使用 EscapeShellCmd() 若 PHP 以模块式的执行 本函数会在每一行输出后自动更新 Web 服务器的输出缓冲暂存区 若需要完整的返回字符串 且不想经过不必要的其它中间的输出界面 可以使用 PassThru() 实例代码
?php $last_line = system( ls $retval); echo Last line of the output: $last_line; echo hr /Return value: $retval; ?
exec函数 说明 执行外部程序 语法 string exec(string mand string [array] int [return_var]); 返回值: 字符串 详细介绍 本函数执行输入 mand 的外部程序或外部指令 它的返回字符串只是外部程序执行后返回的最后一行 若需要完整的返回字符串 可以使用 PassThru() 这个函数 要是参数 array 存在 mand 会将 array 加到参数中执行 若不欲 array 被处理 可以在执行 exec() 之前呼叫 unset() 若是 return_var 跟 array 二个参数都存在 则执行 mand 之后的状态会填入 return_var 中 值得注意的是若需要处理使用者输入的资料 而又要防止使用者耍花招破解系统 则可以使用 EscapeShellCmd() 实例代码
?php echo exec( whoami ); ? ? $fp = popen( "/bin/ls" "r" ); ? lishixinzhi/Article/program/PHP/201311/21017
应该是不能的,一般是用脚本文件吧,不会用.bat的。当然用wine模拟理论上是可以的,但是我不认为它运行了以后会有什么结果,毕竟.bat实现的功能是针对windows,对linux而言应该......
但是,依然要说的是,由于.bat是后缀名下,而linux下的后缀名只是识别作用,linux会根据文件的真实类型执行,那么如果这个文件的后缀名是.bat,但是内容实际是个脚本,还是可以正常的执行的。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流