Java程序員最常用的Linux命令

大家都知道,Linux系統(tǒng)提供了非常多非常多的命令或工具爹橱,這些命令都各有所長(zhǎng),都是系統(tǒng)需要的窄做。但我們精力有限愧驱,要掌握全部的命令不太現(xiàn)實(shí),所以只需要掌握其中部分常用的命令即可椭盏。這里组砚,我就從一個(gè)Java程序員的角度,總結(jié)出我常用的一些Linxu命令掏颊,供大家參考糟红。

文件目錄基本操作

  • ls 命令用來顯示目標(biāo)列表,在Linux中是使用率較高的命令乌叶。ls命令的輸出信息可以進(jìn)行彩色加亮顯示盆偿,以分區(qū)不同類型的文件。
    常用選項(xiàng):
ls(選項(xiàng))(參數(shù))
-a 顯示所有檔案及目錄(ls默認(rèn)不會(huì)列出隱藏文件)枉昏;
-l 所有輸出信息用單列格式輸出陈肛,不輸出為多列;
--color[=WHEN]:使用不同的顏色高亮顯示不同類型的兄裂。

實(shí)際應(yīng)用時(shí),我經(jīng)常會(huì)使用ls -l --color=auto阳藻,并給它指定一個(gè)別名ll:

alias ll='ls -l --color=auto'

效果如圖1:


圖1
  • cd 用來切換工作目錄至dirname晰奖。 其中dirname表示法可為絕對(duì)路徑或相對(duì)路徑。若目錄名稱省略腥泥,則變換至使用者的home directory匾南。
    常用選項(xiàng):
cd   進(jìn)入用戶主目錄
cd ~ 進(jìn)入用戶主目錄
cd - 返回進(jìn)入此目錄之前所在的目錄
cd .. 返回上級(jí)目錄(若當(dāng)前目錄為“/“,則執(zhí)行完后還在“/"蛔外;".."為上級(jí)目錄的意思)
cd ../.. 返回上兩級(jí)目錄
cd !$ 把上個(gè)命令的參數(shù)作為cd參數(shù)使用
  • mkdir 創(chuàng)建目錄蛆楞。該命令創(chuàng)建由dirname命名的目錄。如果在目錄名的前面沒有加任何路徑名夹厌,則在當(dāng)前目錄下創(chuàng)建由dirname指定的目錄豹爹;如果給出了一個(gè)已經(jīng)存在的路徑,將會(huì)在該目錄下創(chuàng)建一個(gè)指定的目錄矛纹。
    常用選項(xiàng):
-p 若所要建立目錄的上層目錄目前尚未建立臂聋,則會(huì)一并建立上層目錄
  • rm 刪除一個(gè)目錄中的一個(gè)或多個(gè)文件或目錄,也可以將某個(gè)目錄及其下屬的所有文件及其子目錄均刪除掉。對(duì)于鏈接文件孩等,只是刪除整個(gè)鏈接文件艾君,而原有文件保持不變。
    常用選項(xiàng):
-f:強(qiáng)制刪除文件或目錄
 -i:刪除已有文件或目錄之前先詢問用戶
-r或-R:遞歸處理肄方,將指定目錄下的所有文件與子目錄一并處理

注意:使用rm命令要格外小心冰垄。因?yàn)橐坏﹦h除了一個(gè)文件,就無法再恢復(fù)它权她。

  • cp 將一個(gè)或多個(gè)源文件或者目錄復(fù)制到指定的目的文件或目錄虹茶。
    常用選項(xiàng):
-f:強(qiáng)行復(fù)制文件或目錄,不論目標(biāo)文件或目錄是否已存在
-i:覆蓋既有文件之前先詢問用戶
-R/r:遞歸處理伴奥,將指定目錄下的所有文件與子目錄一并處理

示例:

cp /home/sre/tom.log .   將文件/home/sre/tom.log復(fù)制到當(dāng)前目錄
cp -r katarina  /home/sre/logs/ 將目錄katarina復(fù)制到/home/sre/logs/目錄下
  • mv 對(duì)文件或目錄重新命名写烤,或者將文件從一個(gè)目錄移到另一個(gè)目錄中。source表示源文件或目錄拾徙,target表示目標(biāo)文件或目錄洲炊。如果將一個(gè)文件移到一個(gè)已經(jīng)存在的目標(biāo)文件中,則目標(biāo)文件的內(nèi)容將被覆蓋尼啡。
    常用選項(xiàng):
-f:若目標(biāo)文件或目錄與現(xiàn)有的文件或目錄重復(fù)暂衡,則直接覆蓋現(xiàn)有的文件或目錄
-u:當(dāng)源文件比目標(biāo)文件新或者目標(biāo)文件不存在時(shí),才執(zhí)行移動(dòng)操作

示例:

mv katarina/* logs/ 將目錄katarina下所有文件復(fù)制到目錄logs下
  • pwd 以絕對(duì)路徑的方式顯示用戶當(dāng)前工作目錄
    如圖2:
    圖2
  • tree 以樹狀圖列出目錄的內(nèi)容
    如圖3
    圖3
  • touch 兩個(gè)功能:一是創(chuàng)建新的空文件崖瞭;二是用于把已存在文件的時(shí)間標(biāo)簽更新為系統(tǒng)當(dāng)前的時(shí)間(默認(rèn)方式)狂巢,它們的數(shù)據(jù)將原封不動(dòng)地保留下來。
    示例:
touch /var/wd/logs/touch.txt 創(chuàng)建空文件/var/wd/logs/touch.txt
  • chmod 變更文件或目錄的權(quán)限书聚。在UNIX系統(tǒng)家族里唧领,文件或目錄權(quán)限的控制分別以讀取、寫入雌续、執(zhí)行3種一般權(quán)限來區(qū)分斩个,另有3種特殊權(quán)限可供運(yùn)用。用戶可以使用chmod指令去變更文件與目錄的權(quán)限驯杜,設(shè)置方式采用文字或數(shù)字代號(hào)皆可受啥。
    示例:
chmod +x what_cpu_do.sh 給腳本what_cpu_do.sh增加可執(zhí)行權(quán)限
chmod u+x,g+w test  //為文件test設(shè)置自己可以執(zhí)行,組員可以寫入的權(quán)限
  • file 探測(cè)給定文件的類型鸽心。
    示例:
[sre@CDVM-213017031 ~]$ file what_cpu_do.sh
what_cpu_do.sh: Bourne-Again shell script text executable
[sre@CDVM-213017031 ~]$ file logs
logs: directory
[sre@CDVM-213017031 ~]$ file network_last.log
network_last.log: empty
[sre@CDVM-213017031 ~]$ file fix
fix: directory

文件內(nèi)容查看

  • cat 連接文件并打印到標(biāo)準(zhǔn)輸出設(shè)備上滚局,cat經(jīng)常用來顯示文件的內(nèi)容。
    示例:
[sre@CDVM-213017031 ~]$ cat flow_of_network.sh | grep "RX_next"
  RX_next=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $2}')
  RX=$((${RX_next}-${RX_pre}))
  • grep 是一種強(qiáng)大的文本搜索工具顽频,它能使用正則表達(dá)式搜索文本藤肢,并把匹配的行打印出來。
    常用選項(xiàng):
-A<顯示列數(shù)> (After)除了顯示符合范本樣式的那一行之外冲九,并顯示該行之后的內(nèi)容
 -B (Before)在顯示符合范本樣式的那一行之外谤草,并顯示該行之前的內(nèi)容
-C<顯示列數(shù)> 除了顯示符合范本樣式的那一列之外跟束,并顯示該列之前后的內(nèi)容
-i 忽略字符大小寫。

示例:

[sre@CDVM-213017031 ~]$ cat what_cpu_do.sh | grep "process of" -A 5 -B 5 (等效于 cat what_cpu_do.sh | grep "jstack" -C 5 )
 echo "checking pid($pid)"
fi

if test -z "$(jps -l | cut -d '' -f 1 | grep $pid)"
then
 echo "process of $pid is not exists"
 exit
fi

lineNum=$2
if test -z $lineNum
  • tail 輸出文件中的尾部?jī)?nèi)容丑孩,默認(rèn)在屏幕上顯示指定文件的末尾10行冀宴。
    常用選項(xiàng):
-f:顯示文件最新追加的內(nèi)容(查看服務(wù)器上動(dòng)態(tài)刷新的日志時(shí)經(jīng)常使用)。
-n:輸出文件的尾部N(N位數(shù)字)行內(nèi)容

示例:

tail -100f /var/wd/logs/owl/owl.20170508.log 顯示文件/var/wd/logs/owl/owl.20170508.log中的后100行温学,并且當(dāng)文件有更新顯示最新的內(nèi)容略贮。
  • head 顯示文件的開頭的內(nèi)容。在默認(rèn)情況下仗岖,head命令顯示文件的頭10行內(nèi)容逃延。
    常用選項(xiàng):
-n<數(shù)字>:指定顯示頭部?jī)?nèi)容的行數(shù)
-c<字符數(shù)>:指定顯示頭部?jī)?nèi)容的字符數(shù)
-v:總是顯示文件名的頭信息
-q:不顯示文件名的頭信息
  • more 一個(gè)基于vi編輯器文本過濾器,它以全屏幕的方式按頁顯示文本文件的內(nèi)容轧拄,支持vi中的關(guān)鍵字定位操作揽祥。more名單中內(nèi)置了若干快捷鍵,常用的有H(獲得幫助信息)檩电,Enter(向下翻滾一行)拄丰,空格(向下滾動(dòng)一屏),Q(退出命令)俐末。
    常用選項(xiàng):
Space鍵:顯示文本的下一屏內(nèi)容
Enter鍵:只顯示文本的下一行內(nèi)容
斜線符/:接著輸入一個(gè)模式料按,可以在文本中尋找下一個(gè)相匹配的模式
h鍵:顯示幫助屏,該屏上有相關(guān)的幫助信息
b鍵:顯示上一屏內(nèi)容
q鍵:退出rnore命令
  • less 與more十分相似卓箫,都可以用來瀏覽文字檔案的內(nèi)容载矿,不同的是less命令允許用戶向前或向后瀏覽文件,而more命令只能向前瀏覽烹卒。用less命令顯示文件時(shí)闷盔,用PageUp鍵向上翻頁,用PageDown鍵向下翻頁旅急。要退出less程序馁筐,應(yīng)按q鍵。

  • wc 用來計(jì)算數(shù)字坠非。利用wc指令我們可以計(jì)算文件的Byte數(shù)、字?jǐn)?shù)或是列數(shù)果正。
    常用選項(xiàng):

-c:只顯示Bytes數(shù)
-l:只顯示列數(shù)
-w:只顯示字?jǐn)?shù)
  • tr 對(duì)來自標(biāo)準(zhǔn)輸入的字符進(jìn)行替換炎码、壓縮和刪除。它可以將一組字符變成另一組字符秋泳,經(jīng)常用來編寫優(yōu)美的單行命令潦闲,作用很強(qiáng)大。
    常用選項(xiàng):
-c:取代所有不屬于第一字符集的字符
-d:刪除所有屬于第一字符集的字符
-s:把連續(xù)重復(fù)的字符以單獨(dú)一個(gè)字符表示

示例:

echo "HELLO WORLD" | tr 'A-Z' 'a-z' hello world  將輸入字符由大寫轉(zhuǎn)換為小寫
hello world
echo "hello 123 world 456" | tr -d '0-9' hello world 使用tr刪除字符
hello world
  • sort 將文件進(jìn)行排序迫皱,并將排序結(jié)果標(biāo)準(zhǔn)輸出歉闰。它可以從特定的文件辖众,也可以從stdin中獲取輸入。
    常用選項(xiàng):
-d:排序時(shí)和敬,處理英文字母凹炸、數(shù)字及空格字符外,忽略其他的字符
-f:排序時(shí)昼弟,將小寫字母視為大寫字母
-k:  來指定列數(shù)
-r:以相反的順序來排序來自

示例:

[sre@CDVM-213017031 ~]$ ps -mp 25211 -o THREAD,tid,time | sort -r -k 2
USER     %CPU PRI SCNT WCHAN  USER SYSTEM   TID     TIME
sre       8.8   -    - -         -      -     - 4-04:00:56
sre       5.4  19    - futex_    -      - 25485 2-13:59:26
sre       0.8  19    - futex_    -      - 16755 00:00:24
sre       0.1  19    - ep_pol    -      - 25663 01:31:00
sre       0.1  19    - ep_pol    -      - 25487 01:38:57
sre       0.1  19    - ep_pol    -      - 25486 01:38:52
sre       0.0  19    - skb_re    -      - 24586 00:00:00
sre       0.0  19    - poll_s    -      - 25678 00:44:56
sre       0.0  19    - poll_s    -      - 25676 00:00:00
sre       0.0  19    - poll_s    -      - 25213 00:00:01
sre       0.0  19    - futex_    -      -  7679 00:00:00
sre       0.0  19    - futex_    -      -  5952 00:00:00

上述命令功能:查看進(jìn)程(pid為25211)占用CPU資源最多的線程信息(根據(jù)CPU占用率倒序排列)啤它。

文件查找與比較

  • find 在指定目錄下查找文件。任何位于參數(shù)之前的字符串都將被視為欲查找的目錄名舱痘。如果使用該命令時(shí)变骡,不設(shè)置任何參數(shù),則find命令將在當(dāng)前目錄下查找子目錄與文件芭逝。并且將查找到的子目錄和文件全部進(jìn)行顯示塌碌。
    示例:
find /home -name "*.txt"  在/home目錄下查找以.txt結(jié)尾的文件名
find /home -iname "*.txt" 同上,但忽略大小寫
find /home ! -name "*.txt"  找出/home下不是以.txt結(jié)尾的文件
  • which 查找并顯示給定命令的絕對(duì)路徑旬盯,環(huán)境變量PATH中保存了查找命令時(shí)需要遍歷的目錄台妆。which指令會(huì)在環(huán)境變量$PATH設(shè)置的目錄里查找符合條件的文件。也就是說瓢捉,使用which命令频丘,就可以看到某個(gè)系統(tǒng)命令是否存在,以及執(zhí)行的到底是哪一個(gè)位置的命令泡态。
    示例:
[sre@CDVM-213017031 ~]$ which java
/usr/java/default/bin/java
[sre@CDVM-213017031 ~]$ which pwd
/bin/pwd
[sre@CDVM-213017031 ~]$ which python
/usr/bin/python
  • whereis 用來定位指令的二進(jìn)制程序搂漠、源代碼文件和man手冊(cè)頁等相關(guān)文件的路徑。
    和find相比某弦,whereis查找的速度非惩┨溃快,這是因?yàn)閘inux系統(tǒng)會(huì)將 系統(tǒng)內(nèi)的所有文件都記錄在一個(gè)數(shù)據(jù)庫文件中靶壮,當(dāng)使用whereis和下面即將介紹的locate時(shí)怔毛,會(huì)從數(shù)據(jù)庫中查找數(shù)據(jù),而不是像find命令那樣腾降,通 過遍歷硬盤來查找拣度,效率自然會(huì)很高。
    示例:
[sre@CDVM-213017031 ~]$ whereis python
python: /usr/bin/python /usr/bin/python2.6 /usr/lib/python2.6 /usr/lib64/python2.6 /usr/include/python2.6 /usr/share/man/man1/python.1.gz
[sre@CDVM-213017031 ~]$ whereis lua
lua: /usr/bin/lua /usr/lib64/lua /usr/share/lua /usr/share/man/man1/lua.1.gz
[sre@CDVM-213017031 ~]$ whereis java
java: /usr/bin/java
  • locate locate命令其實(shí)是find -name的另一種寫法螃壤,但是要比后者快得多抗果,原因在于它不搜索具體目錄,而是搜索一個(gè)數(shù)據(jù)庫/var/lib/locatedb奸晴,這個(gè)數(shù)據(jù)庫中含有本地所有文件信息冤馏。Linux系統(tǒng)自動(dòng)創(chuàng)建這個(gè)數(shù)據(jù)庫,并且自動(dòng)更新寄啼,由于更新非實(shí)時(shí)逮光,所以使用locate命令查不到最新變動(dòng)過的文件代箭。為了避免這種情況,可以在使用locate之前涕刚,先使用updatedb命令嗡综,手動(dòng)更新數(shù)據(jù)庫。
    示例:
locate /etc/sh  搜索etc目錄下所有以sh開頭的文件
locate -i ~/m 搜索用戶主目錄下副女,所有以m開頭的文件蛤高,并且忽略大小寫

文件壓縮與解壓

  • tar tar命令可以為linux的文件和目錄創(chuàng)建檔案。
    常用選項(xiàng):
-c:建立新的備份文件
-z:通過gzip指令處理備份文件
-v:顯示指令執(zhí)行過程
-f:指定備份文件
-x:從備份文件中還原文件

示例:

tar -cvf log.tar log2012.log 僅打包碑幅,不壓縮戴陡!
tar -zcvf log.tar.gz log2012.log 打包后,以 gzip 壓縮 
tar -jcvf log.tar.bz2 log2012.log 打包后沟涨,以 bzip2 壓縮
  • zip 可以用來解壓縮文件恤批,或者對(duì)文件進(jìn)行打包操作。

  • unzip 加壓縮.zip包裹赴,不在詳述喜庞。
    另外,關(guān)于壓縮棋返、解壓縮命令還有g(shù)zip延都、gunzip、bzip2睛竣、bunzip2等晰房,讀者如果感興趣,可自行搜索了解射沟。

進(jìn)程管理

  • ps 用于報(bào)告當(dāng)前系統(tǒng)的進(jìn)程狀態(tài)殊者,是最基本同時(shí)也是非常強(qiáng)大的進(jìn)程查看命令,使用該命令可以確定有哪些進(jìn)程正在運(yùn)行和運(yùn)行的狀態(tài)验夯、進(jìn)程是否結(jié)束猖吴、進(jìn)程有沒有僵死、哪些進(jìn)程占用了過多的資源等等挥转,總之大部分信息都是可以通過執(zhí)行該命令得到的海蔽。
    由于ps命令能夠支持的系統(tǒng)類型相當(dāng)?shù)亩啵赃x項(xiàng)多的離譜绑谣!我主要使用:
[sre@CDVM-213017031 ~]$ ps aux | grep "sudo"
sre       9524  0.0  0.0 103252   832 pts/1    S+   16:16   0:00 grep sudo
root     19503  0.0  0.0 189992  2996 pts/1    S    13:37   0:00 sudo su - sre
root     22710  0.0  0.0 189992  3000 pts/0    S    11:42   0:00 sudo su - sre

以及上文提到的:

ps -mp 25211 -o THREAD,tid,time | sort -r -k 2
  • kill 命令用來刪除執(zhí)行中的程序或工作准潭。kill可將指定的信息送至程序。預(yù)設(shè)的信息為SIGTERM(15),可將指定程序終止域仇。若仍無法終止該程序,可使用SIGKILL(9)信息嘗試強(qiáng)制刪除程序寺擂。程序或工作的編號(hào)可利用ps指令或job指令查看暇务。
    常用選項(xiàng):
kill -9 強(qiáng)制終止進(jìn)程
kill -15 正常終止進(jìn)程

具有相似功能的命令泼掠,還有killall、pkill等垦细。

  • watch 以周期性的方式執(zhí)行給定的指令择镇,指令輸出以全屏方式顯示。
    常用選項(xiàng):
-n:指定指令執(zhí)行的間隔時(shí)間(秒)
-d:高亮顯示指令輸出信息不同之處
-t:不顯示標(biāo)題括改。

示例:

watch ss
Every 2.0s: ss                                                                                                                                               Mon May  8 16:23:58 2017

State      Recv-Q Send-Q      Local Address:Port          Peer Address:Port
ESTAB      0      0         ::ffff:10.213.17.31:45473      ::ffff:10.213.18.49:10994
ESTAB      0      0         ::ffff:10.213.17.31:30046     ::ffff:10.209.19.143:10117
ESTAB      0      0         ::ffff:10.213.17.31:11233     ::ffff:10.209.26.154:10118
ESTAB      0      0         ::ffff:10.213.17.31:55524      ::ffff:10.209.33.69:eforward
ESTAB      0      0         ::ffff:10.213.17.31:56865      ::ffff:10.209.18.34:10218
ESTAB      0      0         ::ffff:10.213.17.31:25608     ::ffff:10.209.19.144:10117
ESTAB      0      0         ::ffff:10.213.17.31:19649      ::ffff:10.209.18.64:10620
  • service service命令是Redhat Linux兼容的發(fā)行版中用來控制系統(tǒng)服務(wù)的實(shí)用工具腻豌,它以啟動(dòng)、停止嘱能、重新啟動(dòng)和關(guān)閉系統(tǒng)服務(wù)吝梅,還可以顯示所有系統(tǒng)服務(wù)的當(dāng)前狀態(tài)。
    服務(wù)名:自動(dòng)要控制的服務(wù)名惹骂,即/etc/init.d目錄下的腳本文件名
    示例:
service mysqld status 
mysqld (pid 1638) 正在運(yùn)行... 
service mysqld restart 
停止 MySQL: [ 確定 ] 
啟動(dòng) MySQL: [ 確定 ]

網(wǎng)絡(luò)操作

  • curl curl命令是一個(gè)利用URL規(guī)則在命令行下工作的文件傳輸工具苏携。它支持文件的上傳和下載,所以是綜合傳輸工具对粪,但按傳統(tǒng)右冻,習(xí)慣稱curl為下載工具。
  • wget wget命令用來從指定的URL下載文件著拭。
    示例:
wget http://www.yourserverip.net/testfile.zip 下載文件
  • ping 用來測(cè)試主機(jī)之間網(wǎng)絡(luò)的連通性纱扭。
[sre@CDVM-213017031 ~]$ ping www.wanda.cn
PING www.wanda.cn (10.199.8.10) 56(84) bytes of data.
64 bytes from 10.199.8.10: icmp_seq=1 ttl=244 time=50.8 ms
64 bytes from 10.199.8.10: icmp_seq=2 ttl=244 time=51.8 ms
64 bytes from 10.199.8.10: icmp_seq=3 ttl=244 time=51.0 ms
64 bytes from 10.199.8.10: icmp_seq=4 ttl=244 time=53.3 ms
  • telnet 用于登錄遠(yuǎn)程主機(jī),對(duì)遠(yuǎn)程主機(jī)進(jìn)行管理儡遮。我常用它來檢測(cè)端口乳蛾。
    示例:
[sre@CDVM-213017031 ~]$ telnet 10.213.17.32 10000
Trying 10.213.17.32...
telnet: connect to address 10.213.17.32: Connection refused
[sre@CDVM-213017031 ~]$ telnet 10.213.17.32 10062
Trying 10.213.17.32...
Connected to 10.213.17.32.
Escape character is '^]'.
^C
Connection closed by foreign host.
  • nslookup 常用域名查詢工具他去,就是查DNS信息用的命令饱岸。
    示例:
[sre@CDVM-213017031 ~]$ nslookup www.baidu.com
Server:     10.209.11.13
Address:    10.209.11.13#53

Non-authoritative answer:
www.baidu.com   canonical name = www.a.shifen.com.
Name:   www.a.shifen.com
Address: 111.206.223.205
Name:   www.a.shifen.com
Address: 111.206.223.206
  • ss 用來顯示處于活動(dòng)狀態(tài)的套接字信息。ss命令可以用來獲取socket統(tǒng)計(jì)信息慨绳,它可以顯示和netstat類似的內(nèi)容爱榔。但ss的優(yōu)勢(shì)在于它能夠顯示更多更詳細(xì)的有關(guān)TCP和連接狀態(tài)的信息被环,而且比netstat更快速更高效。
    常用選項(xiàng):
-n:不解析服務(wù)名稱详幽,以數(shù)字方式顯示
-a:顯示所有的套接字
 -l:顯示處于監(jiān)聽狀態(tài)的套接字
-m:顯示套接字的內(nèi)存使用情況
-p:顯示使用套接字的進(jìn)程信息
-i:顯示內(nèi)部的TCP信息筛欢;
-t:只顯示tcp套接字
-u:只顯示udp套接字

示例:

[sre@CDVM-213017031 ~]$ ss -t
State       Recv-Q Send-Q                                                        Local Address:Port                                                            Peer Address:Port
ESTAB       0      0                                                       ::ffff:10.213.17.31:45473                                                    ::ffff:10.213.18.49:10994
ESTAB       0      0                                                       ::ffff:10.213.17.31:14073                                                    ::ffff:10.209.18.33:10620
ESTAB       0      0                                                       ::ffff:10.213.17.31:30046                                                   ::ffff:10.209.19.143:10117
ESTAB       0      0                                                       ::ffff:10.213.17.31:11233                                                   ::ffff:10.209.26.154:10118
ESTAB       0      0                                                       ::ffff:10.213.17.31:20347                                                    ::ffff:10.209.18.64:10620
ESTAB       0      0                                                       ::ffff:10.213.17.31:41799                                                    ::ffff:10.209.18.34:10620
ESTAB       0      0                                                       ::ffff:10.213.17.31:39386                                                    ::ffff:10.209.33.70:10434
ESTAB       0      0                                                       ::ffff:10.213.17.31:55524                                                    ::ffff:10.209.33.69:eforward
ESTAB       0      0                                                       ::ffff:10.213.17.31:56865                                                    ::ffff:10.209.18.34:10218
  • nc nc是netcat命令的簡(jiǎn)稱,都是用來設(shè)置路由器唇聘。我常用它來上傳文件到服務(wù)器版姑,具體可參考 如何優(yōu)雅的實(shí)現(xiàn)文件上傳或下載

  • ifconfig 用于配置和顯示Linux內(nèi)核中網(wǎng)絡(luò)接口的網(wǎng)絡(luò)參數(shù)。用ifconfig命令配置的網(wǎng)卡信息迟郎,在網(wǎng)卡重啟后機(jī)器重啟后剥险,配置就不存在。要想將上述的配置信息永遠(yuǎn)的存的電腦里宪肖,那就要修改網(wǎng)卡的配置文件了表制。
    示例:

[sre@CDVM-213017031 ~]$ ifconfig
eth0      Link encap:Ethernet  HWaddr FA:16:3E:7E:55:D1
          inet addr:10.213.17.31  Bcast:10.213.23.255  Mask:255.255.248.0
          inet6 addr: fe80::f816:3eff:fe7e:55d1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:31875618113 errors:0 dropped:0 overruns:0 frame:0
          TX packets:28230970908 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:13949365053248 (12.6 TiB)  TX bytes:5198483437608 (4.7 TiB)

ifconfig eth0 down 關(guān)閉網(wǎng)卡eth0
ifconfig eht0 up 啟動(dòng)網(wǎng)卡eth0

系統(tǒng)管理

  • su 用于切換當(dāng)前用戶身份到其他用戶身份健爬,變更時(shí)須輸入所要變更的用戶帳號(hào)與密碼。
  • sudo 以其他身份來執(zhí)行命令么介,預(yù)設(shè)的身份為root娜遵。在/etc/sudoers中設(shè)置了可執(zhí)行sudo指令的用戶。
  • du 查看使用空間壤短。
    常用選項(xiàng):
-a 顯示目錄中個(gè)別文件的大小
-b 顯示目錄或文件大小時(shí)设拟,以byte為單位
 -c 除了顯示個(gè)別目錄或文件的大小外,同時(shí)也顯示所有目錄或文件的總和
-k 以KB(1024bytes)為單位輸出
-m 以MB為單位輸出
-s 僅顯示總計(jì)久脯,只列出最后加總的值
-h 以K纳胧,M,G為單位桶现,提高信息的可讀性

示例:

[sre@CDVM-213017031 ~]$ du -h *
4.0K    a.sh
1.7G    catalina.out
317M    collect_sample
632K    fix/plugin
372K    fix/boot
8.0K    fix/script
41G fix/log
6.1M    fix/lib

性能監(jiān)測(cè)與優(yōu)化

  • top 可以實(shí)時(shí)動(dòng)態(tài)地查看系統(tǒng)的整體運(yùn)行情況躲雅,是一個(gè)綜合了多方信息監(jiān)測(cè)系統(tǒng)性能和運(yùn)行信息的實(shí)用工具。通過top命令所提供的互動(dòng)式界面骡和,用熱鍵可以管理相赁。
    常用選項(xiàng):
 -d:屏幕刷新間隔時(shí)間
-u<用戶名>:指定用戶名
-p<進(jìn)程號(hào)>:指定進(jìn)程
-n<次數(shù)>:循環(huán)顯示的次數(shù)

交互命令:

1:顯示全部CPU信息
k:終止一個(gè)進(jìn)程
 i:忽略閑置和僵死進(jìn)程,這是一個(gè)開關(guān)式命令
q:退出程序
o或者O:改變顯示項(xiàng)目的順序
m:切換顯示內(nèi)存信息
t:切換顯示進(jìn)程和CPU狀態(tài)信息
c:切換顯示命令名稱和完整命令行
 M:根據(jù)駐留內(nèi)存大小進(jìn)行排序
P:根據(jù)CPU使用百分比大小進(jìn)行排序
T:根據(jù)時(shí)間/累計(jì)時(shí)間進(jìn)行排序

示例:

 top -p 25211
top - 17:14:06 up 559 days,  4:54,  2 users,  load average: 0.06, 0.01, 0.00
Tasks:   1 total,   0 running,   1 sleeping,   0 stopped,   0 zombie
Cpu0  :  0.0%us,  0.3%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu1  :  0.3%us,  0.3%sy,  0.0%ni, 99.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu2  :  0.3%us,  0.3%sy,  0.0%ni, 99.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu3  :  6.8%us,  3.4%sy,  0.0%ni, 89.8%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   4054588k total,  3916560k used,   138028k free,   114260k buffers
Swap:        0k total,        0k used,        0k free,   730196k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
25211 sre       20   0 4624m 1.9g   9m S 12.7 49.7   6014:18 java

上面是執(zhí)行 top -p 25211后慰于,單擊“1”后的效果钮科。

  • free 顯示當(dāng)前系統(tǒng)未使用的和已使用的內(nèi)存數(shù)目,還可以顯示被內(nèi)核使用的內(nèi)存緩沖區(qū)婆赠。
    常用選項(xiàng):
-b:以Byte為單位顯示內(nèi)存使用情況
-k:以KB為單位顯示內(nèi)存使用情況
-m:以MB為單位顯示內(nèi)存使用情況
-t:顯示內(nèi)存總和列

示例:

[sre@CDVM-213017031 ~]$ free -m
             total       used       free     shared    buffers     cached
Mem:          3959       3825        134          0        111        713
-/+ buffers/cache:       3000        959
Swap:            0          0          0
  • sar Linux下系統(tǒng)運(yùn)行狀態(tài)統(tǒng)計(jì)工具绵脯,它將指定的操作系統(tǒng)狀態(tài)計(jì)數(shù)器顯示到標(biāo)準(zhǔn)輸出設(shè)備。sar工具將對(duì)系統(tǒng)當(dāng)前的狀態(tài)進(jìn)行取樣休里,然后通過計(jì)算數(shù)據(jù)和比例來表達(dá)系統(tǒng)的當(dāng)前運(yùn)行狀態(tài)蛆挫。它的特點(diǎn)是可以連續(xù)對(duì)系統(tǒng)取樣,獲得大量的取樣數(shù)據(jù)妙黍。取樣數(shù)據(jù)和分析的結(jié)果都可以存入文件悴侵,使用它時(shí)消耗的系統(tǒng)資源很小。我常用它查看網(wǎng)卡流量拭嫁,具體請(qǐng)參考 Linux查看實(shí)時(shí)網(wǎng)卡流量的幾種方式可免。

  • lsof lsof命令用于查看你進(jìn)程開打的文件,打開文件的進(jìn)程做粤,進(jìn)程打開的端口(TCP浇借、UDP)。
    常用選項(xiàng):

-a:列出打開文件存在的進(jìn)程
-c<進(jìn)程名>:列出指定進(jìn)程所打開的文件
-p<進(jìn)程號(hào)>:列出指定進(jìn)程號(hào)所打開的文件

示例:

[sre@CDVM-213017031 ~]$ lsof | wc -l
1278
[sre@CDVM-213017031 ~]$ lsof | grep 10117 | wc -l
9
[sre@CDVM-213017031 ~]$ lsof | grep 10117
java        402          sre  143u     IPv6         1879294557        0t0        TCP CDVM-213017031:63449->10.209.19.143:10117 (ESTABLISHED)
java        402          sre  144u     IPv6         1879294563        0t0        TCP CDVM-213017031:63450->10.209.19.143:10117 (ESTABLISHED)
java        402          sre  145u     IPv6         1879294564        0t0        TCP CDVM-213017031:25608->10.209.19.144:10117 (ESTABLISHED)
java      11538          sre   43u     IPv6          720753145        0t0        TCP CDVM-213017031:30045->10.209.19.143:10117 (ESTABLISHED)
java      11538          sre   44u     IPv6          720753147        0t0        TCP CDVM-213017031:30046->10.209.19.143:10117 (ESTABLISHED)
java      11538          sre   45u     IPv6          720762177        0t0        TCP CDVM-213017031:47599->10.209.19.144:10117 (ESTABLISHED)
java      25211          sre  267u     IPv6         1855869958        0t0        TCP CDVM-213017031:54013->10.209.19.143:10117 (ESTABLISHED)
java      25211          sre  271u     IPv6         1855869959        0t0        TCP CDVM-213017031:16169->10.209.19.144:10117 (ESTABLISHED)
java      25211          sre  294u     IPv6         1855870096        0t0        TCP CDVM-213017031:54030->10.209.19.143:10117 (ESTABLISHED)

當(dāng)程序報(bào)too many open files 異常時(shí)怕品,可以使用它查看是什么進(jìn)程打開了太多的文件妇垢,主要查看是不是文件(包括網(wǎng)絡(luò)鏈接)打開后是不是沒有關(guān)閉,我之前的一個(gè)項(xiàng)目,就遇到了這種問題修己。

  • ulimit 用來限制系統(tǒng)用戶對(duì)shell資源的訪問恢总。支持以下各種類型的限制:所創(chuàng)建的內(nèi)核文件的大小、進(jìn)程數(shù)據(jù)塊的大小睬愤、Shell 進(jìn)程創(chuàng)建文件的大小、內(nèi)存鎖住的大小纹安、常駐內(nèi)存集的大小尤辱、打開文件描述符的數(shù)量、分配堆棧的最大大小厢岂、CPU 時(shí)間光督、單個(gè)用戶的最大線程數(shù)、Shell 進(jìn)程所能使用的最大虛擬內(nèi)存塔粒。同時(shí)结借,它支持硬資源和軟資源的限制。
    常用選項(xiàng):
-a:顯示目前資源限制的設(shè)定
-n <文件數(shù)目>:指定同一時(shí)間最多可開啟的文件數(shù)
-u <程序數(shù)目>:用戶最多可開啟的程序數(shù)目

示例:

[sre@CDVM-213017031 ~]$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 31517
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 409600
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 65535
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
  • vmstat 顯示虛擬內(nèi)存狀態(tài)(“Viryual Memor Statics”)卒茬,但是它可以報(bào)告關(guān)于進(jìn)程船老、內(nèi)存、I/O等系統(tǒng)整體運(yùn)行狀態(tài)圃酵。
    常用選項(xiàng):
-a:顯示活動(dòng)內(nèi)頁
-f:顯示啟動(dòng)后創(chuàng)建的進(jìn)程總數(shù)
-m:顯示slab信息 
-n:頭信息僅顯示一次
-s:以表格方式顯示事件計(jì)數(shù)器和內(nèi)存狀態(tài)
-d:報(bào)告磁盤狀態(tài)
-p:顯示指定的硬盤分區(qū)狀態(tài)
-S:輸出信息的單位柳畔。

示例:

[sre@CDVM-213017031 ~]$ vmstat 2
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 126316 114292 736992    0    0     1     4    0    0  1  1 98  0  0
 1  0      0 126432 114292 736992    0    0     0     0 2289 4432  2  1 97  0  0
 0  0      0 126480 114292 736992    0    0     0     0 2572 5132  2  1 97  0  0
  • iostat 監(jiān)視系統(tǒng)輸入輸出設(shè)備和CPU的使用情況。它的特點(diǎn)是匯報(bào)磁盤活動(dòng)統(tǒng)計(jì)情況郭赐,同時(shí)也會(huì)匯報(bào)出CPU使用情況薪韩。同vmstat一樣,iostat也有一個(gè)弱點(diǎn)捌锭,就是它不能對(duì)某個(gè)進(jìn)程進(jìn)行深入分析俘陷,僅對(duì)系統(tǒng)的整體情況進(jìn)行分析。
    常用選項(xiàng):
-c:僅顯示CPU使用情況
-d:僅顯示設(shè)備利用率
 -k:顯示狀態(tài)以千字節(jié)每秒為單位观谦,而不使用塊每秒
-m:顯示狀態(tài)以兆字節(jié)每秒為單位
-x:顯示擴(kuò)展?fàn)顟B(tài)

示例:

[sre@CDVM-213017031 ~]$ iostat -x 1 2
Linux 2.6.32-431.el6.x86_64 (CDVM-213017031)    05/08/2017  _x86_64_    (4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.94    0.00    0.53    0.10    0.02   98.41

Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
vda               0.01     2.69    0.11    1.30     9.02    32.13    29.09     0.05   34.90   5.07   0.72

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           2.77    0.00    2.27    0.00    0.25   94.71

Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
vda               0.00     1.00    0.00    3.00     0.00    32.00    10.67     0.01    4.00   1.33   0.40

Java常用工具

  • java 可用來執(zhí)行jar包拉盾。
    示例:
java -jar test.jar
  • jps jps是jdk提供的一個(gè)查看當(dāng)前Java進(jìn)程的小工具, 可以看做是JavaVirtual Machine Process Status Tool的縮寫坎匿。非常簡(jiǎn)單實(shí)用盾剩。
    常用選項(xiàng):
-l:輸出完全的包名,應(yīng)用主類名替蔬,jar的完全路徑名 
-v:輸出jvm參數(shù) 

示例:

[sre@CDVM-213017031 ~]$ jps -l
402 org.apache.flume.node.Application
13466 sun.tools.jps.Jps
11538 com.wanda.monitor.server.MonitorStartup
25211 org.apache.catalina.startup.Bootstrap
  • jmap 打印出某個(gè)java進(jìn)程內(nèi)存中所有‘對(duì)象’的情況告私。
    常用選項(xiàng):
-dump:[live,]format=b,file=<filename> 使用hprof二進(jìn)制形式,輸出jvm的heap內(nèi)容到文件=. live子選項(xiàng)是可選的,假如指定live選項(xiàng),那么只輸出活的對(duì)象到文件. 
-heap 打印heap的概要信息承桥,GC使用的算法驻粟,heap的配置及wise heap的使用情況.
-histo[:live] 打印每個(gè)class的實(shí)例數(shù)目,內(nèi)存占用,類全名信息. VM的內(nèi)部類名字開頭會(huì)加上前綴”*”. 如果live子參數(shù)加上后,只統(tǒng)計(jì)活的對(duì)象數(shù)量. 

示例1,查看進(jìn)程內(nèi)存信息:

[sre@CDVM-213017031 ~]$ jmap -heap 25211
Attaching to process ID 25211, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 24.65-b04

using parallel threads in the new generation.
using thread-local object allocation.
Concurrent Mark-Sweep GC

Heap Configuration:
   MinHeapFreeRatio = 40
   MaxHeapFreeRatio = 70
   MaxHeapSize      = 2147483648 (2048.0MB)
   NewSize          = 348913664 (332.75MB)
   MaxNewSize       = 348913664 (332.75MB)
   OldSize          = 697892864 (665.5625MB)
   NewRatio         = 2
   SurvivorRatio    = 8
...

示例2,查看包c(diǎn)om.wanda中的類創(chuàng)建的對(duì)象占用內(nèi)存信息:

[sre@CDVM-213017031 ~]$ jmap -histo 25211 | grep "com.wanda" | head -5
num     #instances         #bytes  class name
----------------------------------------------
  46:          4167         500040  com.wanda.arch.owl.domain.monitorelement.MIndicator
  63:          8192         327680  com.wanda.fix.org.jboss.netty.util.internal.ConcurrentIdentityHashMap$Segment
  73:          8192         262192  [Lcom.wanda.fix.org.jboss.netty.util.internal.ConcurrentIdentityHashMap$HashEntry;
 102:          1428         148512  com.wanda.arch.owl.domain.monitorelement.LComponent
 138:          2048          98304  com.wanda.fix.org.jboss.netty.util.internal.ConcurrentIdentityHashMap
  • jstat Jstat用于監(jiān)控基于HotSpot的JVM蜀撑,對(duì)其堆的使用情況進(jìn)行實(shí)時(shí)的命令行的統(tǒng)計(jì)挤巡,使用jstat我們可以對(duì)指定的JVM做如下監(jiān)控:
    類的加載及卸載情況,查看新生代酷麦、老生代及持久代的容量及使用情況矿卑,查看新生代、老生代及持久代的垃圾收集情況沃饶,包括垃圾回收的次數(shù)及垃圾回收所占用的時(shí)間母廷,查看新生代中Eden區(qū)及Survior區(qū)中容量及分配情況等。
    常用選項(xiàng):
-gcutil 用于查看新生代糊肤、老生代及持代垃圾收集的情況
-class 用于查看類加載情況的統(tǒng)計(jì)

示例:

[sre@CDVM-213017031 ~]$ jstat -gcutil 25211 5000 2
  S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT
  0.00   4.82  82.82  58.15  60.00 197263 2435.605    72    1.186 2436.791
  5.36   0.00  28.22  58.16  60.00 197264 2435.620    72    1.186 2436.806

說明:
S0  Heap上的 Survivor space 0 區(qū)已使用空間的百分比
S1  Heap上的 Survivor space 1 區(qū)已使用空間的百分比
E   Heap上的 Eden space 區(qū)已使用空間的百分比
O   Heap上的 Old space 區(qū)已使用空間的百分比
P   Perm space 區(qū)已使用空間的百分比
YGC 從應(yīng)用程序啟動(dòng)到采樣時(shí)發(fā)生 Young GC 的次數(shù)
YGCT    從應(yīng)用程序啟動(dòng)到采樣時(shí) Young GC 所用的時(shí)間(單位秒)
FGC 從應(yīng)用程序啟動(dòng)到采樣時(shí)發(fā)生 Full GC 的次數(shù)
FGCT    從應(yīng)用程序啟動(dòng)到采樣時(shí) Full GC 所用的時(shí)間(單位秒)
GCT 從應(yīng)用程序啟動(dòng)到采樣時(shí)用于垃圾回收的總時(shí)間(單位秒)琴昆,它的值等于YGC+FGC
  • jstack 用于打印出給定的java進(jìn)程ID或core file或遠(yuǎn)程調(diào)試服務(wù)的Java堆棧信息。
    示例:
jstack 25211 > 25211.txt  將當(dāng)前堆棧信息輸出到文件馆揉。

以上就是我常用的Linux命令业舍,可能有一些常用的一時(shí)沒有想到,等到想到時(shí)再補(bǔ)充進(jìn)來吧升酣。
另外舷暮,文中 Java常用工具 中提到的幾個(gè)命令,尤其重要拗踢,尤其常用脚牍,特別是當(dāng)你的程序上線以后,它能方便而快速的幫你定位問題巢墅,解決問題诸狭。

相關(guān)閱讀:


本文首發(fā)在 劉振鋒的簡(jiǎn)書博客 原文地址為《Java程序員最常用的Linux命令》轉(zhuǎn)載請(qǐng)注明君纫!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末驯遇,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子蓄髓,更是在濱河造成了極大的恐慌叉庐,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件会喝,死亡現(xiàn)場(chǎng)離奇詭異陡叠,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)肢执,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門枉阵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人预茄,你說我怎么就攤上這事兴溜。” “怎么了?”我有些...
    開封第一講書人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵拙徽,是天一觀的道長(zhǎng)刨沦。 經(jīng)常有香客問我,道長(zhǎng)膘怕,這世上最難降的妖魔是什么想诅? 我笑而不...
    開封第一講書人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮岛心,結(jié)果婚禮上侧蘸,老公的妹妹穿的比我還像新娘。我一直安慰自己鹉梨,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開白布穿稳。 她就那樣靜靜地躺著存皂,像睡著了一般。 火紅的嫁衣襯著肌膚如雪逢艘。 梳的紋絲不亂的頭發(fā)上旦袋,一...
    開封第一講書人閱讀 49,031評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音它改,去河邊找鬼疤孕。 笑死,一個(gè)胖子當(dāng)著我的面吹牛央拖,可吹牛的內(nèi)容都是我干的祭阀。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼鲜戒,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼专控!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起遏餐,我...
    開封第一講書人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤伦腐,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后失都,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體柏蘑,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年粹庞,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了咳焚。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡信粮,死狀恐怖黔攒,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤督惰,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布不傅,位于F島的核電站,受9級(jí)特大地震影響赏胚,放射性物質(zhì)發(fā)生泄漏访娶。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一觉阅、第九天 我趴在偏房一處隱蔽的房頂上張望崖疤。 院中可真熱鬧,春花似錦典勇、人聲如沸劫哼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽权烧。三九已至,卻和暖如春伤溉,著一層夾襖步出監(jiān)牢的瞬間般码,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工乱顾, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留板祝,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓走净,卻偏偏與公主長(zhǎng)得像券时,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子温技,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

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