java操作linux命令

java命令操作linux指令

参考

import java.io.*;
public class Test{

public static void main(String[] args) throws Exception{
try{
Process process=Runtime.getRuntime().exec("ls ./");
InputStreamReader reader = new InputStreamReader(process.getInputStream());
LineNumberReader line = new LineNumberReader(reader);
String str;
while((str=line.readLine())!=null){
System.out.println(str);
}

}catch (Exception e){
e.printStackTrace();
}

System.out.println("done !!!");
}
} 

 

管道符
在这里插入图片描述
java操作linux移动命令mv
参考以上Process process=Runtime.getRuntime().exec(“ls ./”);
java通过Process 操作linux命令,
1.由于项目放docker容器中,测试发现没有此目录,
解决

'生成文件与移动文件的目录,配置宿主机与docker容器的映射路径,

2.又发现没有权限,由于宿主机的用户与容器内的用户不一致所致。
解决

1,查看宿主机的file文件用户组与uid,命令:id 用户名,
2,查看docker映射后的文件的用户组与uid,(id dcos)

保证容器内外的uid一致,即,把宿主机的id设置和和容器内一致,

chmod -R 1000 file

注:1000是容器内的uid
最后并重启容器,

docker start dcos

附docker进入容器

docker ps
docker exec -it -u root abc12383hsuhd sh

注意,上线后版本问题引起不兼容,修改用户后重启容器后,容器内用户改变,导致写入失败,需要重新设置宿主机用户id

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值