Linux体系结构和常用指令

2022-05-13 10:44:32 浏览数 (1)

一 Linux体系结构图
二 Linux如何查找指定文件?

利用find指令

  • 语法:find path [options] params
  • 作用:任何位于参数之前的字符串都将被视为预查找的目录名,如果在使用find时候不设置路径,find将在当前目录下查找子目录和文件,并且将子目录和文件全部显示
  • 实操: find / -name "target.java" 查找根目录下文件名是target.java的文件 shell支持表达式,如果我们想查找target开头的文件也可以搜索find / -name "target* " 如果想忽略target的大小写也可以写find / -iname "target* "
总结:
三 检索文件内容或者管道传过来的内容

grep

  • 语法:grep [options] pattern file
  • 全称:Global Regular Expression Print (支持正则表达式)
  • 作用:查找文件里符合条件的字符串(一行)
四 管道操作符 |
使用管道注意的要点
  • 只处理前一个命令正确输出,不处理错误输出(左边传来的必须正确的,否则将抛出左边错误)
  • 右边命令必须能够接收标准输入流,否则传递过程中数据会被抛弃(无数据显示)
  • sed,awk,grep,cut,head,top,less,more,wc.join,sort,split等
面试里常用的方式
  • grep 'partial[true]' bsc-plat-al-data.info.log 查找 bsc-plat-al-data.info.log 里包含 partial[true]的行
  • grep -o 'engine[0-9a-z]*' grep -o 特定模式匹配,查找由在engine[]装满数字和字母的字符串
  • grep -v 'grep' grep -v排除含特定字符串的行 如我们查找tomcat线程时候通常用 ps -ef|grep tomcat 但是这样找到的线程往往还包含了我们的这个查找线程 故我们可以用 ps -ef| grep tomcat |grep -v "grep" 真正找到tomcat线程

通常情况下,几种方式通过管道|组合使用 更好

五 对文件内容做统计
awk语法:awk   [options]    'cmd'  file
代码语言:javascript复制
- 一次读取一行文本,按输入的分隔符进行切片,切成多个组成部分
- 将切片直接保存在内建的变量(awk自有的变量)中$1,$2.....($0表示行的全部,其他的表示一行的第几个切片)
- 支持对单个切片的判断,支持循环判断,```默认分隔符为空格

还有一个要注意的是 awk -F  ","'  { print $2}'  test. txt,用-F 可以指定切割的分割符号

六 如何批量替换文本内容

sed 语法:sed  [option]  'sed command'  filename

  • 全名stream editor,流编辑器
  • 适合用于对文本的行内容进行处理
六.1sed的字符串替换(不是替换整行,仅仅是一个小string)

需要注意的是这里的替换不是替换含有第二个斜杠的字符串,它是绝对匹配字符串,比如你写的s它只会替换S而不是Str

六.2 sed的全文s替换
六.3sed -n查找指定时间段的内容.
代码语言:javascript复制
sed -n '/Accessing Time/,/Accessing Time/'p | less; 
这个命令可以从大文件中截取某个时间段的内容并less查看
sed -n -e '4,10p' -e '10q' Hugefile > Smallfile
这个命令表示截取第4行到第10行,并且到第10行后面sed就不再运行了。

详细的https://blog.csdn.net/diyiday/article/details/99413615

六.3sed的隐藏功能-删除行

0 人点赞