第 1 章 企业案例故障
实例 1-1 磁盘空间不足系列:
原因 排查过程 解决
1.block df -h; du -sh /data/* 具体的文件或目录 确认之后删除
2.block lsof|grep delete 重启对应的服务
3.inode df -i; 找出系统中大于 1M 的目录 删除大量小文件
第 2 章 特殊符号
2.1 引号系列
2.1.1 "" 双引号
引号内的特殊符号会被解析
2.1.2 '' 单引号
所见即所得, 输入什么就输出什么
2.1.3 `` 反引号
$()==``
2.1.4 无引号
可以使用 {}
2.2 重定向系列
> 标准输出重定向先把文件清空追加
>> 标准输出追加重定向
2> 标准错误输出重定向
2>>
< 标准输入重定向 xargs tr
<< 标准输入追加重定向与 cat 配合追加多行内容
2>&1 将错误和正确内容都记录到文件中
2.3 位置系列
~ 当前用户家目录
.. 上一级目录
. 当前目录
- 参数 cd - su -
2.4 判断关系
&& 前面命令执行成功之后在执行后一个命令
|| 前一个命令执行失败之后执行后一个命令
[root@oldboyedu50-lnb ~]# ls /oldboy && echo 目录已存在
ext nginx.conf oldboy.SH oldboy.txt-hard oldboy.txt-soft2 test.sh t.sh.bak xiaodong xingfujie
jeacen oldboy oldboy.txt oldboy.txt-soft test t.sh wodi.gz xiaofan yingsui.gz
目录已存在
[root@oldboyedu50-lnb ~]# ls /ooooo && echo 目录已存在
ls: cannot access /ooooo: No such file or directory
[root@oldboyedu50-lnb ~]# ls /ooooo || echo 目录不存在
ls: cannot access /ooooo: No such file or directory
目录不存在
2.5 无分类系列
# 注释说明 显示环静变量的配置文件 root 用户的命令提示符
$ 普通用户命令提示符 awk 取列
! !ls 运行上一个以 ls 开头的命令并执行 !! 运行上一个命令
| 管道符号
; 在同一行分割命令
2.6 通配符号
2.6.1 * 所有文件
1. 以. conf 结尾的文件
find / -type f -name "*.conf"
2. 找出系统中文件名包含 ifconfig (文件名中有 ifconfig 就行)
方法一:
- [root@oldboyedu50-lnb ~]# find / -type f -name "ifconfig"
- /sbin/ifconfig
- [root@oldboyedu50-lnb ~]#
- [root@oldboyedu50-lnb ~]# find / -type f -name "*ifconfig*"
- /usr/sbin/pifconfig
- /usr/share/man/de/man8/ifconfig.8.gz
- /usr/share/man/pt/man8/ifconfig.8.gz
- /usr/share/man/man8/pifconfig.8.gz
- /usr/share/man/man8/ifconfig.8.gz
- /usr/share/man/fr/man8/ifconfig.8.gz
- /sbin/ifconfig
方法二:
- [root@oldboyedu50-lnb ~]# find / -type f |grep ifconfig
- /usr/sbin/pifconfig
- /usr/share/man/de/man8/ifconfig.8.gz
- /usr/share/man/pt/man8/ifconfig.8.gz
- /usr/share/man/man8/pifconfig.8.gz
- /usr/share/man/man8/ifconfig.8.gz
- /usr/share/man/fr/man8/ifconfig.8.gz
- /sbin/ifconfig
2.6.2 {} 生成序列 备份
{} 生成序列
[root@oldboyedu50-lnb ~]# echo stu{01..5}
stu01 stu02 stu03 stu04 stu05
- [root@oldboyedu50-lnb ~]#
- [root@oldboyedu50-lnb ~]#
- [root@oldboyedu50-lnb ~]# echo {1,5,100}
- [root@oldboyedu50-lnb ~]# echo stu{01..10}
stu01 stu02 stu03 stu04 stu05 stu06 stu07 stu08 stu09 stu10
[root@oldboyedu50-lnb ~]# echo stu{01..10..2}
stu01 stu03 stu05 stu07 stu09
通过 {} 进行备份
- [root@oldboyedu50-lnb ~]# cp oldboy.txt{,.bak}
- [root@oldboyedu50-lnb ~]# echo oldboy.txt{,.bak}
oldboy.txt oldboy.txt.bak
第 3 章 基础正则表达式
3.1 符号比较
中文 ''"" () . * ...... | {} []
英文 ''"" () . * ^ $ | {} []
为 grep 配置别名
- alias grep='grep --color'
- alias egrep='egrep --color'
3.2 第 1 个符号 ^ 以.... 开头的行
模拟文件
[root@oldboyedu50-lnb /oldboy]# cat oldboy.txt
I am oldboy teacher!
I teach linux.
I like badminton ball ,billiard ball and chinese chess!
- my blog is http://oldboy.blog.51cto.com
- our size is http://blog.oldboyedu.com
- my qq is 49000448
not 4900000448.
my god ,i am not oldbey,but OLDBOY!
第 1 个符号 ^
以.... 开头的行 ^m
- [root@oldboyedu50-lnb /oldboy]# grep '^m' oldboy.txt
- my blog is http://oldboy.blog.51cto.com
- my qq is 49000448
my god ,i am not oldbey,but OLDBOY!
cat -A 显示文件中所有符号 每行结尾都会有个 $
3.3 第 2 个符号 $ 显示文件结尾的行
- [root@oldboyedu50-lnb /oldboy]# grep '$' oldboy.txt
- my blog is http://oldboy.blog.51cto.com
- our size is http://blog.oldboyedu.com
3.4 第 3 个符号 ^$ 显示空行
[root@oldboyedu50-lnb /oldboy]# grep '^$' oldboy.txt
3.5 第 4 个符号 . 任意一个字符
- [root@oldboyedu50-lnb /oldboy]# #grep '.' oldboy.txt
- [root@oldboyedu50-lnb /oldboy]# grep -o '.' oldboy.txt
3.6 第 5 个符号 \ 转义字符
[root@oldboyedu50-lnb /oldboy]# grep '\.$' oldboy.txt
I teach linux.
not 4900000448.
[root@oldboyedu50-lnb /oldboy]# tr '\n' '\t' <oldboy.txt
I am oldboy teacher! I teach linux. I like badminton ball ,billiard ball and chinese chess! my blog is http://oldboy.blog.51cto.com our size is http://blog.oldboyedu.com my qq is 49000448 not 4900000448. my god ,i am not oldbey,but OLDBOY! [root@oldboyedu50-lnb /oldboy]#
3.7 第 6 个符号 * 一个字符连续出现 0 或 0 次以上
3.8 第 7 个符号 .* 所有符号字符 包括空行
[root@oldboyedu50-lnb /oldboy]# grep '.*' oldboy.txt
I am oldboy teacher!
I teach linux.
I like badminton ball ,billiard ball and chinese chess!
- my blog is http://oldboy.blog.51cto.com
- our size is http://blog.oldboyedu.com
- my qq is 49000448
not 4900000448.
my god ,i am not oldbey,but OLDBOY!
正则中表示 连续出现或所有的时候
正则表达式有贪婪性
替你寻找的文字符号 有多少吃多少 有多少匹配多少
[root@oldboyedu50-lnb /oldboy]# grep '^.*o' oldboy.txt
I am oldboy teacher!
I like badminton ball ,billiard ball and chinese chess!
- my blog is http://oldboy.blog.51cto.com
- our size is http://blog.oldboyedu.com
not 4900000448.
my god ,i am not oldbey,but OLDBOY!
3.9 第 8 个符号 [] 每次匹配一个字符
- grep '[a-z]' oldboy.txt
- grep '[A-Z]' oldboy.txt
- grep '[0-9]' oldboy.txt
- grep '[a-zA-Z]' oldboy.txt
- grep '[a-Z]' oldboy.txt
- grep -i '[a-z]' oldboy.txt
-i 不区分大小写 ignore case
3.10 第 9 个符号 [^] 每次匹配一个字符, 显示出除过这个字符的所有字符
[root@oldboy50-01 ~]# grep '[^ab]' oldboy.tat
I am oldboy teacher!
I teach linux.
I like badminton ball ,billiard ball and chinese chess!
- my blog is http://oldboy.blog.51cto.com
- our size is http://blog.oldboyedu.com
- my qq is 49000448
not 4900000448.
my god ,i am not oldbey,but OLDBOY!
来源: http://www.bubuko.com/infodetail-2708748.html