做计算开软件开发的一定对linux操作系统不陌生,那么linux中的两个命令md5sum、ssh登陆方式也一定使用过。在这里给大家分享下我做开发时碰到的两个问题。一个是怎样解决ssh需要通过输入获取密码,另一个是怎样在java中正确调用md5sum命令。这两个都是我亲自实践过保证好用的,如果大家还有什么不理解的欢迎留言交流
工具/原料
linux操作系统
计算机
方法/步骤
首先介绍一下使用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文件。下面就来看看吧。
那就是把上面的命令以字符数组的形式传递,同时显示的用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
下面说说ssh吧,做开发的应该都用过。大家在做日志分析的时候是否碰到过要从其他的服务器拉取日志文件来做访问统计呢,如果有这个需要,那就有必要了解下了。同一个服务架设在多台服务器上怎样进行日志分析?一般是采用把相同服务在多台机器产生的log日志文件拉到一台机器上进行统一处理。那linux机器之间怎么做呢?一种是建立机器之间的信任关系,这时候不需要通过ssh登陆来获取文件,但这样操作风险性太高,不安全,所以op一般是不会统一这样做的。那还有没有其他方式呢?当然有啊,方法总比困难多啊。
要不通过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
注意事项
多动手实践
具体问题具体分析
camel骆驼男士凉鞋 真皮潮流魔术贴沙滩鞋男鞋 夏季新款正品凉鞋 只要56元!
http://redirect.simba.taobao.com/rd?w=unionnojs&f=http%3A%2F%2Fai.taobao.com%2Fauction%2Fedetail.htm%3Fe%3DYNbrUj%252FZdJwjmraEDZVrLkKA%252ByOYgzU6TbuPAry6zvGLltG5xFicOdXrTUTgh9sMDPIwxrc30rhF03SVjj78hGqYCHH8uv2oZb7Xhy%252F%252BGHmWC8e6JwspUeIZWR1bMnHu%26unid%3D96391090%26ptype%3D100010%26from%3Dbasic&k=5ccfdb950740ca16&c=un&b=alimm_0&p=mm_96391090_7268811_24064425
原博客地址:
mysql数据库中null值与其他值的比较
http://jingyan.baidu.com/article/9113f81b2adc882b3214c7cb.html
Java编程经验分享之Map使用
http://jingyan.baidu.com/article/215817f7d9d6b31eda1423d8.html
MySql使用经验——通过in查询怎样排序问题
http://jingyan.baidu.com/article/67662997325ccf54d51b84d5.html
Mybatis使用经验之xml注意事项
http://jingyan.baidu.com/article/fec7a1e51d7b451190b4e729.html
Mybatis使用经验分享之批量操作
http://jingyan.baidu.com/article/11c17a2c7f376af446e39d21.html
MyBatis使用经验分享之查询
http://jingyan.baidu.com/article/af9f5a2dd8143b43140a4520.html
linux怎样搭建tomcat服务器
http://jingyan.baidu.com/article/3052f5a1d93c1497f31f860d.html
怎样用linux脚本查询数据中的数据
http://jingyan.baidu.com/article/2c8c281dfb0add0008252a04.html
linux编程实践经验sshpass、md5sum、ssh
http://jingyan.baidu.com/article/cd4c2979ca556c756e6e60aa.html
分享到:
相关推荐
windows平台下的md5sum, 跟linux下的md5sum算出来的一模一样. 单文件, 直接在命令行下使用.
这个网站上很多md5的源代码都是有问题的,我就重提交一个跟md5sum运行效果一样的源码供大家参考
linux环境下,用于计算md5sum的小工具,通常也能轻易移植到嵌入系统
跟linux当中的md5sum命令相同,但需要重新编译,gcc -ott md5sum.c
Windows系统文件md5计算工具,md5sum命令。下载保存到C:\Windows或其他环境变量目录。
解压到c盘的system32下可以在cmd下方便使用linux的ls和md5sum命令
md5sum linux 下的代码实现 usage: md5sum [-bv] [-c [file]] | [file...] Generates or checks MD5 Message Digests -c check message digests (default is generate) -v verbose, print file names when ...
md5工具,很不错的工具,LINUX下的md5sum -c *.iso不好用
http://www.centospub.com/make/install.html这个页面上的md5sum下载地址无法下载。 http://mirror.tini4u.net/centos/4.4/isos/i386/md5sum
md5sum sha1sum for windows 微软官方md5sum和sha1sum工具,校验速度很快。
windows_md5sum_命令行计算文件md5
md5sum命令源码 直接下载就可使用 亲测好用 代码清晰
windows版的md5sum.exe,命令行。 可以用于批处理脚本中。
md5sum汉化版,文件校验,文件md5码比较。
红旗Linux 下载地址 md5sum 6.0 7.0 及源代码盘
linux 下 shell命令 ,制作md5码 也用于软件的md5校验 MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改。
md5sum 源码 适用嵌入式平台 亲测!
MD5算法为保证资源的完整性和原始性,下载后直接放到WINDOWS文件夹中,然后再命令行下输 md5sum [路径]文件名 Xp可用
OSX 的 md5sum 安装 sudo curl https://raw.githubusercontent.com/eexit/md5sum/master/md5sum -o /sbin/md5sum sudo chmod a+x /sbin/md5sum 用法 概要 md5sum [-q] source_file md5sum [-v] [-h] 读取文件中的 ...
运行apt_cyg安装软件提示MD5 sum did not match, exiting,根据网上的解决办法将md5sum修改为sha512sum。测试可用