`
javaG
  • 浏览: 554962 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

linux常用命令&java调用shell

阅读更多

curl

测试域名绑定

我常需要在开发环境中,测试某台服务器上的Web Server是否正确绑定了域名。比如,我希望在服务器192.168.1.10 上绑定www.kuqin.com 。但需要修改hosts才能看到效果,这活儿很累人。

所谓“域名绑定”,就是把host映射到对应的目录。如果手头有cURL,可以使用 -H 参数,在请求头信息中多写一个 Host 字段。就可以测试是否配置正确了。

# curl -H "Host: www.kuqin.com" http://192.168.1.

场景二:查看头信息

响应头信息中包含了很多东西。除了HTTP版本和响应代码,还有Server、Content-Type、Content-Length等信息,如果有写入Cookie的操作,也会体现在头信息中。

使用cURL的 -I 参数,就可以看到这些头信息。比如淘宝的:

# curl -I http://www.taobao.com/

场景三:跟踪URL跳转

如果遇到了一个多次跳转的URL,可以先用curl的 -L 参数看看,这个URL最终跳转到了什么地方。-L 参数最好配合 -I 使用,不然cURL会把最后一次请求获得的数据输出到控制台。

没有合适的URL拿来做例子,意会一下吧

场景四:发送压缩的请求

cURL提供了一个 –compress 参数,可以用来发送支持压缩的请求。但使用了–compress之后,虽然传输过程是压缩的,cURL的输出还是解压之后的,难以看到效果。

我一般用 -H 参数,自己写一个 Accept-Encoding 字段在头信息中。

curl -H "Accept-Encoding: gzip" http://www.kuqin.com/

如果直接运行上面的命令,会得到一堆乱码,因为cURL输出的内容,是压缩后的数据。不妨在后面接一个gunzip试试。

curl -H "Accept-Encoding: gzip" http://www.kuqin.com/ | gunzip

使用gunzip解压之后,信息又被还原了。

场景五:忽略证书错误

平日上网,遇到证书错误一定要小心。但我在工作中,经常需要用自签的假证书搭建开发环境。cURL在遇到证书错误时无法使用,使用 -k 参数就可以让它不做证书校验。

 

netstat -apln (这个n很重要,曾经有一次要看一个端口有没有起来,没有带n参数,实际上端口是起来了,但是就是grep不到)

tail  -f(从尾部监听)   -n (后面跟数字,表示从尾部向上多少行)

 

awk出处文件到指定路径

 awk XXX -F"exp=|,count" '{print $2","$4,total > "lsd.data"}'

 

java调用shell脚本

/*
例如.test.sh内容为
echo "hello world" >> lsd.txt
lsd.txt的输出目录为workPath
*/
    Runtime rt = Runtime.getRuntime();
	String workPath = "/data/log";//子进程工作目录
	String shellPath = "/data/log/test.sh";
    File dir = new File(workPath);
    String params = "a b";//参数a b传入shell
    String str[] =
    { "sh", "-c", "/bin/sh "+shellPath + " " +params };

    Process pcs = rt.exec(str, null, dir);
    BufferedReader br = new BufferedReader(new InputStreamReader(pcs.getInputStream()));
    StringBuffer lines = new StringBuffer();

    String line = new String();
    while ((line = br.readLine()) != null)
    {
        lines.append(line).append("\n");
    }
    try
    {
        pcs.waitFor();
    }
    catch (InterruptedException e)
    {
        lines.append("processes was interrupted").append("\n");
    }
    br.close();
    int ret = pcs.exitValue();
分享到:
评论

相关推荐

    java调用shell(包含有参数的调用)

    总之,Java调用Shell脚本是一个有效的方法来在Java程序中实现复杂的Linux环境下的操作,这种技术尤其适用于需要进行系统级操作和自动化任务的场景。掌握这一技术可以帮助开发者更好地实现跨平台的功能,尤其是在开发...

    java执行linux命令,java调用linux脚本文件,java启动停止发布tomcat,servlet ajax文件上传

    java 执行linux命令源码,java调用shell脚本源码,java web发布war到tomcat,servlet文件上传,ajax文件上传。 java web 上传war包、停止、启动、发布tomcat。 命令修改成自己的目录即可使用。

    java连接linux,执行shell命令的工具类 sshxcute.jar

    在Java开发中,有时我们需要远程连接到Linux服务器执行shell命令,比如进行系统管理、自动化运维或者数据处理等任务。在这种情况下,使用SSH(Secure Shell)协议是常见的解决方案,因为它提供了安全的网络通信。...

    Java 调用 Linux shell 命令执行框架:sshxcute

    sshxcute 就是这样一个框架工具集,它基于 JSCH 构建,允许工程师利用Java 代码通过 SSH 连接远程批量执行 Linux/UNIX 系统上的命令或者脚本,同时加入了判断成功与否,取回输出等多种实用功能。sshxcute 不管是针对...

    java调用shell命令实现实例

    基于sshConnect的linux服务器的shell命令调用,并获取命令返回结果的实例。亲测有效!

    java调用shell脚本执行sqlldr与存储过程

    在linux环境中,这三个用户都可以直接在任意目录下执行该shell脚本,可是在java代码中调用shell脚本时,报了如下4个错误: 1、sqlldr: command not found 2、sqlplus: command not found 3、0750: You may need to ...

    java调用linux系统命令

    java调用linux系统命令的封装工具类。

    java调用shell向DataX传递参数,where条件,包含特殊字符

    总之,Java调用shell脚本向DataX传递参数,尤其是在where条件中包含特殊字符时,需要关注字符串转义、shell命令构建以及安全问题。同时,合理设计和使用配置文件能有效提高代码的灵活性和可维护性。

    java调用Shell脚本.doc

    ### Java调用Shell脚本详解 #### 一、前言 在实际开发过程中,经常会遇到需要结合Java程序与Shell脚本进行操作的情况。通过Java调用Shell脚本不仅可以实现复杂的功能,还可以提高程序的灵活性和扩展性。本文将详细...

    java调用shell脚本

    总的来说,这些资源为你提供了在Java环境中调用Shell脚本所需要的基础工具和示例,涵盖了SSH连接、命令执行和交互式脚本控制。通过学习和使用这些库,你将能够构建强大的系统管理工具和自动化解决方案。

    Java调用Shell脚本代码

    在Java程序中调用Unix/Linux主机上的Shell命令,并返回相应执行结果。

    Java调用linux shell脚本的方法

    首先,调用shell脚本的基本过程分为以下几个步骤: 1. **设置脚本执行权限**:在Linux系统中,执行一个文件(如shell脚本)需要有相应的执行权限。在Java中,我们可以通过`Runtime.getRuntime().exec()`方法来执行...

    linux shell脚本启动java类

    详细的linux shell脚本启动java代码类。

    Java调用shell脚本

    首先,Java调用shell脚本主要通过`Runtime`类或`ProcessBuilder`类来实现。`Runtime.getRuntime().exec()`方法允许我们执行系统命令,而`ProcessBuilder`提供了更灵活的命令构建和环境变量设置功能。下面是一个基本...

    使用runtime实现linux命令行或shell脚本多次调用

    在Java编程中,有时我们需要与操作系统进行交互...总的来说,通过`Runtime`类,我们可以方便地在Java程序中执行Linux命令和shell脚本,实现客户端的多次调用。但同时需要注意异常处理和资源管理,以保证程序的健壮性。

    java调用shell脚本完美封装

    在Java编程中,有时我们需要与操作系统进行交互,执行一些系统级别的任务,比如自动化运维、文件管理等,这时就可能需要用到调用Shell脚本。本文将详细介绍如何在Java中完美封装shell脚本的调用方法,并提供相关的...

    Java 调用 Linux 命令实战(含完整代码)1

    本文将详细介绍如何使用Java调用Linux命令,以满足特定场景的需求,如文中提到的通过Java接口重启keepalived服务。首先,我们将理解Java调用Linux命令的基本原理,然后通过具体的代码示例来展示实现这一功能的过程。...

    java 远程调用Shell脚本客户端包

    Java 远程调用Shell脚本客户端包是一个实用的工具,专为开发者设计,使得在Java应用程序中执行远程Shell命令变得简单而高效。这个包的主要功能是通过Java代码发起对远程服务器上的Shell脚本的调用,从而实现跨平台的...

    java调用DOS命令

    Java调用DOS命令是指在Java程序中执行操作系统级别的命令,比如Windows下的CMD命令或Linux下的Shell命令。这种功能在很多场景下都很有用,比如自动化脚本、文件操作、系统管理等。Java提供了Runtime类和...

    java调用shell命令并获取执行结果的示例

    Java调用Shell命令并获取执行结果的示例 在 Java 中调用 Shell 命令并获取执行结果是非常常见的操作,今天我们就来分享一个 Java 调用 Shell 命令并获取执行结果的示例。 Process 和 Runtime 类 在 Java 中,我们...

Global site tag (gtag.js) - Google Analytics