Linux面试核心

Linux的体系结构

查找特定文件

find -name [filename] 当前目录递归查找某个文件
find -iname [filename] 当前目录递归查找某个文件(忽略大小写)
find / -name [filename] 全局递归查找某个文件(/定位到系统根目录)
find ~ -name [filename] 当前用户目录查找某个文件(~定位用当前用户目录,通配符支持模糊查询)
man find(查找find指令的说明)

检索文件内容

grep [查找内容] [查找文件](支持模糊查询)

传统的 grep 程序, 在没有参数的情况下, 只输出符合 RE 字符串之句子. 常见参数如下:
-v: 逆反模示, 只输出"不含" RE 字符串之句子.
-r: 递归模式, 可同时处理所有层级子目录里的文件.
-q: 静默模式, 不输出任何结果(stderr 除外. 常用以获取 return value, 符合为 true, 否则为 false .)
-i: 忽略大小写.
-w: 整词比对, 类似 <word> .
-n: 同时输出行号.
-c: 只输出符合比对的行数.
-l: 只输出符合比对的文件名称.
-o: 只输出符合 RE 的字符串. (gnu 新版独有, 不见得所有版本都支持.)
-E: 切换为 egrep .

管道操作符|

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



使用管道注意的要点

1、只处理前一个命令正确输出,不处理错误输出
2、右边命令必须能够接收标准输入流,否则传递过程中数据会被抛弃

对文件内容做统计

awk
语法:awk [options] 'cmd' file
1、一次读取一行文本,按输入分隔符进行切片,切成多个组成部分
2、将切片直接保存在内建的变量中,12..($0表示行的全部)
3、支持对单个切片的判断,支持循环判断,默认分隔符为空格

//按空格切片,打印第一个切片和第四个切片
awk '{print $1,$4}' filename 
//如果第一切片等于tcp并且第二切片等于1就打印整行
awk '$1=="tcp" && $2==1{print $0}' filename 
//如果第一切片等于tcp并且第二切片等于1 或者 是第一行 就打印整行
awk '($1=="tcp" && $2==1) || NR == 1 {print $0}' filename 
//按逗号分隔,打印第二切片
awk -F ',' '{print $2}' filename 
/*
*自定义数组engiarr,key为第一切片,value为相同切片出现的次数,扫描结束后循环数组engiarr
*打印出key和value
*/
awk '{engiarr[$1]++}END{for(i in engiarr)print i "\t" engiarr[i]}' 

批量替换文本内容

sed
语法:sed [option] 'sed command' filename
适合用于对文本的行内容进行处理

/*
*-i替换并保存到文本,不加-i是不会保存到文本的,s是对字符串的操作
*第一个斜杠到第二个斜杠之间就是要查找的内容
*第二个斜杠到第三个斜杠之间就是要替换的内容,^就是以什么开头的内容
*/
sed -i 's/^Str/String/' filename 
//$就是以什么结尾的内容
sed -i 's/\.$/;/' filename 
//g就是全文替换,不加就只会替换每行的首个符合的内容
sed -i 's/\.$/;/g' filename 
//d就是删除符合内容的行
sed -i 's/\.$/d' filename 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • SHELL 进阶 这部分的知识,我们主要是从三个方面来学习: 测试语句表达式(条件+计算)linux常见符号和命令...
    hang1720阅读 636评论 0 0
  • 基础命令 主要的命令和快捷键 Linux系统命令由三部分组成:cmd + [options]+[operation...
    485b1aca799e阅读 1,141评论 0 0
  • 第 2 章 SHELL 基础知识2.1 shell脚本我们在上面简单介绍了一下什么是shell脚本,现在我们来进一...
    LiWei_9e4b阅读 1,601评论 0 0
  • 本文将介绍Linux下使用Shell处理文本时最常用的工具: find、grep、xargs、sort、uniq、...
    程序员BUG阅读 851评论 0 15
  • 本文将介绍Linux下使用Shell处理文本时最常用的工具: find、grep、xargs、sort、uniq、...
    追风筝的少年_4cdc阅读 220评论 0 0