**
linux三剑客 : grep sed awk
**
**
grep
**
grep 强大的文本搜索工具,根据模式搜索文本,并将符合模式的文本行显示出来。
gerp 命令格式:
grep 【option】 pattern 【file】
option:
-i:忽略字符大小写
-n:显示匹配的行号
-v:显示没有被匹配的行
–color:将匹配的字符以高亮颜色标记出来
-c:统计匹配的行数
-o:仅显示匹配到的字符串
-q:静默模式,不输出任何信息
-e:实现多个选项间的逻辑 or 关系
-v:反转查找
-w:匹配整个单词
-A:after ,显示后行
-B:before ,显示前行
-C:context,显示前后行
-E:相当于 egrep,即 grep -E = egrep
例如:
grep -i 'b' test 在文件 test 中查找字符 b
**
sed
**
sed 流编辑器 读取内容到内存中,所有操作都在内存里面运行 不会影响源文件
选项 -n 输出模式空间内容比如打印多少到多少行
-i 直接编辑文件 会对文件造成影响
-e 可以使用多个命令操作
-r 可以使用正则表达式
命令:
p 打印行空间内容
d 删除匹配行
a \text 标识匹配到行的追加内容
i \text 之后追加
c \text 替换整行
-I 不区分大小写
s 替换内容
sed -n 5p /etc/passwd 打印文件第五行的内容
sed -n '1,5p' /etc/passwd 打印1到5行内容
sed -n '/123/p' /test/passwd 打印有字符串123的行
sed 's/123/456/' /ly/123.txt 替换123的内容为456 源文件并没有替换
sed -i 's/123/456/' /ly/123.txt 源文件已经替换
**
awk
**
awk 排版工具 可以将文本内用户感兴趣的内容提取 再排版
ip addr |grep ens160 |grep inet | awk '{print $2}'
使用awk查找本机ip地址
初识bashshell
命令解释器 他能识别我们输入的各种命令 并传递给系统
类似于 windws当中的powershell cmd
在linux当中 shell 既是用户交互界面 又是控制系统的语言
在winodws当中 图形化是用户交互界面 shell是控制系统的语言
ashshell当中 文件通配符
- 匹配0次或无数次 所有 cp ./*
? 匹配任意单个字符
[0-9] 匹配数字
[abc] 匹配字母
[^abc] 匹配列表内除外的所有字符
~ 指向你的家目录
$ 表示参数
‘’ 输入一个命令 作为另一个命令的参数
如何变量赋值
username=ly
$username 引用这个变量
临时变量仅在当前shell中有效
系统变量
$PATH 用户可执行文件
$HOME 用户家目录位置
$UID 用户的UID
命令别名
alias 别名
which + 名称 可以查看这个名称的别名
别名只是当前有限 而且只是本次shell登录有效
alias dir=‘ls -al’
讲ls -al 别名写成 dir 这样 dir就会执行ls -al的作用
如何永久写入别名:
编辑 /etc/bashrc
在文件最低端写入别名 alias showip=’ip addr’
bash
刷新
which dir
验证是否成功
/etc/bashrc
非常重要 关系到每次开机的bash环境