三国和东晋南北朝时期,中国两度经历南北分裂割据,各长达近百年和近三百年时间,最终以西晋灭吴和隋灭陈回归统一。南北方的自然地理环境差异是维持分裂局面的重要原因,而长江的地理阻隔作用尤为突出。如《宋书》所言:“胡(北魏)负骏足,而平原悉车骑之地;南习水斗,江湖固舟楫之乡。”[1]长江以北是降水量较少的暖温带、中温带,以南则是降水量较多的亚热带,故江南多为水乡泽国,居民习惯舟楫生活,而北方民众则对水上生活比较陌生。北方冬季有结冰期,而长江干流终年不冻,所以当北方势力南下时,浩瀚长江造成的阻隔格外严重。这种背景下,即使南北双方的国力、军事实力相差悬殊,弱势的南方也可借助长江长期固守。如在三国和南朝陈时期,南北政权的边界基本维持在长江北岸。当时长江以南开发程度比较低,人口、资源都很有限:西晋灭吴后,全国总人口为一千八百万,而新占领的吴地人口仅占二百万;隋灭陈后总人口为四千万,陈境内的人口也只占二百万。在实力对比如此悬殊的情况下,南方政权得以维系独立割据的战略屏障,便是长江天险。所以,本章和下章将分析长江在西晋灭吴及隋灭陈战争中的意义,由此表现人类战争行为与地理环境的相互关系。
<h3>第一节 汉末三国时期的隔江对峙与攻防战</h3><h4>曹操、曹丕两代的渡江作战尝试</h4>
北方政权完成统一的首要问题就是突破长江天险。但北方军队进入长江与南方进行水战绝非易事。208年,曹操赤壁之战惨败,成为北方历代统治者不能不正视的历史教训。
在赤壁失利之后,曹操便放弃了在长江中与孙权进行正面水战的想法。他此后对孙权的数次进攻,都是在江北的支流河道中建造小型舟船,对江南进行渗透、偷袭。如在赤壁之战的第二年(建安十四年,209年)春,曹操在淮河的支流涡水中“作轻舟,治水军”。当年七月,他带军队“自涡入淮,出肥水,军合肥”[2],合肥在长江支流的巢湖流域,但从淮河向南,并没有通达合肥及巢湖的航道,所以此年曹操并未与孙权在长江发生战事。可以推测,涡水里建造的这支轻舟舰队没能进入合肥及长江水系。[3]
但此年曹操在合肥的经营应包含建立造船基地,只有在这里建造的舟船,才能很方便地通过巢湖驶入长江。建安十八年(213年)春,他再次经合肥、巢湖征孙权,“进军濡须口,攻破权江西营”[4],取得了一些战果。曹军进入长江的是“油船”[5],但具体形制不详,似是209年的“轻舟”一类小型战舰,因为合肥一带的河流流量不大,无法容纳吃水深的大舰。
在曹魏和孙吴建国后,双方连续发生战事。此时颇有渡江之志的,是魏镇南将军曹休。他在黄初初年到任之际,就曾“别遣兵渡江,烧贼芜湖营数千家”[6]。222—223年间,魏军多路发起南攻,曹休又主动向魏文帝曹丕请命渡江,“愿将锐卒虎步江南,因敌取资,事必克捷,若其无臣,不须为念”。曹丕担心渡江遭遇挫败,急忙诏命停军。[7]但曹休仍以所部“轻船五百、敢死万人”出洞口攻击孙权后方,[8]可见每艘轻船仅载二十名士兵。同时,魏大司马曹仁所部受命攻击孙权濡须口驻军。他“以兵五千,乘油船,晨渡濡须中洲”[9],但被吴军击退。濡须中洲是孙权军的家属驻地,大概在濡须口外长江中的洲岛上。从魏军规模和乘夜偷袭的战术看,油船也是小型轻舟。
此后的黄初五年(224年)秋,曹丕重拾曹操的做法,在涡河中造船驶入淮河,再沿沟通江淮的传统运河行至广陵,驶入长江。[10]他宣称这次南征的目标是:“吾欲去江数里,筑宫室往来其中,见贼可击之形,使出奇兵击之;若或未可,则当舒六军以游猎,飨赐军士。”[11]可见主要是试探和寻找战机。此举引起孙吴方面极大惊恐,江南全境动员,沿江数百里全面戒备。但长江中风急浪大,曹丕的龙舟几乎倾覆且飘向南岸,[12]曹魏君臣为之丧胆,曹丕也承认“魏虽有武骑千群,无所用也”[13],只得班师而归。
次年(225年)秋冬,曹丕不顾臣下反对,再度南征。魏军十余万兵力集结于广陵,准备一举渡过长江。可能出于去年在长江中遇险的顾虑,曹丕此番没选择在秋季盛水期入长江,而是选择了十月的冬季枯水期。但天寒结冰,魏军战舰都被冻结在运河中而无法驶入长江,“是岁大寒,水道冰,舟不得入江”,魏军只能从陆路行至江边,“临江观兵,戎卒十余万,旌旗数百里”[14],却没有舟舰可用。曹丕感叹“嗟乎!固天所以隔南北也!”无奈再次班师而还。[15]
224、225年曹魏所用战舰,应比此前曹休的二十人轻舟要大,才因枯水和结冰造成战舰被困。[16]但这些船只在涡河中修建,又要经运河入长江,其形体亦不可能太大,应属于中型舰规模。这显示出北方试图用水军控制长江的尴尬:由于不适应长江风浪,北方军队只能选择在冬季的枯水期发动南征,希望乘江面较窄时渡江。但枯水期对北方舰队的行进也造成了极大困扰。这个悖论在后来的北周、隋对陈战事中亦有体现。反观南方孙吴的水军,则能较自如地利用各种型号的舰船。在曹操对濡须口发起进攻时,孙权军队曾用一艘大型“五楼船”固守江口:
曹公出濡须,(董)袭从权赴之,使袭督五楼船住濡须口。夜卒暴风,五楼船倾覆,左右散走舸,乞使袭出。袭怒曰:“受将军任,在此备贼,何等委去也,敢复言此者斩!”于是莫敢干。其夜船败,袭死。[17]
这种船应是有五层高楼的大型战舰,对曹军的轻船、油船具有体积优势,周围系有“走舸”即轻舟以配合作战,巨舰则起着水上基地“母船”的作用。当然,《三国志》对水战细节记载太少,当时的水军装备和作战方式已难详究了。
<h4>魏晋与东吴的长江攻防战略</h4>
225年曹丕南征之后六十余年里,曹魏和西晋朝廷都长期搁置了渡江攻灭东吴的方案。而东吴缺少战马,也难以在淮河流域的平原上与北方军队对抗。所以南北双方进入了长期对峙和拉锯战时期。这一时期的战场,南北纵深稳定在长江以北,基本不出长江流域;东西则为东起历阳、濡须口,西到江夏(汉水入长江处)。
东关、濡须为巢湖入长江之口,夏口为汉江入长江之口,东吴防范北军渡江,最重要的就是防范巢湖和汉江内的北军舰队驶入长江,因此重点加强这两处的防御。魏明帝时,豫州刺史贾逵总结孙权进攻的特征:“每出兵为寇,辄西从江夏,东从庐江。”庐江郡即东关及濡须口所在。[18]孙权和孙皓都曾迁都武昌,目的便是加强江夏一带的防务。司马懿曾对魏明帝建言攻吴之策:“凡攻敌,必扼其喉而摏其心。夏口、东关,贼之心喉……”[19]亦是此意。
值得注意的是,东线广陵、徐州附近有沟通江淮的古运河(后之京杭大运河江淮段亦基本沿袭古运河),曹丕曾两度试图从此进入长江。但在此后数十年里,东吴和魏晋极少在这里发生战事。253年,诸葛恪率吴军进攻合肥,曹魏方面担心吴军会从东线运河北上,“朝议虑其分兵以寇淮泗,欲戍诸水口”,司马师则认为吴军集结于合肥,“不暇复为青徐患也”[20]。而诸葛恪攻合肥不成后,确实准备改从东线徐州北伐,但旋即死于政变。继之掌权的孙峻也曾试图“自江都入淮、泗,以图青、徐”,但旋即发病而死,此方案终未实施。[21]
至于江夏以西,是孙吴荆州治所南郡及江陵城所在,但这里也较少与魏晋发生战事,多数时间是吴蜀政权的交界地区。只有在北方攻灭蜀汉之后,这里才成为防范北军自蜀地出三峡的前沿要冲。
吴军的机动和补给主要依靠水运,很少能翻越分水岭进入淮河流域。[22]但依靠长江中的水军优势,东吴在江北岸维持了濡须、皖城、浔阳、江陵等军事据点,并在据点周边屯田以维持驻军。为了防御北方军队南下,东吴往往在江北岸的支流中修筑堤堰,壅塞水流,使其上游泛滥,水域面积扩大,以阻碍北方军队的陆地行军。同时,这些支流水位上升,也扩大了吴军战舰的活动范围,如孙权曾堰塞与建邺隔江相对的涂水。但堰坝也限制了吴军舰船在长江与支流之间的机动,所以吴军往往伴随着战争进程和战术意图变化而修筑或拆毁堰坝。孙权为防范曹操,曾在巢湖入长江的东关口修筑东兴堤,后来孙权进攻合肥,又拆毁了此堤以便水军开进巢湖。吴主孙亮时(252年),权臣诸葛恪又重修东关堤,并挫败了魏军破坏此堤的攻势。[23]
另外,吴军从未放弃过对魏晋南界的攻势,特别是在东线(扬州),吴军一直希望将北方势力排挤出长江流域,以解除北方对建邺的威胁。从孙权到后主孙皓,吴军对北方占据的合肥城发起过多次进攻,但始终未能得手。吴宝鼎三年(268年)秋,孙皓亲征至东关,前锋丁奉试图攻击合肥;271年,孙皓再次试图从陆路攻击合肥方向;到277年,吴军还在发起对西晋江夏、汝南两郡的袭掠,试图从大别山区进入淮河上游。[24]但这时西晋已经灭蜀,对东吴形成压倒性军事优势,所以吴军这些攻势都难以获得实际成果。
北方的魏、晋政权主要依托城池巩固对吴战线。寿春和襄阳是魏、晋政权在东西两线最重要的军事基地,分别控制淮河和汉江干流,是扬州和荆州兵力主要集结地。这两个城市的前沿,是合肥、庐江(今六安)、江夏等前线城池,[25]北方凭借其抵抗吴军的水陆攻势,并伺机对东吴的江北地区进行袭扰破坏。如魏征东将军、扬州都督满宠抵御了孙权对合肥的多次进攻,并于魏青龙二年(234年)八月收获季节对吴军的江北屯田进行焚烧破坏。[26]晋咸宁四年(278年)十月,西晋扬州军也破坏了皖城一带的吴军粮储。[27]
如前所述,在魏、晋与东吴对峙的六十年中,北方军队极少渡过长江发起攻击或偷袭。在曹魏建立之初,尚有曹休、曹仁以轻舟发起渡江袭击,但何以再无后继?可能在220年代初双方对峙战局刚刚确立,东吴尚未建立起有效的江防体系,所以魏军尚可进行小规模偷袭,此后则难有机会。但曹魏一直试图突破东吴江防。魏明帝太和(227—232年)初年,司马懿督荆、豫二州诸军事。当时孙权尚都武昌,司马懿向魏明帝的建议是,以陆军攻击皖城方向,吸引吴军主力东下,然后“为水战军向夏口,乘其虚而击之,此神兵从天而堕,破之必矣”[28]。此计划获得魏明帝批准,荆州魏军遂在汉江中建造大型舰只,准备出夏口渡江。但结局和曹丕225年伐吴如出一辙—魏军不敢在夏季盛水期入江作战,而是准备在冬季进军,结果又因汉江水浅、大船无法行动而告流产。[29]到正始年间(240—248年),魏都督荆、豫二州诸军事王昶“习水军于二州”,为西线渡江做准备。[30]252年,孙权病死,魏朝廷曾向沿边将帅征求伐吴之计,当时征南大将军王昶(都督荆、豫诸军事)、征东将军胡遵(都督青徐)、镇南将军毌丘俭(豫州刺史、都督)三人各自提出了方案:最激进的主张就是“泛舟径渡,横行江表,收民略地,因粮于寇”,此策显然是出自王昶;其他两种分别是“四道并进”(可能是荆、豫、扬、徐四州),制造强大军事压力,促成孙吴内部“崩坏”;最保守的则是在边境屯田,“积谷观衅,相时而动”[31]。但此时司马氏刚刚通过高平陵之变掌握魏朝政局,尚未完全清洗掉反对势力,所以不可能发起大规模南征。
<h3>第二节 伐吴的前期部署及司马炎对将帅的戒备</h3>
司马氏自249年“高平陵之变”掌握曹魏政权,到265年代魏建晋,历时三代,至280年方攻灭东吴统一中国。在这三十年对峙之中,司马氏家族最关注的不仅是如何取得对东吴作战的胜利,更是如何防止前线手握重兵的将帅投降敌军、反戈一击。因为司马氏家族长期以权臣身份掌控曹魏政权,会引起忠于曹氏的将帅臣僚反对,也会引起有野心者的仿效。250年代所谓“淮南三叛”,即驻守扬州(治所寿春)、紧邻东吴前线的三位重臣接连起兵,都出于对司马氏掌控曹魏政权的不满。在263年邓艾、钟会攻灭蜀汉后,钟会也萌生了占据蜀地自立的念头,险些造成新的割据局面。这些“叛乱”都给司马氏以警醒,使其注意防范封疆大吏的离心趋向。这些人外可与东吴结合,内则有唤起忠于曹氏的号召力,比单纯的外敌危险得多。
当时东吴前线最基本军事单位是州,为了防范前线将领反叛,司马氏用掌军权的都督与州刺史互相制约。西线荆州辖区较大,兵权较重,甘露四年(259年),司马昭“分荆州置二都督,王基镇新野,州泰镇襄阳”[32],以沔水为界将荆州分为南、北两个战区,使二者相互牵制。在司马炎正式代魏建晋之后,仍对边州都督、刺史保持着极高警惕。当时石苞受命都督扬州(淮南)诸军事,便受到司马炎猜忌,险些招致杀身之祸:
淮北监军王琛轻苞素微,又闻童谣曰:“宫中大马几作驴,大石压之不得舒。”因是密表苞与吴人交通。先时望气者云“东南有大兵起”。及琛表至,武帝甚疑之……会苞子乔为尚书郎,上召之,经日不至。帝谓为必叛,欲讨苞而隐其事。遂下诏以苞不料贼势,筑垒遏水,劳扰百姓,策免其官。遣太尉义阳王望率大军征之,以备非常。又敕镇东将军、琅邪王伷自下邳会寿春。苞用掾孙铄计,放兵步出,住都亭待罪。帝闻之,意解。[33]
这是泰始四年(268年)之事。晋武帝司马炎为防范石苞起兵,在发布免职诏命时,又调集了朝廷禁军和徐州都督的兵力前往淮南,可见其忌惮之深。在统筹灭吴的战略部署时,司马炎也非常注意防范将领叛变,努力使前线都督与刺史相互牵制。这种错综复杂的制约关系使得伐吴之役险些功败垂成,最集中的表现就是王濬舰队在战争中所受的种种牵制。
<h4>羊祜经营荆州与王濬的升迁之路</h4>
司马炎在考虑东吴前线的都督人选时,最重要的因素是与皇室有亲属关系。灭吴计划最积极的推动者,就是晋皇室外戚羊祜(司马师的妻弟)。269年,羊祜被任命为荆州都督,驻防襄阳。因为其可靠的皇戚身份,晋武帝遂将十年前分置的荆州二都督合并,统归羊祜指挥。[34]他在荆州经营屯田,为灭吴之战做准备。各种伐吴举措中最重要的,就是以王濬担任益州刺史和负担修造战舰。但与王濬相关的史事多有模糊之处,所以先要做一简单辨析。
(一)羊祜在269—273年之间曾任“征南将军”。本传载王濬入仕之初,其府主为“征南将军”,但未言明其人:
王濬,字士治,弘农湖人也……后参征南军事,羊祜深知待之。祜兄子暨白祜:“濬为人志太,奢侈不节,不可专任,宜有以裁之。”祜曰:“濬有大才,将欲济其所欲,必可用也。”转车骑从事中郎,识者谓祜可谓能举善焉。除巴郡太守……[35]
按,王濬初入仕时任征南将军府之参军事,受到羊祜器重,所以此征南将军应是羊祜。但据《晋书·羊祜传》,羊祜从未有过“征南将军”之号。其到任荆州之初:
泰始初,诏曰:“……以祜为尚书右仆射、卫将军,给本营兵。”……帝将有灭吴之志,以祜为都督荆州诸军事、假节,散骑常侍,卫将军如故。[36]
可见羊祜都督荆州之初,军号为“卫将军”。本传载他的军号后来又提升为“车骑将军”,但那时已是吴将步阐来降的273年、王濬早已调任巴郡、广汉太守了。所以在羊祜到任荆州之后不久,其军号应曾升为“征南将军”,而当时王濬正在其军府任参军事,此军号为羊祜本传失载。
(二)王濬在泰始七年(271年)曾准备到贾充的车骑将军府任从事中郎。关于王濬在征南参军之后、巴郡太守之前的职位,本传载其“转车骑从事中郎”,此时担任车骑将军的是重臣贾充。[37]所以王濬在征南参军之后、巴郡太守之前,曾到贾充的军府担任从事中郎。此次迁转的因由,应是贾充准备外调都督秦、凉二州诸军事。《晋书·武帝纪》泰始七年:“秋七月癸酉,以车骑将军贾充为都督秦、凉二州诸军事。”贾充原一直在朝廷任职,车骑将军为虚号,此时调外任都督,方需扩充府僚。王濬可能得到羊祜的保荐,才获此升职。但当时贾充不愿放弃中枢之权,所以拖延迟迟不肯赴任,到这年冬天将女儿嫁给太子,方正式获准留任朝廷。[38]所以王濬的“车骑从事中郎”,也是短期的有名无实之职。大概在贾充确定不调外任之后,王濬也就转任益州的巴郡、广汉太守了。
<h4>西陵之战引发西晋对水军建设的重视</h4>
到泰始八年(272年)六月,益州发生兵变,刺史被杀,王濬平息叛乱,被升为益州刺史。此事其本传和武帝纪记载甚明确,无可争议。[39]但《资治通鉴》在此月(泰始八年夏六月)记载其开始建造战舰,却未必正确。因为当时益州刚刚结束叛乱,未必能有大规模造舰之举。
在此年九月,吴西陵督步阐投降晋朝。西陵扼守长江东出三峡之口,起着防范益州(蜀地)舰队顺江东下的战略作用。晋荆、益两州军队前往增援,与吴军发生激烈战斗。步阐投降之初,晋军的部署是:
(一)以荆州刺史杨肇率兵三万前往援助西陵。
(二)荆州都督羊祜率兵五万攻击东吴在江北的重镇江陵,试图以围魏救赵之策缓解西陵围城局势。
(三)益州的巴东监军徐胤率水军顺江而下,攻击东吴在长江最西端的据点建平城,试图在破城后直下三峡,增援西陵之军。
东吴负责西线荆州防务的是江陵都督陆抗,他针对晋军的部署是:
(一)亲自率兵从江陵急进西陵,在城外掘壕,阻绝杨肇援军入城,并围困城内的步阐军。
(二)留一部分兵力固守江陵对抗羊祜,同时命江南公安等地的吴军水路增援江陵。江陵吴军还掘开河堤放水,使羊祜军队粮船搁浅,不得不改用车运,运输效率大为降低。
(三)以水军督留虑的舰队扼守三峡,阻击晋巴东水军,使其无法增援西陵及江陵战场。
双方军队的战事自十一月开始,杨肇军被阻击于西陵城外,损失惨重,到十二月被迫撤退,又被陆抗军追击,伤亡惨重。羊祜所部进展艰难,也被迫从江陵撤兵。随着晋军撤退,西陵被吴军攻克,步阐等人都被处死,此战宣告结束。晋朝追究战败责任,荆州刺史杨肇被免为庶人,羊祜军号也从车骑将军降为平南将军。但就任不久的益州刺史王濬未受处分,这说明投入战场的巴东水军并不属其指挥序列(应是归荆州都督羊祜指挥)。朝廷对羊祜等人的弹劾原文为:
祜所统八万余人,贼众不过三万。祜顿兵江陵,使贼备得设。乃遣杨肇偏军入险,兵少粮悬,军人挫衄……[40]
细究晋军以八万优势兵力败于三万敌军的根源,在于没有掌握长江上的“制水权”:第一,羊祜五万主力不能及时攻克江陵,重要原因在于内河断流、粮运不继;第二,杨肇所部驰援西陵,也是从陆地进军,“兵少粮悬”而致失败;第三,巴东出发的晋军舰队被阻绝于三峡,无法为西陵、江陵战场提供兵、粮援助。反观东吴的胜利,则处处与控制长江有关:可以通过长江航道快速运兵、粮,阻击晋军于西陵城下;江南的东吴驻军也可以通过航运增援江北战场。所以,此次失败使羊祜开始重视组建长江舰队,而王濬的益州此时方开始成为大规模造船基地。
<h4>王濬在益州造舰的开始时间与波折</h4>
王濬本传未载其造舰工作始于何时,《资治通鉴》则系于泰始八年(272年)夏其刚刚就任益州刺史时,显然过于提前。其实王濬在益州造战舰历时较久,且分为不同阶段。下面逐一论述。
在咸宁五年(279年)秋,王濬上书晋武帝,陈说立即伐吴的必要性,其中提到“臣作船七年,日有朽败”[41]。古人用虚岁计年,所以其开始造船的时间应是273年,正是羊祜的荆州军惨败于西陵的第二年。
但为何造船的任务偏偏落在王濬的益州?羊祜所在的荆州,有汉江(即沔水)汇入长江,在襄阳修造的舰队也可以驶入长江。但问题在于汉江流量小,难以容纳大型战舰。当年司马懿在荆州造船后,便因“会冬水浅,大船不得行”而导致计划流产(见前文)。所以最为便捷的还是在益州造船,开战时可开出三峡,顺流直下。此时羊祜的都督区范围并不包括益州,但他的官位远远高于王濬,且是王濬旧日府主,可以利用其私人影响力动员益州造船。王濬本人亦热衷于伐吴,两人在这个事业上取得了一致。
王濬虽然从273年就开始造船,但这只是他和羊祜两人的默契,尚未得到朝廷及晋武帝的首肯,所以其规模不会太大。而他开始大规模建造战舰的时间,在《华阳国志》中有明确记载,是在咸宁三年(277年)三月:
三月,(王濬)被诏罢屯田兵,大作舟船,为伐吴调。别驾何攀以为佃兵但五六百人,无所办,宜召诸休兵,借诸郡武吏,并万余人造作,岁终可成。濬从之。攀又建议:裁船入山,动数百里,艰难。蜀民冢墓多种松柏,宜什四市取,入山者少。濬令攀典舟船器仗。[42]
另据《三国志》,晋武帝为了不泄露伐吴计划,是秘密命令王濬造船,且只让其用现有的屯田兵造船,而没有发诏书动员其他兵力。但王濬为了尽快造船,还是接受何攀的意见,进行了规模较大的动员。因为没有正式诏命支持,遭到了其下属的广汉郡太守张斅抵制:
(张斅)晋武帝世为广汉太守。王濬在益州,受中制募兵讨吴,无虎符,斅收濬从事列上,由此召斅还。帝责斅:“何不密启而便收从事?”斅曰:“蜀汉绝远,刘备尝用之。辄收,臣犹以为轻。”帝善之。[43]
《资治通鉴》将此事系于泰始八年(272年),而据《华阳国志》,当是277年之事。这里提到武帝给王濬的命令是“中制”,即寄自朝廷的密信而非明抄诏令,也使得王濬征兵无虎符可用。张斅以郡太守公然抗命,几乎泄露造船之谋,却得到司马炎赞许,则是因为触动了其最敏感的神经—防范边帅叛乱。当然,王濬真正开始造船之后,零碎木屑蔽江而下,直入东吴境内,几乎已经无密可保,只因吴后主的昏庸怠政,才未能进一步加强江防。
据《华阳国志》,这年十月,王濬派何攀到洛阳上表,进陈伐吴策略,并命他在回程时途经襄阳,以便“与征南将军羊祜、荆州刺史宗廷论进取计”。可见王濬仍非常重视与昔日府主羊祜的协同。据《华阳国志》,咸宁四年(278年):“刺史濬当迁大司农,至汉寿,重遣参军李毅诣洛,与何攀并表求伐吴。”[44]此时王濬在益州已整整六年,晋武帝防范疆臣坐大,调换他也很正常。且大司农属九卿,对于王濬来说也属于升职。更重要的是,伐吴战争即将开始,晋武帝显然是想改派更为得力的,甚至是有亲属关系的人刺益州,以便其立功受奖。
但羊祜立即向晋武帝进言,保举王濬继续担任益州刺史,获得批准,方使其继续进行造船工作。此事《晋书》的王濬和羊祜本传都有记载,但都不系年月,且与其他史事前后混杂;《资治通鉴》将其系于泰始八年(272年),显然有误。现对照咸宁四年(278年)后半年的诸事,可以证明《华阳国志》记载无误,且可以发掘出当时的更多历史细节。先看羊祜本传:
祜寝疾,求入朝。既至洛阳,会景献宫车在殡,哀恸至笃……疾渐笃,乃举杜预自代。寻卒,时年五十八……[45]
据《武帝纪》,羊祜卒于咸宁四年(278年)十一月。这说明他临死前数月已经返回洛阳。能够旁证其返回时间的,是“景献宫车在殡”(即羊祜姐姐、司马师之夫人刚刚去世),据《武帝纪》,景献皇后卒于此年六月,羊祜于咸宁四年下半年因病回洛阳,恰逢其姐姐的丧事。而王濬被征调为大司农,《华阳国志》载于咸宁四年末条,应为下半年之事。显然,晋武帝也担心羊祜离任或去世后,王濬可能难于驾驭。
据《华阳国志》,王濬接到调令后离开成都,但至汉寿便不肯前行,派僚属到洛阳请求伐吴,也是担心在益州已经进行的造舰事业功亏一篑。据王濬本传:“车骑将军羊祜雅知濬有奇略,乃密表留濬,于是重拜益州刺史。”此条羊祜的军号有误,因为羊祜此时已升为征南大将军。但可见他在洛阳向晋武帝做了不少工作,使得晋武帝增加了对王濬的信任,使其重任益州刺史。而且,此时王濬的职责还有增加,首先是军号升为龙骧将军,据说是羊祜引用当时东吴童谣“阿童复阿童,衔刀浮渡江。不畏岸上兽,但畏水中龙”,故以龙为王濬军号(王濬小字阿童);[46]不过据《华阳国志》,正式加这个军号是咸宁五年(279年)初之事,而羊祜已卒于去年十一月。[47]
另外,王濬的都督区范围也有扩大,“假节,监梁、益二州军事”,因其资历较低,故为“监”而非“都督”。所监增加了梁州,是将梁州的氐、巴骑兵划入其指挥序列。益州本土素来缺乏骑兵,这是给王濬增督梁州的重要原因。所以年底进军之时,其军中便有“梁州三水胡”兵。据王濬本传,他修造的“大船连舫,方百二十步,受二千余人。以木为城,起楼橹,开四出门,其上皆得驰马来往”。可见大船也是为了搭载骑兵。王濬舰队启程时,曾因“争骑”而斩部将李延,也证明其舰队中搭载了骑兵。[48]
<h3>第三节 灭吴之役的部署</h3><h4>朝廷党争与伐吴争论</h4>
西晋灭吴的大规模攻势开始于咸宁五年(279年)十一月。在此前一年间,西晋上层关于是否以及何时发起攻势,一直有激烈争执。伐吴之议虽然得到晋武帝首肯,但招来了重臣贾充的反对。灭吴成功与否,对贾充并无直接厉害关系,但此事由羊祜首倡,一旦成功,羊祜的权威便会大为提高(即使羊祜死后,成就也会由其继任者杜预获得),这是试图垄断朝政的贾充不愿看到的,所以他一直坚决反对伐吴。西晋政治并非君主一人独大,新兴的士族高门对皇权构成了一定的牵制。那些没有参与首倡此事的士族高官也纷纷附和贾充之说,所谓“时帝密有灭吴之计,而朝议多违,唯预、羊祜、张华与帝意合”[49]。《晋书》对这些争议多不系年月,《资治通鉴》则将其一概放置在十一月出兵之前。但通过《华阳国志》及《晋书》诸传记的记载,仍能基本勾勒出西晋灭吴战略的基本形成及争议过程。下面进行详细辨析。
使晋武帝下定伐吴决心的,是咸宁四年(278年)底羊祜回洛阳养病,二人有了当面交流的机会。晋武帝担心若羊祜病重不起,前方战备陷于停顿,伐吴大计将功亏一篑,所以他急于让羊祜发动对吴全面攻势:
祜寝疾,求入朝。既至洛阳……帝欲使祜卧护诸将,祜曰:“取吴不必须臣自行,但既平之后,当劳圣虑耳……”[50]
这是要趁羊祜在世之际完成灭吴。此时已是咸宁四年(278年)冬,按照惯例,南伐都要在秋冬季进行,以避开江南的雨季暑湿。如此大规模军事行动,需要准备筹划之事甚多,当年显然已来不及发起进攻,而必须待到来年(279年)秋冬。让羊祜“卧护诸将”,就是让他筹措一年之后的攻势。但羊祜在咸宁四年(278年)十一月就去世,伐吴计划则按惯性继续推行。
关于咸宁四年(278年)底晋武帝的这个决心及计划,除了羊祜本传,在《晋书》中再未提及。但《华阳国志》还可提供一旁证,该书对咸宁五年(279年)初的记载为:
诏书拜濬龙骧将军,假节,监梁、益二州军事;除何攀郎中,参军事。以典军从事张任、赵明、李高、徐兆为牙门,姚显、郄坚为督:冬当大举。[51]
这是对益州伐吴军的一系列人事部署,最主要的是让王濬重返益州。前文已言,这本是咸宁四年(278年)末羊祜临终时和晋武帝的布局,只是正式发布已是咸宁五年(279年)初了。“冬当大举”应当也是诏书原文,即待冬季展开全面攻势。
与此有关的,是羊祜临终推荐杜预继任荆州都督,以及推荐张华为度支尚书,负责伐吴的后勤事务。《晋书》未载张华就任度支的具体时间,《资治通鉴》则载于咸宁五年(279年)十月战事开始之前。其实张华任度支,应和杜预赴任荆州同时,都在咸宁五年(279年)初。因为度支尚书原为杜预,杜预离职之后自然由张华递补。不然在开战前一个月是来不及进行后勤准备的。
这样,羊祜临死前已为伐吴事业安排了继承人:杜预都督荆州,王濬都督益州,形成长江上游对东吴的进攻序列;张华在朝廷统筹机务。但此举无疑会引起贾充更多的疑忌,下游扬州、徐州的都督未参与最初的伐吴动议,也多抱冷眼旁观的态度,并不时试图中止伐吴计划。就在总攻开始前数月,咸宁五年(279年)初秋,任扬州都督的王浑忽然声称吴军有北伐趋势,请求朝廷暂缓南伐计划。西晋朝廷再度发生争议,一度准备将南伐推迟到明年。《华阳国志》关于此事的史料甚为珍贵(虽然部分字句可能有讹脱):
(咸宁)五年……秋,攀使在洛,安东将军王浑表孙皓欲北侵,请兵,朝议征,欲须六年。攀因表可因今取之,策皓必不自送。帝乃许焉。[52]
当时何攀仅为王濬龙骧将军府的参军事,人微言轻;而试图拖延战事的贾充、荀勖、王浑等都是朝廷重臣,仅凭何攀个人上书,显然难以改变大局。结合《晋书》的杜预和王濬本传可见,这两人都曾对延期计划表达激烈反对。何攀当时在洛阳,及时将朝议通报益州,所以王濬对此最先做出反应:
时朝议咸谏伐吴,濬乃上疏曰:“……臣作船七年,日有朽败,又臣年已七十,死亡无日。三者一乖,则难图也,诚愿陛下无失事机。”帝深纳焉。
贾充、荀勖陈谏以为不可,唯张华固劝。又杜预表请,帝乃发诏……[53]
前文已言,益州的大规模造船实际始自两年前的277年,这里说“作船七年,日有朽败”,显然是为陈说今冬伐吴机会之难得,所以将以前的小规模造船也包含在内了。杜预的反应稍晚。他在得到推迟伐吴的正式诏命之后,才上表劝谏:“预处分既定,乃启请伐吴之期。帝报待明年方欲大举……”杜预为此在半月之内连上两表力争。针对贾充、王浑等对南伐持悲观言论者,杜预指斥其动机是妒贤嫉能:“其言破败之形亦不可得,直是计不出已,功不在身,各耻其前言,故守之也。”[54]经过王、杜两位边帅力争,以及张华在朝中择机进言,晋武帝才决心立即展开对吴全面攻势。
<h4>伐吴之役的指挥序列及武帝的意图</h4>
按照晋武帝部署,对东吴的攻势于咸宁五年(279年)十一月全面展开,战线东起东海,西至巴蜀。晋武帝试图通过同时的全线攻势,使东吴江防顾此失彼,从而制造渡江机会。《晋书·武帝纪》载其进攻序列为:
十一月,大举伐吴,遣镇军将军、琅邪王伷出涂中,安东将军王浑出江西,建威将军王戎出武昌,平南将军胡奋出夏口,镇南大将军杜预出江陵,龙骧将军王濬、广武将军唐彬率巴蜀之卒浮江而下,东西凡二十余万。以太尉贾充为大都督,行冠军将军杨济为副,总统众军。……[55]
此处对诸将帅只载军号,未载其都督或所刺何州,所以不便理解。现在按照诸人本传中的信息,将其做一梳理:
东线,徐州都督、琅邪王司马伷从下邳南下,渡过淮河,进攻吴都建邺对岸的江北地区。
中线,分为互不统属的两路:
东路,扬州都督王浑从寿春出发,经合肥进向横江(长江西北岸的历阳地区);
西路,豫州刺史王戎所部,从淮北的项城出发,经大别山区南下,攻击吴旧都武昌(今湖北鄂州)对岸的江北地区。西线,又可分为杜预原则指挥之下的三路:
东路,江北都督胡奋所部,沿汉水南下,负责进攻夏口方向(今武汉江北地区);[56]
中路,荆州都督杜预率部自襄阳出发,从陆路进攻江陵;
西路,益州刺史王濬、巴东监军唐彬的水军沿长江而下,经三峡东进。
从这个指挥序列可见,各路南征军队的统帅,除了武帝之叔司马伷,其余几乎都与皇室有着盘根错节的姻亲关系:王浑之子王济娶武帝之姊;王戎从弟王澄之妻郭氏,是太子妃贾南风的亲戚;胡奋之女是武帝贵人且深受宠爱;[57]杜预之妻是武帝之妹高陆公主;至于受命总统各路军队的大都督、太尉贾充,则是太子妃贾南风之父;贾充副手杨济,是武帝的杨皇后之叔。各路伐吴都督组成了晋武帝的一个盛大“亲友团”,只有王濬和皇室没有任何亲缘关系,他能任此职完全得力于羊祜临死前的保举。
武帝如此安排伐吴将帅人选,应当还是吸取了“淮南三叛”和钟会谋反的教训,力图避免前线将帅倒戈的局面。特别是吴、晋之间有长江天险,即使成功灭吴,如果前方将帅反叛,将很容易再次出现划江而治的局面。而诏命一直竭力反对伐吴的贾充担任总指挥,显然也有互相牵制之意:贾充与杜预、王濬素来不和,正可实现互相监督,使各方都不敢产生非分之想。另外,这个任命也是晋武帝试图安抚贾充的一种姿态,一旦伐吴成功,贾充将是最大功臣,其以前对伐吴的种种消极反对,都将被这个战功掩盖。当然,这只是晋武帝的一厢情愿。贾充极度自私且没有大局观,在实际战事中,这个安排险些毁灭伐吴大计。
各路统帅之中与皇室最疏远的王濬,却指挥着最为强大的水上力量—益州舰队。这个舰队对于晋军的渡江作战极为重要,为了防范王濬产生二心,也有必要的牵制措施,就是以唐彬为其副手。唐彬原任益州监军,就是充当监视王濬的角色;其后又任巴东监军,从上文的272年西陵之战可见,这个职位主要负责统辖三峡舰队,且具有较强的独立性,并不直属益州刺史领导。如今以唐彬担任王濬舰队副统帅,正是为了进行监控和牵制,防范其离心叛变。
<h3>第四节 伐吴之战过程</h3>
根据各路军队的进展,晋伐吴之战可分为两个阶段。
从咸宁五年(279年)十一月至太康元年(280年)二月十八日,为第一阶段,战事主要发生在长江北岸诸地区,以及自三峡至江陵的长江南北两岸;自太康元年(280年)二月十八日至三月十五日,为战事第二阶段,王濬舰队从江陵东下,配合江北各军攻克敌沿江诸城塞,顺流直下,于三月十五日登陆占领建邺,尽俘吴后主朝廷,战事宣告结束。
在第一阶段的战事中,各路伐吴军队所遇到的抵抗很强烈,且都有较大战果,但各路统帅对于战事进度的意见并不一致,其中最关键的争执,是能否顺利渡江。在第二阶段,晋武帝已明确指示王濬舰队攻占建邺,但未能及时厘清王濬舰队与下游陆路诸军(主要是中线扬州都督王浑)的指挥关系,导致王濬与王浑发生争执。下面将重点分析西晋高层对于伐吴进展的预判,以及在实战过程中的抵牾。
<h4>第一阶段战事</h4>
据《晋书·武帝纪》,晋武帝于咸宁五年(279年)十一月诏命前线各军展开全面进攻。由于诸军进入临战需要一些时间,加之原边界距离吴军重要城垒尚有一定路程,所以到次年正月、二月才进入激战阶段。
关于王濬舰队启程的时间,《华阳国志》卷八载为咸宁五年(279年)“冬,十有二月,濬因自成都帅水陆军及梁州三水胡七万人伐吴”[58]。《晋书·王濬传》则载为“太康元年正月,濬发自成都”。自建平郡(今巫山县)以下的三峡江段都由吴军控制,吴军预先在峡中“以铁锁横截之,又作铁锥长丈余,暗置江中,以逆距船”,而羊祜尚在世时已从吴军俘虏口中获悉这些布防地点,所以王濬舰队已有针对性措施,顺利通过三峡江段。[59]这表明在益州舰队的下江行动中,荆、益两州保持着密切的协作。
按照晋武帝战前的诏书部署,王濬舰队在驶出三峡,进入荆州江段后,便开始接受荆州都督杜预的指挥(节度)。[60]二月三日(庚申),王濬舰队攻克江北重镇西陵,继续沿江而下,攻击两岸吴军。
自襄阳南下的杜预所部,正月时已包围了吴江陵城,但一直未能攻克。杜预遂派一部兵力沿长江北岸向上游进军,以便接应王濬舰队;同时又派少数兵力偷渡长江,“奇兵八百,泛舟夜渡”[61],埋伏于乐乡城外。乐乡是吴军在长江南岸最重要的军事要塞,且是其长江舰队停泊基地。当上游吴军被王濬舰队击败,逃入乐乡城内时,杜预所遣伏兵随之混入城内。王濬舰队于八日(乙丑)抵达乐乡城外江面,与吴军舰队展开会战,将其尽数歼灭,吴荆州舰队统帅“水军督陆景”被俘。[62]王濬军与城内伏兵里应外合,于当日攻克乐乡。此战彻底消灭了吴军长江上游的水上力量,使得江北吴军孤立无援,杜预军遂于十七日(甲戌)攻克江陵。
至此,吴军在长江上游的重要据点已全部被晋军攻占。
同时,指向长江中游的荆州军(江北都督胡奋)、豫州军(刺史王戎)也逐渐进抵江边,围困夏口和武昌二城。下游的扬州都督王浑、徐州都督司马伷所部,也基本肃清了江北吴军。战线基本推进到长江一线。
但自全面进攻开始以来,贾充一派从未停止对伐吴前景的质疑:
众军既进,而未有克获,贾充等奏诛华以谢天下。帝曰:“此是吾意,华但与吾同耳。”时大臣皆以为未可轻进,华独坚执,以为必克。[63]
张华本传未载此事具体时间,《资治通鉴》则将其放在平吴之后,属于倒叙,亦无法查证具体时间。本书认为,此事应发生在战事开始后至二月中旬之间。因为在王濬军攻克乐乡之前,晋军的进展颇不乐观:杜预军攻江陵、胡奋军攻夏口、王戎军攻武昌,都难以破城;司马伷、王浑两军虽扫荡江北,但临江而不敢渡,使战局有陷入拖延的趋势。张华、杜预、王濬等力主伐吴者,显然承受着极大的压力。只有在王濬舰队攻克乐乡后,才取得了在长江南岸的第一个重要据点,江北的江陵也在九天后攻克,战局才呈现出转机。
在王濬的益州舰队驶出三峡,即将与杜预的荆州陆军会师之际,指挥权问题也在凸显。开战之前,晋武帝已经做出部署:“诏书使濬下建平,受杜预节度”。杜预到任荆州尚不到一年,而王濬在益州经营已有八年之久,只因为杜预与皇室有亲,官品也高于王濬,才有这种安排。
如果杜预在王濬舰队归入自己麾下之后率部登舰,直取建邺,必将建立灭吴首功。但杜预从大局出发,做出了不和王濬争功的姿态。他判断:如果王濬舰队能够从三峡攻克沿途要塞,开到江陵与自己会师,那么早已功勋卓著,自然不甘心受制于人;如果王濬舰队无力攻克吴军诸要塞,也就无法赶到江陵一带与荆州军会师,更谈不上接受自己指挥的问题。早在获悉益州舰队攻克西陵时,杜预便写信给王濬,鼓励他顺江直下,径取建邺,“振旅还都,亦旷世一事也”。王濬得此信后大悦:这解除了他被人抢功的顾虑,正可以放开手脚建功立业。为了向皇帝暗示这种心情,他还专门将杜预的信件转呈武帝,希望武帝能让自己放手一搏。
江陵克定的第二天(十八日,乙亥),王濬舰队开到江北,与杜预主力会师。同在这天,晋武帝发布诏书,将王濬军号提升为平东将军,由“监”升格为“都督梁、益二州军事”[64]。这是对他数日之前攻克乐乡的嘉奖。发这道诏书时,晋武帝还未必知道占领江陵的消息,但他在这天稍晚时获悉江陵已定,于是又发布一道诏书,部署继续进军的事项:[65]
(一)唐彬舰队划入王濬指挥之下。[66]
(二)杜预军队继续进占荆州的长江以南地区。
(三)杜预军队中划拨一万人给王濬、七千人给唐彬,编入长江舰队。