linux编程实践经验sshpass、md5sum、ssh

转载 2013年12月01日 20:06:16

做计算开软件开发的一定对linux操作系统不陌生,那么linux中的两个命令md5sum、ssh登陆方式也一定使用过。在这里给大家分享下我做开发时碰到的两个问题。一个是怎样解决ssh需要通过输入获取密码,另一个是怎样在java中正确调用md5sum命令。这两个都是我亲自实践过保证好用的,如果大家还有什么不理解的欢迎留言交流

工具/原料

  • linux操作系统

  • 计算机

方法/步骤

  1. 首先介绍一下使用md5sum命令生成md5文件,这个命令是linux系统自带的命令,会根据文件内容生成对应的md5文件。原理就不解释了,大家自己百度或者google一下就知道。这里给大家分享的是怎样在java程序中正确使用该命令呢。我第一次是这样做的:

    Runtime.getRuntime().exec("md5sum test.txt > test.txt.md5");

    但是却没有生成我要的test.txt.md5文件。原因是用上面的方式md5sum后面的“test.txt > test.txt.md5”被当做一个字符数据传输给了md5sum文件,因此导致生成md5文件失败。大家一定很关心怎样能够通过java成功调用md5sum命令生成自己要的md5文件。下面就来看看吧。

  2. 那就是把上面的命令以字符数组的形式传递,同时显示的用sh去执行这个命令,具体用法如下:

    Runtime.getRuntime().exec(new String[]{"sh","-c","md5sum test.txt > test.txt.md5"});

    注意,sh和-c是必须有的,告诉程序以sh方式执行该命令。这里还有一点和大家分享,就是当大文件要生成对应的md5文件时,要sleep一下主线程,不然直接调用结果的md5文件可能获取不到,因为大数据文件md5sum命令执行需要时间,所以需要sleep操作。

    linux编程实践经验sshpass、md5sum、ssh
  3. 下面说说ssh吧,做开发的应该都用过。大家在做日志分析的时候是否碰到过要从其他的服务器拉取日志文件来做访问统计呢,如果有这个需要,那就有必要了解下了。同一个服务架设在多台服务器上怎样进行日志分析?一般是采用把相同服务在多台机器产生的log日志文件拉到一台机器上进行统一处理。那linux机器之间怎么做呢?一种是建立机器之间的信任关系,这时候不需要通过ssh登陆来获取文件,但这样操作风险性太高,不安全,所以op一般是不会统一这样做的。那还有没有其他方式呢?当然有啊,方法总比困难多啊。

  4. 4

    要不通过ssh直接登陆怎样获取呢?那就是通过一个叫sshpass的工具软件,该软件的具体使用大家自己上网上百度或者google吧。我在这里不详细解释,只给大家演示一下我是怎样通过sshpass来获取我要获取的机器上的日志文件的。

    其实很简单,就是下面的命令:通过sshpass输入你的密码 然后通过scp就可以从你需要的机器上拉取日志文件了!注意这种方式最大的好处是可以写到shell里面,不需要通过终端来每一次交互都输入密码了!就是说你的shell中直接通过下面的命令就能轻松搞定拉取日志文件的问题了,是不是很简单,自己实际练习一下吧。有问题或者不同的欢迎留言交流

    sshpass -p my_password scp -r $2:$SOURCE_PATH/$1.log.$date $LOCAL_LOG_PATH/$1.log.$3.$2

    linux编程实践经验sshpass、md5sum、ssh
    END

注意事项

md5sum linux 下的代码实现

  • 2011年11月09日 09:41
  • 7KB
  • 下载

linux命令详解:md5sum命令

linux命令详解:md5sum命令 2013-11-05 21:11:18cnblogs.com-李文刚-点击数:31099 前言 ...

linux命令详解:md5sum命令

前言 在网络传输、设备之间转存、复制大文件等时,可能会出现传输前后数据不一致的情况。这种情况在网络这种相对更不稳定的环境中,容易出现。那么校验文件的完整性,也是势在必行的。 使用说明 ...
  • cbbbc
  • cbbbc
  • 2015年09月19日 00:52
  • 7415

linux中md5sum命令的重要作用------顺便聊聊两次与之相关的经历

跟linux有过接触的人, 基本都熟悉常用的linux命令, 但md5sum这命令并不是所有的人都用过。 其实, md5sum就是对文件/字符串求md5值的命令, 很简单。而md5值, 通常用来比较两...
  • stpeace
  • stpeace
  • 2015年05月31日 21:42
  • 1889

linux下md5sum 校验文件完整性

1、简介   MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改。MD5 全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任意长度的信息逐位进行计算,...

linux命令详解:md5sum命令

在网络传输、设备之间转存、复制大文件等时,可能会出现传输前后数据不一致的情况。这种情况在网络这种相对更不稳定的环境中,容易出现。那么校验文件的完整性,也是势在必行的。 使用说明 md5su...

Linux命令学习:md5sum

前言 在网络传输、设备之间转存、复制大文件等时,可能会出现传输前后数据不一致的情况。这种情况在网络这种相对更不稳定的环境中,容易出现。那么校验文件的完整性,也是势在必行的。 使用说明 ...

Linux命令详解:md5sum

1、简介 MD5算法一般用于检查文件完整性,尤其常用于检测在(网络)文件传输、拷贝、磁盘错误或其他无恶意涉入的情况下文件的正确性。MD5 全称报文摘要算法(Message-DigestAlgorit...

Linux下md5sum 校验文件完整性

MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改。MD5 全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任意长度的信息逐位进行计算,产生一个二进制长...

linux md5sum 的用法

在linux或Unix上,md5sum是用来计算和校验文件报文摘要的工具程序。md5sum是一种计算机程序,用于计算与校验RFC 1321所描述的128位MD5哈希值,此处MD5散列值(或校验和)...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:linux编程实践经验sshpass、md5sum、ssh
举报原因:
原因补充:

(最多只允许输入30个字)