Java复习笔记之Linux(1)

Linux的体系结构

  体系结构主要分为用户态(用户上层活动)和内核态

  内核:本质上是一段管理计算机硬件设备的程序

  系统调用:内核的访问接口,是一种不能再简化的操作

  公用函数库:系统调用的组合拳

  Shell:命令解释器,可编程

 

查找特定的文件

 find 语法: find path [options] params   作用:在指定目录下查找文件

eg: find  -name xxx.java 从当前目录递归查找,

find  /  -name xxx.java 去到根目录,再从根目录下进行查找

find ~ -name xxx*, 查找以xxx打头的文件

find ~ -name xxx*, 忽略大小写

 

面试里常用的方式:

  find  ~  -name  “target.java” : 精确查找文件

  find  ~  -name “target.java”: 模糊查找文件

  find  ~  -iname “target*” : 不区分文件名大小写去查找文件

  man find: 更多关于find指令的使用说明

 

检索文件内容

  grep(全称 Global Regular Expression Print) 语法: grep [options] pattern file

  作用:查找文件里符合条件的字符串(可以利用正则表达式进行匹配)

Eg:

  grep moo target*  查找以target打头,包含moo的文件

  grep haha  等待用户输入,用户输入包含haha的字符串,才会产生响应  

 

管道操作符 |

   可将指令连接起来,前一个指令的输出作为后一个指令的输入

Eg:  find ~ | grep target  搜索当前目录下文件名包含target的文件

使用管道注意的要点

  只处理前一个命令正确输出,不处理错误输出

  右边命令必须能够接收标准输入流,否则传递过程中数据会被抛弃

  sed, awk, grep,cut,head,top,less,more,wc,join,sort,spilt等

 

 

 

Cat netstat.txt(查看文件内容)

Proto      Recv-Q   Send-Q  Local Adderss   Forigen Address           state

tcp        0         48     115.28.159.6:ssh  113.46.178.155:63873   ESTABLISHED

tcp        0         0      localhost:mysql    localhost:40334          ESTABLISHED

................

 

对文件内容进行统计

awk

  语法:awk[options] ‘cmd’ file

 一次读取一行文本,按输入分隔符进行切片,切成多个组成部分

 将切片直接保存在内建的变量中,$1,$2..($0表示行的全部)

 支持对单个切片的判断,支持循环判断,默认分隔符为空格

 

 

awk ‘{print $1, $4}’  netstat.txt 截取文件中的第一列和第四列的内容(按照空格切片)

awk ‘$1==”tcp” && $2==1{print $0}’ netstat.txt   

  print $0输出整行, 筛选出第一列的为tcp ,第二列为1的行

awk ‘($1==”tcp” && $2==1) || NR==1 {print $0}’ netstat.txt

带有表头的数据

 

awk  -F , ‘{print $2}’ test.txt  将test.txt中的内容 ‘,’分割成列,打印第二列

 

 

 

面试里常用的方式:

  awk ‘{print $1, $4}’  netstat.txt

awk ‘$1==”tcp” && $2==1{print $0}’ netstat.txt  

awk ‘{enginearrp[$1]++}END{for i in enginearr}print i “\t” enginearr[i]}’ 

 

 

批量替换文本内容

sed 语法: sed[option]  ‘sed command’ filename

全名stream editor ,流编辑器

适合用于对文本的行内容进行处理

 

面试里常用的方式

sed  ‘s/^Str/String/’  replace.java 将replace.java文件中以Str打头的字符串替换成String

默认是将改变输出终端,要写入文件中,需要加入 -i , sed  -i  ‘s/^Str/String/’  replace.java

sed  -i  ‘s/\.$/\;/’  replace.java 将以 .号结尾替换成;, 转义字符需要加\

sed  -i  ‘s/Jack/me/g’  replace.java  不加g, 一行只替换首个,加了g,一行替换全部

sed  -i  ‘/^  */d’  replace.java 删除空格

sed  -i  ‘/Integer/d’ replace.java 删除Integer所在的行

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值