Linux的学习(初步)

Linux 相关面试总结

1.Linux体系结构

  1. 体系结构主要分为用户态和内核态

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

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

      1. 命令:man 2 syscalls 调出所有系统调用的指令

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

      库函数调用通常用于应用程序中对一般文件的访问。

      库函数调用是系统无关的,因此可移植性好。

    4. shell:命令解释器,可编程(在没有用户界面时,可充当用户界面)

      1. cat /etc/shells chsh -s 切换shell的格式

2.如何查找特定的文件

find

  • 语法:find path [options] params

  • 作用:在指定目录文件下查找文件

    • find -name "XXX" 如果当前文件夹没有指定的文件需要从根目录上查找文件

    • find / -name "XXX"

    面试常用方式

    1. find ~ -name "target3.java":精确查找文件

    2. find ~ -name "target*.java":模糊查找文件

    3. find ~ -iname "target*.java":不区分文件大小写去寻找文件

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

3.检索文件内容

grep

  • 语法:grep [options] pattern file

  • 全称:Global Regular Expression Print

  • 作用:查找文件里符合条件的字符串

  • 管道操作符 |

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

    使用管道注意的要点

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

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

    3. sed,awk,grep,cut,head,top,less,more,wc,join,sort,split.

4.对文件内容做统计

awk

  • 语法:awk [options] 'cmd' file

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

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

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

  • NR:从awk开始执行后,按照记录分隔符读取的次数,默认的记录分隔符为换行符。

面试里常用的方式:

  1. awk '{print $1,$4}' netstat.txt;

  2. awk '$1 == "tcp" && $2==1 {print $0}' netstat.txt

  3. awk '{enignearr[$1]++} END {for (i in enignarr)print i " " enignearr[i]}'

5.批量替换文档内容

sed

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

  • 全名:stream editor 流编辑器

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

面试里常用的方式

  1. sed -i 's/^Str/String' replace.java 替换以Str大头的行

  2. sed -i 's/.$/;/' replace.java 替换以点为结尾为分号

  3. sed -i 'd/jack/me/g' replace.java 替换所有jack为me

 

 
原文地址:https://www.cnblogs.com/xiaobaoa/p/12869977.html