Linux中使用update-alternatives切換默認(rèn)程序

update-alternatives簡(jiǎn)介

容我引用 update-alternatives學(xué)習(xí)筆記

Linux 發(fā)展到今天,可用的軟件已經(jīng)非常多了。這樣自然會(huì)有一些軟件的功能大致上相同。例如,同樣是編輯器,就有 nvi、vim、emacs、nano,而且我說(shuō)的這些還只是一部分。大多數(shù)情況下,這樣的功能相似的軟件都是同時(shí)安裝在系統(tǒng)里的,可以用它們的名稱來(lái)執(zhí)行。例如,要執(zhí)行 vim,只要在終端下輸入 vim 并按回車就可以了。不過(guò),有些情況下我們需要用一個(gè)相對(duì)固定的命令調(diào)用這些程序中的一個(gè)。例如,當(dāng)我們寫(xiě)一個(gè)腳本程序時(shí),只要寫(xiě)下 editor,而不希望要為“編輯器是哪個(gè)”而操心。Debian 提供了一種機(jī)制來(lái)解決這個(gè)問(wèn)題,而 update-alternatives 就是用來(lái)實(shí)現(xiàn)這種機(jī)制的。
update-alternatives學(xué)習(xí)筆記 - - CSDN博客

update-alternatives --help 命令輸出,從該輸出中可以獲得很多有用信息:

用法:update-alternatives [<選項(xiàng)> ...] <命令>

命令:
  --install <鏈接> <名稱> <路徑> <優(yōu)先級(jí)>
    [--slave <鏈接> <名稱> <路徑>] ...
                           在系統(tǒng)中加入一組候選項(xiàng)。
  --remove <名稱> <路徑>   從 <名稱> 替換組中去除 <路徑> 項(xiàng)。
  --remove-all <名稱>      從替換系統(tǒng)中刪除 <名稱> 替換組。
  --auto <名稱>            將 <名稱> 的主鏈接切換到自動(dòng)模式。
  --display <名稱>         顯示關(guān)于 <名稱> 替換組的信息。
  --query <名稱>           機(jī)器可讀版的 --display <名稱>.
  --list <名稱>            列出 <名稱> 替換組中所有的可用候選項(xiàng)。
  --get-selections         列出主要候選項(xiàng)名稱以及它們的狀態(tài)。
  --set-selections         從標(biāo)準(zhǔn)輸入中讀入候選項(xiàng)的狀態(tài)。
  --config <名稱>          列出 <名稱> 替換組中的可選項(xiàng),并就使用其中
                           哪一個(gè),征詢用戶的意見(jiàn)。
  --set <名稱> <路徑>      將 <路徑> 設(shè)置為 <名稱> 的候選項(xiàng)。
  --all                    對(duì)所有可選項(xiàng)一一調(diào)用 --config 命令。

<鏈接>  是指向 /etc/alternatives/<名稱> 的符號(hào)鏈接。 (如 /usr/bin/pager)
<名稱>  是該鏈接替換組的主控名。(如 pager)
<路徑>  是候選項(xiàng)目標(biāo)文件的位置。(程序的實(shí)際路徑)(如 /usr/bin/less)
<優(yōu)先級(jí)>  是一個(gè)整數(shù),在自動(dòng)模式下,這個(gè)數(shù)字越高的選項(xiàng),其優(yōu)先級(jí)也就越高。

選項(xiàng):
  --altdir <目錄>          改變候選項(xiàng)目錄。
  --admindir <目錄>        設(shè)置 statoverride 文件的目錄。
  --log <文件>             改變?nèi)罩疚募?  --force                  就算沒(méi)有通過(guò)自檢,也強(qiáng)制執(zhí)行操作。
  --skip-auto              在自動(dòng)模式中跳過(guò)設(shè)置正確候選項(xiàng)的提示
                           (只與 --config 有關(guān))
  --verbose                啟用詳細(xì)輸出。
  --quiet                  安靜模式,輸出盡可能少的信息。不顯示輸出信息。
  --help                   顯示本幫助信息。
  --version                顯示版本信息。

以editor為例來(lái)講解

editor編輯器。一般系統(tǒng)中都會(huì)安裝有多個(gè)具有編輯功能的程序, 比如ed、vi、vim、emacs24 ...

我們這里把 editor 稱作為一個(gè) 名稱 或者說(shuō) name

查看editor當(dāng)前包含的候選項(xiàng):

[fan 10:48:25]~$ update-alternatives --display editor 
editor - 自動(dòng)模式
  link best version is /usr/bin/vim.basic
 鏈接目前指向 /usr/bin/vim.basic
  link editor is /usr/bin/editor
  slave editor.1.gz is /usr/share/man/man1/editor.1.gz
  slave editor.fr.1.gz is /usr/share/man/fr/man1/editor.1.gz
  slave editor.it.1.gz is /usr/share/man/it/man1/editor.1.gz
  slave editor.ja.1.gz is /usr/share/man/ja/man1/editor.1.gz
  slave editor.pl.1.gz is /usr/share/man/pl/man1/editor.1.gz
  slave editor.ru.1.gz is /usr/share/man/ru/man1/editor.1.gz
/bin/ed - 優(yōu)先級(jí) -100
  次要 editor.1.gz:/usr/share/man/man1/ed.1.gz
/bin/nano - 優(yōu)先級(jí) 40
  次要 editor.1.gz:/usr/share/man/man1/nano.1.gz
/usr/bin/code - 優(yōu)先級(jí) 0
/usr/bin/emacs24 - 優(yōu)先級(jí) 0
  次要 editor.1.gz:/usr/share/man/man1/emacs.emacs24.1.gz
/usr/bin/vim.basic - 優(yōu)先級(jí) 60
  次要 editor.1.gz:/usr/share/man/man1/vim.1.gz
  次要 editor.fr.1.gz:/usr/share/man/fr/man1/vim.1.gz
  次要 editor.it.1.gz:/usr/share/man/it/man1/vim.1.gz
  次要 editor.ja.1.gz:/usr/share/man/ja/man1/vim.1.gz
  次要 editor.pl.1.gz:/usr/share/man/pl/man1/vim.1.gz
  次要 editor.ru.1.gz:/usr/share/man/ru/man1/vim.1.gz
/usr/bin/vim.nox - 優(yōu)先級(jí) 40
  次要 editor.1.gz:/usr/share/man/man1/vim.1.gz
  次要 editor.fr.1.gz:/usr/share/man/fr/man1/vim.1.gz
  次要 editor.it.1.gz:/usr/share/man/it/man1/vim.1.gz
  次要 editor.ja.1.gz:/usr/share/man/ja/man1/vim.1.gz
  次要 editor.pl.1.gz:/usr/share/man/pl/man1/vim.1.gz
  次要 editor.ru.1.gz:/usr/share/man/ru/man1/vim.1.gz
/usr/bin/vim.tiny - 優(yōu)先級(jí) 10
  次要 editor.1.gz:/usr/share/man/man1/vim.1.gz
  次要 editor.fr.1.gz:/usr/share/man/fr/man1/vim.1.gz
  次要 editor.it.1.gz:/usr/share/man/it/man1/vim.1.gz
  次要 editor.ja.1.gz:/usr/share/man/ja/man1/vim.1.gz
  次要 editor.pl.1.gz:/usr/share/man/pl/man1/vim.1.gz
  次要 editor.ru.1.gz:/usr/share/man/ru/man1/vim.1.gz
[fan 10:48:43]~$ 

涉及到的路徑:

  • /usr/bin/名稱
  • /etc/alternatives/名稱
  • 程序?qū)嶋H可執(zhí)行文件的路徑

查看這些路徑:

[fan 10:48:43]~$ ll /usr/bin/editor 
lrwxrwxrwx 1 root root 24 7月  20 16:42 /usr/bin/editor -> /etc/alternatives/editor*
[fan 10:54:21]~$ ll /etc/alternatives/editor
lrwxrwxrwx 1 root root 18 7月  23 11:11 /etc/alternatives/editor -> /usr/bin/vim.basic*
[fan 10:54:31]~$ ll /usr/bin/vim.basic 
-rwxr-xr-x 1 root root 2.4M 11月 25  2016 /usr/bin/vim.basic*

/var/lib/dpkg/alternatives目錄為管理目錄,包含的相關(guān)文件就相當(dāng)于配置文件吧。一個(gè)名稱占用一個(gè)文件。

查看配置文件: less /var/lib/dpkg/alternatives/editor

auto
/usr/bin/editor
editor.1.gz
/usr/share/man/man1/editor.1.gz
editor.fr.1.gz
/usr/share/man/fr/man1/editor.1.gz
editor.it.1.gz
/usr/share/man/it/man1/editor.1.gz
editor.ja.1.gz
/usr/share/man/ja/man1/editor.1.gz
editor.pl.1.gz
/usr/share/man/pl/man1/editor.1.gz
editor.ru.1.gz
/usr/share/man/ru/man1/editor.1.gz

/bin/ed
-100
/usr/share/man/man1/ed.1.gz

/bin/nano
40
/usr/share/man/man1/nano.1.gz

/usr/bin/code
0

/usr/bin/emacs24
0
/usr/share/man/man1/emacs.emacs24.1.gz

/usr/bin/vim.basic
60
/usr/share/man/man1/vim.1.gz
/usr/share/man/fr/man1/vim.1.gz
/usr/share/man/it/man1/vim.1.gz
/usr/share/man/ja/man1/vim.1.gz
/usr/share/man/pl/man1/vim.1.gz
/usr/share/man/ru/man1/vim.1.gz

/usr/bin/vim.nox
40
/usr/share/man/man1/vim.1.gz
/usr/share/man/fr/man1/vim.1.gz
/usr/share/man/it/man1/vim.1.gz
/usr/share/man/ja/man1/vim.1.gz
/usr/share/man/pl/man1/vim.1.gz
/usr/share/man/ru/man1/vim.1.gz

/usr/bin/vim.tiny
10
/usr/share/man/man1/vim.1.gz
/usr/share/man/fr/man1/vim.1.gz
/usr/share/man/it/man1/vim.1.gz
/usr/share/man/ja/man1/vim.1.gz
/usr/share/man/pl/man1/vim.1.gz
/usr/share/man/ru/man1/vim.1.gz

更改editor的候選項(xiàng)

[fan 10:48:43]~$ update-alternatives --config editor 
有 7 個(gè)候選項(xiàng)可用于替換 editor (提供 /usr/bin/editor)。

  選擇       路徑              優(yōu)先級(jí)  狀態(tài)
------------------------------------------------------------
* 0            /usr/bin/vim.basic   60        自動(dòng)模式
  1            /bin/ed             -100       手動(dòng)模式
  2            /bin/nano            40        手動(dòng)模式
  3            /usr/bin/code        0         手動(dòng)模式
  4            /usr/bin/emacs24     0         手動(dòng)模式
  5            /usr/bin/vim.basic   60        手動(dòng)模式
  6            /usr/bin/vim.nox     40        手動(dòng)模式
  7            /usr/bin/vim.tiny    10        手動(dòng)模式

要維持當(dāng)前值[*]請(qǐng)按<回車鍵>,或者鍵入選擇的編號(hào):1
update-alternatives: 使用 /bin/ed 來(lái)在手動(dòng)模式中提供 /usr/bin/editor (editor)
update-alternatives: 錯(cuò)誤: 新建符號(hào)鏈接 /etc/alternatives/editor.dpkg-tmp 時(shí)出錯(cuò): 權(quán)限不夠 (需添加sudo)

以上說(shuō)明,它會(huì)刪除原來(lái)的/etc/alternatives/editor軟鏈接,再創(chuàng)建一個(gè)新的/etc/alternatives/editor軟鏈接來(lái)指向ed程序的實(shí)際路徑。

[fan 11:06:36]~$ ll /usr/bin/editor 
lrwxrwxrwx 1 root root 24 7月  20 16:42 /usr/bin/editor -> /etc/alternatives/editor*
[fan 11:03:49]~$ ll /etc/alternatives/editor*
lrwxrwxrwx 1 root root  7 7月  24 11:03 /etc/alternatives/editor -> /bin/ed*
lrwxrwxrwx 1 root root 27 7月  24 11:03 /etc/alternatives/editor.1.gz -> /usr/share/man/man1/ed.1.gz

/var/lib/dpkg/alternatives/editor 文件的改變:

僅將 auto 改為 manual

總結(jié)

以下為個(gè)人理解,如有錯(cuò)誤請(qǐng)指正,不勝感激。詳見(jiàn) man update-alternatives

通用名稱(generic name)和名稱(name)的區(qū)別:

generic name (or alternative link):通用名稱指的是 /usr/bin/name

簡(jiǎn)單的理解update-alternatives的機(jī)制:

            /usr/bin/名稱 (軟鏈接)
                      |
                      V
  /etc/alternatives/名稱  (軟鏈接)  [每次更改就使它指向另一個(gè)程序的實(shí)際地址,并在配置文件中說(shuō)明當(dāng)前是自動(dòng)還是手動(dòng)]
                      |
                      V
                  程序?qū)嶋H路徑

還存在一個(gè)配置文件:

/var/lib/dpkg/alternatives/名稱

配置文件中指出該通用名稱包含哪些可用的程序(候選程序),并指出了每個(gè)程序的優(yōu)先級(jí)和可用的附加文件路徑。

另還有個(gè) slave 的概念

slave: 從屬,次要

slave對(duì)應(yīng)有 slave link(次要鏈接)。

在上面的editor的配置文件中我們可以看到多個(gè)slave其中的一個(gè)就是 editor.1.gz

單從editor來(lái)看,sleve link指向的是相關(guān)的man手冊(cè)文檔。每當(dāng)候選項(xiàng)一更改,sleve link也會(huì)跟著更改。

更改editor的候選項(xiàng)之前(為vim.basic時(shí)):

[fan 11:38:50]~$ ll /etc/alternatives/editor*
lrwxrwxrwx 1 root root 18 7月  24 11:16 /etc/alternatives/editor -> /usr/bin/vim.basic*
lrwxrwxrwx 1 root root 28 7月  24 11:16 /etc/alternatives/editor.1.gz -> /usr/share/man/man1/vim.1.gz
lrwxrwxrwx 1 root root 31 7月  24 11:16 /etc/alternatives/editor.fr.1.gz -> /usr/share/man/fr/man1/vim.1.gz
lrwxrwxrwx 1 root root 31 7月  24 11:16 /etc/alternatives/editor.it.1.gz -> /usr/share/man/it/man1/vim.1.gz
lrwxrwxrwx 1 root root 31 7月  24 11:16 /etc/alternatives/editor.ja.1.gz -> /usr/share/man/ja/man1/vim.1.gz
lrwxrwxrwx 1 root root 31 7月  24 11:16 /etc/alternatives/editor.pl.1.gz -> /usr/share/man/pl/man1/vim.1.gz
lrwxrwxrwx 1 root root 31 7月  24 11:16 /etc/alternatives/editor.ru.1.gz -> /usr/share/man/ru/man1/vim.1.gz

[fan 11:38:50]~$ man editor 
# 查看到的是vim的man手冊(cè) 

更改editor的候選項(xiàng)為ed之后:

[fan 11:03:49]~$ ll /etc/alternatives/editor*
lrwxrwxrwx 1 root root  7 7月  24 11:03 /etc/alternatives/editor -> /bin/ed*
lrwxrwxrwx 1 root root 27 7月  24 11:03 /etc/alternatives/editor.1.gz -> /usr/share/man/man1/ed.1.gz

[fan 11:38:50]~$ man editor 
# 查看到的是ed的man手冊(cè) 

安裝一個(gè)候選項(xiàng)

以 vim 為例

使用--install

# 鏈接  名稱  (實(shí)際)路徑   優(yōu)先級(jí)
sudo update-alternatives --install /usr/bin/vim vim /usr/bin/vim.nox 40

man update-alternatives查看手冊(cè): --install link name path priority [--slave link name path]...

使用apt-get安裝vim-nox程序時(shí)的部分輸出:

正在設(shè)置 vim-nox (2:7.4.1689-3ubuntu1.2) ...
update-alternatives: 使用 /usr/bin/vim.nox 來(lái)在自動(dòng)模式中提供 /usr/bin/vim (vim)
update-alternatives: 使用 /usr/bin/vim.nox 來(lái)在自動(dòng)模式中提供 /usr/bin/vimdiff (vimdiff)
update-alternatives: 使用 /usr/bin/vim.nox 來(lái)在自動(dòng)模式中提供 /usr/bin/rvim (rvim)
update-alternatives: 使用 /usr/bin/vim.nox 來(lái)在自動(dòng)模式中提供 /usr/bin/rview (rview)
update-alternatives: 使用 /usr/bin/vim.nox 來(lái)在自動(dòng)模式中提供 /usr/bin/vi (vi)
update-alternatives: 使用 /usr/bin/vim.nox 來(lái)在自動(dòng)模式中提供 /usr/bin/view (view)
update-alternatives: 使用 /usr/bin/vim.nox 來(lái)在自動(dòng)模式中提供 /usr/bin/ex (ex)

使用apt-get卸載 vim-nox的部分輸出:

正在卸載 vim-nox (2:7.4.1689-3ubuntu1.2) ...
update-alternatives: 使用 /usr/bin/vim.basic 來(lái)在自動(dòng)模式中提供 /usr/bin/vi (vi)
update-alternatives: 使用 /usr/bin/vim.basic 來(lái)在自動(dòng)模式中提供 /usr/bin/view (view)
update-alternatives: 使用 /usr/bin/vim.basic 來(lái)在自動(dòng)模式中提供 /usr/bin/ex (ex)
update-alternatives: 使用 /usr/bin/vim.basic 來(lái)在自動(dòng)模式中提供 /usr/bin/rvim (rvim)
update-alternatives: 使用 /usr/bin/vim.basic 來(lái)在自動(dòng)模式中提供 /usr/bin/rview (rview)
update-alternatives: 使用 /usr/bin/vim.basic 來(lái)在自動(dòng)模式中提供 /usr/bin/vimdiff (vimdiff)
update-alternatives: 使用 /usr/bin/vim.basic 來(lái)在自動(dòng)模式中提供 /usr/bin/vim (vim)

安裝和卸載時(shí)都會(huì)執(zhí)行update-alternatives命令。

Eclipse示例

翻譯 update-alternatives - William DeMeo

有三個(gè)版本的Eclipse,并且分別創(chuàng)建了三個(gè)啟動(dòng)腳本:

版本一: $HOME/opt/Eclipse/luna/eclipse-luna ,腳本內(nèi)容:

#!/bin/bash
export UBUNTU_MENUPROXY=0
$HOME/opt/Eclipse/luna/eclipse

版本二: $HOME/opt/Eclipse/kepler/eclipse-kepler ,腳本內(nèi)容:

#!/bin/bash
export UBUNTU_MENUPROXY=0
$HOME/opt/Eclipse/kepler/eclipse

版本三: $HOME/opt/Eclipse/scala/eclipse-scala ,腳本內(nèi)容:

#!/bin/bash
export UBUNTU_MENUPROXY=0
$HOME/opt/Eclipse/scala/eclipse

這里使用腳本而不是直接使用$HOME/opt/Eclipse/***/eclipse,是為了添加啟動(dòng)參數(shù)。

現(xiàn)在可以通過(guò)在命令行中調(diào)用以下命令來(lái)配置Eclipse的各種版本:

sudo update-alternatives --install /usr/bin/eclipse eclipse $HOME/opt/Eclipse/scala/eclipse-scala 400
sudo update-alternatives --install /usr/bin/eclipse eclipse $HOME/opt/Eclipse/luna/eclipse-luna 300
sudo update-alternatives --install /usr/bin/eclipse eclipse $HOME/opt/Eclipse/kepler/eclipse-kepler 200

eclipse-scala 優(yōu)先級(jí)為 400 是最高值,所以他就是默認(rèn)程序。

你可以刪除任何 alternative:

sudo update-alternatives --remove eclipse $HOME/opt/Eclipse/scala/eclipse-scala

The command update-alternatives --query eclipse should now print something like this:

Name: eclipse
Link: /usr/bin/eclipse                                      # 1個(gè) 符號(hào)鏈接
Status: auto
Best: /home/williamdemeo/opt/Eclipse/scala/eclipse-scala
Value: /home/williamdemeo/opt/Eclipse/scala/eclipse-scala

Alternative: /home/williamdemeo/opt/Eclipse/kepler/eclipse-kepler   # 可選的程序所在的路徑
Priority: 200

Alternative: /home/williamdemeo/opt/Eclipse/luna/eclipse-luna     # 可選的程序所在的路徑
Priority: 300

Alternative: /home/williamdemeo/opt/Eclipse/scala/eclipse-scala   # 可選的程序所在的路徑
Priority: 400

可通過(guò)如下命令來(lái)手動(dòng)選擇候選項(xiàng):update-alternatives --config eclipse,命令輸出:

There are 3 choices for the alternative eclipse (providing /usr/bin/eclipse).

  Selection    Path                                                  Priority   Status
------------------------------------------------------------
* 0            /home/williamdemeo/opt/Eclipse/scala/eclipse-scala     400       auto mode
  1            /home/williamdemeo/opt/Eclipse/kepler/eclipse-kepler   200       manual mode
  2            /home/williamdemeo/opt/Eclipse/luna/eclipse-luna       300       manual mode
  3            /home/williamdemeo/opt/Eclipse/scala/eclipse-scala     400       manual mode

前面加*號(hào)的表示當(dāng)前選擇的程序。然后可根據(jù)命令提示進(jìn)行更改。

在使用--config選項(xiàng)之前,可以先使用--display替換該參數(shù),先進(jìn)行查看。

如果你想為它們創(chuàng)建應(yīng)用啟動(dòng)器(application launcher)可使用如下方法(也可以通過(guò)創(chuàng)建相關(guān)文檔創(chuàng)建):

mkdir -p ~/.local/share/applications
gnome-desktop-item-edit --create-new ~/.local/share/applications/

Java示例

java就比較麻煩了點(diǎn),因?yàn)閖ava相關(guān)的命令比較多,要改的地方多。

還好有個(gè)update-java-alternatives命令。

可以查看另一篇文章:Ubuntu安裝java和使用update-java-alternatives進(jìn)行切換

圖形工具 Gnome alternatives

Gnome Alternatives

sudo apt-get install galternatives

不推薦。

更改優(yōu)先級(jí)

使用root權(quán)限編輯/var/lib/dpkg/alternatives下的相關(guān)文件,更改優(yōu)先級(jí)后保存。

然后運(yùn)行如下命令sudo update-alternatives --auto 名稱,將“名稱”替換成相應(yīng)值。

比如:

  • 修改某網(wǎng)頁(yè)瀏覽器的優(yōu)先級(jí),編輯文件/var/lib/dpkg/alternatives/x-www-browser然后運(yùn)行如下命令sudo update-alternatives --auto x-www-browser使其生效。
  • 修改編輯器的優(yōu)先級(jí),編輯文件/var/lib/dpkg/alternatives/editor然后運(yùn)行如下命令sudo update-alternatives --auto editor使其生效。

--auto選項(xiàng),根據(jù)優(yōu)先級(jí)設(shè)置回默認(rèn)值(優(yōu)先級(jí)最高的候選項(xiàng))。

命令輸出(在確實(shí)更改了editor后):

[fan 11:06:00]~$ update-alternatives --auto editor 
update-alternatives: 使用 /usr/bin/vim.basic 來(lái)在自動(dòng)模式中提供 /usr/bin/editor (editor)
update-alternatives: 錯(cuò)誤: 新建符號(hào)鏈接 /etc/alternatives/editor.dpkg-tmp 時(shí)出錯(cuò): 權(quán)限不夠
[fan 11:07:39]~$ sudo update-alternatives --auto editor 
[sudo] fan 的密碼: 
update-alternatives: 使用 /usr/bin/vim.basic 來(lái)在自動(dòng)模式中提供 /usr/bin/editor (editor)

參考

update-alternatives學(xué)習(xí)筆記
update-alternatives - William DeMeo

個(gè)人博客: Fan's Blog

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,786評(píng)論 6 534
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,656評(píng)論 3 419
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 176,697評(píng)論 0 379
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 63,098評(píng)論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,855評(píng)論 6 410
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 55,254評(píng)論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,322評(píng)論 3 442
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 42,473評(píng)論 0 289
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,014評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,833評(píng)論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,016評(píng)論 1 371
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,568評(píng)論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,273評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 34,680評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 35,946評(píng)論 1 288
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,730評(píng)論 3 393
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,006評(píng)論 2 374

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