1.获取硬盘序列号:

新建shell脚本文件: identifier.sh, 内容为:

1 diskdata=`fdisk -l`2 diskleft=${diskdata#*"identifier:"}3 identifier=${diskleft%%"Device Boot"*}4 echo ${identifier}

调整identifier.sh的权限:

1 chmod +x identifier.sh

使用Java代码去调用该shell脚本获取结果

1 private staticString getIdentifier() throws Exception {2 String path = "/usr/local/webapp/identifier.sh";3 Process process =Runtime.getRuntime().exec(path);4 process.waitFor();5

6 BufferedReader br = new BufferedReader(newInputStreamReader(process.getInputStream()));7 StringBuffer sb = newStringBuffer();8 String line;9 while ((line = br.readLine()) != null){10 sb.append(line);11 }12 String str =sb.toString();13 returnstr;14 }

2. 获取MAC地址:

新建shell脚本文件: macAddress.sh, 内容为:

1 macAddress=`ifconfig | awk -F'[ :]+' '!NF{if(eth!=""&&ip=="")print eth;eth=ip4=""}/^[^ ]/{eth=$1}/inet addr:/{ip=$4}'`2 ifconfig ${macAddress[1]} | grep "ether" | awk '{print $2}'

调整macAddress.sh的权限:

1 chmod +x macAddress.sh

使用Java代码去调用该shell脚本获取结果

1 private staticString getMACAddress() throws Exception {2 String path = "/usr/local/webapp/macAddress.sh";3 Process process =Runtime.getRuntime().exec(path);4 process.waitFor();5

6 BufferedReader br = new BufferedReader(newInputStreamReader(process.getInputStream()));7 StringBuffer sb = newStringBuffer();8 String line;9 while ((line = br.readLine()) != null){10 sb.append(line);11 }12 String str =sb.toString();13 returnstr;14 }

===============================================

测试:

1 public static voidmain(String[] args) throws Exception {2

3 System.out.println("==========kaishi==========");4 String macAddress =getMACAddress();5 System.out.println("macAddress is:" +macAddress);6

7 String identifier =getIdentifier();8 System.out.println("identifier is:" +identifier);9

10 String uniquelyID = macAddress + "_" +identifier;11 System.out.println("uniquelyID is:" +uniquelyID);12 System.out.println("==========jieshu==========");13

14 }

===============================================

输出:

==========kaishi==========

macAddress is: **:**:**:**:**:**

identifier is: *x********

uniquelyID is: **:**:**:**:**:**_*x********

==========jieshu==========

使用java代码执行Linux命令:

1. 执行 "ifconfig" 命令

1 private staticString getMacAddress() throws Exception {2 String[] cmd = {"ifconfig"};3

4 Process process =Runtime.getRuntime().exec(cmd);5 process.waitFor();6

7 BufferedReader br = new BufferedReader(newInputStreamReader(process.getInputStream()));8 StringBuffer sb = newStringBuffer();9 String line;10 while ((line = br.readLine()) != null) {11 sb.append(line);12 }13

14 returnstr1;15 }

2. 执行 "fdisk -l" 命令

1 private staticString getIdentifier() throws Exception {2 String[] cmd = {"fdisk", "-l"};3

4 Process process =Runtime.getRuntime().exec(cmd);5 process.waitFor();6

7 BufferedReader br = new BufferedReader(newInputStreamReader(process.getInputStream()));8 StringBuffer sb = newStringBuffer();9 String line;10 while ((line = br.readLine()) != null) {11 sb.append(line);12 }13

14 String str1 =sb.toString();15

16 returnstr1;17 }

centos查询 硬盘序列号查询_关于使用java执行shell脚本获取centos的硬盘序列号和mac地址...相关推荐

  1. shell脚本删除冒号空格_从Bash漏洞学Shell脚本(冒号)

    前天,爆发了Bash安全漏洞,非常恐怖.在网络上开始飞速传播,附带了非常友好的检测工具. $ env x='() { :;}; echo vulnerable' bash -c "echo ...

  2. python 调用shell 不阻塞_遇到问题---python调用shell脚本时subprocess.check_call不阻塞

    遇到的问题 使用命令 subprocess.check_call(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) ...

  3. Shell脚本发送邮件(CentOS+mailx+QQ邮箱)

    1. mailx 1. 准备工作 打开邮箱设置,开启pop3/smtp服务和imap/smtp服务 安装mailx:yum install -y mailx 2. 配置 设置/etc/mail.rc文 ...

  4. a1708硬盘转接口_资讯:希捷上架新款银河Exos系列机械硬盘,15000转+SAS协议

    今日最新消息,希捷上架一款新品希捷银河Exos系列机械硬盘.据悉这款硬盘采用了SAS协议,转速高达15000RPM,目前公布的售价600GB为1899元RMB. 据官方介绍这款希捷银河Exos系列机械 ...

  5. nvme固态硬盘开机慢_别让谣言害了你!关于固态硬盘的谣言以及使用误区 NVMe固态硬盘卡慢怎么办 NVMe固态硬盘卡慢解决方法【详解】-宝商在线...

    凭借高速特性,固态硬盘逐步取代机械硬盘已是大势所趋,关于固态硬盘的话题,自然也就多了起来.今天装机之家小编就来告诉大家,关于固态硬盘的谣言以及使用误区,来看看你中招了没 [误区一:想中毒,哪有这么容易 ...

  6. nvme固态硬盘开机慢_开机速度慢 不必换电脑换一块固态硬盘

    开机的速度更多的取决于硬盘,确切的说是固态硬盘.无论是笔记本or台式电脑开机速度慢多数情况下都是硬盘的速度慢,换上一款固态硬盘你的电脑还能再战三年. 那么要怎么挑选呢?上结果!如果想要提升老旧平台性能 ...

  7. linux网卡O I流量查询,查看linux server网络I/0流量的shell脚本

    查看linux server网络流量的shell脚本 上传下载大量文件的时候,可以使用这个脚本来实现监控!#!/bin/sh ###统计5s内的平均流量,以Mb为单位 if [ "$1&qu ...

  8. shell 拷贝 一个目录下的所有文件 到 另个目录下_几例实用的Shell脚本

    日常工作中,经常编写一些shell命令或脚本以完成重复性操作,本文分享了最近用到的几例shell实用脚本. 1 特殊文件名的远程拷贝 服务器之间拷贝文件经常使用scp命令,其命令格式: (1)scp ...

  9. MySQl求奇数和函数_收集的48个Shell脚本小技巧

    0. shell 调试 复制代码 代码如下: sh -x somefile.sh 在somefile.sh 文件里加上set+x set-x 1. 用 && || 简化if else ...

  10. java中后台是那一部分_一套Java后台管理系统,拿来即用(附项目地址)

    前言 这套Base Admin是一套简单通用的后台管理系统,主要功能有:权限管理.菜单管理.用户管理,系统设置.实时日志,实时监控,API加密,以及登录用户修改密码.配置个性菜单等 技术栈 前端:la ...

最新文章

  1. 逆水寒服务器新消息,游戏新消息:逆水寒太火爆服务器爆满王思聪都挤不进去...
  2. 如何利用cnocr 识别七段数码?
  3. c语言文本按行分配数组元素,【转】C语言中动态分配数组
  4. git使用教程问题列表
  5. JEPaas代码_((列表)输入字段值而计算
  6. arduino naon介绍_Arduino Nano 自制版
  7. MFC对话框动态刷新图片(仿照全屏屏保)
  8. Java基础学习总结(59)——30 个java编程技巧
  9. [转载] 使用Python中的NLTK和spaCy删除停用词与文本标准化
  10. wps文档怎么画流程图6_wps文字如何绘制流程图图文教程
  11. 五分钟使用WebStack构建个人网址导航
  12. 局域网IPC入侵心得
  13. Winsock2_WSADATA
  14. linux网络配置文件,Linux下一块网卡设置多个IP地址
  15. 学术报告PPT的latex模板
  16. Hack The Box - Access Writeup
  17. 【Skynet】开始创建服务的代码流程
  18. ListView的简单使用《一》—普通图文展示案例
  19. 多任务学习(Multi-task Learning)方法总结
  20. Android使用百度地图sdk,实现微信发送位置功能

热门文章

  1. C语言经典100例-9
  2. Unity--初识Live2D Cubism以及通过代码来实现Live2D模型的基本功能(一)
  3. matlab蒙特卡洛法求概率,基于某MATLAB的蒙特卡洛方法对可靠度的计算.doc
  4. 02怎么学数据结构?
  5. 数据库系统教程第三版施伯乐
  6. VsCode中文输出为乱码的原因及解决方法
  7. BATJTMD,大厂招聘,都怎么面Java程序员?
  8. python 调用bat失败_死机、卡顿、蓝屏,Python部门的老江湖告诉我的一些超级变态代码...
  9. f2fs学习笔记 - 1. f2fs概述
  10. BCH编码与译码(MATLAB实现)