Java代码中执行Linux命令,亲测可用
前提需要知道怎么在linux怎么新建java文件和怎么编译,否则请先学其他知识!!
import java.io.*;
public class Test{
public static void main(String[] args) throws Exception{
try{
Process process=Runtime.getRuntime().exec("ls ./");
InputStreamReader reader = new InputStreamReader(process.getInputStream());
LineNumberReader line = new LineNumberReader(reader);
String str;
while((str=line.readLine())!=null){
System.out.println(str);
}
}catch (Exception e){
e.printStackTrace();
}
System.out.println("done !!!");
}
}
2、可是有时候会用到特殊的linux命令的时候就有问题了,比如最近在写一个发送邮件的功能,通过linux下面的sendmail来发送邮件的时候,用上面的方法就不行了
下面是使用linux发送邮件的命令全部步骤:
一、通过文件内容发送邮件
首先创建一个body.txt
|
1
|
[root@vps478753 ~]# touch body.txt |
写入内容
|
1
|
[root@vps478753 ~]# echo 'This is test mail'>body.txt |
发送邮件
|
1
|
[root@vps478753 ~]# mail -s 'Test mail' mail@lizhong.me < body.txt |
不一会就收到邮件了

点击打开,正文内容就是body.txt的内容
This is test mail
二、使用管道符【 | 】直接发送邮件内容
如果不想通过文件发送邮件内容也可以这么发送
|
1
|
[root@vps478753 ~]# echo "This is test mail" | mail -s 'Test mail' mail@lizhong.me |
以上效果同文件发送邮件内容一样
如果提示mail: command not found
|
1
2
|
[root@vps478753 ~]# mail -s 'Test mail' mail@lizhong.me < body.txt -bash: mail: command not found |
那么就是没有安装mail命令,此时需要安装mail命令
|
1
|
[root@vps478753 ~]# yum install mailx -y |
然后再重新发送以下邮件就好了!
-----以上内容纯属复制,原文地址:http://zdm2008.blog.163.com/blog/static/2049154520139795219380/
如果linux中有用到管道符的话需要这样写:

Java代码中执行Linux命令,亲测可用的更多相关文章
- 在Jenkins远程链接Linux系统,然后执行shell命令-亲测可用【转】
版权声明:本文为博主原创文章,未经博主允许不得转载.部分为转载其他人的,如要使用,也请提前通知一声 https://blog.csdn.net/a136332462/article/details/7 ...
- java servlet中执行linux命令
public HttpServletResponse execCmd(String cmd, HttpServletRequest request, HttpServletResponse respo ...
- java代码中执行liunx命令
public static String runShell(String command){ try{ String[] commands = isLinux()?new String[]{" ...
- Comet4J推技术在SSHE三大框架中应用-linux下亲测可用
Comet4J(Comet for Java)是一个纯粹基于AJAX(XMLHTTPRequest)的服务器推送框架,消息以JSON方式传递,具备长轮询.长连接.自动选择三种工作模式. 下载地址 co ...
- 在java代码中执行js脚本,实现计算出字符串“(1+2)*(1+3)”的结果
今天在公司项目中,发现一个计算运费的妙招.由于运费规则各种各样,因此写一个公式存到数据库.下次需要计算运费时,直接取出这个公式,把公式的未知变量给替换掉,然后计算出结果就是ok了. 一 ...
- PHP 代码内执行Linux命令
还是那个问题,就是那个php填写pdf表单,因为副武器的原因,改用命令执行了,哎,一个问题好多知识点啊,先来说说PHP执行linux命令,其实挺简单的,但是呢,后面说说我遇到的问题 1.PHP执行命令 ...
- mybatis自动生成代码插件mybatis-generator使用流程(亲测可用)
mybatis-generator是一款在使用mybatis框架时,自动生成model,dao和mapper的工具,很大程度上减少了业务开发人员的手动编码时间 坐着在idea上用maven构建spri ...
- 如何在java程序中调用linux命令或者shell脚本
转自:http://blog.sina.com.cn/s/blog_6433391301019bpn.html 在java程序中如何调用linux的命令?如何调用shell脚本呢? 这里不得不提到ja ...
- 写一段java程序来执行linux命令
摘要 在日常开发中,程序员需要经常查询服务器日志来排查问题和调试程序.如果是本地调试还好,但项目一旦发布到服务器上,每次查日志就很麻烦,而且日志量巨大,有时我们无法找到我们需要的信息.经常需要借助第三 ...
随机推荐
- Html - 圆圈border
很多场景下需要对元素加入圆圈.但光靠border-radius其实还要调很久,所以做一下笔记 #binggan .mui-icon { display: inline-block; margin: 3 ...
- svn搭建,很简单
yum install subversion 2015年1月7日15:23:07 我测试的时间 系统是centos6.5 直接yum,centos是可以直接解决apr apr-util 依赖问题,如果 ...
- jiffies
linux中的jiffies变量 全局变量jiffies用来记录自系统启动以来产生的节拍的总数.启动时,内核将该变量初始化为0,此后,每次时钟中断处理程序都会增加该变量的值.一秒内时钟中断的次数等于H ...
- 《你不知道的JavaScript》读书笔记(一)作用域
名词 引擎:从头到尾负责整个 JavaScript 程序的 编译 及 执行 过程. 编译器:负责 语法分析 及 代码生成. 作用域:负责收集并维护由所有声明的标识符(变量)组成的一系列查询,并实施一套 ...
- 使用 Intel GPA 与 分析3D程序和抓取模型
原文链接在这里 http://dev.cra0kalo.com/?p=213 背景信息 Intel的GPA本身是一款图形分析软件,并没有设计从3D程序里抓取模型资源的功能,但这里作者是通过hook G ...
- eclipse不正常编译导致错误:Access denied for user 'root'@'localhost' (using password: YES)
使用eclipse连接mysql报错:Access denied for user 'root'@'localhost' (using password: YES) 连接代码没有任何问题,网上找了很多 ...
- RT-Thread多线程导致的临界区问题
临界资源是指一次仅允许一个线程使用的共享资源.不论是硬件临界资源,还是软件临界资源,多个线程必须互斥地对它们进行访问.每个线程中访问临界资源的那段代码称为临界区( Critical Section), ...
- 20145317彭垚 《Java程序设计》第五次实验报告
20145317彭垚实验五 Java网络编程及安全 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.05.06 18:30-21: ...
- java--构造器初始化
(1)不含自变量的构造器 构建是在基础类的“外部”进行的,所以基础类会在衍生类访问它之前得到正确的初始化. (2)含有自变量的构造器 在衍生类构建器中,首先对基础类构建器的调用,也就是在调用构造器之前 ...
- [转]通过Mesos、Docker和Go,使用300行代码创建一个分布式系统
http://www.csdn.net/article/2015-07-31/2825348 [编者按]时下,对于大部分IT玩家来说,Docker和Mesos都是熟悉和陌生的:熟悉在于这两个词无疑已成 ...