centos查询 硬盘序列号查询_关于使用java执行shell脚本获取centos的硬盘序列号和mac地址...
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地址...相关推荐
- shell脚本删除冒号空格_从Bash漏洞学Shell脚本(冒号)
前天,爆发了Bash安全漏洞,非常恐怖.在网络上开始飞速传播,附带了非常友好的检测工具. $ env x='() { :;}; echo vulnerable' bash -c "echo ...
- python 调用shell 不阻塞_遇到问题---python调用shell脚本时subprocess.check_call不阻塞
遇到的问题 使用命令 subprocess.check_call(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) ...
- Shell脚本发送邮件(CentOS+mailx+QQ邮箱)
1. mailx 1. 准备工作 打开邮箱设置,开启pop3/smtp服务和imap/smtp服务 安装mailx:yum install -y mailx 2. 配置 设置/etc/mail.rc文 ...
- a1708硬盘转接口_资讯:希捷上架新款银河Exos系列机械硬盘,15000转+SAS协议
今日最新消息,希捷上架一款新品希捷银河Exos系列机械硬盘.据悉这款硬盘采用了SAS协议,转速高达15000RPM,目前公布的售价600GB为1899元RMB. 据官方介绍这款希捷银河Exos系列机械 ...
- nvme固态硬盘开机慢_别让谣言害了你!关于固态硬盘的谣言以及使用误区 NVMe固态硬盘卡慢怎么办 NVMe固态硬盘卡慢解决方法【详解】-宝商在线...
凭借高速特性,固态硬盘逐步取代机械硬盘已是大势所趋,关于固态硬盘的话题,自然也就多了起来.今天装机之家小编就来告诉大家,关于固态硬盘的谣言以及使用误区,来看看你中招了没 [误区一:想中毒,哪有这么容易 ...
- nvme固态硬盘开机慢_开机速度慢 不必换电脑换一块固态硬盘
开机的速度更多的取决于硬盘,确切的说是固态硬盘.无论是笔记本or台式电脑开机速度慢多数情况下都是硬盘的速度慢,换上一款固态硬盘你的电脑还能再战三年. 那么要怎么挑选呢?上结果!如果想要提升老旧平台性能 ...
- linux网卡O I流量查询,查看linux server网络I/0流量的shell脚本
查看linux server网络流量的shell脚本 上传下载大量文件的时候,可以使用这个脚本来实现监控!#!/bin/sh ###统计5s内的平均流量,以Mb为单位 if [ "$1&qu ...
- shell 拷贝 一个目录下的所有文件 到 另个目录下_几例实用的Shell脚本
日常工作中,经常编写一些shell命令或脚本以完成重复性操作,本文分享了最近用到的几例shell实用脚本. 1 特殊文件名的远程拷贝 服务器之间拷贝文件经常使用scp命令,其命令格式: (1)scp ...
- MySQl求奇数和函数_收集的48个Shell脚本小技巧
0. shell 调试 复制代码 代码如下: sh -x somefile.sh 在somefile.sh 文件里加上set+x set-x 1. 用 && || 简化if else ...
- java中后台是那一部分_一套Java后台管理系统,拿来即用(附项目地址)
前言 这套Base Admin是一套简单通用的后台管理系统,主要功能有:权限管理.菜单管理.用户管理,系统设置.实时日志,实时监控,API加密,以及登录用户修改密码.配置个性菜单等 技术栈 前端:la ...
最新文章
- 逆水寒服务器新消息,游戏新消息:逆水寒太火爆服务器爆满王思聪都挤不进去...
- 如何利用cnocr 识别七段数码?
- c语言文本按行分配数组元素,【转】C语言中动态分配数组
- git使用教程问题列表
- JEPaas代码_((列表)输入字段值而计算
- arduino naon介绍_Arduino Nano 自制版
- MFC对话框动态刷新图片(仿照全屏屏保)
- Java基础学习总结(59)——30 个java编程技巧
- [转载] 使用Python中的NLTK和spaCy删除停用词与文本标准化
- wps文档怎么画流程图6_wps文字如何绘制流程图图文教程
- 五分钟使用WebStack构建个人网址导航
- 局域网IPC入侵心得
- Winsock2_WSADATA
- linux网络配置文件,Linux下一块网卡设置多个IP地址
- 学术报告PPT的latex模板
- Hack The Box - Access Writeup
- 【Skynet】开始创建服务的代码流程
- ListView的简单使用《一》—普通图文展示案例
- 多任务学习(Multi-task Learning)方法总结
- Android使用百度地图sdk,实现微信发送位置功能
热门文章
- C语言经典100例-9
- Unity--初识Live2D Cubism以及通过代码来实现Live2D模型的基本功能(一)
- matlab蒙特卡洛法求概率,基于某MATLAB的蒙特卡洛方法对可靠度的计算.doc
- 02怎么学数据结构?
- 数据库系统教程第三版施伯乐
- VsCode中文输出为乱码的原因及解决方法
- BATJTMD,大厂招聘,都怎么面Java程序员?
- python 调用bat失败_死机、卡顿、蓝屏,Python部门的老江湖告诉我的一些超级变态代码...
- f2fs学习笔记 - 1. f2fs概述
- BCH编码与译码(MATLAB实现)