Day 17 特殊符号与正则

Day 17 特殊符号与正则

1.1 #时间

mtime modify time   修改时间

ctime  change time  文件属性修改时间

atime  access time   访问时间(cat

1.2 磁盘空间不足系列:

原因               排查过程                             解决

1.block        df -h; du -sh /data/* 具体的文件或目录        确认之后删除      

2.block(硬连接数为0 进程调用数不为0 lsof|grep delete   重启对应的服务

3.inode         df -i; 找出系统中大于1M的目录           删除大量小文件

1.3 特殊符号

1.3.1  单引号:所见即所得(输入什么输出什么)

1.3.2  双引号:解析特殊符号

1.3.3  反引号:优先执行命令===$( )

1.3.4  不加引号:与双引号类似,支持通配符(可使用{}

1.4 重定向符号

1.4.1  >> 追加重定向:把信息追加到结尾

1.4.2  > 标准输出重定向:先清空文件内容,在追加新内容

1.4.3  2>> 错误追加重定向:错误信息被追加到文件内容

1.4.4  2> 错误输出重定向: 先清空文件内容,在追加新内容

1.4.5  < 标准输入重定向:重定向到文件,如果有内容则清空

1.4.6  << 追加输入重定向:追加内容到结尾

1.4.7  2>&1 把错误的内容和正确的内容记录到文件

echo oldboy >/tmp/log 2>&1

 fsdgsgse.png

1.5 位置系列

1.5.1  当前目录

1.5.2  ..  当前目录的上一级目录

1.5.3  ~  当前用户家目录

1.5.4  - cd- 返回上次所在位置

1.5.4.1  su -  切换用户  

1.6 判断系列

1.6.1  && 并且 前一个命令执行成功在执行后面的命令

1.6.2  ||  前一个命令执行失败在执行后面的命令

Ifdown eth0 && ifup eth0 重启网卡

[root@oldboyedu50-lnb ~]# ls /oldboy

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 /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 ~]#

[root@oldboyedu50-lnb ~]# ls /ooooo || echo 目录不存在

ls: cannot access /ooooo: No such file or directory

目录不存在

1.7 无分类系列

1.7.1  #  注释(解释说明)

1.7.2  $  普通用户的命令提示符

1.7.2.1     awk表显示取某一列

   $0   一行

   $NF  最后一列

1.7.3 !   逻辑运算中的find中)

Vim强制退出

! +字母 最后一次以此字母开头的命令

!ls  最后一次以ls开头的命令并运行

!!  运行上一个命令

! + 数字 调出历史的第几条命令

1.7.4  |  管道

1.7.4.1     高级正则表达式egrep 表示或者

1.7.5  ;   连续不同命令分隔符(分割多条命令)

echo ; ls ; pwd ; hostname

1.8 通配符——找文件名

1.8.1  *  所有 匹配任何字符串/文本

find /oldboy –type f –name “*.txt”

[root@oldboyedu50-lnb ~]# find /  -type f  -name "*ifconfig*" 找出系统中文件名包含ifconfig (文件名中有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

1.8.2  {} 生成序列

echo {a..z}  显示abcdef…z

echo {1,5,10} 显示1,5,10

echo {1..10..2} 显示1-10并且每次+2

1 3 5 7 9

[root@CJY ~]# echo A{B,C}  粘字母

AB AC

[root@CJY ~]# echo A{,C}

A AC

echo oldboy.txt {.bak}   备份把echo改为cp

oldboy.txt oldboy.txt.bak

 

1.8.3 grep egrep 配置别名

[root@CJY /oldboy]# alias grep='grep --color'

[root@CJY /oldboy]# alias egrep='egrep --color'

[root@CJY /oldboy]# vim /etc/profile

[root@CJY /oldboy]# source /etc/profile  生效后重新连接xshell

[root@CJY ~]#ll / |grep oldboy

drwxr-xr-x.   7 root root  4096 May 22 03:13 oldboy

 

1.9 基础正则

[root@CJY /oldboy]#vim /oldboy/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@CJY /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!

 

[root@CJY /oldboy]#grep oldboy oldboy.txt    过滤oldboy

I am oldboy teacher!

my blog is http://oldboy.blog.51cto.com

our size is http://blog.oldboyedu.com

[root@CJY /oldboy]#grep "^m" oldboy.txt         找出以m开头的行

my blog is http://oldboy.blog.51cto.com

my qq is 49000448

my god ,i am not oldbey,but OLDBOY!

1.9.1 第一个符号 ^  ….开头

[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 显示文件中所有符号  每行结尾都会有个$

 

[root@oldboyedu50-lnb /oldboy]# grep ' $'  oldboy.txt

my blog is http://oldboy.blog.51cto.com

our size is http://blog.oldboyedu.com

1.9.2 第二个符号 $  ….结尾

1.9.3 第三个符号 ^$ 空行 什么符号都没有

[root@CJY /oldboy]#grep '^$' oldboy.txt

 

 

 

[root@CJY /oldboy]#grep -n '^$' oldboy.txt

3:

8:

11:

grep –v '^$' oldboy.txt      排除空行

1.9.4 第四个符号.  任意一个字符

grep –o '.' oldboy.txt       显示执行过程

[root@CJY /oldboy]#grep -n '\.$' oldboy.txt     以.结尾的行

2:I teach linux.

9:not 4900000448.

1.9.5 第五个符号\  撬棍 转义字符

   转义字符系列  \n  回车换行

                 \t  按一次tab  8个空格长度区域

                 tr  替换

 [root@CJY /oldboy]# tr '\n'   '\t'   < oldboy.txt    把文件中所有的回车换行替换为tab

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@CJY /oldboy]#

1.9.6 第六个符号 * 前一个字符连续出现了0次或0次以上

显示grep '0*' oldboy.txt每次匹配了什么?

[root@CJY /oldboy]#grep -o '0*' oldboy.txt

000

00000

1.9.7 第七个符号 . * 所有 任何字符 包含空行

正则表达式-1-grep ‘0*’ 会把文件内容都显示出来

0*   0  没有grep ‘’  会把文件内容都显示出来

正则表达式的贪婪性

替你寻找的文字符号,有多少匹配多少

正则中表示 连续出现或所有的时候

[root@CJY /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!

1.9.8 第八个符号 []  [abc] abc

1.png

显示a-zA-Z只能grep)方法一:

 2.png

-i  不区分大小写 方法二:

3.png

1.10 总结:

1.10.1  正则表达式与通配符区别

1.10.2  基础正则表达式

1.10.3  linux三种时间


猜你喜欢

转载自blog.51cto.com/13859649/2152663