Java使用ganymed工具包执行LINUX命令教程

了解更多开发技巧,请访问,架构师小跟班官网:https://www.jiagou1216.com

package com.jiagou;

import ch.ethz.ssh2.Connection;import ch.ethz.ssh2.Session;import ch.ethz.ssh2.StreamGobbler;

import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;

/** * ganymed简单教程Demo,第一步:引入jar包 * <dependency> * <groupId>ch.ethz.ganymed</groupId> * <artifactId>ganymed-ssh2</artifactId> * <version>262</version> * </dependency> */public class GanymedDemo {    //命令集    private static List<String> commands = null;    private static void initCommands() {        commands = new ArrayList<String>();        //查看token.conf文件内容        commands.add("cat /usr/local/websockify/token/token.conf");        //追加文本到token.conf文件        commands.add("echo jiagou1216.com >> /usr/local/websockify/token/token.conf");    }

    public static void main(String[] args) {        //第二步:连接Linux服务器        String hostName = "192.168.1.75";        String userName = "root";        String password = "[email protected]";        try {            //连接服务器            Connection conn = new Connection(hostName);            conn.connect();            boolean isAuthenticated = conn.authenticateWithPassword(userName, password);            if (!isAuthenticated) {                throw new IOException("Authentication failed.");            }            //初始化命令参数            initCommands();            //第三步:执行shell命令            StringBuffer details = new StringBuffer();            for (String command : commands) {                Session sess = conn.openSession();                sess.execCommand(command);                InputStream stdout = new StreamGobbler(sess.getStdout());                BufferedReader br = new BufferedReader(new InputStreamReader(stdout));                while (true) {                    String line = br.readLine();                    if (line == null) {                        break;                    }                    details.append(line + "\r\n");//换行                }                System.out.println(details);            }            conn.close();        } catch (IOException e) {            e.printStackTrace(System.err);        }    }}

原文地址:https://www.cnblogs.com/xyhero/p/12188848.html

时间: 2024-10-01 07:03:03

Java使用ganymed工具包执行LINUX命令教程的相关文章

Java程序执行Linux命令(JSP运行其他程序)

java程序中要执行linux命令主要依赖2个类:Process和Runtime 首先看一下Process类: ProcessBuilder.start() 和 Runtime.exec 方法创建一个本机进程,并返回 Process 子类的一个实例,该实例可用来控制进程并获得相关信息.Process 类提供了执行从进程输入.执行输出到进程.等待进程完成. 检查进程的退出状态以及销毁(杀掉)进程的方法. 创建进程的方法可能无法针对某些本机平台上的特定进程很好地工作,比如,本机窗口进程,守护进程,M

Java 执行linux命令(转)

转自 http://blog.csdn.net/a19881029/article/details/8063758 java程序中要执行linux命令主要依赖2个类:Process和Runtime 首先看一下Process类: ProcessBuilder.start() 和 Runtime.exec 方法创建一个本机进程,并返回 Process 子类的一个实例, 该实例可用来控制进程并获得相关信息.Process 类提供了执行从进程输入.执行输出到进程.等待进程完成. 检查进程的退出状态以及销

Java程序执行Linux命令

java程序中要执行linux命令主要依赖2个类:Process和Runtime http://blog.csdn.net/a19881029/article/details/8063758 java连接centos服务器,并执行命令 java连接需要用到ganymed-ssh2. 将 ganymed-ssh2-build210.jar 加入到项目的lib中

java通过ssh2远程连接计算机并执行linux命令的方法(转)

java通过ch.ethz.ssh2远程连接计算机并执行linux命令的方法实现 API详情:  http://www.ganymed.ethz.ch/ssh2/javadoc/ch/ethz/ssh2/package-summary.html jar包:  ganymed-ssh2-build210.jar    下载地址: http://www.ganymed.ethz.ch/ssh2/ 代码实现: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1

Java中通过jsch来连接远程服务器执行linux命令

有时候你可能需要通过代码来控制执行linux命令实现某些功能. 针对这类问题可以使用JSCH来实现,具体代码如下: public class CogradientImgFileManager{ private static final Logger log = LoggerFactory.getLogger(CogradientImgFileManager.class); private static ChannelExec channelExec; private static Session

java执行linux命令

public class LinuxUtils { static Logger logger = Logger.getLogger(LinuxUtils.class); public static String exeCmd(String cmd) { logger.info(cmd); String returnString = ""; Runtime runTime = Runtime.getRuntime(); Process pro = null; StringBuffer s

用python执行Linux命令

例1:在python中包装ls命令 #!/usr/bin/env python#python wapper for the ls commandimport subprocesssubprocess.call(["ls","-l"]) 在Linux中执行该命令 [[email protected] python]# python ls.pytotal 8-rwxrwxrwx 1 root root 415 Mar 18 11:40 a.py-rw-r--r-- 1 

PHP执行Linux命令行小例——文件压缩

前几天工作中,需要将3个txt文件,打包成*.zip down到本地…… 一开始,我和普通青年一样,想到用PHP内置的 ZipArchive,代码看起来应该是这样的: /*拆分成3个txt文件 分别是wow_1.txt wow_2.txt 和 wow_3.txt*/ $zip=new ZipArchive(); $zipfile='./Exl_file/wow.zip'; if($zip->open($zipfile,ZIPARCHIVE::CREATE)===TRUE){ $zip->add

使用Android平板编程,执行linux命令

android有一些应用支持开发, AIDE 介绍http://www.wandoujia.com/apps/com.aide.ui https://play.google.com/store/apps/details?id=com.aide.ui&hl=en Terminal IDE  介绍http://www.cnblogs.com/simpleyyt/archive/2012/11/24/GNU4Android.html 可以使用平板OTG连接键盘 执行linux命令 http://wen