官渡鏖兵:决定华北命运之战

作者:刘怡

官渡鏖兵:决定华北命运之战0当35岁的曹操在中牟县被那位不知名的亭长(负责交通和治安的基层官吏)拿捕入狱时,他并不会预见到:整整十年后,中牟这个地名还将在他的生命中再度出现,成为一场搅动天下的战役的符号,并为他的子孙“帝制自为”奠定最重要的基础。

那时他还来不及这样想入非非。被拘禁在县衙的那个晚上,他只希望尽快脱身,不至于就此死于非命。

小说《三国演义》为曹操在汉末内战中的出场渲染了一个惊险刺激的开头:他以“献刀”为名尝试刺杀乱臣贼子董卓,失败后骑马逃出洛阳城,在中牟县遭到拿捕,却被慧眼识英雄的陈宫解救。陈宫更志愿追随曹操前往陈留筹组义兵,然而因为曹操在途中无端杀害故人吕伯奢一家,两人最终分道扬镳。京剧名段《捉放曹》便是根据这则故事改编而来,曹操那句“宁教我负天下人,休教天下人负我”的极端言论,令人印象颇为深刻。

然而在真实历史中,小说提及的那些要素却是以一种截然不同的方式组合在一起的。董卓与曹操之间并无个人恩怨;相反,在拥立汉献帝之后,他还曾经上疏保荐曹操出任骁骑校尉。两人的矛盾更多是存在于政见层面。考虑到董卓即使是在头号战略对手袁绍逃离洛阳时也没有派兵追捕,对当时只是二三流政治人物的曹操,他实在并没有给予额外重视的必要。至于曹操曾杀死吕伯奢家人一事,最早见于时人王沈所撰的《魏书》,后来在《魏晋世语》与孙盛《杂记》中也有提及。但此事绝不可能发生在曹操逃离中牟之后——吕伯奢一家所居的成皋(今荥阳市西北),位置在洛阳与中牟之间,位于后者的西北方。自洛阳逃出、欲前往陈留举兵的曹操,绝不可能在已经到达黄河渡口附近的中牟之后,再折回离洛阳更近的成皋,在吕伯奢家借宿。

宋明之间,黄河中下游曾经数十次发生大规模改道,连带也改变了沿岸城市的相对位置以及地理风貌。和东汉末年时相比,今天流经河南、山东两省的黄河河道明显更加偏南。故而尽管现在的中牟县沿用了公元前5世纪就已出现的古地名,但汉代的中牟,实际位置应在今天黄河北岸的新乡市境内。而曹操在189年九月初潜逃至此时,意外地被当地亭长当作逃避征兵的“亡人”逮捕,关入县衙。所幸该县的功曹(县令幕僚)与他相识,劝说县令杨原将其释放。数月后义兵蜂起,杨原等人也顺势归顺了曹操。至于历史上的陈宫其人,日后的确曾为曹操部将、又叛曹投奔吕布,但并无其曾在中牟县任职的记录。

鳌鱼脱却金钩去,摆尾摇头再不回。离开中牟之后,曹操的名字下一次见于史籍,已经是在三个月后讨董诸侯发布的檄文中。然而,方诗铭、宋杰等古代史研究者都注意到了一项不寻常的事实:尽管陈留郡的酸枣县是关东义军的集结地,但曹操从洛阳逃出时只是单人匹马,似乎很难像《三国志·魏书·武帝纪》描述的那样,在河南就地“散家财,合义兵”。于情于理,他都应该先返回经营多年的家乡谯县,与亲戚故旧会合。实际上,《魏书·夏侯惇传》在提及公元200年初的讨董战事时,已经交代了夏侯惇、夏侯渊等谯县子弟紧密追随在曹操身边,曹操堂弟更曾在荥阳之战中登场。如此一来,199年冬天曹操的去向,就成为值得推敲的问题。

首都师范大学历史学院教授、资深秦汉史研究者宋杰在其著作《三国兵争要地与攻守战略研究》中,结合《后汉书》、《英雄志》等史料的记载,对曹操当时的行踪做出了推测。宋杰认为,曹操在中牟脱险之后,即继续向东南方逃亡,于189年九月中旬回到谯县家中。然而恰在此时,董卓从洛阳发出的通缉令也已经到达当地,豫州刺史黄琬立即派出州郡兵马拿捕曹操等人,曹操堂弟曹邵(曹真之父)因此罹难。不过黄琬很快就被董卓征召到洛阳出任司徒,继任刺史的孔伷本身是讨董之战的参与者,曹操这才得以携带家族积累的巨额资财,于十一月间前往陈留,投奔自己的故友、新上任的陈留太守张邈,并在当地招募新兵,加入关东大军。

官渡鏖兵:决定华北命运之战1董卓之乱爆发时,汉王朝的日常政治运行已经进入一种极其异常的状态。一方面,无论是袁绍、张邈、曹操,都拒绝承认洛阳朝廷的合法性,甚至对董卓拥立的汉献帝的地位是否正统不无微词。但在另一方面,他们对董卓借朝廷名义发布的人事任命又相当认可,甚至千方百计利用州牧制确立之后的运作空间,不经朝廷批准自行委任郡县官员。而部分调和派士族官僚视董卓为外戚、宦官覆灭之后的可取合作对象,拒绝加入讨董事业。例如在豫州对曹操施以弹压政策的黄琬,便是一位声名闻于海内、曾和陈藩等“党人”领袖相交多年的高洁之士。但他并不抗拒洛阳朝廷的谕命,也欣然接受董卓的司空征召。于是,讨董之役就形成了一个古怪的局面:关东诸将既不愿承认董卓的合法性,使用的又是洛阳朝廷颁赐的头衔,从一开始就显得底气不足。

许多年后(210年),已经成为河北之主的曹操在回顾自己的半世功业时,曾经撰写过一篇题为《让县自明本志令》的长文,回窥早年心迹。他宣称,自己最初的理想不过是当个“守千里之地、任兵马之重”的太守,希望取得战场军功,能为高门大族所认可接纳。自董卓之乱起,他的政治抱负逐渐被激发,希望“为国家讨贼立功”,“然后题墓道,言‘汉故征西将军曹侯之墓’”,一派正义凛然的气象。然而诸侯在讨董之役中各怀异志的现实使他的愿望遭受巨大挫败,袁绍割据冀州、图谋蚕食整个华北的布局则使他受到启发,遂针锋相对地“据兖州以成争天下之势”(王夫之语)。在此过程中,兴汉之志逐步转化为篡汉之心;曹操本人的自我定位,也由单纯的汉臣变为权奸,最终止步于帝制自为的边缘。其复杂的心路历程,也是汉末风云变幻的时局的缩影。

但在189年冬天,顶着“行奋武将军”(“行”意为暂代)头衔的曹操还无法预想自己日后的诸种作为。从中牟、谯县到陈留,他所牵挂的仍是讨董大业,是与旧相识张邈、袁绍在一起兴兵讨贼的前途。他当然不会知道,就在十年后,在中牟县北方的一个小镇,他将与年长一岁的袁绍正面决战,争夺统一华北大地的主导权。

那个小镇叫作:官渡。

官渡鏖兵:决定华北命运之战2官渡鏖兵:决定华北命运之战3189年年底,曹操带领一班家乡子弟,由谯县抵达酸枣(今新乡市延津县西南),与新近出任陈留太守的张邈会合。当时的陈留是兖州第一大郡,有“十七城,户十七万七千五百二十九,口八十六万九千四百三三”,适于征募新兵,更以土沃水丰、地理位置优越著称。秦末楚汉相争时,郦食其就曾经进谏刘邦称:“陈留者,天下之据冲也,兵之会地也,积粟数千万石,城守甚坚。”曹操抵达当地后,在张邈的部下卫兹帮助下招募了“乡勇数千”,成为驻扎在酸枣的10万义军中的一支偏师。当时张邈与弟弟张超(广陵太守)各据一郡,掌控的民户、兵员、财赋数量众多,被推举为事实上的前敌总司令。唯一的弱点是,这位司令并不善于用兵。

和曹操的一腔热血相比,身为联军最高统帅的袁绍态度要谨慎和冷淡得多。尽管因为出身“四世三公之家”的显赫门地,这位36岁的前西园中军校尉如今已是20多万大军名义上的总指挥,但他真正能调动的只有自己渤海郡的一部人马。与其联兵的河内太守王匡同样力量有限,后来在河阳被董卓打得大败。另外,联军的粮饷主要靠冀州牧韩馥从后方供给,而韩馥与袁绍素有不睦。为了避免后方生乱,袁绍甚至没有抵达前进基地酸枣,而是一直留在河北、对韩馥采取监视态度。这种瞻前顾后的心态,隐隐已经注定了战事的最终走向。

190年正月,关东驻军在酸枣县发布檄文,正式开始了讨董之役。但当曹操从自己编练新兵的己吾县(今商丘市宁陵县西南)回到前线时,却发现各路人马只是连日大摆宴席,并不积极采取行动。当时时间已是二月末,从洛阳传来了董卓将迁献帝于长安的消息,曹操力主立即出兵邀击,但“诸将皆不听”。一怒之下,曹操在三月初带着自己从中牟和己吾招募的5000人马单独出击,在荥阳西南的汴水遭到董卓部将徐荣的拦截,“操率兵力战竞日,以众寡不敌大败”,所乘的马也被敌军射倒,只得在曹洪保护下退回酸枣。此役失败之后,他没有继续与张邈联合,而是与夏侯惇、曹洪等人返回故乡谯县,在沛国、扬州等地招兵买马。据《三国志·魏书》记载,扬州刺史陈温“素与(曹)洪善”,帮助他募得“庐江上甲二千人”,加上曹操在谯郡的家兵1000余人以及“到丹、杨复得数千人”,恢复了一定实力。此后曹操决定渡过黄河,到河内郡投靠自己的老相识袁绍。

关于190~191年关东诸军与董卓之间的战事,《三国演义》提供了一个情节生动的版本:刘备、关羽、张飞三人随公孙瓒到关东参战,在沙场上大显身手。关羽在汜水关前温酒斩华雄,三兄弟更曾在虎牢关大战董军头号悍将吕布。至于曹操,他在追击由洛阳向长安败退途中的董卓时,在荥阳遇伏吃了败仗,损失惨重。然而,这些传奇故事都只是凭空虚构:荥阳在洛阳以东,曹操当然不可能在追击西逃的敌军时,反过来跑到东面的荥阳。至于刘备等三人,他们当时正在山东一带担任地方官吏,根本不曾参与这次讨董联军的行动。

官渡鏖兵:决定华北命运之战4曹操兵败荥阳后,关东联军继续在酸枣屯驻了大半年时间。由于韩馥供应的粮草逐渐中断,到了190年夏天,诸将开始意志动摇,乃各自率兵退回本郡。这次雷声大、雨点小的讨董行动,到这时就戛然而止。只有由长沙出兵北上的孙坚一度进展顺利,并且得到袁术的支援,但在冬天梁县的遭遇战中也被董卓部将徐荣、李蒙击败。此时已是191年初春,袁绍、韩馥等人为了瓦解洛阳朝廷的正当性,在冀州密谋拥立宗室成员、幽州牧刘虞为新帝,遭到曹操的反对。据说当时袁绍还“得一玉印,于太祖(曹操)坐中举向其肘”,暗示改立新君的条件已经成熟,曹操只是“笑而恶焉”。就当时的形势论,他本人可依靠的力量仅有荥阳大败后新募的不到5000人,作为客军依附在袁绍门下,影响力十分有限。袁绍征询其“意见”,更像是一种形式上的客气。

191年的谋立新君活动,最终以刘虞本人拒绝从命、计划破产而收场。而关东诸侯最初的结盟局面,此时也起了变化:兖州刺史、宗室成员刘岱察觉名义上仍是自己下属的陈留太守张邈、济北相鲍信等人已经成为半独立的割据势力,不再听从调遣;东郡太守桥瑁尤其“负众怙乱,陵蔑同盟,忿嫉同类”,惹出是非无数。刘岱一怒之下,发兵杀死桥瑁,另委亲信王肱执掌东郡,却遭到张邈、吴资(济阴太守)等桥瑁盟友的反对。袁绍趁机以调停为名,派曹操率兵进驻白马县(在今滑县以北),控制了东郡西部。此后袁氏自己也驱逐了与其离心离德的韩馥,控制了冀州全境。为了表达对曹操这位小盟友的感谢,他上表朝廷保举曹操为东郡太守。

官渡鏖兵:决定华北命运之战5名曰“表奏”,真正的地盘却要曹操自己去打下来。原来,191年夏天,在袁绍大军主力进入冀州之后,兖州境内的黄巾军余部“黑山军”再度勃兴,一度集结达10万人之多,陆续攻陷了魏郡和东郡的大部分城池。曹操在出兵濮阳、击败其领袖之一白绕以后,才得以前往东武阳(在今山东省莘县东南)的治所上任。而在他的控制区东面,尚有兵力极为强大的青州黄巾军在继续向西移动,企图与河北境内的黑山军会师。对刚刚取得冀州、正在经营北方根据地的袁绍和终于有了立锥之地的曹操来说,处在四面受敌的地形中都不是理想选择。

正是在这种互为倚靠而又军情危急的背景下,曹操和袁绍之间的盟友关系开始发生潜移默化的改变。191年七月,南匈奴单于於夫罗(南北朝时前赵皇帝刘渊的祖父)挟持了董卓任命的新任河内太守张杨,起兵反对袁绍,控制黄河北岸要津黎阳。十月,青州、徐州黄巾军30余万人也侵入此前袁绍的根据地渤海郡。分身乏术的袁绍开始越来越频繁地依靠曹操为其守护黄河南岸的控制区,两人逐渐形成了类似秦末内战前期项羽和刘邦之间的协作关系。如191年末,公孙瓒自幽州南下,来势凶猛,曹操派兵协助袁绍把守后路,使其得以在界桥之战中一举击败公孙瓒。到了192年,当素来与袁绍不和的袁术北上进攻曹操的控制区时,袁绍又联络刘表威胁南阳,使袁术不得不罢兵。在袁曹携手共进中,客将曹操的势力发展飞快,可谓技高一筹。

官渡鏖兵:决定华北命运之战6192年春,稳定了东郡根据地的曹操移师顿丘(今河南省清丰县西南),开始与黑山军主力接战。他采取围魏救赵之策,首先向西进攻敌军的巢穴黑山,迫使于毒等首领回师救援,接着在半道截击眭固所部获胜,“又击匈奴於夫罗于内黄”,都以大胜告终。恰在此时,东边的兖州传来了刺史刘岱被青州黄巾军围歼、兵败身亡的消息,曹操在东郡新招徕的幕僚陈宫以及刘岱的部下鲍信都建议曹操乘势东进,控制兖州,“规大河之南以待其变”。汉末的兖州下辖八郡、八十余县,和平时期人口超过400万人,既是关东地区的交通枢纽,又富于物产。曹操于是乘黄巾军未做防范,以重兵悍然西攻,在当年冬天将青州黄巾军主力包围于济北,招降得兵30万人(或有夸张之处),“收其精锐者,号为青州兵”。袁绍也正式向洛阳朝廷保举他出任兖州刺史。

从192年冬天到196年,兖州成为曹操经营河南之地的大后方,而刺史治所被转移到了鄄城,即今天的菏泽市鄄城县旧城镇。由于黄河屡次改道,现在的旧城镇已经难于窥见汉末的城镇格局和外观风貌,但当地仍有“军屯村”等与汉末历史有关的地名留存,一些老人还能回忆起民间传说中“曹操在此屯兵四十万”的传说。在当时,鄄城是沟通山东半岛与河北平原的交通枢要,又有道路向西通往中原的核心城市洛阳,还背靠盟友袁绍控制的冀州、远离地方豪强势力影响甚大的兖州腹地,对客居的曹操来说无疑是理想的大本营。此时距离这位前奋武将军兵败荥阳刚刚过去不到三年时间,曹操俨然已成河南第一大新兴势力,可见时局变化之快。

也是在192年,在袁、曹势力的控制区以西,发生了另一件震动天下的大事:董卓被吕布、王允所杀。

190年夏天关东联军讨伐董卓之役失败后,孤军北上的孙坚得到袁术的粮饷支持,继续朝洛阳进军。191年春,他在阳人县(今河南临汝县西)大败胡轸、吕布指挥的董卓军5000余人,复在广成县斩杀董军都督华雄。董卓亲自指挥西北骁骑在洛阳郊外的北邙山中迎战,依然不敌孙坚,于是纵火焚烧洛阳城、以大军挟持百官向长安撤退。孙坚进入洛阳城后,“扫除宗庙,祠以太牢”,以示社稷重光,接着准备继续西进。此时袁绍担忧孙坚的声望日益上升,竟表奏会稽郡豪族周喁为豫州刺史,企图夺取孙坚的战略后方。事态发展至此,孙坚不得不向东退兵,与袁术联手对付周喁、周昂兄弟,董卓的势力遂在司隶校尉部(司州)西部维持下来。

但这位暴虐的篡夺者、汉末乱局中为害最甚的祸首也即将迎来生命的终点。192年四月,掌握长安朝廷实权的司徒王允、司隶校尉黄琬等人趁卓军主力出战河南尹朱儁之机,联络与董卓已生嫌隙的大将吕布,一举将其刺杀。然而王、吕两人缺乏政治眼光,未能及时安抚统领董卓残军的李傕、郭汜、张济等大将,反而导致长安城被李、郭的部队一举攻破,王允被诛三族,吕布则逃往南阳投奔袁术。此后李傕、郭汜两人也宣告反目,各领一军在长安周边大打出手,司州西部遂变得一片混乱,无形中有利于曹操在东方的自由发展。

然而董卓之死同时又制造了一个意外的麻烦,那便是吕布的流窜。关于这位有勇无谋的汉末骁将,《三国演义》的描述相当传神,黎东方先生也认为他“个人的武艺相当高强,然而战术的知识有限,战略的学问毫无,至于政治更是门外汉”。他先后叛离丁原和董卓的行径,尤其为时人所不齿。然而逃亡中的吕布却足以在诸侯间仿佛掀起一系列波澜——无论是袁绍、袁术还是曹操,当时都尚未巩固新近并吞的领土。而吕布以客将的身份出现,单人匹马,却足以为那些不愿降伏的地方豪强和失意军阀充当雇佣兵。正是由于这种危险性,192年吕布逃离长安之后,先后投奔过袁术、张杨以及袁绍,皆未获得重用,最后在194年春天来到了兖州。

而此时的曹操,恰恰没有意识到吕布的威胁。他正在操心一件令他怒不可遏的大事:发兵攻打徐州。

官渡鏖兵:决定华北命运之战71974年,考古工作者在安徽省亳州市南郊(今属谯城区)发现了一系列遭到严重破坏的汉代墓葬群,墓室中出土的文物包括银缕玉衣、铜缕玉衣等诸侯等级的贵重陪葬物,以及大量刻有“会稽曹君”“长水校尉曹炽”“吴郡太守曹鼎”等字样的汉砖。经过考证发现,这一墓葬群正是原籍沛国谯郡的曹操家族的坟冢,其中也包括曹操养祖父曹腾以及亲身父亲曹嵩之墓。富于资财的曹嵩,在从太尉职务上致仕后即返回了谯郡老家居住,其间曾经默许儿子曹操携带重金前往陈留等地招募义兵。不过他本人无意卷入乱局,遂携带奴仆、随从和大量私财前往相对安宁的徐州琅琊国(在今山东省东南部和江苏省东北部)闲居。193年夏天(亦有史料称194年),曹操在兖州初步站稳脚跟后,遣使迎接曹嵩到定陶居住,由徐州牧陶谦派偏将护送。不料护送者贪图曹嵩一行携带的大量财物,在行经黄县(今山东省龙口市)附近时竟将曹嵩杀死。曹操遂立即向徐州发兵。

事实上,即便不考虑曹嵩之死这一意外事件,向东吞并徐州也是曹操在当时最成熟的战略选择。兖州以北是尚需依赖的盟友袁绍的地盘,尚不可侵攻;西面的河内郡则由张杨控制,得到袁绍的默许。南方的陈留郡由兴兵讨董时的好友张邈占据,两人的关系虽已大不如前,但尚未到完全撕破脸的程度。没有张邈的支持,曹氏势力继续向豫州扩张必然也力不从心。唯有东面的徐州,既不属于任何一主要政治集团,其统治者陶谦又老迈昏聩,似乎不足以一战。而曹嵩的惨死,恰好使曹操有充足的理由对徐州用兵:193年秋天,他发兵攻打徐州西面的彭城,“杀男女数十万口,泗水为之不流”。这也是汉末军阀内战中最残忍的屠戮记录之一。陶谦退守郯城后,曹操继续攻取虑、睢陵、夏丘三县,“皆屠之以泄愤”,一时令其诸多旧友也生出厌恶之情。

194年夏天,补充完粮饷的曹操再度从鄄城发兵攻打徐州,以谋臣荀彧、程昱负责守备鄄城大后方,陈宫守东郡,大将夏侯惇守濮阳。然而正是在这次“二征徐州”期间,发生了两件令他始料未及的大事:陈宫、张邈与流落而来的吕布联手在兖州发动兵变;默默无闻多年的涿郡游侠刘备则出现在了防御徐州的战场上。

官渡鏖兵:决定华北命运之战8刘备会意外出现在徐州这个最惨烈的战场上,依然和他多年的庇护者公孙瓒有关。191年,他在高唐县被当地黄巾军击败,被迫再度远走幽州投奔公孙瓒。后者不仅委任刘备为负责招降事务的别部司马,还让他充当自己的偏将田楷的副手,吞并“无主之地”青州(在今山东省北部)。田楷成为青州刺史后,以刘备为平原国国相,从县令升格为了郡守(“国”相当于郡)。尽管当时一些高门士族如袁术之流依然宣称“生年以来,不闻天下有刘备”,对这位不显山不露水的二流将领颇表轻蔑,但刘备在平原国的施政成绩,已经得到孔融、陈登等名士的肯定。后来投入曹操阵营的陈登出身徐州高门,却公开表示:“雄姿杰出,有王霸之略,吾敬刘玄德。”

194年春,正值曹操的一征徐州之役接近尾声。陶谦自觉难以抵挡,遂向邻近的田楷求援。田楷派刘备带兵数千前往小沛(今徐州市沛县东),会合陶谦派出的丹阳兵4000人部署防御。是年夏天,曹兵果然复来,却被客将刘备在郯城阻挡住。黎东方先生不禁击节赞叹:“对方不是黄巾,不是袁绍,而是当时全中国最会用兵的曹操。”日后曹操对刘备刮目相看,使其在曹袁之争中扮演一个举足轻重的角色,无疑正与此役有关。然而恰在曹操大军包围郯城之时,张邈、陈宫联合吕布在兖州举事,曹操被迫放弃进攻徐州,回兵救援后方。

官渡鏖兵:决定华北命运之战9与曹操一度亲如手足的张邈,在党锢之祸时即有盛名,也是兖州本地士人公推的领袖。关东诸侯讨伐董卓时,曹操虽对张邈的消极避战倍感不满,两人的私交依旧和睦。然而俟曹操、袁绍结盟后,曹操先是为袁氏消灭张邈的盟友、原河内太守王匡,继而与张邈关系也发生疏远。张邈担心曹操终会因讨好袁绍而牺牲自己,遂在本地豪族支持下发动兵变。至于陈宫,他同样是兖州本地士族的代表人物,虽然曾经亲自奉迎曹操,却对后者在徐州之战中滥杀无辜的行径大为不满。两人决定推举“善战无前”的客将吕布为兖州牧,秘密派兵分四路进攻濮阳、鄄城、东阿和范县。但留守鄄城的荀彧识破了这一计谋,与夏侯惇、程昱各自坚守三大核心城池(鄄城、东阿、范县),终于等到曹操千里会师、吕布退兵濮阳。双方在濮阳城下激战数月,都不能取得显著进展,吕布于是移驻山阳县(今山东省金乡县西北)。第二年,吕布在定陶、巨野等地连战连败,遂奔徐州。

为曹操守住兖州根据地的荀彧、夏侯惇和程昱,分别来自颍川、谯县以及东郡,恰好代表了曹操军政集团人才的三个主要来源:汝颍士族,沛谯故旧,兖州土著。以曹氏家族及其姻亲夏侯氏为基干的沛国、谯郡人士,从189年曹操起兵开始就是他的基本盘。颍川、汝南的士族高门子弟,从平定黄巾之乱起就对曹操印象不俗;天下大乱之后,颍川成为军阀混战的中心,当地大族纷纷出逃避难。曹操借此机会,于191年招募了荀彧,又通过他吸纳同乡的荀攸、钟繇、陈群、郭嘉等人作为谋臣。日后这些策士“为卿相者,以十数人”,构成了魏国前期的主要文官班底。程昱的价值,则在于彰显了兖州士人并未都随张邈、陈宫叛离,仍有服膺于曹操者。而曹操对程昱本人的信任,一直持续到他去世时为止,也是三国前期一段可圈可点的君臣关系。

195年十二月,曹操军队攻陷雍丘,彻底消灭了张邈、张超兄弟的势力,平定了兖州之乱。他随后采纳荀彧的意见,不再图谋徐州,而是立即挥师南下,进入豫州北境的陈国(今河南淮阳),一举攻下了这个效忠于袁术的郡——豫州在此前曾是骁勇善战的孙坚的势力范围,名义上属于袁术集团的附庸。然而在191年中,孙坚在进攻荆州的刘表时意外阵亡,豫州遂出现了势力真空。攻克陈国之后,曹军又西进颍川、汝南,消灭了何仪、刘辟、黄邵等一度依附于孙坚和袁术的黄巾军余众,收编其士卒。从那时起,曹氏集团经营的核心根据地再度从鄄城、东阿等黄河南岸城市转移到了以许县为核心的颍川郡,并在那里建立了觊觎中原的大后方。

与此同时,在徐州,一连串戏剧性的奇闻正在上演。久已病笃的陶谦在194年冬天终于病死,临终前提名刘备为下一任徐州牧。第二年,战败的吕布从兖州来投,被刘备临时安置在小沛(在今徐州市沛县境内)。然而此人终不能就此安顿下来,竟又和淮南的袁术暗通款曲,趁刘备军队主力在淮阴一带与袁术相持时,发兵攻占徐州之治所下邳,俘获刘备妻子。吕布此后自称徐州牧,反过来将刘备安置在小沛,甚至为其求请豫州刺史之位。从196到197年,袁术、吕布、刘备三股力量在徐州附近时有攻伐,一度形成均势。在今天的沛县沛城镇樊井公园内,还收藏有一块明代镌刻的“射戟碑”——民间传闻,在196年的一次武装调停中,吕布正是在此处上演了“辕门射戟”的个人表演,迫使袁术大将纪灵退兵。不过到了197年,吕布终究不能容忍刘备在小沛保有重兵、图谋恢复,再度对其发起突然袭击。刘备于是率残兵西奔许昌,投入了老对手曹操帐下。挟天子,平徐州

兖州之乱平息的第二年,196年七月,汉献帝在外戚董承以及白波黄巾军出身的将领杨奉等人的护卫下,辗转逃出李傕、郭汜势力控制的长安,回到了阔别六年的洛阳。也是在这次还都途中,朝廷宣布改年号为“建安”,是为汉末使用时间最长的一个年号。但是,洛阳在董卓撤离前已被大火烧成一片焦土,连皇室的口粮供给也一度成为问题。据《后汉书》记载,当时城中“宫室烧尽,街陌荒芜,百官披荆棘,依丘墙间”。随行的杨奉、韩暹等武人要么骄矜难制,要么暗中交结袁术、袁绍,企图将皇帝作为筹码换取封地报酬。最终,董承主动决定遣使前往颍川,与曹操建立联络。是年九月,曹操奉迎天子车驾至许昌,并随即宣布改许昌为许都。

所谓“挟天子以令诸侯”之策,最初出自荀彧,后世视之为曹操得以一统华北的关键政治措施。但站在历史现场看,其不确定性和风险其实相当显著。首先,献帝系由董卓所拥立,其正统性本身就值得怀疑。袁绍、袁术等人在不同阶段都讨论过另立新君或者自行称帝的方案,显然并不看重所谓“朝廷威望”。其次,自州牧制实行以来,各地军阀自行委任官吏,甚至自请为刺史的情况已经变得稀松平常,不仅无须经由朝廷批准,朝廷本身尚须仰赖地方官员供奉饮食。重新树立献帝一国之君的地位,是否真有助于号令天下,十分令人怀疑。

更何况,建安元年的天下形势依然呈现犬牙交错的状态。北方的辽东有公孙度建立的准独立王国,幽州一带则由公孙瓒割据,他公然杀害威望崇高的宗室刘虞,并与乌桓人长期交战。并、冀、青三州的广大地域是袁绍的势力范围,曹操本身则领有黄河以南的兖州、豫州以及司州东部(包括洛阳)。在袁绍和曹操之间,有曾被匈奴人劫持的河内太守张杨,因为护驾有功刚刚被献帝封为大司马。豫州以南的南阳则被董卓旧将张济的侄子张绣占据着,在东南部的徐州有吕布,再往南的扬州北部则为袁术的势力范围。与扬州隔江而望的吴郡曾是孙坚的起家之地,如今由其长子孙策经营着。在长江上游和中游还有益州(刘璋)、荆州(刘表)这两个半独立地区,益州北部的汉中有“五斗米道”教主张鲁建立的宗教王国,北边的凉州有韩遂、马腾等大小军阀盘踞,司州西部(长安一带)的郭汜与李傕也还在交战。即使是最大胆的预言家也无法判断究竟鹿死谁手。

但今时的曹操早已有了足够的底气和人力资源去践行自己的扩张方案。迁都许昌之后,他立即将献帝软禁在兵营中,禁止其擅自与外界来往,以防生变。国都之中,天子形同囚徒,处境与董卓在世时无异。接着,曹操自请出任司隶校尉,控制了整个京师范围内的治安。汉献帝又被迫“假其节钺,录尚书事”,使他拥有先斩后奏的大权。尽管出于对袁绍势力的忌惮,曹操不得不将名义上地位最高的大将军一职让给袁绍,但他本人被拜为有实权的司空,可以以司空府为决策中心、架空真正的朝廷,后世称之为“霸府”。随后,曹操还强硬地逼迫“三公”中的另外两人太尉杨彪、司空张喜“以疾逊位”,从此独断朝纲。他最倚重的荀彧、荀攸、钟繇这几位颍川名士,此时负责着政府日常办事机构尚书台,确保即使曹操本人在外出征,军国大事也能得到处理。

在今天的许昌市张潘镇盆李村,有一座15米高、矗立在小山之上的“毓秀台”。东汉小朝廷迁至许都以后,每奉冬、夏两季郊祀,汉献帝便会登临此处,亲自主持典礼。这也是这位半世为傀儡的君主少有的公开露面的机会。其余时间,即使是在许昌的新皇宫建成之后,汉献帝也不被允许擅自出游、或者与一般臣僚结交。

官渡鏖兵:决定华北命运之战10官渡鏖兵:决定华北命运之战11经营许都之际,曹操做出的最重要决策之一是大兴屯田。自黄巾之乱以来,连年战乱使得华北地区人口急剧减少、土地荒废,同时出现了大量流民。从极北的幽州到南方重镇荆州,数以十万计的人口为躲避战祸而逃离故乡,如兖州等地户口流失一度高达3/4,连曹操本人也在《蒿里行》中哀叹过“生民百遗一,念之断人肠”。为了募集劳力、恢复生产,从建安元年开始,曹操采纳枣祗、韩浩等人的建议,在许都一带设置屯田。首先募集流民,将无主和荒废的土地分给他们耕种;随后政府还向农民提供耕牛、农具,同时征收租税作为回报。待到许都的试验成功之后,曹操又开始推广这一经验,在各郡设典农中郎将、各县设典农都尉,以类似军队的方式进行集中管理。后期由于无主农地减少,官府开始直接分给屯田民一定数量的土地,以“官民对分”的方式缴纳租税。这一税率已经接近东汉中期的水平,但因为屯田民没有兵役、劳役等负担,故而乐于接受。

推行屯田,出发点不仅在于安置流民,更是为了保障军米供应。待到许都屯田第一季的稻米开始收获,曹操便开始谋划以远交近攻的方式继续扩大自己的势力范围。197年正月,割据南阳的张绣宣布归顺,一度解除了曹操在许昌以南的后顾之忧。但曹操在前往宛城与张绣会面时,出言轻浮,提出要纳张济(张绣叔父)的遗孀为妾,引发张绣夜半突袭。此役导致曹操长子曹昂与侄儿曹安民死于非命,大将典韦力战身亡。曹操不得不两次率兵亲征,才在199年年底迫使张绣再度归降。此时,距离官渡之战爆发已经只有几个月时间了。

同样是在197年正月,盘踞两淮的袁术利令智昏,竟自行宣告称帝。曹操在这年入秋后发兵前去攻打,击破其主力。袁术苟延残喘至两年后,终因治所饥荒盛行、众叛亲离,在北上投奔袁绍途中病重而死。

然而在诸多敌对势力中,最令曹操担忧的依然是割据徐州一隅的吕布。这不仅是因为吕布交结张邈,将他苦心经营的后方基地兖州破坏殆尽(自吕布、张邈之乱后,兖州作为粮食供应地的功能即宣告丧失),更是由于地势使然——徐州位于黄淮平原核心位置,与许昌之间全无地理阻碍。换言之,倘若在曹操与袁绍交战之际,吕布以一支偏师威胁许都,即使不至于造成重大破坏,也足以分散曹军的兵力。故而欲与袁绍争夺河北,平灭徐州、消除侧翼威胁乃是先决条件。更何况,此时刘备正在曹操营中,对吕布同样报仇心切。

198年九月,曹操与刘备进军彭城,开始了对吕布的军事行动。吕布退守下邳城,企图“逼操军于泗水而歼之”。不料徐州本地出生的陈登甘愿自率郡兵、充当曹操的先锋,吕军士气大挫。到了十一月,随着前来援救吕布的袁术和张杨部队陆续受挫,曹操下令“堑围下邳,复引沂、泗之水灌城”。一个月后,吕布部将侯成、宋宪、魏续等人捆绑陈宫、高顺出降,吕布本人则被包围在下邳大城的南门楼(通称白门楼)上,勉强同意降伏。这名反复无常的流浪将领最终被曹操下令缢杀,《三国演义》对当时的情形曾经有过相当生动的描述。

由于黄河改道造成的地表沉降和大面积塌陷,到清代康熙初年,东汉末年的徐州治所下邳城已经沉入了黄河旧河床,其标志性的白门楼也在一场大地震中轰然倒塌。2014年,睢宁县古邳镇城里村的村民在挖掘鱼塘时,发现了一截深埋在泥土中的古代城墙遗址。经考古部门确认,被泥沙淹没的正是消失近200年的下邳故城,其中东汉时代的城址在遗址最下方。耐人寻味的是,从白门楼遗址继续向北行20多公里,正是1948年淮海战役第一阶段碾庄包围战的发生地。徐州的战略重要性,在历史和现实中都得到了印证。

官渡鏖兵:决定华北命运之战12受黄河改道影响,公元200年袁绍、曹操两大阵营决战的爆发地中牟县官渡镇,如今已经变为新乡市境内一片平平无奇的农田。不过,迁居到新黄河南岸的农民们依旧沿用了古老的地名:官渡镇、官渡桥村、官渡古寺……这座始建于明神宗年间的寺院并没有供奉曹操或者袁绍,接受顶礼膜拜的是已经神格化的关羽。

即使邺城(袁绍大本营)与许都之间一直保持着一种刻意的彬彬有礼关系,人们也不需要等到200年开春才察觉决定华北霸权归属的最后一仗已经到来。实际上,从196年曹操攻占颍川、汝南开始,黄河两岸两大军政集团间的关系就变得极其微妙了:“四世三公”的袁氏家族,正是从汝南发迹。随后的三年多时间里,双方仿佛是有默契一般,不急于催化彼此之间的矛盾,而是按部就班地消灭分布在两大集团周边的小股割据势力。继张绣、吕布之后,控制河内郡的眭固(张杨的后继者)也在199年被曹操消灭。盘踞长安的郭汜、李傕分别在197年和198年被部下杀死,董卓的残余势力已经灰飞烟灭。至于袁绍方面,他在199年最终占领了整个幽州,公孙瓒自焚身亡。那些足以使曹、袁双方“分散精力”的次要问题,此时已经悉数得到解决。

《三国演义》小说的渲染,以及“胜者为王”的传统观念,使人们有时容易低估袁绍这位河北之主的战略才能。最著名的批评是:谋士沮授曾经建议袁绍将汉献帝奉迎到邺城,一举攫取汉政权的正当性,但遭到拒绝。然而站在历史后端,我们将会发现:“挟天子以令诸侯”的有效性,是建立在曹操控制区的人力、物力优势以及军事胜利基础上的。单是吉祥物性质的天子本人,价值其实相当有限。而袁绍在189年董卓之乱开始时,仅仅领有渤海一郡的兵马;历经十年发展,竟得以鲸吞大半个华北,足见其至少是中等以上水平的战略家。

官渡鏖兵:决定华北命运之战13而在曹操平灭徐州、河内的战事进入尾声之际,袁绍已经开始做渡过黄河、对许昌用兵的妥善准备。199年秋天,他让主簿陈琳起草好了那份朗朗上口的《为袁绍檄豫州文》,预备营造舆论。与此同时,他还联络了荆州之主刘表,以及盘踞在汝南一带的黄巾军余党刘辟等人,暗示他们在曹操战线后方起事,制造混乱。

但真正导致备战进程骤然加快的,依然是那个不大不小的“边缘人”:刘备。199年年底,不甘再为傀儡的汉献帝与外戚董承等人密谋诛杀曹操,刘备虽未参与,但也正在谋划离开曹操阵营。200年初,以“南下攻打袁术残部”为名停留于徐州的刘备突然杀死曹操委任的刺史车胄,再度自立为徐州之主,并遣人与袁绍联络。恰在此时,“衣带诏事件”败露,怒不可遏的曹操当即发兵徐州,一战将刘备拼凑的万余人击溃。这位涿郡游侠再度北逃青州,进入袁绍军中。而他的忠实部下关羽以及两位妻子却在徐州被俘虏,暂时留在了曹操军中。

刘备的北逃,不仅使得曹操军队的备战状况一举为袁绍知晓,连带也让袁绍窥见了许昌政权内部的裂痕,双方都加快了备战的进程。当时,曹操的前进基地在鸿沟(连接黄、淮的运河)南岸的官渡,沿河要津皆部署部队把守,包含后勤单位在内的兵力约有6万余人。袁绍的前进基地则设在黎阳城(今鹤壁市浚县东),共出动步兵10万人、骑兵1万余人。与袁军相比,曹军的铠甲、马匹数量都居于劣势,但有以守待攻之利。

官渡鏖兵:决定华北命运之战14200年二月,袁绍率先开始了行动。他令大将颜良指挥1.2万人渡黄河,攻击曹军仅有千余人守卫的白马城渡口。此地正是九年前曹操为袁绍占领东郡时的驻军地,如今却成为双方序战的主战场。熟知地形的曹操并未顺势救援白马城,反而在四月初率兵到延津县,做出将要渡河北进、偷袭袁军后路的姿态。袁绍果然中计,另遣大将文丑率骑兵赶赴延津。不料居于内线位置的曹操军却突然转向,直趋白马城进攻颜良的背面。为曹操担任先锋的关羽“望见颜良麾盖,策马突入良军中,斩颜良而还”,白马之围遂解,曹军初战得胜。

歼灭颜良偏师之后,曹操指挥着先锋部队和撤出前线的百姓,不紧不慢地朝西南方的酸枣县方向撤退。急于报仇的文丑果然中计,他和刘备在延津登岸后,率五六千骑紧追不舍。曹操令士兵解鞍放马,并将从白马带出的辎重物资堆放在文丑部队的前进道路上,后者遂开始抢夺物资。此时曹操突然上马,率六百骑突入袁军阵中,“攻击大破之,遂斩文丑”。曹军“追击三十里,斩首数千级,得马数千匹,尽收回所失之辎重”。在《三国演义》故事中,这两次序战的胜利都被归功于关羽。实则后者仅仅参与了斩杀颜良的行动,并且在白马、延津之战结束后就脱离了曹军,北上与刘备会合,而不是如《演义》所云,上演过“过五关斩六将”的传奇。

初战获胜后,曹操并不恋战,进一步将主力后撤至官渡。而袁绍急于报复,遂将大半主力渡过黄河,以阳武(今阳武县古博浪亭)为前进基地,径直压向官渡。整个九月,双方都在官渡一带大打相持战。两军都使用了大量工程器械:袁绍建高橹、垒土山,居高而射,曹兵只得蒙盾而行。曹操于是转而制作“霹雳车”,发石击破橹楼。袁军又掘地道伸向曹军战线,后者则挖长沟加以破坏。如此僵持一月有余,曹军粮草将尽,有意退还许都。恰在此时,袁绍的参谋许攸提议分兵抄袭曹军后路,在曹操还归许都之前率先拿下其大本营,取得献帝这一“战利品”,然而袁绍并不为所动。少顷,许攸在邺郡的家人因犯法被袁绍的留守审配收监,他一怒之下前往曹营倒戈,投奔了旧相识曹操,并告知后者:袁绍遣淳于琼押运的辎重万余车刚刚抵达乌巢(今延津县僧固乡东史固村),防守懈怠。大喜过望的曹操立即“选精锐步骑五千人,皆用袁军旗帜暗号”,连夜赶往乌巢纵火,“尽烧其辎重”。实际上,袁绍本来还有最后的机会逆转战局——天明时分,曹操尚未自乌巢返回,而袁军之大营阳武在乌巢与官渡之间,本可以半道截击。但袁绍认为获胜的关键在于拔除曹军在官渡的大营,遂派遣重兵前往当地做正面进攻,结果被曹洪修筑的坚固工事挡住。中午时分,曹操自乌巢回师,俘获袁军大将张郃、高览。此时乌巢被烧的消息传来,袁军军心大乱,曹操趁机急攻阳武。袁绍本人意志崩溃,与长子袁谭率八百骑逃走,留在黄河南岸的大军也随之溃散。曹操奋起追击,“一日夜追至延津,尽虏绍军十余万”。

这场决定华北命运的大战,过程并不精彩。实际上,考虑到袁绍一方具有的压倒性物质力量优势,他所做出的某些决定并不荒唐:只要有足够的耐性,即使不凭奇谋,也足以让曹操因物资消耗殆尽而退兵。然而一系列带有偶然性的要素改变了整场战役的进程:从意外现身的关羽,到许攸的叛变,再到错误押注正面进攻官渡……最终,是袁绍本人的心理防线崩溃提前注定了战役的结果。恐怕连曹操本人也预料不到这一切。

官渡鏖兵:决定华北命运之战15严格说来,广义上的官渡之战并未伴随阳武大营的崩溃而结束。毕竟,袁绍并未将全部人马带到黄河南岸,他的后军主力还在黎阳城中待命。201年夏四月,袁绍再度集结7万重兵于黎阳。这一回,轮到曹操率军轻装渡河,在仓亭(今浚县东南)取得又一次大捷,自此彻底瘫痪了袁绍军队的野战进攻能力。202年正月,曹操最终占领袁绍经营多年的黎阳大本营。夏五月,袁绍在愤怒、悲哀和绝望中吐血身死,得年48岁。

和袁绍之死同时被引爆的,是他在生前已经埋下祸根的继承人问题。袁绍有三子袁谭、袁熙、袁尚,彼此针锋相对。以惯例论,长子袁谭是当仁不让的家业继承者,但袁绍恰恰偏爱幼子袁尚,欲立之为后。身故之前,他已经指派袁谭出任青州刺史,袁熙任幽州刺史,另以外甥高幹为并州刺史,仅留袁尚在冀州身边。而袁氏集团的谋臣审配、逢纪、郭图等人各怀心思,也以袁谭和袁尚为中心形成了两股势力,彼此针锋相对。在袁绍处于弥留之际时,逢纪等人担心日后遭到袁谭的报复,竭力游说袁绍废长立幼,以袁尚为新一任家主。

袁绍尸骨未寒,长子与幼子之间的内战即告爆发。袁谭率先启衅,但初战受挫,被袁尚大军包围在平原国(正是当初刘备担任过国相的郡)。情急之下,袁谭竟向亡父的夙敌曹操求救。后者采纳了荀攸的意见,决定适时出手、利用袁氏兄弟间的矛盾一举拿下河北。为表示诚意,曹操还让儿子曹整娶了袁谭之女为妻。

曹操介入袁氏内战之后,即遣大军进入冀州,引水灌城攻克了袁尚盘踞的邺郡。此时,反复无常的袁谭果然负约反叛,曹操送还其女、进讨袁谭,袁谭战败身死。并州刺史高幹在邺城陷落时一度也宣布投降,但后来再次叛变,在逃往荆州途中被杀。走投无路的袁尚只好往幽州投奔袁熙,但在幽州又遇袁熙部下焦触、张南叛变,袁尚、袁熙只得同奔辽西投靠乌桓。不久,穷追不舍的曹操北征乌桓,在柳城击破乌桓人的骑兵军团,袁尚、袁熙只好进一步投奔辽东太守公孙康。公孙康深知与曹操对抗不是上策,于是杀死袁尚、袁熙,献其首级于曹操。活跃于太行山中的黑山黄巾军领袖张燕也同时宣布降伏。至此,河北境内全部被曹操平定。

有关曹操平定河北的经历,在《三国演义》120回故事中只用了三回的篇幅,这多少给人一种错觉,似乎平定河北不过是官渡之战后的扫尾工作。但实际上,曹操扫平河北全域、凯旋邺城之际,时间已经是建安十三年(208年)正月了。平定河北耗费了他整整七年的岁月。换言之,官渡之战以后的曹操,剩余人生的1/3都花费在了平定河北这一艰巨的事业上。或者也是因为这个原因,他没有再返回汉献帝所在的许都,而是开始悉心经营邺城,作为自己最新的根据地。从张角、袁绍到曹操,这已经是邺郡24年里的第三个主人了。

208年春,曹操在邺城废除三公制度、新设宰相一职,由他本人出任。这一年他已经53岁,地位几乎达到人臣之极,不必再以成为“汉故征西将军曹侯”作为终身目标。作为华北大地的征服者,他内心所余的梦想只剩下了最后一项:平定天下。因此,他下令在邺城兴造人工湖玄武池,着手训练水军,为攻打荆州作准备。

建安十三年七月,这位刚刚担任了半年宰相的豪杰人物再度出征,率领着他号称83万人的大军浩浩荡荡南下。他当然不会知道,在一个叫赤壁的地方,涿郡游侠刘备以及孙坚的儿子孙权已经在等待他了。同样是在那里,他那征服天下的计划将被永久性地画上一个句号。

(参考资料:《三国志》,陈寿著,黄山书社2014年版;《三国志的世界:后汉三国时代》,〔日〕金文京著,何晓毅、梁蕾译,广西师范大学出版社2014年版;《细说三国》,黎东方著,上海人民出版社2019年版;《三国兵争要地与攻守战略研究》,宋杰著,中华书局2019年版;《中国历代战争史:三国》,台湾“三军大学”编著,中信出版社2013年版)