百度
360搜索
搜狗搜索

java执行linux命令操作详细介绍

以下是一个使用 Java 执行 Linux 命令的完整示例,包含输入 / 输出处理和异常管理:

V1

代码特点说明:

  1. 安全实践

    • 使用 ProcessBuilder 替代 Runtime.exec,支持更细粒度的控制
    • 命令参数拆分传递(如 ls -l 拆分为独立数组元素),避免命令注入
    • 合并错误流到标准输出,统一处理输出结果

  2. 健壮性设计

    • 使用 try-with-resources 自动关闭资源
    • 异步读取流防止缓冲区阻塞(适用于长输出命令)
    • 包含完整的异常捕获和错误信息封装

  3. 使用示例

    • 演示了带参数命令(ls -l)和简单命令(echo)的执行
    • 主方法包含可直接运行的演示代码
    • 输出包含命令执行结果和退出码(0 表示成功)

  4. 扩展建议

    • 如需执行需要 sudo 的命令,建议通过密钥认证而非明文密码
    • 对于需要交互的命令(如需要输入密码),可使用 Process.getOutputStream() 写入
    • 大文件输出场景,建议将结果写入文件而非内存

执行效果:

plaintext

执行结果(ls命令):

-rw-r--r-- 1 root root 1344 4月 22 14:25 /etc/apt/sources.list

[EXIT CODE] 0

执行结果(echo命令):

Hello from Java!

[EXIT CODE] 0




912345678执行结果(ls命令):-rw-r--r-- 1 root root 1344 4月 22 14:25 /etc/apt/sources.list[EXIT CODE]

执行结果(echo命令):Hello from Java![EXIT CODE]

该代码可直接复制运行(需 Java 8+ 环境),适用于需要在 Java 程序中集成系统命令执行的场景,如服务器管理工具、脚本集成等。

阅读更多 >>>  linux存放基本命令

文章数据信息:

本文主要探讨:"java执行linux命令操作", 浏览人数已经达到30次, 首屏加载时间:2.370 秒。