Linux命令大全

1、linux命令格式

我们刚登录之后,总会看到这个这个东西:

[root@localhost ~]#

中括号[]没有特别的意思,root这块是指的用户名,@也没有特殊含义,localhost是主机名,这里用的是默认的主机名localhost。指的是当前所在目录,就是家目录的意思,家目录是用户一登陆所在的目录。超级管理员的家目录是/root,普通用户的家目录是/home/username/,用户是什么名,username就是什么目录。#是提示符,超级管理员的提示符是#,普通用户的提示符为$。

现在我们来看一下linux的命令格式:命令 [选项] [参数],两个中括号的意思是不必填,有的命令可能没有选项或者参数。
注意:这个格式是绝大多数命令的格式,有的命令不是这个格式,但很少见。
当有多个选项时,可以写在一起。
简化选项等同于完整选项,例如-a等同于--all

1)查看目录内容命令ls

ls [选项] [文件或目录]
ls 显示当前目录下的文件或目录;
选项:
-a 显示所有文件,包括隐藏文件;
-l 显示详细信息;
-d 查看目录属性;
-h 人性化显示文件大小;
-i 显示inode;

Linux中通过权限位第一位来区分文件类型,共七种。以应用ls -l举例:
第一位 -表示普通文件, d代表目录, l代表软连接 ls -l /etc/
- --- --- ---共十位,后九位每三个表示,u所有者,g所属组,o其他人
r读 w写 x执行
例如:
crw-rw---- 1(引用计数) root(所有者) root(组权限)
drwxr-xr-x 3 user user 4.0K(大小) 2010-05-07 14:38(最后一次修改时间) user(文件名)
ls -a ,wenjian 一般用来隐藏系统文件,linux中以.开头的文件都是隐藏文件。
如果想查看目录本身 ls -ld /etc/
ls -i 查看文件ID号

(2)目录处理命令

linux中一切皆文件。目录为目录文件。普通文件用来保存数据,目录文件用来保存文件。

1)建立目录(make directories)mkdir

mkdir [-p] [目录名]其中-p :递归创建,当创建多级目录时需加。
例:
mkdir light
mkdir -p imooc/linux/light

2)切换目录(change directories)cd

cd [目录名]
cd ~/进入当前用户的家目录
cd也是进入当前用户的家目录
cd -进入上次目录
cd ..进入上一级目录
cd .进入当前目录
pwd(print working directory) 查看当前所在目录
Ctrl+l清屏

3)删除空目录(remove empty directories)rmdir

rmdir [目录名] 删除目录(只能删除空目录)

4)删除目录或文件(remove)rm

rm [-rf] [文件或目录]
选项 -r :删除目录;选项 -f :强制
rm [文件名]提示是否删除
rm -r [目录]删除目录需加 -r ,目录中含有子文件,将持续询问是否删除
rm -rf [目录]删除目录, 不会询问是否删除而直接进行
注意:纯字符界面没有回收站。注意自杀指令:rm -rf /
rm -rf /tmp/*删除tmp目录下的内容
rm -rf /tmp/删除tmp目录
建议:删除文件或目录习惯使用命令rm -rf [文件或目录]

5)复制目录或文件命令(copy)cp

cp [选项] [原文件或目录] [目标目录]
选项 -r :复制目录;
选项 -p :连带文件属性复制;
选项 -d :若原文件是链接文件,则复制链接属性;
选项 -a :相当于 -pdr 全选;
例子:
cp abc /tmp/若目标目录不加文件名,则为原名复制
cp abc /tmp/ana若目标目录后加入文件名,则为改名复制
cp -r japan/ /tmp/复制目录
cp -a japan/ /tmp/完全复制,包括所有属性
被复制文件的时间为执行复制命令的时间,若要使被复制的文件与原文件属性完全一致,需加 -a。

6)剪切或改名命令(move)mv

mv [原文件或目录] [目标目录]
mv japan/ /tmp/ 注意:剪切目录时不需加 -r
mv abc longls 当原文件与目标目录,在同一目录下,则为改名命令

(3)常见目录

/:根目录
/boot:启动目录,启动相关文件。
/dev:设备文件保存目录。
/etc:系统配置文件保存目录,此目录常用。
/home:普通用户的家目录。
/lib:系统函数库的保存目录。操作系统中并没有把所有功能都写入linux中,而将常用的功能写成一个个程序库,此些库保存在lib中,当需要时调用即可。避免全部写入linux中,使其无比庞大且运行缓慢。
/mnt,/media,/misc:系统挂载目录。习惯于在mnt下创建CD-ROM来挂载光盘,在mnt下创建USB来挂载U盘。原因在于linux早期版本中不存在media、misc目录。
/root:超级用户的家目录。
/tmp:临时目录。用于存放临时数据。
/proc/sys:直接写入内存的,这两个目录保存的是内存的过载点。不能往其中写入数据,因为数据一旦写入内存当中,一旦重启就会丢失,并且内存有大小限制。
/var:系统相关文档内容。
/bin:命令保存目录(普通用户就可以读取的命令)。
/sbin:命令保存目录(超级用户才能使用的目录)。
/usr:系统软件资源目录。
/usr/bin/:保存系统命令(普通用户)。
/usr/sbin/:保存系统命令(超级用户)。
注:根目录下的bin和sbin,usr目录下的bin和sbin,这四个目录都是用来保存系统命令。其中,bin目录下的命令任何用户都可以执行,sbin目录下只有root才可以执行。linux使用此方式来区分用户权限。
做练习推荐在在超级用户家目录root或普通用户的家目录home下。其他目录不要随意写入。

(4)链接命令(link)ln

ln [-s] [原文件] [目标文件]生成链接文件
选项 -s 创建软链接

1)硬链接

硬链接和源文件拥有相同的i节点和存储block块,可以看做是同一个文件。(在格式化时,第一将分区划分为等大小的block数据块,该数据块通常为4KB。第二建立分区表,并为每个文件建立一个相关数据。当用户搜索某个文件时,会先到分区表中查找文件所对应的block存储位置,接着到相应位置取出,并返回给用户。)硬链接与原文件拥有相同的i节点。因此,与原文件非常相似。当删除原文件或硬链接文件的任何一文件,不影响文件索引操作。可看做,同一个文件的不通进入点。它是同样的存储空间。
硬链接可通过i节点识别,但不能跨分区建立,也不能针对目录使用,只有文件才可以创建。
ln ./source/abc ./target/bcd.hard 创建后,引用计数+1
ls -i ./source/abc ./target/bcd.hard 可使用ls -i 来查看文件i节点号
注意:不建议创建硬链接文件,因为文件太过隐蔽,除了有i节点这样一个标识之外,很难区分它是不是硬链接;其次硬链接限制较多,不能跨分区,不能针对目录,使用当中容易出现错误使用方法。

2)软连接

软链接类似于Windows快捷方式,软链接拥有自己的i节点和block块,但是数据块中只保存原文件的文件名和i节点号,并没有实际的文件数据。(拥有自己的分区表中索引数据,通过索引找到分区表中文件的目标索引数据,再通过目标索引数据,查找数据)。
软链接文件权限都为rwxrwxrwx, 虽然权限显示为777,但实际权限需要看原文件权限。修改任意文件,另一个都改变。但删除原文件,软链接不能使用。创建软链接,原文件一定要写绝对路径。否则,软链接会到它所在的同一目录去找原文件。

2、文件搜索命令

(1)locate

locate 文件名
在后台数据库中按文件名搜索,搜索速度更快。
对于新建的文件,由于数据库没有更新,使用locate 不能查到。可以使用 updatedb强制更新数据库后即可查到。
可使用 locate locate 搜索locate相关文件,可看到locate数据库。
在不同linux中,该数据库名字稍微不同,例如,locatedb、slocate、mlocate。

/var/lib/mlocate 文件中保存的搜索数据库,这个数据库不是实时的,更新频率大概一天更新一次。
使用updatedb命令可以即时更新locate数据库。

locate优点是快,缺点是只能按照文件名进行搜索。这个命令还比较常用。

locate搜索遵循配置文件 /etc/updatedb.conf, 在PRUNEPATHS 中配置了/tmp/目录不进行搜索。所以/tmp/里的文件不会搜索。
/etc/updatedb.conf 配置文件中
PRUNE_BIND_MOUNTS = "yes",开启搜索限制,yes为后面三项都生效。no为 后面三项都不生效;
PRUNEFS = ,搜索时,不搜索的文件系统;
PRUNENAMES =,搜索时,不搜索的文件类型。
PRUNEPATHS =搜索时,不搜索的路径。

(2)命令搜索命令whereiswitch

whereis 命令名
-b:只查找可命令所在位置
-m:只查找帮助文档所在位置

例:搜索ls命令在哪:whereis ls
by the way,查看当前用户命令:whoami,查看一个命令是干什么的:whatis 命令名


witch 命令名
不仅能看到命令的路径,如果有别名,还能看到别名。

注:whereis和which不能看到shell的自带命令(如:cd),只能看到外部安装的外来命令。


$PATH环境变量,类似Windows的PATH环境变量,执行命令的时候都要在path定义的目录中去寻找。所以像ls这样的命令就可以不用加绝对路径(/bin/ls)执行了。
如果自己写的脚本在运行时不想要具体的绝对目录,需要在$PATH设置路径。

(3)find

find [搜索范围] [搜索条件] 文件名
其中搜索条件包括:
-iname,不区分大小写;
-user,按照所有者搜索;
-nouser,查找没有所有者的文件。
通常来说,除了两个内存目录和外接设备目录(U盘,光盘)内的文件没有所有者之外,其他的没有所有者的文件,都是linux里的垃圾文件。

例子:find /home -name 文件名
注意:避免大范围的搜索,会非常浪费系统资源,建议不在直接在“/”目录下搜索,在服务器繁忙的时段也避免大量使用find命令。

find搜索默认是完全匹配。如果需要进行模糊查询,需要添加通配符,通配符有以下3种:
*匹配任意字符,例:find /home -name "*test*"(注意一定要加"",否则系统识别不出来),显示所有名字带test的文件;或例:find /home -name "*",home目录下的所有文件,包括隐藏文件。
?匹配任意一个字符,
[]匹配任意一个中括号内的字符,例:find /home -name "test[12]",显示test1和test2文件;或find /home -name "[12]*",显示以1和2开头的文件。
组合使用:例:find /home -name "*[12]",显示所有1和2结尾的文件。

时间搜索条件包括:
-mtime 时间: 在指定时间内内容被修改的文件。
-atime 时间: 在指定时间内被访问的文件。
-ctime 时间: 在指定时间内属性被修改的文件。
例如:
find /home -mtime +10 在home目录下,查找10天前修改的文件
find /home -mtime 10 在home目录下,查找10天前当天修改的文件
find /home -mtime -10 在home目录下,查找10天内修改的文件

按文件大小条件搜索条件:
-size 文件大小。
-a:表示and
-o:表示or
文件大小必须加单位,例如k、M。
例如:
find /etc -size +20k -a -size -50k -exec ls -lh {} \;,表示查找etc目录下的在20k到50k之间的文件。
其中-exec 其他命令 {} \; 固定格式,表示直接对前面的搜索结果进行后面的文件命令处理。上面的例子就是查找etc目录下的在20k到50k之间的文件,然后对他们进行ls -lh处理。

(4)grep命令

grep [选项] 字符串 文件名,寻找匹配符合条件字符串的内容的文件
选项:
-i:忽略大小写
-v:排除制定字符串

例子:grep "size" anaconda-ks.cfg,即搜索anaconda-ks.cfg文件中包含“size”的内容。

find命令与grep命令的区别
find:在系统中搜索符合条件的文件名,使用通配符(完全)匹配。
grep:在文件当中搜索符合字符串内容的文件,使用 正则表达式 (包含)匹配。

3、帮助命令

(1)man命令

man [条件] [命令名],获取指定命令的帮助。
例:man ls,即查看ls命令的帮助。
常见选项:
-f,查看命令有哪个级别的帮助,相当于whatis [命令名]。如不打级别,则man命令默认打开最小等级的信息。

例:man -f passwd,即有两个级别:1和5。如只输入“man passwd”,即只显示1级别的帮助。如查看5级别passwd帮助,即man -5 passwd
man -f ifconfig,可得知ifconfig命令级别为8。

-k,查看和命令相关的所有帮助,相当于apropos [命令名]
例:man -k passwd,查看与passwd相关的帮助。

(2)其他帮助命令

1)--help

命令 --help获取选项帮助
例如:ls --help

2)help

“help”是获取shell内部命令帮助的工具
help 命令
“whereis”可以用来判断一个命令是否是shell内部命令,“ls”在/bin/下面有可执行文件,说明“ls”命令不是shell内部命令,“cd”命令在/bin/下面没有相应的可执行文件,所以是shell自带的命令。
例如:help cd

3)info

“info”里面内容十分繁琐,是关于命令的一个巨大的帮助文档,里面有各个版本对于此命令
的说明。
操作说明:
按回车:进入带*号的说明
按u: 进入上层页面
按n: 进入下一个帮助小节
按p: 进入上一个帮助小节
按q: 退出

4、压缩命令

常用压缩格式有:.zip, .gz, .bz2, .tar, .gz, .tar, .bz2。

(1)zip压缩格式

Windows系统和linux系统的zip格式文件是可以互相通用的。
压缩文件命令:zip 压缩文件名 源文件
压缩目录命令:zip -r 压缩文件名 源目录

建议压缩文件名一定要代后缀,这样人才能区分清楚是不是压缩文件。

解压缩文件命令:unzip 压缩文件

(2)gzip压缩格式

压缩文件命令:
gzip 源文件,该命令,源文件会直接变成压缩文件,源文件无保留;
gzip -c 源文件 > 压缩文件,该命令,源文件会写入到一个新的文件中去,新文件即压缩文件,源文件保留。

压缩目录命令:
gzip -r 源目录,该命令压缩目录,但目录本身不会压缩,只能压缩目录内的文件。

解压缩文件命令:gunzip 压缩文件(或目录)或者gzip -d 压缩文件(或目录)

(3)bzip压缩格式

压缩文件命令:
bzip2 源文件,该命令,源文件会直接变成压缩文件,源文件无保留;
bzip2 -k 源文件,该命令会保留源文件。
该格式没有目录的压缩命令QAQ。

解压缩文件命令:bunzip2 压缩文件或者bzip2 -d 压缩文件

(4)tar打包命令

打包:
tar -cvf 打包文件名 源文件,将文件打包。
选项:
-c 打包;
-v 显示打包过程;
-f 指定打包后的文件名。
例如:tar -cvf longlz.tar longlz

解包:
tar -xvf 已打包文件,将文件解包。
选项:
-x 解包;
-v 显示打包过程;
-f 指定打包后的文件名。
例如:tar -xvf longlz.tar

(5)压缩tar.gz和tar.bz2命令

1)tar.gz

打包:
tar -zcvf 压缩包名.tar.gz 源目录,将文件打包并压缩为.tar.gz格式。
选项:
-z 打包为tar.gz;
-c 打包;
-v 显示打包过程;
-f 指定打包后的文件名。
例如:tar -cvf jp.tar.gz jp,jp是目录。

解包:
tar -zxvf 压缩包名.tar.gz,将.tar.gz格式的压缩包解压。
选项:
-z 压缩包为tar.gz;
-x 解包;
-v 显示打包过程;
-f 指定打包后的文件名。
例如:tar -cvf jp.tar.gz jp
tar -zxvf jp.tar.gz -C /tmp/,解压缩到指定目录/tmp/,注意选项-C和指定目录必须放在后面。
tar -ztvf jp.tar.gz,不解压,只查看压缩包的内容。

2)tar.bz2

打包:
tar -jcvf 压缩包名.tar.bz2 源目录,将文件打包并压缩为.tar.bz2格式。
选项:
-j 打包为tar.bz2;
-c 打包;
-v 显示打包过程;
-f 指定打包后的文件名。
例如:tar -jcvf jp.tar.bz2 jp,jp是目录。

解包:
tar -jxvf 压缩包名.tar.gz,将.tar.bz2格式的压缩包解压。
选项:
-j 压缩包为tar.bz2;
-x 解包;
-v 显示打包过程;
-f 指定打包后的文件名。
例如:tar -jxvf jp.tar.bz2 jp
tar -jxvf jp.tar.bz2 -C /tmp/,解压缩到指定目录/tmp/,注意选项-C和指定目录必须放在后面。
tar -jtvf jp.tar.bz2,不解压,只查看压缩包的内容。

5、关机重启命令

(1)shutdown

格式:shutdown [选项] 时间
选项:
-h 关机
-r 重启
-c 取消全一个关机命令
shutdown -r now立马重启
其他关机命令有haltpoweroffinti 0 也都可以关机,但没有shutdown安全。
rebootinit 6 也可以重启,reboot比较安全,但后者不太安全。
举例:
shutdown -h 05:30 设定凌晨05:30关机
shutdown -h now 立即关机
shutdown -r 05:30 设定凌晨05:30重启
shutdown -r now 立即重启
shutdown -c 取消前一个关机或重启命令
说明:
①以上定时关机或重启命令执行后,计算机就会卡在那里,当前用户和其他登录的用户都将无法操作,直到关机或重启。这个时候,如果当前用户按ctrl+c可以取消本次关机或重启的操作,而其他用户如果按ctrl+c的话,则不会取消关机或重启操作,但可以退出中断,继续进行其他操作。
②如果想要关机命令后台运行的话,可以在命令后面输入&,例如:shutdown -h 05:30 &,这样当前用户和其他登录用户的前台就不会中断了(若中断的话,按一下回车即可);
③任何时候,不管哪个用户输入shutdown -c命令都可以取消关机或重启操作。
④后面的时间可以使用【+m】格式,表示多少分钟后执行。也可以使用【hh:mm】格式,表示指定的时间执行,该时间是24小时制的;
⑤若远程登录的话,最后不要执行关机命令,因为开机需要到机房开机才行。重启也尽量少执行,若必须运行,则应关闭正在运行的服务;

(2)init

功能:切换系统运行级别:
格式:init <级别>
级别:
·0 //关机
·1 //单用户(类似windows安全模式)
·2 //不完全多用户,不含NFS服务(字符界面,不包含文件共享服务)
·3 //完全多用户(字符界面)
·4 //未分配
·5 //图形界面
·6 //重启
在配置文件/etc/inittab中可以修改系统级别配置文件,其中id:3:initdefault为定义系统默认运行级别(id后的数字则为系统级别),不能是0和6。修改用Vim就可以。

runlevel命令查看运行级别输出格式为:上一级别 当前级别
logout退出当前用户,也就是注销。

6、挂载命令(可理解为分配盘符)

(1)mount

格式:
mount:查询系统中已挂载的设备
mount [-t 文件系统] [-o特殊选项] 设备 文件名 挂载点
选项:
-a 依据配置文件/etc/fstab的内容,自动挂载;
-t 文件系统:加入文件系统类型来指定挂载的类型,ext3,ext4,iso9660(光盘)等文件系统
-o 特殊选项:可以指定挂载的额外选项,具体如下图所示:

图片.png

注意:Linux中任何一个空目录(无论在哪)都可以作为挂载点,系统默认准备了三个空目录作为挂载点:media、misc和mnt。

扩展知识:
编写一个shell脚本文件,输入vim hello.sh显示如下:

#!/bin/bash //脚本命令必须的开头
echo “hello!” //输出命令
chmod 755 hello.sh   //赋予执行权限

执行脚本:./hello.sh
举例:
mount -o remount,noexec /home/:重新挂载/home分区,使用noexec(不执行)权限;
mount -o remount,exec /home/:重新赋予权限。

(2)挂载光盘

1)挂在前必须先放入光盘到物理机。若是虚拟机,则要设置ISO镜像文件,即在【已连接】复选框打上勾;
2)挂载步骤:先建立挂载点(创建空目录),然后挂载光盘。
mkdir /mnt/cdrom/:此操作为建立挂载点,只要是空目录就可以,这个空目录等同于media目录;
mount -t iso9660 /dev/sr0 /mnt/cdrom/mount /dev/sr0() /mnt/cdrom/`:挂载光盘,cdrom是sr0的软连接。

(3)卸载光盘umount

格式:
umount 设备文件名或挂载点
举例:
umount /mnt/cdrom/umount /dev/sr0,二者等效。

(4)挂载优盘命令

fdisk -l:查看系统中已经识别的硬盘。
mount -t vfat /dev/sdb1 /mnt/usb/:将sdb1优盘挂在到usb/目录中。其中-t 选项的vfat指的是fat32文件系统。
**注意:Linux默认不支持NTFS文件系统的,可以下载ntfs-3g软件安装,但是ntfs格式只能是只读,通常为移动硬盘。

7、其他

(1)w命令

格式:w
功能:显示当前系统登录用户
显示项目如下:
user:登陆的用户名
tty:登陆终端
from:从哪个IP地址登陆
login@:登陆时间
idle:用户闲置时间
jcpu:和终端连接所有进程占用的时间
pcpu:当前进程所占用的时间
what:正在运行的命令

(2)who命令

格式:who
功能:显示当前系统登录用户
显示项目如下:
用户名
登录名
登陆终端
登录时间(登陆来源IP地址)

(3)last 命令

格式:last
功能:查询当前和过去登录的用户信息,改命令默认读取var/log/wtmp文件,该文件是一个二进制文件。
显示内容:
用户名
登录终端
登陆IP
登录时间
退出时间(在线时间)

(4)lastlog 命令

格式:lastlog
功能:查看所有用户最后一次登录信息,lastlog命令默认是读取/var/log/lastlog文件内容,该文件是一个二进制文件。
显示内容:
用户名
登录终端
登陆ip
最后一次登陆时间

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

推荐阅读更多精彩内容