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
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] a或b或c
显示a-zA-Z(只能grep用)方法一:
-i 不区分大小写 方法二: