Pages

Monday, 31 January 2022

解压bz2文件的命令

解压:bzip2 -d FileName.bz2 ,同时会删除该bz2文件。

压缩: bzip2 -z FileName.bz2 /path/to/some-dir

Sunday, 30 January 2022

goldendict

A feature-rich dictionary lookup program, supporting multiple dictionary formats (StarDict/Babylon/Lingvo/Dictd) and online dictionaries, featuring perfect article rendering with the complete markup, illustrations and other content retained, and allowing you to type in words without any accents or correct case.

http://goldendict.org/

introduction

GoldenDict is a feature-rich dictionary lookup program, supporting multiple dictionary formats (StarDict/Babylon/Lingvo/Dictd/AARD/MDict/SDict) and online dictionaries, featuring perfect article rendering with the complete markup, illustrations and other content retained, and allowing you to type in words without any accents or correct case.

Requirements

This code has been run and tested on Windows XP/Vista/7, Ubuntu Linux, Mac OS X.

External Deps

  • Make, GCC, Git
  • Qt framework. Minimum required version is 4.6. But Qt 4.7 or 4.8 is recommended.
  • Qt Creator IDE is recommended for development
  • Various libraries on Linux (png, zlib, etc)
  • On Mac and Windows all the libraries are already included in the repository

Installing External Deps on Ubuntu Linux

sudo apt-get install git pkg-config build-essential qt4-qmake \
     libvorbis-dev zlib1g-dev libhunspell-dev x11proto-record-dev \
     libqt4-dev libqtwebkit-dev libxtst-dev liblzo2-dev libbz2-dev \
     libao-dev libavutil-dev libavformat-dev libtiff5-dev libeb16-dev

Installing External Deps on Ubuntu Linux for Qt5

sudo apt-get install git pkg-config build-essential qt5-qmake \
     libvorbis-dev zlib1g-dev libhunspell-dev x11proto-record-dev \
     qtdeclarative5-dev libxtst-dev liblzo2-dev libbz2-dev \
     libao-dev libavutil-dev libavformat-dev libtiff5-dev libeb16-dev \
     libqt5webkit5-dev libqt5svg5-dev libqt5x11extras5-dev qttools5-dev \
     qttools5-dev-tools qtmultimedia5-dev libqt5multimedia5-plugins

How to build

First, clone this repository, e.g.:

git clone git://github.com/goldendict/goldendict.git

And then invoke qmake-qt4 and make:

cd goldendict && qmake-qt4 && make

In case when qmake-qt4 does not exist, try using qmake but make sure it is indeed from the Qt 4 installation. On the other hand, if you want to use qt5, make sure that qmake is from Qt 5 installation. If not, you can try finding it at a path like /usr/lib/x86_64-linux-gnu/qt5/bin/qmake. Alternatively, you might want to load goldendict.pro file from within Qt Creator, especially on Windows.

Note: To compile with libhunspell older than 1.5 pass "CONFIG+=old_hunspell" to qmake.

Building with Chinese conversion support

To add Chinese conversion support you need at first install libopencc-dev package:

sudo apt-get install libopencc-dev

Then pass "CONFIG+=chinese_conversion_support" to qmake

qmake "CONFIG+=chinese_conversion_support"

Building with Zim dictionaries support

To add Zim and Slob formats support you need at first install lzma-dev and zstd-dev packages:

sudo apt-get install liblzma-dev libzstd-dev

Then pass "CONFIG+=zim_support" to qmake

qmake "CONFIG+=zim_support"

Building without extra tiff handler

If you have problem building with libtiff5-dev package, you can pass "CONFIG+=no_extra_tiff_handler" to qmake in order to disable extra tiff support (without such extra support some b/w tiff images will not be displayed):

qmake "CONFIG+=no_extra_tiff_handler"

Building without Epwing format support

If you have problem building with libeb-dev package, you can pass "CONFIG+=no_epwing_support" to qmake in order to disable Epwing format support

qmake "CONFIG+=no_epwing_support"

Building without internal audio players

If you have problem building with FFmpeg/libao (for example, Ubuntu older than 12.04), you can pass "CONFIG+=no_ffmpeg_player" to qmake in order to disable FFmpeg+libao internal audio player back end:

qmake "CONFIG+=no_ffmpeg_player"

If you have problem building with Qt5 Multimedia or experience GStreamer run-time errors (for example, Ubuntu 14.04), you can pass "CONFIG+=no_qtmultimedia_player" to qmake in order to disable Qt Multimedia internal audio player back end:

qmake "CONFIG+=no_qtmultimedia_player"

NB: All additional settings for qmake that you need must be combined in one qmake launch, for example:

qmake "CONFIG+=zim_support" "CONFIG+=no_extra_tiff_handler" "CONFIG+=no_ffmpeg_player"

Then, invoke make clean before make because the setting change:

make clean && make

Building under Windows with MS Visual Studio

To build GoldenDict with Visual Studio take one of next library packs and unpack it to "winlibs/lib/msvc" folder in GoldenDict sources folder.
GoldenDict_libs_VS2013_x86_v4.7z - for MS Visual Studio 2013, 32 bit
GoldenDict_libs_VS2013_x64_v4.7z - for MS Visual Studio 2013, 64 bit
GoldenDict_libs_VS2015_x86_v4.7z - for MS Visual Studio 2015, 32 bit
GoldenDict_libs_VS2015_x64_v4.7z - for MS Visual Studio 2015, 64 bit

To create project files for Visual Studio you can pass "-tp vc" option to qmake.

Note: In Qt 5.6.0 and later the Webkit module was removed from official release builds. You should to build it from sources to compile GoldenDict.

Installation

Installation is an optional step since the built binary can be used as-is without installation. But you can properly install via:

make install

NB: Don't do that on Windows!

You can uninstall via:

make uninstall

Support

Users looking for support should file an issue in the official GoldenDict issue tracker, or even better: submit a pull request if you have a fix available. General questions should be asked on the official GoldenDict forum.


from https://github.com/goldendict/goldendict

tiny-encrypted-udp-tunnel

tiny singlefile encrypted udp tunnel/forwarder

keywords

encrypted,udp port forwarder,udp tunnel,openvpn being blocked,hide openvpn traffic

background

this program is originally designed for tunneling udp mode openvpn.(though it can be used for forwarding/tunneling any udp based protocol)

as we know,openvpn uses encryption for authentication and it encrypts the data it carrys.

however,it doesnt encrypt the handshake and control flow.in other words,it doenst aim at prevent itself from being detected by firewalls.

while openssh provided an easy-to-use tunnel feature,it doesnt support tunneling udp.ssh aslo doesnt prevent itself from being detected by firewalls.

this program allow you to do encrypted tunneling so that firewalls wont be able to know the existence of a openvpn connection.

has been stablely running for years on my server and router.

linux x64 and mips_ar71xx binaries have already been built.

usage

this program is essentially a port forwarder which allows you to use a key for encryption/decryption at either side.if you use a pair of them,one at local host,the other at remote host,they form a tunnel together.

forward -l [adressA:]portA -r [adressB:]portB [-a passwdA] [-b passwdB]

after being started,this program will forward all packet received from adressA:portA to adressB:portB. and all packet received back from adressB:portB will be forward back to adressA:portA. it can handle multiple udp connection.

basic option:

-l -r option are required. -l indicates the local adress&port, -r indicates the remote adress&port.

adressA and adressB are optional,if adressA or adressB are ommited,127.0.0.1 will be used by default.only ipv4 adress has been tested.

encryption option:

-a and -b are optional.

if -a is used ,all packet goes into adressA:portA will be decrypted by passwdA,and all packet goes out from adressA:portA will be encrypted by passwdA.if -a is omited,data goes into/out adressA:portA will not be encrypted/decrypted.

if -b is used ,all packet goes into adressB:portB will be decrypted by passwdB,and all packet goes out from adressB:portB will be encrypted by passwdB.if -b is omited,data goes into/out adressB:portB will not be encrypted/decrypted.

example

assume an udp mode openvpn server is running at 44.55.66.77:9000

run this at sever side at 44.55.66.77: ./forward -l0.0.0.0:9001 -r127.0.0.1:9000 -a'abcd' > /dev/null &

run this at client side: ./forward -l 127.0.0.1:9002 -r 44.55.66.77:9001 -b 'abcd' >/dev/null&

now,configure you openvpn client to connect to 127.0.0.1:9002

dataflow:

              client computer                                                           server computer (44.55.66.77)
+---------------------------------------------+                           +------------------------------------------------+
|   openvpn                                   |                           |                              openvpn server    |
|   client                      forwarder     |                           |    forwarder                    daemon         |
| +-----------+               +------------+  |                           |   +-----------+                +------------+  |
| |           |r              |            |r |                           |   |           |r               |            |  |
| |           |a             9|            |a |                           |  9|           |a              9|            |  |
| |           |n             0|            |n |                           |  0|           |n              0|            |  |
| |           |d <-------->  0|            |d<-----------------------------> 0|           |d  <-------->  0|            |  |
| |           |o(unencrypted)2|            |o |    (encrypted channel     |  1|           |o (unencrypted)0|            |  |
| |           |m              |            |m |      by key 'abcd')       |   |           |m               |            |  |
| +-----------+               +------------+  |                           |   +-----------+                +------------+  |
|                                             |                           |                                                |
+---------------------------------------------+                           +------------------------------------------------+

method of encryption

currently this program only use XOR for encrypting.mainly bc i use a mips_ar71xx router as client.router's cpu is slow,i personally need fast processing speed.and XOR is enough for fooling the firewall i have encountered.

nevertheless,you can easily integrate your own encrytion algotirhm into this program if you need stronger encryption.all you need to do is to rewrite 'void encrypt(char * input,int len,char *key)' and 'void decrypt(char * input,int len,char *key)'.

(a good way to implemnet AES encrytion might be using the lib in this repo https://github.com/kokke/tiny-AES128-C )


from  https://github.com/wangyu-/tiny-encrypted-udp-tunnel

中国各朝代顺序时间表

朝代起讫年代都城今地统治民族开国皇帝
三皇五帝
夏朝约公元前2146-1675年安邑山西夏县华夏族
商朝约公元前1675-1029年河南商丘华夏族
西周约公元前1029-771年镐京陕西西安华夏族周文王姬昌
东周春秋前770-476年洛邑河南洛阳华夏族周平王姬宜臼
战国前475-221年华夏族
秦朝前221-207年咸阳陕西咸阳华夏族始皇帝嬴政
西汉前206-公元8年长安陕西西安汉族高祖刘邦
新朝9-23年常安陕西西安汉族王莽
东汉25-220年洛阳河南洛阳汉族光武帝刘秀
三国曹魏220-265年洛阳河南洛阳汉族魏文帝曹丕
蜀汉221-263年成都四川成都汉族汉昭烈帝刘备
孙吴222-280年建业江苏南京汉族吴大帝孙权
西晋265-316洛阳河南洛阳汉族晋武帝司马炎
东晋317-420建康江苏南京汉族晋元帝司马睿
十六国304-439前赵(汉赵)304-318平阳山西临汾匈奴族高祖光文皇帝刘渊
319-329长安陕西西安
成汉306-347成都四川成都巴氐族太宗武皇帝李雄
前凉314-363姑臧甘肃武威汉族高祖明王张寔
后赵319-351襄国河北邢台羯族高祖明皇帝石勒
前燕337-370龙城辽宁朝阳鲜卑族太祖文明皇帝慕容皝
前秦351-394长安陕西西安氐族世宗明皇帝符健
后秦384-417长安陕西西安羌族太祖武昭皇帝姚苌
后燕384-407中山河北定州鲜卑族世祖成武皇帝慕容垂
西秦385-431苑川甘肃榆中鲜卑族烈祖宣烈王乞伏国仁
后凉386-403略阳甘肃平凉氐族太祖懿武皇帝吕光
南凉397-414西平青海西宁鲜卑族烈祖武王拓跋乌孤
南燕398-410广固山东益都鲜卑族世宗献武皇帝慕容德
西凉407-421酒泉甘肃酒泉汉族太祖昭武王李暠
胡夏407-431统万城陕西靖边匈奴世祖烈武皇帝赫连勃勃
北燕407-436和龙辽宁朝阳高句丽燕惠懿帝高云
北凉397-439张掖甘肃张掖卢水胡太祖武宣王沮渠蒙逊
*冉魏350-352邺城河北临漳汉族武悼天王冉闵
*西燕384-394长子山西长子鲜卑族济北王慕容泓
*西蜀(后蜀)405-413益州四川成都汉族谯纵
南北朝420-589南朝420-479建康江苏南京汉族宋武帝刘裕
479-502建康江苏南京汉族齐高帝萧道成
502-557建康江苏南京汉族梁武帝萧衍
557-589建康江苏南京汉族陈武帝陈霸先
北朝北魏386-534平城山西大同鲜卑族魏道武帝拓跋珪
洛阳河南洛阳
东魏534-550河北临漳鲜卑族魏孝静帝元善见
西魏535-556长安陕西西安鲜卑族魏文帝元宝炬
北齐550-577河北临漳鲜卑族齐文宣帝高洋
北周557-581长安陕西西安鲜卑族周孝闵帝宇文觉
隋朝581-618大兴陕西西安汉族隋文帝杨坚
唐朝618-907长安陕西西安汉族唐高祖李渊
五代十国后梁907-923河南开封汉族梁太祖朱晃
后唐923-936洛阳河南洛阳汉族唐庄宗李存勖
后晋936-947河南开封汉族晋高祖石敬瑭
后汉947-950河南开封汉族汉高祖刘暠
后周951-960河南开封汉族周太祖郭威
前蜀891-925成都四川成都汉族高祖王建
后蜀925-965成都四川成都汉族高祖孟知祥
杨吴892-937扬州江苏扬州汉族太祖杨行密
南唐937-975金陵江苏南京汉族烈祖李昪
吴越893-978杭州浙江杭州汉族武肃王钱鏐
闽国893-945长乐福建福州汉族太祖王审知
马楚896-951长沙湖南长沙汉族武穆王马殷
南汉905-971兴王府广东广州汉族高祖刘龑
南平907-963荆州湖北荆州汉族武信王高季兴
北汉951-979太原山西太原汉族世祖刘崇
北宋960-1127开封河南开封汉族太祖赵匡胤
南宋1127-1279临安浙江临安汉族高宗赵构
辽国907-1125皇都辽宁契丹族太祖耶律阿保机
大理937-1254太和城云南大理白族太祖段思平
西夏1032-1227兴庆府宁夏银川党项族景帝李元昊
1115-1234会宁阿城(黑)女真族金太祖阿骨打
中都北京
开封河南开封
元朝1206-1368大都北京蒙古族元世祖忽必烈
明朝1368-1644北京北京汉族明太祖朱元璋
清朝1616-1911北京北京满族清太宗皇太极
三皇五帝始,尧舜禹相传。夏商与西周,东周分两段。春秋和战国,一统秦两汉。三分魏蜀吴,二晋前后延。南北朝并立,隋唐五代传。宋元明清后,皇朝自此完。

根据最新的夏商周断代工程的结论,夏朝应是公元前2070年——公元前1600年,商朝是公元前1600年到公元前公元前1600年——公元前1046年,西周是公元前1046年——公元前771年。当然夏商周断代工程被人讽刺是“系统性编造历史”,“一群老混蛋最后找到的最大的证据是几片远古篱笆遗址”。

需要说明的是,汉高祖既非刘邦的庙号,也非谥号。作为汉朝开国皇帝,刘邦的庙号为“太祖”,谥号为“高皇帝”。但自汉武帝时代的史学家司马迁开始,称刘邦为“高祖”,后世多沿用之,因此史称“太祖高皇帝”、“汉高帝”或“汉高祖”。刘邦死于公元前195年,终年62岁(虚岁),葬于长陵,谥号高皇帝。

王莽既无庙号也无谥号,虽然自称新朝皇帝,但后来刘姓君主并没有对王莽进行追封,所以王莽也是封建王朝进行之中唯一一个没有追封庙号的君主,但王莽在位时为前代多个皇帝追封庙号,庙号也从他这一代开始泛滥。

“前秦”既然是在秦朝的后边,为什么不叫“后秦”而叫“前秦”?前秦的“前”是指其在十六国中是前,十六国里有两个秦,氐族苻健的前秦和羌族姚苌的后秦。后秦是反前秦建立的,也自称秦,故以前后秦区分。“前秦”是中国历史上第一个统一北方的非汉民族政权,且像孙功达《氐族研究》所称,还是“最早尝试由少数民族来统一全国”的历史政权。“先秦”通常指秦始皇建立的秦朝之前,特指春秋、战国时期。

北燕的第一代皇帝是高句丽人高云(高句丽王族,高云的祖父高和,是高句骊族群的分支。慕容宝收以为养子,赐姓慕容,因又名“慕容云”,称帝后恢复原姓高),实际的建立者是鲜卑化的汉人冯跋(太祖文成皇帝)。

慕容泓在前燕时期慕容俊在位时被封为济北王。慕容泓在位时虽未正式称燕王或燕帝,且原本有意归附慕容垂,惟建立年号已表示有独立于其他政权之意,故一般以慕容泓为西燕之建立者。

十六国时期(公元301年——公元460年 ),以匈奴、羯、鲜卑、羌及氐为主的五胡在中国北方范围内相继建立的国家,而北魏史学家崔鸿以其中十六个国家撰写了《十六国春秋》(五凉、四燕、三秦、二赵、一成、一夏),于是后世史学家称这时期为“五胡十六国”。实际上这一时期国家数目远多于16个。此外还有在当时具有较大影响的仇池、代国、高句丽、冉魏、西燕、吐谷浑、西蜀和翟魏等,实际远不止十六国。

北魏后来和汉族融合为汉族。命令鲜卑贵族改姓汉姓,与汉族大地主通婚,学习汉语,穿汉服等一系列改革措施。改说汉语,三十岁以上的人改口比较困难,可以暂缓,三十岁以下、现在朝廷做官的,一律要改说汉语,违反这一条就降职或者撤职;规定官民改穿汉人的服装;鼓励鲜卑人跟汉族的士族通婚,改用汉人的姓。北魏皇室本来姓拓跋,从那时候开始改姓为元。魏孝文帝名元宏,就是用了汉人的姓。魏孝文帝大刀阔斧的改革,使北魏政治、经济有了较大的发展,也进一步促进了鲜卑族和汉族的融合。

唐朝李世民一家祖籍在今河北省赵县,而李渊生于关陇,自称祖居关陇,是西凉王李皓的后代,借以提高自己的身份地位。其中,在历史上还有这一段插曲,本来西魏以前以山东地区的李姓一门为望族,这一地区有五大望族姓氏--王、卢、崔、李、郑,其中李姓又是鲜卑族中的一大姓氏。而自西魏宇文泰以关中为根据地建国,由此就硬性规定了关陇李姓为望族。有人据此认为李氏一门是破落贵族,还有人说李氏是鲜卑族大野部的姓氏。根据可考证的历史资料证明,唐太宗李世民的祖母、即唐高宗李渊的母亲独孤氏,是隋文帝的一名后妃的姐妹,属于非汉族,所以李世民和隋炀帝之间还有着姨表关系。唐太宗李世民的母亲窦氏也是鲜卑族人。而李渊一方的血统还没有足够的历史证据进行论证。历史上有以下几种说法:赐姓大野部、河南破落李姓、老子李耳的后代等。其中最有可能性的说法是李世民是受胡人影响比较深的汉族人。现在一般的习惯说法是,唐太宗李世民是各民族的混血儿,民族大融合的产物。

清朝(公元1616年~1911年),1616年(明万历四十四年,后金天命元年),清太祖努尔哈赤建国称汗,国号大金,史称“后金”。1636年(明崇祯九年,清崇德元年),清太宗皇太极称帝,改国号为“大清”,简称“清”,因此把皇太极作为清朝的开国皇帝。1644年清军入关,同年清顺治帝迁都北京,从此清朝取代明朝成为全国的统治者。

中国历史悠久,朝代更零星纷繁。每朝的创建者要首手办的第一件事就是确立国号(朝代名称)。国号就是一个国家的称号。《史记·五帝本纪》:“自黄帝至舜禹,皆同姓而异其国号,以章明德。”

宋代及宋代以前,大小国家的国号都是依照地望取的。春秋国家诸如晋、宋、汉、周、赵、魏、楚、吴等等这些明星国号,在后代也经常反复出现,就是因为后代建国或者起兵或者领袖的封地,都在这些古老的区域内。

李氏在太原任职起兵,故国号为唐。赵匡胤在开封黄袍加身,国号为宋。刘邦被项羽封为是汉王,统一后国号为汉。司马家世居晋地,国号为晋。隋朝开国主杨坚承袭父亲爵号称“随国公”,即以隋(因随字中有“走”,故而去掉走字,造字隋)为国号。即使是南北朝时期胡人建立的政权,国号也严格依据地望,如北凉、南燕、前秦、后赵等等。其中有一个例外,是西汉末期王莽建立的“新”朝,有革故鼎新之意,赋予了王莽新政的含义。

其实,在宋代之前,胡汉建国大都在禹贡九州的体系下活动,建国者都能找到各自对应的地望。而随着中国的扩大,地望已经不能涵盖出现在历史舞台上的国家了。比如,禹贡九州并没有包括东北和蒙古地区,所以从东北起家的胡人也很难按照地望来取国号。从辽开始,金元等从东北亚起家的胡人取消了以地望立国号的传统,而赋予国号以意义。辽在契丹语中是铁的意思,金能胜铁,故女真取国号为金。所谓“大哉乾元”,元是初始的意思,故蒙古取名为元。明虽然是汉人建立的政权,然而也不准备恢复古制,据说国号取自明教。清则是金的变体。

综上,国号的取法,辽以前是依据地望,辽以后是赋予国号以意义,还是挺有规律的。

武则天国号为周,因为出身本不显,为了表明自己其实出身显赫,就开始想给自己找个出身很高的祖宗,最后找到了周平王小儿子,因为他出生时手心纹路呈武字,后人就以武为氏,表明武氏出于姬姓。与此同时,也给自己母族杨氏强行附会了姬姓。所以给自己父亲从应国公加封为周国公。唐人认为,唐以前的盛世只有周和汉,而周又比汉更为称赞。《对词摽文苑科策》里言,周用王道教化一而人从,汉杂霸道,刑政严而俗伪。所以武则天在建立周朝之前,就用周礼进行改革。

朝代的名称是由什么决定呢?大致有五个来由:由部族、部落联盟的名称而来,来自创建者原有卦号、爵位;源于创建者原始所或政权统治的区域;源于宗族关系;寓意吉祥。

接下来我们来看看中国历史上具体的国号及其由来:

夏:据传禹曾受卦于夏伯,因用以称其政权为“夏”。另据历史学家范文澜先生说,禹的儿子启西迁大夏(山西南部汾浍一带)后,才称“夏”。

商:相传商(今河南商丘南)的始祖契曾帮助禹治水有功而受卦于商,以后就以“商”来称其部落(或部族)。汤灭夏后,就以“商”作为国名。后盘庚迁殷(今河南安阳西北)后,又以“殷”或“殷商”并称。

周:周部落到古公亶父时,迁居于周原(今陕西岐山)。武王灭殷以后,就以“周”为朝代名。周前期建都于镐(今陕西西安西南),后来平王东迁洛邑(今河南洛阳),因在镐的东方,就有“西周”和“东周”的称号。

秦:据《史记》记载,本为古部落,其首领非子为周孝王羊马有成绩,被周孝王赐姓为“嬴”,并赐给了一小块土地(今甘肃天水县,另说是陇西谷名)。后来襄又救周有功被封为诸侯,秦始皇统一六国,始建秦国。

汉:项羽封刘邦为汉王,以后刘邦击败项羽,统一中国,国号称“汉”。汉朝前期都长安,后期都洛阳,故从都城上有“西汉”和“东汉”,从时间上有“前汉”和“后汉”之分。

魏:汉献帝曾封曹操为“魏公”、“魏王”爵位,曹丕代汉后便称“魏”。以皇室姓曹,历史上又称“曹魏”。

蜀:刘务以四川为活动地区,蜀指四川,其政权称“蜀”。历史上也称“蜀汉”。汉指东汉的继续。

吴:孙权活动于长江下游一带,历史上曾建吴国,曹魏曾封孙权为“吴王”,故史称“孙吴”;又以地位在东,也称“东吴”。

晋:司马昭逼魏帝卦他为“晋公”,灭蜀后进爵为晋王。后来他的儿子司炎继承他的爵位,逼令魏帝退位,自立为皇帝,国号“晋”。

隋:隋文帝杨坚之父杨忠,曾被北周封为“随国公”。隋文帝后袭用此卦爵,称为“随朝”。他认为随有走的意思,恐不祥改为“隋”。

唐:唐高祖李渊的祖父李虎,佐周有功,被追卦为“唐国公”,爵位传至李渊。太原起兵后,李渊称“唐王”,后废杨侑建唐朝。

辽:辽原称“契丹”,改“辽是因居于辽河上游之故。

宋:后周恭帝继位后,命赵匡胤为归德节度史,归德军驻宋州(今河南商丘),赵匡胤为宋州节度使。故陈桥兵变后,发迹在宋州,国号曰“宋”。

西夏:拓拔思恭占据夏州(今山西横山县),建国时以夏州得名,称“大夏”。因其在西方,宋人称“西夏”。

金:金都城上京会宁(今黑龙江哈尔滨阿城区南),位于按出虎水(今阿什河),相传其水产金,女真语“金”为“按出虎”。

元:据《元史》记载:“元”的命名,是元世祖忽必烈定的。是取《易经》上“大哉乾元”句中的“元”,有大、首等意思。但也有人认为与蒙古人的风俗与图腾有关,有的认为与佛教有关。

明:朱元璋是元末起义军之一,是继承郭子兴而发展起来的,郭子兴属于白莲教组织。白莲教宣称“黑暗即将过去,光明将要到来”,借以鼓舞人民反对黑暗的元朝统治。所以又称“光明教”。白莲教的首领韩山童称“明王”(他的儿子韩林儿称“小明王”),都体现其教义宗旨。朱元璋不仅曾经信仰白莲教,而且承认自己是白莲教起义军的一支(他曾为小明王左副元帅)。朱元璋取得政权后,国号称“明”。

清:满族是女真族的一支。女真族在北宋时建立金国。明末女真势力复强,重建金国(后金)。后金为了向外扩展,割断了同明朝的臣属关系,清太宗皇太极把“女真”改为“满州”,把“金”改为“清”。在宋时女真人受制于契丹人,他代针对“辽”字在契丹语中是 “铁”的意思,因此命名“金”,表示比铁更坚强有力,可以压倒辽”。“金”改“清”的原因,史学家有不同意见,有人认为是皇太极要避免引起尖锐的矛盾。也有传说努尔哈赤早年逃难时骑着一匹大青马,慌急赶路,马被累死。努尔哈赤为此难过地说:“大青啊,大青,将来我得了天下,国号就叫大清。”于是皇太极改国号时改为大清。

国号的分类

从夏朝到清朝,中国经历了四千多年的漫长岁月。中国的王朝更是多的让人眼花缭乱。那么这些国号是怎么来的呢?归纳了一下,主要有六类。

一是以族名为国名,以族名为国名在中国上比较常见。夏、商、周三代都是以族为名的。再比如契丹,也是以族名为国号。

二是以地名为国名,在周朝时的诸侯国最常见。比如陈、蔡等即是地名又是国号。

三是以姓为国号,战国初期的赵、魏、韩三国就是典型的以姓为国号。

四是以原封号为国号,开国皇帝在未当皇帝前,有过封号后来就以封号为国号。比如:曹丕在当皇帝前被汉朝皇帝封为魏王。当皇帝后就以魏为国号。这样的例子还很多,比如刘邦当过汉王,杨坚当过隋国公,司马炎当过晋公等。其实封号也是地名,指被封的地方。

五、从文化角度确定的国名。这种情况在封建社会的晚期比较常见。国号都寄托了某种愿望。比如:元朝,就是取自《周易》中的一句话“大哉乾元”。元为首,为刚。而明则是和朱姓有联系。清又是五行属水,水克火,明属火。是从五德文化角度上确定的。

六、继承历史上同姓或同族人的国名。比如:清朝在前期叫金,就是继承女真族完颜部建立的金。再比如,宋朝前期在山西北部的北汉,皇帝姓刘,就继承汉朝的国号。这些无非是显示皇族的历史悠久和血统高贵。

中国历史上由少数民族建立的王朝(政权)?

北魏(386年~534年),鲜卑族建立的少数民族王朝,拓跋珪于太初元年(386)称王,初称代国,同年改国号为魏,建元登国。史称北魏、拓跋魏、元魏、后魏。北魏太延五年(439)北魏灭北凉,结束十六国时期,统一北方,传17帝,历171年。天兴元年(398)称帝,都平城。盛时疆域约为今河北、山东、山西、宁夏、甘肃等省区,河南、陕西、内蒙古的大部,辽宁、安徽、江苏、青海、新疆各一部分以及蒙古国南端一部分。后迁都洛阳(今属河南)。太和十八年(494)孝文帝拓跋弘迁都洛阳,加速鲜卑族汉化及加强对中原地区的统治。改拓跋氏为元氏。永熙三年(534)孝武帝逃往长安投靠宇文泰。高欢立元善见为帝,是为孝静帝,迁都于邺(今河北临漳),改元天平。史称东魏。北魏亡。

东魏(534年~550年),鲜卑族建立的少数民族王朝。534年魏北魏宗室元善见为帝,迁都邺城(今河北临漳境内),史称东魏,传1帝,历17年。

西魏(535年~556年),鲜卑族建立的少数民族王朝。535年魏宗室元宝矩为帝,都长安,史称西魏,传3帝,历22年。

北齐(550年~577年),鲜卑族建立的少数民族王朝。550年高洋废东魏帝自立,都邺城,国号齐,史称北齐,传6帝,历18年。

北周(557年~581年),鲜卑族建立的少数民族王朝。557年宇文觉称天王,都长安,国号周,史称北周。北周建德六年(577)北周灭北齐,统一北方,传5帝,历25年。

辽朝(916年~1125年),契丹族建立的少数民族王朝,历时210年,传9帝。辽的历史可以追溯到公元三世纪。907年耶律阿保机为契丹酋长。916年,契丹酋长耶律阿保机做了皇帝,辽建立。918年建都皇都(今内蒙古巴林左旗南的波罗城),947年改皇都为上京,1007年迁都至中京道大定府。“辽”的疆域的东北至今日本海黑龙江口,西北至蒙古国中部,南部至今天津的海河、河北霸县、山西雁门关一线与北宋交界,是当时统治中国北方与宋朝对峙的一个王朝。“辽”最初建国时,国号为契丹,947年改国号为“辽”,其间于983年至1066年间曾重称“契丹”。开国君主为辽太祖耶律阿保机,历经9位帝王,1125年(辽保大五年)灭于金。

金朝(1115年~1234年),女真族建立的少数民族王朝,创建人为金太祖完颜阿骨打,国号“大金”;“金”建于1115年,先建都会宁府(今黑龙江阿城南白城镇),后迁都燕京(今北京),再迁都至汴京(今河南开封)。金开兴二年(1234年)时灭于蒙古,共经历10位帝王。

元朝(1206年~1368年),蒙古族建立的少数民族王朝,忽必烈(即元世祖)于1271年所建,1279年灭南宋,定都于大都(现北京市)。1368年灭亡于明朝。

清朝(1636年—1912年),满族建立的少数民族王朝,爱新觉罗氏。1616年(明万历四十四年),努尔哈赤建立王朝称汗,国号大金,史称后金(电视剧《孝庄秘史》里,皇太极自称“后金”真的是让人笑cry)。都城为赫图阿拉(又名兴京、赫图阿喇、黑秃阿喇、黑图阿拉,满语“横岗”之意。在今中国辽宁省新宾县西永陵镇老城)。1636年(崇德元年、明崇祯九年),皇太极改国号为大清,称帝。1644年,李自成农民军攻陷北京,明崇祯帝自杀。清军在吴三桂的带领下乘机入关打败农民军,多尔衮迎顺治帝入关,定都北京。1911年,辛亥革命爆发,各省纷纷宣布独立,清朝统治瓦解。清帝于1912年退位,清朝正式灭亡。清代自入关后,共历十帝,二百六十八年。

---------------

各朝代统治时间

虞朝:约前36世纪初-约前21世纪初,共计:15世纪;又称黄帝王朝、虞舜王朝。

一、夏朝:约前2070-1600年,共计:约500年;两个君主

有穷:前1981-1973年,共计:8年;寒朝:前1973-1933年,共计:40年。

 

二、商(殷)朝:1600-约前1028,共计550年以上,约600年;

 

 

三、周朝:1046-256年,分为西周、东周,东周又分为春秋、战国,计:86738个君主

 


四、秦朝:221-206年,计:16年;2个皇帝。

西楚:前206-202年,计:5年;

五、汉朝:202-263年(包括蜀汉); 463年,26个皇帝

西汉:前202-公元8年长安,计210年;新朝:公元8-公元23年长安,计16年;玄汉:公元23-公元25年长安,计3年;东汉:公元25-公元220年洛阳,计196年;

 

三国时期:220-280年,魏、蜀、吴三足鼎立,计:61年;

晋朝:265-420年,分为西晋(265-316)、东晋(317-420) ,计:156年;

十六国:304-420年,共计:116年;

南北朝:386-589年,共计:170年;

六、隋朝581-618年,计:38年;两个皇帝

 

七、唐朝618-690年,705-907年,计:29020个皇帝

武周:690-705年,共计:15年;

五代:907-960年,后梁、后唐、后晋、后汉、后周,共计:54年;

十国:907-979年,共计:89年;辽朝(契丹):907-1125年,共计:218年;

西辽:1123-1218年,共计:95年;

八、宋朝960-1279年分为北宋(公元960-1127)、南宋(公元1127-1279),计32018个皇帝。

西夏:1038-1227年,共计:189年;金朝:1115-1234年,共计:119年;

大蒙古国:1206-1260年,共计:54年;

九、元朝:1271-1368年,计:98年;二世而亡

北元:1368-1489年,共计:121年; 韩宋:1355-1366年,共计:11年;

十、明朝1368-1644年,计:27718个皇帝。

南明:1644-1683年,共计:39年;

十一、清朝1636-1912年,计:268。关外2个皇帝、关内10个皇帝。

 

十二、中华民国-公元1912     

      

 中华人民共和国1949