第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个符号    *     一个字符连续出现00次以上

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!