2019-05-08 shell第一天

一. Shell介紹:命令的集合

  1. 用戶恨闪,shell藕甩,內(nèi)核關(guān)系:


    1.png
  2. 基本簡(jiǎn)介
    (1)#!指明解釋器 與 賦予可執(zhí)行權(quán)限
    在腳本內(nèi)指明解釋器: #!/bin/bash
    給腳本可執(zhí)行權(quán)限: chmod +x xx.sh
    (2)執(zhí)行腳本:./xx.sh 或者 /bin/bash xx.sh 或 (命令笔宿;命令火鼻;命令)
    [oracle@localhost ~]$ (cd go;ls -al)

    2.png

    3.png

(3)查看當(dāng)前系統(tǒng)所使用的shell方式:echo $SHELL


4.png

(4)shell操作的本質(zhì):fork一個(gè)子進(jìn)程并調(diào)用exec執(zhí)行xx.sh這個(gè)程序
(5)行注解: #
多行注解:(注:下面的隶垮!可換成其他的符號(hào))

      :<<!
       !

(6)echo 用于字符串的輸出(自動(dòng)換行)

  • 顯示轉(zhuǎn)移字符:echo ""It is a test"" #輸出的帶雙引號(hào)

  • 顯示變量的值:echo “$變量”

        read name  # read 命令從標(biāo)準(zhǔn)輸入中讀取一行藻雪,并賦值其后的而變量
        echo "$name It is a test"  #輸出的是變量name的值。
    
  • 顯示換行:echo -e "OK! \n" # -e 開啟轉(zhuǎn)義

  • 顯示不換行 echo -e "OK! \c" # -e 開啟轉(zhuǎn)義 \c 不換行
    即下面的輸出會(huì)在本行繼續(xù)輸出狸吞。

  • 單引號(hào)勉耀,原樣輸出字符串,不轉(zhuǎn)移蹋偏,不輸出變量:

    echo '$name\"'
    
  • 顯示結(jié)果重定向到文件:

    echo "It is a test" > myfile
    
  • 使用的是反引號(hào) 輸出命令的執(zhí)行結(jié)果: echo命令`
    (7)printf輸出命令(手動(dòng)換行\(zhòng)n)
    格式: printf 格式 參數(shù) #格式可選

    • printf "Hello, Shell\n" # hello, shell
    • printf "%-10s %-8s %d\n" 路飛 男 66 #
      %-10s 指一個(gè)寬度為10個(gè)字符(-表示左對(duì)齊便斥,沒有則表示右對(duì)齊)
      %d 整形; %-4.2f 指格式化為小數(shù)威始,其中.2指保留2位小數(shù)
      注: 上面的格式枢纠,可雙引號(hào),可單引號(hào)黎棠, 可無引號(hào)晋渺。
  1. 變量—》shell中的變量的值都是字符串, 不需要聲明脓斩。

(1)分類: 環(huán)境變量與 本地變量

環(huán)境變量是任何進(jìn)程都有的概念木西,而本地變量是Shell特有的概念**

  • 定義變量:變量名不加美元符號(hào)等號(hào)兩邊都不能有空格: varname=value
    只讀變量:(值不可修改,先賦值)readonly 命令修飾—》readonly myUrl

  • 使用定義過變量:變量名前面加美元符號(hào)—》$varname 或者 ${變量名}

  • 刪除變量:unset命令刪除環(huán)境/本地變量随静。 unset varname

(2) 字符串: 可單引號(hào)八千,可雙引號(hào)

  • 單引號(hào): 內(nèi)部的任何字符都會(huì)原樣輸出吗讶,即內(nèi)部的變量是無效的。

    注:當(dāng)單引號(hào)內(nèi)部出現(xiàn)成對(duì)的單引號(hào)時(shí)—》起到拼接字符串作用恋捆。

  • 雙引號(hào): 里可以有變量照皆, 可以出現(xiàn)轉(zhuǎn)義字符。

  • 拼接字符串: 使用單引號(hào) 或 雙引號(hào)

 var_name="12"
 var1="hello,”$var_nam”"     #雙引號(hào)拼接
 var_2='hello, '$var_name'’  #單引號(hào)拼接
echo $var1 $var2
  • 獲取字符串長(zhǎng)度:${#string}
  • 字符串截瑞拧:echo ${string:0:4} #從第0個(gè)開始纵寝,一共獲取4個(gè)
 方式1: 路徑分割: dirname命令(目錄), basename命令(名稱)
例子:  Var1=“/etc/xiawucha.txt”
            dirname $var1          #得:/etc
            basename $var1 #得:xiawucha.txt

方式2: 使用expr命令:expr substr $變量名 起始位置 截取長(zhǎng)度

   注:起始位置從1開始

方式3: 使用 ${} 表達(dá)式: ${變量名 :起始位置 : 截取長(zhǎng)度}
注: 編號(hào)從0開始

var1= xiawucha

 expr substr $var1 4 4 #得: wuch

 echo ${var1:4:4} #得: ucha
  • 字符串替換

同樣使用${}

      格式1: ${var1 /old/new}     #將變量中的 第一個(gè)old 變成 new

       格式2: ${var1 //old/new}       #將變量中的 所有old 變成 new

注: old星立,new代表字符爽茴。

(3) 數(shù)組: 只支持一維數(shù)組,但沒有限制數(shù)組大小绰垂,下標(biāo)從0開始

  • 定義數(shù)組: 使用()代表數(shù)組室奏,內(nèi)部值使用空格或換行分割。

     array_name=(v0 v1 v2 v3)
    
  • 獲取數(shù)組的值:${數(shù)組名[下標(biāo)]}

    獲取數(shù)組的所有值劲装,使用@:${數(shù)組名[@]}

  • 取得數(shù)組元素的個(gè)數(shù) length=${#array_name[@]} 或?qū)換成 * 好

  • 取得數(shù)組單個(gè)元素的長(zhǎng)度lengthn=${#array_name[n]}

(4)使用變量

1)三種定界符號(hào): 雙引號(hào)胧沫,單引號(hào), 反撇號(hào)或$()

雙引號(hào): 允許引用占业,允許轉(zhuǎn)義\

單引號(hào): 進(jìn)制 引用 與 轉(zhuǎn)義绒怨; 代表其: 本事的符號(hào)。

反撇號(hào) 或者 $() :以命令輸出進(jìn)行替換谦疾。

        echo “變量名”  : 輸出的變量的值南蹂, 一般都省略 “”。

       echo ‘變量名’  : 輸出還是變量的名念恍。

         A= ‘命令’ :將命令輸出的值賦值給變量媒楼。 或者使用$()

2)創(chuàng)建的環(huán)境變量翠订。 目的:用來記錄家凯、設(shè)置運(yùn)行參數(shù)

系統(tǒng)賦值:USER, LOGNAME, HOME, SHELL...

用戶操作:PATH, LANG, CLASSPATH ....

列出所有的環(huán)境變量: env

同時(shí)輸出多個(gè)環(huán)境變量的值: echo $USER $HOME $SHELL

3)特殊的變量: 由系統(tǒng) 或 腳本控制程帕, 不可直接賦值。

  • $? 記錄前一條命令執(zhí)行后的狀態(tài)值瞳氓,為0:代表前一個(gè)命令執(zhí)行成功策彤,否則失敗

  • $0 腳本自身的程序名

  • $1-$9 第一到第9個(gè)位置的參數(shù)。

  • $* 命令行的所有位置參數(shù)的內(nèi)容

  • $# 命令行的位置參數(shù)個(gè)數(shù)

2. 運(yùn)算符

原生bash不支持簡(jiǎn)單的數(shù)學(xué)運(yùn)算匣摘,但可以通:awk 和 expr锅锨,expr 等實(shí)現(xiàn):

(1) 算數(shù)運(yùn)算符:

 加(+), 減(1)恋沃,乘(*)必搞,除(/), 取余(%)囊咏,賦值(=)

特別: 相等(==)恕洲, 不相等(塔橡!=)-》放在方括號(hào)[]之間,并且前后要有空格

例子:`expr 2 + 2` # 使用 反引號(hào)霜第,不是單引號(hào)葛家。

  a=10

  b=20

  val=`expr $b / $a`

  echo "b / a : $val" # b / a :  2

例子:

  val=`expr $a \* $b`

  echo "a * b : $val"

例子

  if  [ $a == $b ]  # [$a==$b]  是錯(cuò)誤的,必須寫成  [ $a == $b ]
  then
  echo "a 等于 b"
  fi

總結(jié)如下:

  • 乘號(hào)(*)前邊必須加反斜杠()才能實(shí)現(xiàn)乘法運(yùn)算泌类;
  • 表達(dá)式和運(yùn)算符之間要有空格: 2+2 錯(cuò)癞谒, 2 + 2
  • 完整的表達(dá)式要被 ` ` 包含。

(2) 關(guān)系運(yùn)算符: 只支持?jǐn)?shù)字刃榨,不支持字符串弹砚,

結(jié)果: true, false

判斷 :相等(-eq)枢希, 不相等(-ne)

大于(-gt)桌吃, 小于(-lt)

大于等于(-ge), 小于等于(-le)

例子:

 a=10

b=20

if [ $a -eq $b ] 

then

 echo "$a -eq $b : a 等于 b"

else

 echo "$a -eq $b: a 不等于 b"

fi
  • 關(guān)系表達(dá)式在[]中苞轿,且前后要留有空格茅诱。

(3) 布爾運(yùn)算符: 結(jié)果為 true, false搬卒。

與(-a) 或(-o) 瑟俭,非(!)


if [ $a -lt 100 -a $b -gt 15 ]
then
        echo "$a 小于 100 且 $b 大于 15 : 返回 true"
else
      echo "$a 小于 100 且 $b 大于 15 : 返回 false"
fi

(4) 邏輯運(yùn)算符: 結(jié)果為 true契邀, false摆寄。

邏輯與(&&), 邏輯或(||) # 采用雙[[ ]] zz中括號(hào)

if [[ $a -lt 100 && $b -gt 100 ]]
then
echo "返回 true"
else
echo "返回 false"
fi

(5) 字符串運(yùn)算符: 結(jié)果為 true蹂安, false。

判斷字符串:  相等(=)锐帜,      不相等(田盈!=)

            長(zhǎng)度為0(-z)   長(zhǎng)度不為0(-n)

             不為空($)


a="abc"
b="efg"
if [ $a = $b ] # 注: if  [ $a ] 如果字符串為空
then
    echo "$a = $b : a 等于 b"
else
    echo "$a = $b: a 不等于 b"
fi

(6)文件測(cè)試運(yùn)算符: 檢查文件的屬性,返回:true缴阎, false

檢測(cè)文件:

     是塊設(shè)備[ -b file ]允瞧,      是字符設(shè)備[ -c $file ]
     是目錄[ -d $file ] ,      是普通文件 [ -f $file ]
     是有名管道[ -p $file ] ,

檢測(cè)文件權(quán)限:

  是可讀 [ -r $file ] ,      是可寫[ -w $file ]
  是可執(zhí)行[ -x $file ] 蛮拔,   是為空[ -s $file ]

檢測(cè)文件(包括目錄):

   是否存在[ -e $file ]

例子:

 file="/var/test.sh"
 if [ -e $file ]
then
 echo "文件存在"
else
 echo "文件不存在"
fi

例子:

expr 45/21         # 直接輸出
echo $[45 +21]    #$[]格式述暂,需要echo輸出
  • 使用隨機(jī)數(shù)(RANDOM 變量): echo $[RANDOM %100]

(7) 條件測(cè)試test 命令
注:測(cè)試操作的方法
測(cè)試的本質(zhì):是判斷一個(gè)條件的操作命令。 而$?返回值可以判斷條件是否成立建炫。
格式1: test 條件表達(dá)式
格式2: [條件表達(dá)式] 注: 主要使用這種方式
注: 練習(xí)可以使用的方式【條件表達(dá)式】&& echo YES
上面的結(jié)果是: 失敗什么都不輸出畦韭; 成功輸出YES。
作用:用于檢查某個(gè)條件是否成立肛跌,進(jìn)行數(shù)值艺配、字符和文件三個(gè)方面的測(cè)試察郁。

1)數(shù)值: 結(jié)果 true, flase

 -eq 等于       -ne 不等于
 -gt 大于        -ge 大于等于
 -lt 小于        -le 小于等于

例子:

num1=100
num2=100
if test $[num1] -eq $[num2]
then
  echo '兩個(gè)數(shù)相等转唉!'
else
  echo '兩個(gè)數(shù)不相等皮钠!'
fi

2)字符串 結(jié)果 true, flase

= 等于赠法, 麦轰!=不等于 -z 字符串(字符串長(zhǎng)度為0) -n 字符串 (長(zhǎng)度不為0)

num1="123"

num2="124"

if  test  $num1 = $num2

then

 echo '兩個(gè)字符串相等!'

else

 echo '兩個(gè)字符串不相等!'

fi

3) 文件測(cè)試 結(jié)果 true, flase

-e 文件名 : 文件存在

-r 文件名 : 文件存在且可讀

-w 文件名 : 文件存在且可寫

-x 文件名 : 文件存在且可執(zhí)行

-s 文件名 : 文件存在且至少有一個(gè)字符

-d 文件名 :文件存在且為目錄

-f 文件名 :文件存在且為普通文件

-c 文件名 :文件存在且為字符型特殊文件

-b 文件名 :文件存在且為塊特殊文件

if   test  -e   ./SE
then
  …
fi

3. 流程控制

(1)程序流控制

(2)單分支砖织、雙分支的if應(yīng)用

單分支

If 條件測(cè)試

then

命令序列

 fi

雙分支

  if 條件測(cè)試

  then

      命令序列1

  else

      命令序列2

  fi

多分支

  if 條件測(cè)試

 then

    命令序列1

 elif 條件測(cè)試2

 then

      命令序列2

 else

   命令序列n

 fi

(3)for循環(huán)

  for 變量名 in 取值列表

  do

      命令序列

  done

(4)while循環(huán)

 while condition

 do

    command

 done

無限循環(huán):

 while true

  do

    command

 done

 或者: for  ((  ;  ;  ))

(5)與while相反的循環(huán)

until condition #直至條件為 true 時(shí)停止

do

   command

done

(6)case語句款侵,多選擇

 case 變量值 in

 模式1)

     命令序列1

      ;镶苞;

 模式2)

     命令序列2

     喳坠;;

     茂蚓。壕鹉。。聋涨。晾浴。

  *)

      默認(rèn)命令序列

 esac

注:其中的模式1,模式2是不同的取值牍白,比如: 【a-z】 【0-9】

(7)break :跳出循環(huán)

continue : 退出當(dāng)前循環(huán)

6 函數(shù)

(1)格式:

 function 函數(shù)名 ()   # function可選脊凰,即:可以沒有

 {

    動(dòng)作

     return xx    # return可選,即:可以沒有

}

(2)函數(shù)參數(shù): 函數(shù)體內(nèi)部茂腥, 用$n 的形式來獲取參數(shù)的值:

  $1表示第一個(gè)參數(shù)狸涌,$2表示第二個(gè)參數(shù)

  調(diào)用函數(shù)時(shí),函數(shù)名后面的為參數(shù)最岗。

注: 當(dāng)n>=10時(shí)帕胆,需要使用${n}來獲取參數(shù)

注:$0為執(zhí)行的文件名

(3) 處理參數(shù)的特殊字符:

$# :傳遞到腳本的參數(shù)個(gè)數(shù)

$* :以一個(gè)單字符串顯示所有向腳本傳遞的參數(shù)**

$$ :腳本運(yùn)行的當(dāng)前進(jìn)程ID號(hào)

$! :后臺(tái)運(yùn)行的最后一個(gè)進(jìn)程的ID號(hào)

$- :顯示Shell使用的當(dāng)前選項(xiàng)。

$? :顯示最后命令的退出狀態(tài)般渡。0表示沒有錯(cuò)誤懒豹,其他任何值表明有錯(cuò)誤。

7. shell 命令的組合應(yīng)用: 管道操作驯用, 重定向脸秽, 邏輯分割。

(1)重定向: 輸出重定向 與 輸入重定向**

輸出重定向—》 將命令的輸出結(jié)果 從終端 重定向到文件中蝴乔,可覆蓋记餐,可追加。

輸入重定向—》 從文件中讀取要執(zhí)行的命令(不是用戶輸入/dev/null 文件

command > file 將輸出重定向到 file薇正。 《覆蓋》

command < file 將輸入重定向到 file剥扣。

command >> file 將輸出以追加的方式重定向到 file巩剖。《追加》

n > file 將文件描述符為 n 的文件重定向到 file钠怯。

n >> file 將文件描述符為 n 的文件以追加的方式重定向到 file佳魔。

n >& m 將輸出文件 m 和 n 合并。

n <& m 將輸入文件 m 和 n 合并晦炊。

<< tag 將開始標(biāo)記 tag 和結(jié)束標(biāo)記 tag 之間的內(nèi)容作為輸入鞠鲜。

(2)管道: 將一端的命令輸出交給另一端的命令處理。 注: 兩端都是命令断国。

    格式:命令1 | 命令2

    作用:基本的統(tǒng)計(jì) 與 過濾贤姆。

注:管道的右側(cè)是:命令。 重定向的右側(cè)是:文件稳衬。

(3) 邏輯分割:處理多條“命令”間的邏輯關(guān)系霞捡。

邏輯與&& ---》 要求: 兩個(gè)命令都成功

邏輯或|| ---》要求: 兩個(gè)命令有一個(gè)成功就結(jié)束,不在執(zhí)行

順序執(zhí)行“薄疚;”即:分號(hào)

用途: 判斷命令是否執(zhí)行成功碧信。

 例如: mkdir /ceshi/a 2>/dev/null && echo “成功”    

    或者:mkdir /ceshi/a 2>/dev/null || echo “失敗”

    注:  即兩個(gè)命令一個(gè)執(zhí)行完,另一個(gè)才執(zhí)行街夭。

(4)回收站: /dev/null

/dev/null 是一個(gè)特殊的文件砰碴,寫入到它的內(nèi)容都會(huì)被丟棄;

如果希望屏蔽 stdout 和 stderr板丽,可以這樣寫: $ command > /dev/null 2>&1

注: 0 是標(biāo)準(zhǔn)輸入(STDIN)呈枉,1 是標(biāo)準(zhǔn)輸出(STDOUT),2 是標(biāo)準(zhǔn)錯(cuò)誤輸出(STDERR)埃碱。

3. 文件包含(腳本中 包含腳本文件)

方式1: . filename    # 注意點(diǎn)號(hào)(.)和文件名中間有一空格

方式2:  source filename

注: 被包含的腳本不需要可執(zhí)行權(quán)限猖辫, 只需要外面的腳本添加可執(zhí)行權(quán)限即可。

  1. LINUX 啟動(dòng)五階段:
    內(nèi)核的引導(dǎo)砚殿。 運(yùn)行 init啃憎。 系統(tǒng)初始化。 建立終端 瓮具。 用戶登錄系統(tǒng)荧飞。
    (1)內(nèi)核引導(dǎo)
    開電源凡人,BIOS開機(jī)自檢名党,按其設(shè)置的啟動(dòng)設(shè)備(硬盤/CF卡)來啟動(dòng)。
    操作系統(tǒng)接管硬件以后挠轴,首先讀入 /boot 目錄下的內(nèi)核文件传睹。
    (2)init 進(jìn)程: 系統(tǒng)所有進(jìn)程的起點(diǎn)(目的: 啟動(dòng)守護(hù)進(jìn)程)
    init 程序首先是需要讀取配置文件 /etc/inittab。
    運(yùn)行級(jí)別 : 啟動(dòng)時(shí)根據(jù)運(yùn)行級(jí)別岸晦,切丁運(yùn)行那些服務(wù)/守護(hù)進(jìn)程
    init進(jìn)程的一大任務(wù)欧啤,就是去運(yùn)行開機(jī)啟動(dòng)的程序睛藻。Linux允許為不同的場(chǎng)合,分配不同的開機(jī)啟動(dòng)程序邢隧,這就叫做"運(yùn)行級(jí)別"店印。 7個(gè)級(jí)別略。


    111.png

(3)系統(tǒng)初始化(目的: 通過腳本倒慧,配置系統(tǒng)環(huán)境)
init配置文件中有一行:si::sysinit:/etc/rc.d/rc.sysinit調(diào)用執(zhí)/etc/rc.d/rc.sysinit按摘,而rc.sysinit是一個(gè)bash shell的腳本,用于完成一些系統(tǒng)初始化工作纫谅。
腳本實(shí)現(xiàn):激活交換分區(qū)炫贤,檢查磁盤,加載硬件模塊以及其它一些需要優(yōu)先執(zhí)行任務(wù)付秕。
(4)建立終端
rc執(zhí)行完畢后兰珍,返回init。init會(huì)打開6個(gè)終端询吴,以便用戶登錄系統(tǒng)掠河。tty1-tty6。
(5)用戶登錄系統(tǒng)
用戶的登錄方式有三種: 命令行登錄 汰寓, ssh登錄 口柳, 圖形界面登錄。


222.png

關(guān)機(jī)介紹:
sync 將數(shù)據(jù)由內(nèi)存同步到硬盤中有滑。 #注:關(guān)機(jī)重啟之前是先自動(dòng)執(zhí)行該指令跃闹。

shutdown 關(guān)機(jī)指令,
shutdown –h 10 ‘This server will shutdown after 10 mins’ 
shutdown –h +10      # 十分鐘后關(guān)機(jī)
shutdown –h now      #立馬關(guān)機(jī) 
shutdown –h 20:25    #系統(tǒng)會(huì)在今天20:25關(guān)機(jī) 
reboot   #重啟
shutdown –r now     #系統(tǒng)立馬重啟 
shutdown –r +10    #系統(tǒng)十分鐘后重啟 

擴(kuò)展:代換

1. 文件名代換:用于匹配的字符稱為通配符毛好,如:* ? [ ] 具體如下:

*      匹配0個(gè)或多個(gè)任意字符
?     匹配一個(gè)任意字符
[若干字符]    匹配方括號(hào)中任意一個(gè)字符的一次出現(xiàn)

2. 命令代換:由“`”反引號(hào)括起來的也是一條命令望艺,Shell先執(zhí)行該命令,然后將輸出結(jié)果立刻代換到當(dāng)前命令行中肌访。
例如定義一個(gè)變量存放date命令的輸出:

DATE=`date`
echo $DATE
命令代換也可以用$()表示: DATE=$(date)

3. 算術(shù)代換

使用$(())找默,用于算術(shù)計(jì)算,(())中的Shell變量取值將轉(zhuǎn)換成整數(shù)吼驶,同樣含義的$[ ]等價(jià)惩激。
例如:

VAR=45
echo $(($VAR+3)) 等價(jià)于 $((var+3)) 或echo $[VAR+3]或 $[$VAR+3]
$(())中  只能用+-*/和()運(yùn)算符,并且只能做整數(shù)運(yùn)算蟹演。
$[base#n]风钻,其中base表示進(jìn)制,n按照base進(jìn)制解釋酒请,后面再有運(yùn)算數(shù)骡技,按十進(jìn)制解釋。
echo $[2#10+11]

4. 轉(zhuǎn)義字符 \

用于去除緊跟其后的單個(gè)字符的特殊意義(回車除外),即: 緊跟其后的字符取字面值

 echo $SHELL

 結(jié)果: /bin/bash

 echo \$SHELL

  結(jié)果: $SHELL

5. 單引號(hào)雙引號(hào): 都是字符串的界定符布朦。

單引號(hào)用于保持引號(hào)內(nèi)所有字符的字面值囤萤,即使引號(hào)內(nèi)的\和回車也不例外,但是字符串中不能出現(xiàn)單引號(hào)是趴。

被雙引號(hào)用括住的內(nèi)容涛舍,將被視為單一字串它防止通配符擴(kuò)展唆途,但允許變量擴(kuò)展做盅。

 VAR=200

echo $VAR   # 結(jié)果200

echo '$VAR'   # 結(jié)果$VAR

 echo "$VAR"   # 結(jié)果200
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市窘哈,隨后出現(xiàn)的幾起案子吹榴,更是在濱河造成了極大的恐慌,老刑警劉巖滚婉,帶你破解...
    沈念sama閱讀 217,826評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件图筹,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡让腹,警方通過查閱死者的電腦和手機(jī)远剩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來骇窍,“玉大人瓜晤,你說我怎么就攤上這事「鼓桑” “怎么了痢掠?”我有些...
    開封第一講書人閱讀 164,234評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)嘲恍。 經(jīng)常有香客問我足画,道長(zhǎng),這世上最難降的妖魔是什么佃牛? 我笑而不...
    開封第一講書人閱讀 58,562評(píng)論 1 293
  • 正文 為了忘掉前任淹辞,我火速辦了婚禮,結(jié)果婚禮上俘侠,老公的妹妹穿的比我還像新娘象缀。我一直安慰自己,他們只是感情好爷速,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評(píng)論 6 392
  • 文/花漫 我一把揭開白布央星。 她就那樣靜靜地躺著,像睡著了一般遍希。 火紅的嫁衣襯著肌膚如雪等曼。 梳的紋絲不亂的頭發(fā)上里烦,一...
    開封第一講書人閱讀 51,482評(píng)論 1 302
  • 那天凿蒜,我揣著相機(jī)與錄音禁谦,去河邊找鬼。 笑死废封,一個(gè)胖子當(dāng)著我的面吹牛州泊,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播漂洋,決...
    沈念sama閱讀 40,271評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼遥皂,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了刽漂?” 一聲冷哼從身側(cè)響起演训,我...
    開封第一講書人閱讀 39,166評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎贝咙,沒想到半個(gè)月后样悟,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,608評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡庭猩,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評(píng)論 3 336
  • 正文 我和宋清朗相戀三年窟她,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蔼水。...
    茶點(diǎn)故事閱讀 39,926評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡震糖,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出趴腋,到底是詐尸還是另有隱情吊说,我是刑警寧澤,帶...
    沈念sama閱讀 35,644評(píng)論 5 346
  • 正文 年R本政府宣布优炬,位于F島的核電站疏叨,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏穿剖。R本人自食惡果不足惜蚤蔓,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望糊余。 院中可真熱鬧秀又,春花似錦、人聲如沸贬芥。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蘸劈。三九已至昏苏,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背贤惯。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工洼专, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人孵构。 一個(gè)月前我還...
    沈念sama閱讀 48,063評(píng)論 3 370
  • 正文 我出身青樓屁商,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親颈墅。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蜡镶,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容