7月21日 上课 重定向和管道、用户和组权限管理

1、文件描述符

打开的文件都有一个fd: file descriptor (文件描述符),在/proc/$$/fd中,是系统自动分配的。如果在一个终端用vim打开一个f1文件,在另外一个终端进行如下操作,可以看到文件描述符

  • 查看文件描述符
[root@centos6 ~]#cd /proc
[root@centos6 proc]#cd $$ --- 当前进程编号
[root@centos6 2687]#ls
attr        comm             fd        mem         numa_maps      root       stat
autogroup   coredump_filter  fdinfo    mountinfo   oom_adj        sched      statm
auxv        cpuset           io        mounts      oom_score      schedstat  status
cgroup      cwd              limits    mountstats  oom_score_adj  sessionid  syscall
clear_refs  environ          loginuid  net         pagemap        smaps      task
cmdline     exe              maps      ns          personality    stack      wchan
[root@centos6 2687]#cd fd
[root@centos6 fd]#ll
total 0
lrwx------. 1 root root 64 Jul 21 07:44 0 -> /dev/pts/0
lrwx------. 1 root root 64 Jul 21 18:54 1 -> /dev/pts/0
lrwx------. 1 root root 64 Jul 21 19:20 10 -> /root/f1 ---文件描述符为10
lrwx------. 1 root root 64 Jul 21 18:54 2 -> /dev/pts/0
lrwx------. 1 root root 64 Jul 21 18:54 255 -> /dev/pts/0
[root@centos6 fd]#cat 10  ---查看的结果和在另外一个终端,用cat命令查看是一样的
hello,I am zhangdazhi
welcome to magedu.com 
CentOS release 6.9 (Final)
Kernel \r on an \m
\l
\n
\t
  • 如何自己分配一个文件描述符
[root@centos6 ~]#touch f2 ---创建一个f2文件
[root@centos6 ~]#ls
anaconda-ks.cfg  Downloads  install.log         passwd.txt  Templates   Videos
Desktop          f1         install.log.syslog  Pictures    typescript  win.txt
Documents        f2         Music               Public      unix.txt
[root@centos6 ~]#exec 5<>/root/f2 ---分配一个文件描述符5
[root@centos6 ~]#cd /proc/$$/fd  ---进入fd目录
[root@centos6 fd]#ll
total 0
lrwx------. 1 root root 64 Jul 21 07:44 0 -> /dev/pts/0
lrwx------. 1 root root 64 Jul 21 18:54 1 -> /dev/pts/0
lrwx------. 1 root root 64 Jul 21 19:20 10 -> /root/f1
lrwx------. 1 root root 64 Jul 21 18:54 2 -> /dev/pts/0
lrwx------. 1 root root 64 Jul 21 18:54 255 -> /dev/pts/0
lrwx------. 1 root root 64 Jul 21 19:48 5 -> /root/f2 ---可以看到文件描述符
[root@centos6 fd]#exec 5>&- 关闭
[root@centos6 fd]#ll
total 0
lrwx------. 1 root root 64 Jul 21 07:44 0 -> /dev/pts/0
lrwx------. 1 root root 64 Jul 21 18:54 1 -> /dev/pts/0
lrwx------. 1 root root 64 Jul 21 19:20 10 -> /root/f1
lrwx------. 1 root root 64 Jul 21 18:54 2 -> /dev/pts/0
lrwx------. 1 root root 64 Jul 21 18:54 255 -> /dev/pts/0

2、重定向和管道

  • set命令
[root@centos6 ~]#cat f1
anaconda-ks.cfg
Desktop
Documents
Downloads
f1
f2
install.log
install.log.syslog
Music
passwd.txt
Pictures
Public
Templates
typescript
unix.txt
Videos
win.txt
[root@centos6 ~]#set -C ---禁止覆盖原有文件
[root@centos6 ~]#cat /etc/issue >f1
-bash: f1: cannot overwrite existing file
[root@centos6 ~]#cat /etc/issue >| f1 ---强行覆盖原有文件
[root@centos6 ~]#cat f1
CentOS release 6.9 (Final)
Kernel \r on an \m
\l
\n
\t
[root@centos6 ~]#set +C ---允许覆盖,默认是这种模式
[root@centos6 ~]#hostname >f1
[root@centos6 ~]#cat f1
centos6.magedu.com
  • 把对的和错的都重定向到一个文件里的三种方法
[root@centos6 ~]#ls /app /err >f2 2>&1 ---比较老的写法
[root@centos6 ~]#cat f2
ls: cannot access /err: No such file or directory
/app:
fa
fb
[root@centos6 ~]#ls /app /err &> f2  ---比较新和常用的写法
[root@centos6 ~]#cat f2
ls: cannot access /err: No such file or directory
/app:
fa
fb
[root@centos6 ~]#ls /app /err >&f2
[root@centos6 ~]#cat f2
ls: cannot access /err: No such file or directory
/app:
fa
fb
  • 多个命令重定向到一个文件里,用()
[root@centos6 ~]#(ls;hostname)>f1
[root@centos6 ~]#cat f1
anaconda-ks.cfg
Desktop
Documents
Downloads
f1
f2
install.log
install.log.syslog
Music
passwd.txt
Pictures
Public
Templates
typescript
unix.txt
Videos
win.txt
centos6.magedu.com
  • >软连接文件
[root@centos6 ~]#ln -s  ../root/f2 /app/link1---创建f2文件的软连接放到/app/link1
[root@centos6 ~]#ll /app/link1
lrwxrwxrwx. 1 root root 10 Jul 21 20:23 /app/link1 -> ../root/f2---创建成功
[root@centos6 ~]#> /app/link1 ---重定向
[root@centos6 ~]#ll f2 ---源文件被破坏
-rw-r--r--. 1 root root 0 Jul 21 20:23 f2
[root@centos6 ~]#ll /app/link1
lrwxrwxrwx. 1 root root 10 Jul 21 20:23 /app/link1 -> ../root/f2

结论:>软连接文件,会将软连接的源文件破坏。禁用

  • tr 命令
    选项 -c 取反 -d删除 -s 压缩连续、重复的字符 -t 对齐
    这里解释一下-t 、-d选项
[root@centos6 ~]#tr 'abc' '1234'
abcdef
123def
[root@centos6 ~]#tr 'abcd' '123' ---d没有替换的,就替换成之后一个3
abcdef
1233ef
[root@centos6 ~]#tr -t 'abcd' '123' ---加上t选项,d就不替换了
abcdef
123def
[root@centos6 ~]#tr -d 'abc\n'</etc/issue ---这里的\n只表示回车换行,不表示/n本身
CentOS relese 6.9 (Finl)Kernel \r on n \m\l\n\

如何将windows格式转换为linux格式

[root@centos6 ~]#hexdump -C win.txt    ---以十六进制显示,比linux中多了一个0d,0d相当于十进制的13
00000000  61 0d 0a 62 0d 0a 63                              |a..b..c|
00000007
[root@centos6 ~]#bc  ---计算处十进制的13为八进制的15
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
obase=8
13
15
quit
[root@centos6 ~]#tr -d '\015' <win.txt >linux.t ---将八进制的\015删除
[root@centos6 ~]#hexdump -C linux.t 
00000000  61 0a 62 0a 63                                    |a.b.c|
00000005
  • 多行重定向
[root@centos6 ~]#cat >f1<<end
> a
> b
> c
> end
[root@centos6 ~]#cat f1
a
b
c

发邮件

[root@centos6 ~]#mail -s "hello" root<<end ---hello是标题,root代表发给root这个用户,-s subject
> how are you
> and you
> end

总结:看邮件用mail,点1封邮件,quit是退出邮件。也可以将邮件内容写在一个文件里,然后用mail -s 标准输入的重定向这个文件,就可以获取文件的内容并发送出去。

  • 管道
[root@centos7 ~]#ls /err 2>&1 |tr 'a-z' 'A-Z'
LS: CANNOT ACCESS /ERR: NO SUCH FILE OR DIRECTORY
[root@centos7 ~]#ls /err |& tr 'a-z' 'A-Z'
LS: CANNOT ACCESS /ERR: NO SUCH FILE OR DIRECTORY

总结:管道只能把正确的标准输出传给后面的命令作为标准输入,不能把错误的标准输出传给后面的命令,因此要把错误的转化为争取的,上面两种方法都可以。

  • tee
[root@centos6 ~]#hostname |tee f2
centos6.magedu.com
[root@centos6 ~]#cat f2
centos6.magedu.com

总结:把命令的执行结果在屏幕上显示,同时重定向到文件中。如果f2文件存在,则覆盖,要想不覆盖使用-a选项进行追加。

  • less和more
    ll /etc|less ---可以分页查看,用pgup和pgdn进行上下翻页,q退出
    ll /etc/more --- 也可以分页查看,但不能翻页,到底会退出
  • 管道中的 -
[root@centos6 ~]#tar -cvf - /home|tar -xvf -    

表示把home目录打包成一个文件后,通过管道传给后面,再把这个文件解包,用-代替这个文件。

3、用户和组权限管理

  • 用户和组的配置文件

/etc/passwd:用户及其属性信息(名称、UID、主组ID等)
/etc/group:组及其属性信息
/etc/shadow:用户密码及其相关属性
/etc/gshadow:组密码及其相关属性

[root@centos6 ~]#getent group admins
admins:x:502:natasha,harry
[root@centos6 ~]#getent gshadow admins
admins:!::natasha,harry

总结:这个/etc/group和/etc/gshadow这两个文件中的组成员要保持一致,admins是他们的附加组。

  • newgrp 临时切换主组
[root@centos6 ~]#su - zhang  -zhang
[zhang@centos6 ~]$id  ---用户zhang不属于admins组
uid=500(zhang) gid=500(zhang) groups=500(zhang) 
[zhang@centos6 ~]$newgrp admins
Password:     ---需要密码
[zhang@centos6 ~]$id
uid=500(zhang) gid=502(admins) groups=502(admins),500(zhang) 
[root@centos6 ~]#su - harry
[harry@centos6 ~]$ id--- 用户Harry属于admins组
uid=503(harry) gid=504(harry) groups=504(harry),502(admins) 
[harry@centos6 ~]$ newgrp admins
[harry@centos6 ~]$ id
uid=503(harry) gid=502(admins) groups=502(admins),504(harry) 

总结:一个用户要想把一个组临时切换成主组,要看这个用户是否属于这个组,如果属于这个组,则不需要密码,否则需要密码。

  • 新建用户的相关文件

etc/default/useradd -新建用户的默认文件夹
/etc/skel/* -家目录的模板文件夹
/etc/login.defs -邮箱路径、密码策略、加密算法、umask等

[root@centos6 ~]#cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
[root@centos6 skel]#ls -a
.  ..  .bash_logout  .bash_profile  .bashrc  .gnome2  .mozilla
# *REQUIRED*
#   Directory where mailboxes reside, _or_ name of file, relative to the
#   home directory.  If you _do_ define both, MAIL_DIR takes precedence.
#   QMAIL_DIR is for Qmail
#
#QMAIL_DIR  Maildir
MAIL_DIR    /var/spool/mail  ---邮箱
#MAIL_FILE  .mail

# Password aging controls: ----密码策略
#
#   PASS_MAX_DAYS   Maximum number of days a password may be used.
#   PASS_MIN_DAYS   Minimum number of days allowed between password changes.
#   PASS_MIN_LEN    Minimum acceptable password length.
#   PASS_WARN_AGE   Number of days warning given before a password expires.
#
PASS_MAX_DAYS   99999  
PASS_MIN_DAYS   0
PASS_MIN_LEN    5
PASS_WARN_AGE   7
# Use SHA512 to encrypt password.
ENCRYPT_METHOD SHA512   ---加密算法
  • useradd 创建用户
[root@centos6 mail]#useradd -N tom
[root@centos6 mail]#getent passwd tom
tom:x:504:100::/home/tom:/bin/bash
[root@centos6 mail]#id tom
uid=504(tom) gid=100(users) groups=100(users)

总结:加上N选项,作用是不使用tom作为主组(私用组),而使用users做为主组。

[root@centos6 ~]#useradd -r -s /sbin/nologin nginx
[root@centos6 ~]#id nginx
uid=495(nginx) gid=491(nginx) groups=491(nginx)
[root@centos6 ~]#cd /home
[root@centos6 home]#ls
gentoo  harry  natasha  tom  zhang
[root@centos6 home]#cd /var/spool/mail
[root@centos6 mail]#ls
Distribution  gentoo  harry  natasha  root  rpc  tom  zhang

总结:创建系统用户用-r选项,不创建邮箱和家目录。

  • useradd -D 显示或更改默认设置
[root@centos7 ~]#useradd -D  ---显示默认设置
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
[root@centos7 ~]#useradd -D -s /bin/csh---更改shell类型
[root@centos7 ~]#useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/csh
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
[root@centos7 ~]#useradd -D -b /app ---更改家目录路径
[root@centos7 ~]#useradd -D
GROUP=100
HOME=/app
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
[root@centos7 ~]#useradd -D -g zhang ---更改默认主组。
[root@centos7 ~]#useradd -D
GROUP=1000
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
  • usermod 搬家
[root@centos6 ~]#usermod -d /app/natashaxinjia -m natasha
[root@centos6 ~]#ls /app  ---执行成功
f1  f11  f2  fa  fb  natashaxinjia  passwd.txt  unix.txt  win.txt
[root@centos6 ~]#
[root@centos6 app]#usermod -d /app/home tom---只更改家目录的路径而不搬家
[root@centos6 app]#getent passwd tom
tom:x:504:100::/app/home:/bin/bash
[root@centos6 app]#usermod -d /app/home -m tom ---执行不成功
usermod: no changes

总结:搬家用-d和-m选项,如果先-d,更改家目录的路径,发现不会搬家,只是把路径改变了,但如果接着执行再加上-m选项,会发现执行不成功,所以要执行搬家命令,就不能先执行只更改家目录路径的命令。

  • su 切换身份执行命令在切换回原身份
[zhang@centos6 ~]$su - root -c 'cat /etc/shadow'
Password: 

需要输入密码。

  • 锁定用的两种方法
[root@centos6 ~]#usermod -L harry
[root@centos6 ~]#getent shadow harry
harry:!$6$KieKpTJ/$S/6MseMjC.vC66Uo4Tmz7gyaq..cUcXklgo/Mo9Mg4/0EjPg5ghSbMJg6un5s5Dmj12yTHqKYK2skTf1PgBA/0:17368:0:99999:7:::
[root@centos6 ~]#passwd -l sarah
Locking password for user sarah.
passwd: Success
[root@centos6 ~]#getent shadow sarah
sarah:!!$6$d4W3guwdC6/$zdizqvqB3tYAlr.XCbR0H/qu/E9L8nTWWRfld2iFNtO8Zw0g9R5u57nYmq4IXU5NWKpOTyU6ukObNad2QiU2y1:17368::::::

总结:两种方法都尅锁定账号,但passwd锁定后会出现两个!,比较安全。

  • 设置密码策略
    chage[OPTION]... LOGIN
    -d LAST_DAY
    -E --expiredateEXPIRE_DATE
    -I --inactive INACTIVE
    -m --mindaysMIN_DAYS
    -M --maxdaysMAX_DAYS
    -W --warndaysWARN_DAYS
    –l 显示密码策略
    举例:两种方法强制用户下次登录重新设置密码
root@centos6 ~]#passwd -e harry
Expiring password for user harry.
passwd: Success
[root@centos6 ~]#getent shadow harry
harry:$6$IVts56qg$0Jzt3Nl6wM6d5TNpmqf2uhKCqit.bBy5zEsrtHeVbOvnEJ1HqjbDi3ELS8cwpJAYBqrgIW803D/6EVS4wdqXW0:0:0:99999:7:::
[root@centos6 ~]#chage -d 0 sarah
[root@centos6 ~]#getent shadow sarah
sarah:$6$d4W3guwdC6/$zdizqvqB3tYAlr.XCbR0H/qu/E9L8nTWWRfld2iFNtO8Zw0g9R5u57nYmq4IXU5NWKpOTyU6ukObNad2QiU2y1:0::::::

更改密码策略

[root@centos6 ~]#chage -m 0 -M 42 -W 7 -I 5 -E 2018-12-31 tom
[root@centos6 ~]#getent shadow tom
tom:!!:17368:0:42:7:5:17896:
  • 给用户添加附加组的三种方法
[root@centos6 ~]#id tom
uid=504(tom) gid=505(tom) groups=505(tom)
[root@centos6 ~]#usermod -G admins,harry tom ---第一种方法 如果tom之前有附加组,会覆盖原有的附加组,如果想不覆盖使用-a选项
[root@centos6 ~]#id tom
uid=504(tom) gid=505(tom) groups=505(tom),502(admins),504(harry)
[root@centos6 ~]#gpasswd -a tom zhang ---- 第二种方法
Adding user tom to group zhang
[root@centos6 ~]#id tom
uid=504(tom) gid=505(tom) groups=505(tom),500(zhang),502(admins),504(harry)
[root@centos6 ~]#groupmems -a tom -g gentoo ---第三种方法
[root@centos6 ~]#id tom
uid=504(tom) gid=505(tom) groups=505(tom),500(zhang),501(gentoo),502(admins),504(harry)
[root@centos6 ~]#groups tom
tom : tom zhang gentoo admins harry
  • 设置组的管理员
[root@centos6 ~]#gpasswd -A zhang,harry admins
[root@centos6 ~]#getent gshadow admins
admins:$6$fWFbAvMjJ2/oXGHL$6oQAPJnosWoc0rVG4EpFBoQXeys7Ejf3jBP6ziVsqZJuPWm9cRMlsTEt0O3nx4wMf5/ATsvsGe2Qo/2PrNen41:zhang,harry:natasha,harry,tom

总结:用户是不是属于该组都可以作为该组的管理员。

  • 显示组
[root@centos6 ~]#groups tom ---显示tom属于哪些附加组
tom : tom zhang gentoo admins harry
[root@centos6 ~]#groupmems -l -g tom
[root@centos6 ~]#groupmems -l -g admins ---列出组的成员
natasha  harry  tom 

4、文件权限

  • 更改文件的所有者和所属组
[root@centos6 ~]#su - zhang
[zhang@centos6 ~]$touch f4
[zhang@centos6 ~]$ll
total 0
-rw-rw-r--. 1 zhang zhang 0 Jul 22 11:44 f4
[zhang@centos6 ~]$chown tom f4  ---普通用户没有权限更改文件的所有者
chown: changing ownership of `f4': Operation not permitted
[zhang@centos6 ~]$id zhang
uid=500(zhang) gid=500(zhang) groups=500(zhang),0(root),502(admins) ---zhang属于admins组
[zhang@centos6 ~]$chgrp admins f4
[zhang@centos6 ~]$ll
total 0
-rw-rw-r--. 1 zhang admins 0 Jul 22 11:44 f4  ---更改成功
[zhang@centos6 ~]$chgrp tom f4
chgrp: changing group of `f4': Operation not permitted  

总结:文件的所有者只有root身份才能更改;文件的所属组(主组),除了root身份外,文件的所有者也有权限更改所属组,前提是这个用户属于要更改为的组。

  • 同时更改文件的所有者和所属组
[root@centos6 app]#ll
total 36
-rw-r--r--. 1 zhang   zhang      6 Jul 21 20:56 f1
drwxr-xr-x. 2 root    root    4096 Jul 22 09:17 f11
-rw-r--r--. 1 root    root      38 Jul 21 21:17 f2  ---更改f2文件
-rw-r--r--. 1 root    root      97 Jul 21 09:38 fa
-rw-r--r--. 1 root    root       6 Jul 21 10:15 fb
drwx------. 4 natasha natasha 4096 Jul 21 16:01 natashaxinjia
-rw-r--r--. 1 root    root      41 Jul 21 16:06 passwd.txt
-rw-r--r--. 1 root    root       6 Jul 20 15:29 unix.txt
-rw-r--r--. 1 root    root       7 Jul 20 15:30 win.txt
[root@centos6 app]#chown harry:admins f2 ---用chown命令
[root@centos6 app]#ll
total 36
-rw-r--r--. 1 zhang   zhang      6 Jul 21 20:56 f1
drwxr-xr-x. 2 root    root    4096 Jul 22 09:17 f11
-rw-r--r--. 1 harry   admins    38 Jul 21 21:17 f2 ---已更改
-rw-r--r--. 1 root    root      97 Jul 21 09:38 fa
-rw-r--r--. 1 root    root       6 Jul 21 10:15 fb
drwx------. 4 natasha natasha 4096 Jul 21 16:01 natashaxinjia
-rw-r--r--. 1 root    root      41 Jul 21 16:06 passwd.txt
-rw-r--r--. 1 root    root       6 Jul 20 15:29 unix.txt
-rw-r--r--. 1 root    root       7 Jul 20 15:30 win.txt
[root@centos6 app]#chown :admins f1 ---只更改所属组
[root@centos6 app]#ll
total 36
-rw-r--r--. 1 zhang   admins     6 Jul 21 20:56 f1
drwxr-xr-x. 2 root    root    4096 Jul 22 09:17 f11
-rw-r--r--. 1 harry   admins    38 Jul 21 21:17 f2
-rw-r--r--. 1 root    root      97 Jul 21 09:38 fa
-rw-r--r--. 1 root    root       6 Jul 21 10:15 fb
drwx------. 4 natasha natasha 4096 Jul 21 16:01 natashaxinjia
-rw-r--r--. 1 root    root      41 Jul 21 16:06 passwd.txt
-rw-r--r--. 1 root    root       6 Jul 20 15:29 unix.txt
-rw-r--r--. 1 root    root       7 Jul 20 15:30 win.txt
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,126评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,254评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,445评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,185评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,178评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,970评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,276评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,927评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,400评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,883评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,997评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,646评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,213评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,204评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,423评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,423评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,722评论 2 345

推荐阅读更多精彩内容