课堂笔记day13~17

老男孩Linux运维58期课堂笔记                                                                  


                                                                                              作者:于冬

                                                                                              归档:课堂笔记

                                                                                              日期:3.18

格式说明:

蓝色字体:注释

黄色背景:重要

绿色背景:注意

1、老男孩思想

老男孩思想之如何答笔试题?

1、字要好,工整,用心。

2、尽量多答一些。

3、一定要多种答案

4、问答题能画图就不用文字。

老男孩思想之如何解决拖延症?

1、把刀把交给别人。

   破釜沉舟,不留后路。

   a.告诉别人如果做不到,我就给你什么好处。

   b.定制目标,然后告诉身边的人。

    c.先把500放人家那,做到了还给你,做不到就不用给我了。

2、塑造价值观

  a.正向价值观:多想做到结果后的好处。

     拿到1万的工作。

     找个好女朋友(女人)

     自己有点面子,装装叉。

     买车、买房。

     父母有也有面子。

  b.负面价值观

     谁欺负你,韩信受胯下之辱。

     谁看不起你,让他狗眼看人低。

3、让你最在意的人逼你(对你的好的人)

      惊闻故里玉龙斗,

      鳞甲纷飞苍穹下。

      黄浦江畔无它愿,

      二度梅花七月发。

2、链接的概念

链接可分为两种:一种是硬链接。另一种为软链接或符号链接。

创建硬链接语法:“ln 原始文件 目标文件” (注意空格)

创建软链接语法:“ln-s 原始文件 目标文件” (目标文件不能事先存在)

企业面试:请描述Linux中的软链接和硬链接的区别

1、答分类:链接可分为两种:一种是硬链接。另一种为软链接或符号链接。

2、答概念:硬链接文件与源文件的Inode节点号相同,而软链接文件相当于Windows下的快捷方式(Inode节点号与源文件不同)

3、答创建:创建硬链接语法:“ln 原始文件 目标文件” (注意空格)

创建软链接语法:“ln-s 原始文件 目标文件” (目标文件不能事先存在)

4、答特点:1、不能对目录创建硬链接,但可以可创建软链接

                    2、软链接可以跨文件系统,硬链接不可以跨文件系统

                    3、删除软链接文件,对源文件及硬链接文件无任何影响

                    4、删除文件的硬链接文件,对原文件及软连接文件无任何影响

                    5、删除软连接的源文件,对硬链接无影响,会导致其软连接失效,(红底白字闪烁状)

                    6、同时删除源文件及其硬链接文件,整个文件才会被正真地删除

5、答案例:硬链接用处不多,可以用来对重要文件做快照防止误删,而对目录建立软连接在工作中很长用。例如:安装软件中会用nginx_1.10作为目录,安装完后设置软连接为nginx即保持了版本号表识,又方便使用,以及方便后续软件升级。

3、通配符知识

1、基本含义

通配符简单说就是键盘上的一些特殊字符,可以实现某些特殊的功能,

例如,可以用*代表所有,来模糊搜索系统中的文件。

2、范围:通配符试用范围是命令行中【普通命令】或脚本编程中。

第一组 模糊匹配:

[root@oldboyedu/data]# touch a.txt b.txt aa.txt test.txt

[root@oldboyedu/data]# lsaa.txt  a.txt b.txt  test.txt

通配符参数

>     #输出重定向

>>    #输出追加重定向

<     #输入重定向

<<    #追加输入重定向

~     #当前用户家目录

$     #以。。。结尾(正则)

^     #以。。。开头(正则)

*     #匹配全部字符,通配符

?    #任意一个字符,通配符

#       #注释

&       #让程序或脚本切换到后台执行

&&      #并且 同时成立

[]      #表示一个范围(正则,通配符)

{}      #产生一个序列(通配符)

.       #当前目录的硬链接

..      #上级目录的硬链接





老男孩Linux运维58期课堂笔记                                                                         


                                                                                              作者:于冬

                                                                                              归档:课堂笔记

                                                                                              日期:3.19

   格式说明:

蓝色字体:注释

黄色背景:重要

绿色背景:注意

1、正则表达式

1、什么是正则表达式?作用和特殊字符一样。正则表达式是为处理大量的字符串及文本而定义的一套规则和方法。假设"@"代表“I am”,"!"代表“oldboy”,则执行echo "@!"的结果就是输出“I am oldboy”。

2、提高效率,快速获取到想要的内容。

3、适用于三剑客命令 grep(egrep),sed,awk以行为单位处理。

4、实践来讲解

2、易混淆事项

1、和通配符区别。

2、开发人员正则,一般是Perl兼容正则表达式。

3、Linux系统三剑客正则表达式******。

3、正则表达式的分类

基本正则表达式(BRE)

扩展正则表达式(ERE)

分类:

1、BRE  grep

2、ERE  egrep

基础正则表达式+扩展正则表达式含义解释:

.   代表且只能代表任意一个字符(不包括空行)

*重复前面任意0个或多个字符

.*匹配所有字符。(包括空行)

sed -ri 's#(.*)#\1#g' bqh.txt

把前面正则匹配的括号内的结果,在后面用\1取出来操作。

^表示以什么开头,^oldboy以oldboy开头

$    是以什么结尾

^$  表示空行。

\例\.   就只代表点本身,转义符号,让有着特殊身份移动的字符,脱掉马甲,还原原型\$

^.*   以任意多个字符开头。

.*$   以任意多个字符结尾。

(.*)  从第一字符匹配,到空格停止,

[abc]  匹配字符集合内的任意一个字符【a-zA-Z】

[^abc]  匹配不包括^后的任意字符的内容;中括号里的^为取反,注意和以...开头区别。

a\{n,m\}  重复n到m次,前一个重复的字符。如果有用egrep/sed -r 可以去掉斜线。

\{n,\}  重复至少n次,前一个重复的字符。如果有用egrep/sed -r 可以去掉斜线。

\{n\}  重复n次,前一个重复的字符。如果有用egrep/sed -r 可以去掉斜线。

^word  搜索以word开头的;vi

^ 一行的开够

word$  搜索以word结尾的;vi

$  一行的开头

^$  表示空行。扩展的正则表达式:ERP(egrep或grep -E)

+   重复一个或一个以上前面的字符? 复0个或一个0前面的字符

|  用或的方式查找多个符合的字符串

()  找出“用户组”字符串

a{n,m}    匹配前一个字符最少n次,最多m次

a{n,} 匹配前一个字符最少n次

a{n} 匹配前一个字符正好n次

a{,m}      匹配前一个字符最多m次




老男孩Linux运维58期课堂笔记                                                                        


                                                                                             作者:于冬

                                                                                             归档:课堂笔记

                                                                                             日期:3.20

格式说明:

蓝色字体:注释

黄色背景:重要

绿色背景:注意

1、sed 流编辑器

Sed是操作、过滤和转换文本内容的强大工具。

常用功能有对文件实现快速增删改查(增加、删除、修改、查询),

其中查询的功能中最常用的2大功能是过滤(过滤指定字符串)和取行(取出指定行)。

Sed的参数语法

1、sed [选项] [sed内置命令字符] [文件]

-n     取消默认sed的输出,常与sed内置命令的p连用※

-i     直接修改文件内容,而不是输出到终端。如果不使用-i选项sed只是修改在内存中的数据,并不会影响磁盘上的文件※

-e    允许多次编辑

2、sed的内置命令字符说明

s 替换

g 全局global

p 打印print

d 删除delete

3、练习题

问题1:输出oldboy.txt的第2-3行内容※。

sed -n '2,3p'oldgirl.txt

问题2:过滤出含有oldboy字符串的行※。

sed -n'/oldboy/p' oldgirl.txt

问题3:删除含有oldboy字符串的行※。

sed '/oldboy/d'oldgirl.txt

sed /oldboy/doldgirl.txt

问题4:将文件中的oldboy字符串全部替换为oldgirl※。

vim替换:

:%s#oldboy#oldgirl#g

sed 's#想替换啥#用啥替换#g' oldgirl.txt

2、cut  按列切割

-d 指定分隔符 -f指定哪列,多列用逗号

[root@oldboyedu~]# cat a.txt

1 2 3 4 5 6 7 8 9 10

[root@oldboyedu~]# cut -d" " -f1,3,5 a.txt

1 3 5

[root@oldboyedu~]# cut -d" " -f3-5 a.txt

3 4 5

3、awk(linux三剑客之一)  

awk语法:

awk  [option]  'pattern{action}' file ...

awk   [参数]      '条件{动作}'    文件 ...

参数:

-F 指定分隔符打印第一列:

[root@oldboyedu~]# awk -F ":" '{print $1}' oldboyedu.txt

root

bin

daemon

adm

lp

[root@oldboyedu~]# awk -F ":" '{print $3,$5}' oldboyedu.txt

0 root

1 bin

2 daemon

3 adm

4 lp

awk 命令的常用变量及说明

$1第一列 $2第二列 以此类推....

$0  整行

$NF 最后一列 倒数第一列

$(NF-1) 倒数第二列

练习题

练习:打印 1 2 和最后一列。

[root@oldboyedu~]# awk -F ":" '{print $1,$2,$NF}' oldboyedu.txt

root x /bin/bash

bin x

/sbin/nologin

daemon x

/sbin/nologin

adm x

/sbin/nologin

lp x

/sbin/nologin


问题1:取test.txt文件的第2行到第3行的内容。

方法1

[root@oldboyedu~]# awk'NR>1&&NR<4'oldboyedu.txt

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

方法2

[root@oldboyedu~]# awk 'NR==2,NR==3' oldboyedu.txt

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

问题2:过滤出含有root字符串的行※。

[root@oldboyedu~]# awk '/root/' oldboyedu.txt

root:x:0:0:root:/root:/bin/bash

[root@oldboyedu~]# awk /root/ oldboyedu.txt

root:x:0:0:root:/root:/bin/bash

[root@oldboyedu~]#

[root@oldboyedu ~]#

awk "/root/" oldboyedu.txt

root:x:0:0:root:/root:/bin/bash

问题3:删除含有root字符串的行※。

[root@oldboyedu~]# awk '/^[^r]/' oldboyedu.txt

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

[^r]和^[^r]注意点

[^r]  非r

^[^r] 以非r字符卡头


问题4:取文件的第一列、第三列和最后一列内容,并打印行号※。

[root@oldboyedu~]# awk -F ":" '{print NR,$1,$3,$NF}' oldboyedu.txt

1 root 0

/bin/bash

2 bin 1

/sbin/nologin

3 daemon 2

/sbin/nologin

4 adm 3

/sbin/nologin

5 lp 4

/sbin/nologin

问题5:取出Linux中执行ifconfig eth0后对应的IP地址(只能输出IP地址)。

[root@oldboyedu~]# ifconfig eth0|awk 'NR==2{print $2}'

10.0.0.201

CentOS6取ifconfig etho对应的IP地址

[root@oldboy ~]#

ifconfig eth0

eth0      Link encap:Ethernet  HWaddr 00:0C:29:D0:87:20 

          inet addr:10.0.0.202  Bcast:10.0.0.255  Mask:255.255.255.0

          inet6 addr:fe80::20c:29ff:fed0:8720/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500 Metric:1

          RX packets:243 errors:0 dropped:0 overruns:0frame:0

          TX packets:67 errors:0 dropped:0overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:20674 (20.1 KiB)  TX bytes:8706 (8.5 KiB)

[root@oldboy ~]#ifconfig eth0|awk 'NR==2{print $2}'addr:10.0.0.202

[root@oldboy ~]#ifconfig eth0|awk 'NR==2{print $2}'|awk -F ":" '{print $2}'

10.0.0.202

[root@oldboy ~]#ifconfig eth0|awk -F "[: ]+" 'NR==2{print $4}'

10.0.0.202

问题6:过滤文件中第一列内容匹配root的字符串,把符合的行的最后一列输出

awk -F":" '$1~/root/ {print $NF}' test.txt~匹配





老男孩Linux运维58期课堂笔记                                                                           


                                                                                               作者:于冬

                                                                                                归档:课堂笔记

                                                                                                日期:3.21

格式说明:

蓝色字体:注释

黄色背景:重要

绿色背景:注意

1、文件权限基础知识

[root@oldboyedu~]# ls -lhitotal 36K

33631870-rw-r--r--. 1 root root     21 Oct  6 22:54 a.txt

33631871-rw-r--r--. 1 root root     16 Oct  6 23:02 b.txt

33631857-rw-r--r--  1 root root     61 Oct 7 00:11 c.txt

rw-r--r—

rser(用户)

group(用户组)

other(其他用户)

1、权限定义字母,

r代表读权限,用数字4表示

w代表写权限,用数字2表示

x代表执行权限,用数字1表示

-代表没有权限,用数字0表示

权限增减字符

+:添加权限

-:取消权限

=:取消其他所有权限

2、字符表示法

rw-rw-r-x  代表的数字权限为665

--xr-x-wx  代表的数字权限为153

-wx--x--x  代表的数字权限为311

3、修改文件属性的用户和组

chown 用户.用户组 文件 这里的点可以用:替换。

chown 用户 文件

chown .用户组文件   ====chgrp用户组文件

[if !supportLists]1、     [endif]企业真实案例:网站文件被恶意修改了,打开网站后有弹窗广告(不是你网站的)

解决方案:

1、备份

tar zcvf/opt/oldboy_$(date +%F).tar.gz ./oldboy/

2、找到被修改的文件

[root@oldboyedu/]# find /oldboy -type f |xargs grep 'ddddddddddddd'

/oldboy/oldboy.txt:<script>ddddddddddddd</scripts>

/oldboy/test.sh:<script>ddddddddddddd</scripts>


3、批量删除

[root@oldboyedu/]# find /oldboy -type f |xargs sed -i '/ddddddddddddd/d'

[root@oldboyedu/]# find /oldboy -type f |xargs grep 'ddddddddddddd'


找到文件被篡改来源,并优化调整。

亡羊补牢。

4、 写总结 故障报告。

4、特殊权限位基本说明

suid位:

suid(setuid)位通过S字符标识,

存在于基本权限的用户权限位的x权限对应的位置,

如果用户权限位对应的x权限位上有x权限,则suid就用小写的s标识,

suid的s对应的数字权限为4,完整权限用八进制数4000表示。


sgid位:

sgid(setgid)位同样是通过S字符来标识,

但是,sgid位存在于基本权限的用户组权限位的x权限对应的位置,

如果用户组权限位对应的x权限位上有x权限,则sgid就用小写的s标识,

suid的s对应的数字权限为2,完整的权限用八进制数2000表示。


sticky(粘滞位)知识简介

sticky(粘滞)位通过字符T标识,存在于基本权限的其他用户位对应的x权限位上,

如果其他用户位的x权限位上有x权限,

则sticky(粘滞)位通过小写的t标识,对应的数字权限是1,

完整的权限用八进制数1000表示

工作中有啥用?

suid到底有什么作用

简单地说,suid的作用就是让普通用户可以在执行某个设置了suid位的命令或程序时,

拥有和root管理员一样的身份和权限(默认情况)。






老男孩Linux运维58期课堂笔记                                                              


                                                                                               作者:于冬

                                                                                               归档:课堂笔记

                                                                                               日期:3.22

格式说明:

蓝色字体:注释

黄色背景:重要

绿色背景:注意

1、sgid权限知识

作用之一:

sgid的作用就是让普通用户可以在执行某个设置了sgid位的命令时,

拥有和命令对应用户组(一般为root用户组)一样的身份和权限(默认)。

sgid基于目录的作用:

让不同的人创建文件属于相同的用户组,从而可以互相共享文件的权限

2、 系统定时任务

1、什么是定时任务?

周期性的执行任务计划的软件,Linux定时任务的常用软件crond。

2、使用定时任务软件,可以每天,每小时按你需求重复的执行一项工作。

例如:备份 都是0点以后,2点爬起来备份,4点以后睡觉。

需要写一个程序实现自动备份,然后让定时任务软件帮你执行。

闹钟。。。。可以追女朋友。。。

3、系统定时任务计划

1.不用管理员干预,系统自动执行。

2.也可以利用系统任务为管理员服务

4、用户定时任务计划

在Linux系统中,

cron是定时任务的软件名,

crond是服务进程名,真正实现定时任务服务。

crontab命令是用来设置定时任务规则的配置命令。


要想配置定时任务,首先启动crond服务。

systemctl start

crond.service

systemctl stop

crond.service

systemctl status

crond.service

4、crontab定时任务编辑命令

-l   列表查看已经设置的定时任务*

-e   编辑定时任务*

-u  查看特定用户下定时任务

编写定时任务的语法:

# Example of jobdefinition:

#

   .---------------- minute (0 - 59)

# |  .------------- hour (0 - 23)

# |   | .---------- day of month (1 - 31)

# |   |    |  .------- month (1 - 12) ORjan,feb,mar,apr ...

# |   |   |    |    .---- day of week (0 - 6) (Sunday=0 or 7) ORsun,mon,tue,wed,thu,fri,sat

# |    |   |   |    |

# *   *   *   *   * (command to be executed)

共六列:

第一列:分 minute (0- 59)

第二列:时hour   (0 - 23)

第三列:日 day ofmonth (1 - 31)

第四列:月 month (1 -12) OR jan,feb,mar,apr ...

第五列:周 day ofweek (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat

第六列:要执行的任务命令或程序

特殊符号:

* 表示的 每或每一的意思00 23 * * * 

cmd- 连续区间 1-1000 8-23 * * *

cmd

列举1,2,3,4,8 

00 1,2,3,4,8 * * * cmd

/n n是数字。

n代表自然数字,即“每隔n单位时间”,例如:每10分钟执行一次任务可以写成

*/10 * * * * cmd

练习

命令实例1:*/1 * * * * /bin/sh /scripts/data.sh

在本例中除了数字与命令脚本外,还使用到了符号"*",*号的意思“每一”。

第一列的意思为分钟,特殊符号“/”表示每隔的意思,即表示每隔一分钟执行/bin/sh /scripts/data.sh程序。

命令实例2:30 3,12 * * * /bin/sh /scripts/oldboy.sh

在本例中,第一列为30,表示30分钟;第二列为 3,12,这代表3点及 12点,此定时任务的意思是每天凌晨3点和中午12点的半点时刻(或描述为每天凌晨3:30和中午12:30)执行/scripts/oldboy.sh脚本。

命令实例3:30 */6 * * * /bin/sh /scripts/oldboy.sh

在本例中,第一列为30,表示30分钟;第二列*/6代表每6个小时,也相当于 6、12、18、24 的作用。此定时任务的意思是每隔6个小时的半点时刻执行/scripts/oldboy.sh脚本任务。

命令实例4:30 8-18/2 * * * /bin/sh /scripts/oldboy.sh

在本例中,其中的第一列为30,表示30分钟;第二列8-18/2代表在早晨8点到下午18点之间每隔2小时,也相当于把8、10、12、14、16、18单独列出。

那么,此定时任务的意思就是早晨8点到下午18点之间,每隔2小时的半点时刻执行/scripts/oldboy.sh脚本任务。

命令实例5:30 21 * * * /application/apache/bin/apachectl graceful

本例表示每晚的21:30重启apache。

命令实例6:45 4 1,10,22 * * /application/apache/bin/apachectl graceful

本例表示每月1、10、22日的凌晨4 : 45分重启apache。

命令实例7:10 1 * * 6,0 /application/apache/bin/apachectl graceful

本例表示每周六、周日的凌晨1 :

10分重启apache。

命令实例8:0,30 18-23 * * * /application/apache/bin/apachectl graceful

本例表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。

命令实例9:00 */1 * * * /application/apache/bin/apachectl graceful

本例表示每隔一小时整点重启apache

命令实例10:* 23,00-07/1 * * * /application/apache/bin/apachectl graceful

本例并不表示晚上23点和早上0-7点之间每隔一小时重启Apache。

要说明的是,以上结果是不规范的,也是不对的。大家想想为什么?

以上定时任务的第一列为*,表示每分都执行任务即晚上23点和早上0-7点之间每隔一小时的每分都重启Apache,很可怕吧。

命令实例11:00 11 * 4 1-3 /application/apache/bin/apachectl graceful

本例表示4月的每周一到周三的上午11点整重启Apache。

命令实例12:30 09 * * 0 去老男孩教育上课

本例表示每周日上午9:30去老男孩教育上课,这是周末班的上课频率。

命令实例13:30 08 * * *去老男孩教育上课

本例表示每上午8:30去老男孩教育上课,这是脱产班的上课频率。

实践:

1、每分钟追加一次oldboy字符串到/tmp/oldboy.log里。

解答:大象放冰箱分三步

a.命令行执行成功。

[root@oldboyedu~]# echo "oldboy">>/tmp/oldboy.log

[root@oldboyedu~]# cat /tmp/oldboy.logoldboy

[root@oldboyedu~]# echo "oldboy">>/tmp/oldboy.log

[root@oldboyedu~]# cat /tmp/oldboy.log

oldboy

oldboy

b.配置定时任务crontab -e 编辑配置

 [root@oldboyedu ~]# crontab -l#####* * * * * echo"oldboy">>/tmp/oldboy.log

c.检查

[root@oldboyedu~]# tail -f /tmp/oldboy.log

oldboy

oldboy

oldboy

5、老男孩思想:

 1)先输入* * * * *

 2)先命令行操作成功。

 3)拷贝命令到定时任务编辑里

范例13-2:让服务器时间每5分钟和互联网时间做一次同步。

安装时间服务软件:yum

install ntpdate -y

更新互联网时间 /usr/sbin/ntpdate

ntp1.aliyun.com

6、生产环境下的定时Cron书写要领

要领4:/dev/null 黑洞设备

MH370>/dev/null

&>/dev/null等价>/dev/null 2>&1

要领1:为定时任务规则加必要的注释

要领2:所有的定时任务尽量都以脚本的形式执行

要领3:在执行的Shell脚本前加上/bin/sh

要领4:定时任务中命令或脚本的结尾加>/dev/null 2>&1

要领5:在指定用户下执行相关定时任务

要领6:生产任务计划程序中不要随意打印输出信息,有输出的想法去掉。

要领7:定时任务执行的脚本要存放到规范路径下

要领8:配置定时任务要规范操作过程,减少出错

要领9:定时任务脚本中程序命令及路径尽量用全路径

要领10:时间变量%号要用反斜线转义(只有定时任务里是命令时需要)

要领11:若脚本中调用了系统环境变量,要重新定义

要领12:出错或无法执行,就检查/var/log/cron日志

7、运维规范:

脚本位置:/server/scripts

软件位置:/server/tools

编译位置:/application/软件名字-版本,然后要软链接。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,133评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,682评论 3 390
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,784评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,508评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,603评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,607评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,604评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,359评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,805评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,121评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,280评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,959评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,588评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,206评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,442评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,193评论 2 367
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,144评论 2 352

推荐阅读更多精彩内容