第十章 劉裕對南燕和後秦的北伐

東晉末年,劉裕率軍相繼攻滅南燕和後秦。這兩場戰事是南方政權對北戰爭的最高峰,主要表現在:(一)戰前綜合考慮了地理、季節、兵種、補給等諸因素,計劃嚴密周詳;(二)針對北方的騎兵優勢,總結出了一套行之有效的對抗手段;(三)從統帥到士兵都有較高的素質,紀律嚴明,作戰積極性高。這些因素保障了對燕、秦戰爭的勝利,且對南朝的戰爭形態、政治形勢產生了較大影響。

第一節 劉裕伐南燕

戰爭背景與劉裕的進攻部署

398年,北魏對後燕發動進攻,佔領中原。部分慕容鮮卑在慕容德的帶領下渡過黃河,輾轉在青州立國,建立南燕政權。此後慕容超繼任為南燕皇帝,逐漸對東晉採取攻勢。

義熙五年(409年)二月,燕軍數次襲掠淮北,引起東晉邊境的恐慌。此時,東晉掌權的是以劉裕為首的北府軍人集團。次月,太尉劉裕宣佈親自出征南燕,所率兵力主要是揚州禁軍和徐州北府兵舊部。四月,劉裕所部開始進軍。(關於此次戰役,可參考圖6)《宋書·武帝紀》:

圖6 東晉滅南燕之戰示意圖

(義熙)五年二月,(南燕)大掠淮北,執陽平太守劉千載、濟南太守趙元,驅略千餘家。

三月,公抗表北討,以丹陽尹孟昶監中軍留府事。

四月,舟師發京都,溯淮入泗。[1]

這樣迅速地做出伐國之謀,在東晉南朝戰爭史上頗為少見。[2]慕容超襲擾東晉是一時心血來潮之舉,事先並無預兆。劉裕此次伐燕時,嶺南尚有盧循的天師道武裝,益州有譙縱的割據政權,晉軍頗有後顧之憂。但這也有一定積極作用,就是使東晉軍隊一直保持著比較高的動員程度,可以迅速轉入實戰狀態。劉裕伐燕的總兵力並不多,大概在三到五萬之間,但大都是經歷過對孫恩、盧循天師道軍及桓玄作戰的北府舊部,富有戰爭經驗,這也是晉軍能迅速參戰的重要原因。

劉裕伐南燕之戰的記載主要來自《宋書·武帝紀》及諸將本傳,以及《晉書·慕容超載記》。這些都是戰爭結束後的追記,戰爭開始前及過程中的諸多細節都被忽略,需要進行還原。下面就是這方面的初步嘗試:

四月,劉裕所部以舟師發自建康,經運河駛入淮河,繼續溯泗水北上,經過一個月行至下邳。在這段時間,南燕可能對晉軍的動向有所瞭解,但未必知曉劉裕志在滅燕的決心。因為晉軍也可能在邊境發動有限的襲擾,作為對燕軍進犯淮北的報復。晉軍艦隊到達下邳後,按照以往荀羨、桓溫等北伐的經驗,應繼續駛往彭城,溯泗水北上。由於行將進入雨季,河道水量充沛,晉軍艦隊可以溯流行至高平郡登陸,收復南燕佔領下的魯中地區,逐步進逼燕都廣固(今山東省青州市);或者繼續經桓溫故道駛入濟水,直至距離燕都廣固百餘里之遙的渤海郡,從那裡登陸展開進攻。這種依托河道的戰術已經成為晉軍北伐慣例,不僅是因為艦隊可以攜帶大量後勤輜重,而且依托河道和艦船,可以抵消北方軍隊的騎兵優勢(桓溫伐前燕,在棄舟步行時遭遇敵騎兵的慘重打擊,就是這方面的教訓)。

但劉裕在下邳的決策,與以往北伐慣例完全不同:

五月,至下邳,留船艦輜重,步軍進琅邪;所過皆築城留守。鮮卑梁父、莒城二戍並奔走。[3]

晉軍在下邳棄舟登陸,徒步沿沂水向北進軍。從下邳到琅琊(今山東臨沂)之間,是魯南、蘇北的平原地帶;再向北是沂蒙山區(時稱大峴山),翻越山區之後,就是燕都廣固所在的魯北平原。劉裕這個反常方案,是綜合考慮晉軍後勤特點、戰區地形及兩軍兵種差異等因素之後的大膽創新:

首先,船行速度慢,受河道影響而路程較長,會留給燕軍足夠的備戰時間;如果燕軍採取阻塞河道等措施,將難以避免在平原上展開會戰。且戰場距離廣固尚遠,即使晉軍完勝,慕容超聞訊憂懼,感覺大勢已去,很有可能逃竄他國—向西可以逃奔後秦,向北過黃河可以投靠北魏,甚至有可能浮海北歸遼東。如果慕容超等策馬狂奔,離廣固尚遠的晉軍根本無力追及。

其次,是作戰地形的考慮。晉軍陸行至琅琊後,乘南燕未及反應,能迅速進入大峴山地。山區地形陡峭、林木茂密,騎兵部隊難以展開衝擊,便於步兵行軍。燕軍騎兵只能在山地北麓的平原上等待晉軍。但出山之處距離廣固只有五十里,晉軍一戰而勝,就可以兵臨敵都城之下。當然,燕軍也可能在山地據險設壘,阻擊晉軍。但雙方在山林間步戰,騎兵優勢無法發揮,晉軍勝算更大。再則,如果把決戰地點定在出山之處,萬一晉軍戰敗,也可迅速收縮回山地,據險阻緩慢後撤。這要比在平原上決戰失利容易處置得多。

最後,是後勤方面的考慮。在從下邳到琅琊的平原上,劉裕沿途留下兵力修築堡壘據點,形成一條後勤保障通道,為持久戰爭和萬一失利撤退做準備。但另一方面,跨越大峴山的後勤通道並不易維持。所以劉裕將翻越山地,開進到南燕核心區(魯北平原)的時間定在了六月,以便乘小麥剛剛收割之際從當地徵集糧食。

按照計劃,從下邳登陸之後,以步兵為主的晉軍需要走過近千里征途,於六月間到達魯北平原,便可與燕軍進行決戰。屆時,晉軍深入敵境千里,「則人無退心,驅必死之眾,向懷貳之虜,何憂不克!」[4]

南燕君臣的應對策略

燕軍在魯中山地兩側的駐防重點,是西方的梁父城(兗州治所,今山東泰安市南)和東方的莒城(徐州治所,今山東莒縣),分別防範來自東南方和西南方的威脅。

晉軍上陸攻佔琅琊後,南燕君臣開始意識到,晉軍這種步步為營的進軍策略並非只為騷擾報復,而是以攻滅南燕為目的。燕朝廷為此舉行會議,重臣公孫五樓的意見是進行主動阻擊,阻止晉軍進入大峴山區,迫使其進入持久戰。同時派騎兵從梁父、莒城出發,切斷晉軍後方通道,待其斷糧疲憊時將其擊退:[5]

吳兵輕果,所利在戰,初鋒勇銳,不可爭也。宜據大峴,使不得入,曠日延時,沮其銳氣。可徐簡精騎二千,循海而南。絕其糧運,別敕段暉率兗州之軍,緣山東下。腹背擊之,上策也。

這個策略雖然最為完善,但在晉軍已經進佔琅琊時,已經缺乏部署和實施的時間。因為琅琊城距離大峴山區只有數十里之遙,燕軍從廣固和梁父、莒城出發已難以實施阻截了。公孫五樓的「中策」卻可以實施:

各命守宰,依險自固,校其資儲之外,余悉焚蕩,芟除粟苗,使敵無所資。堅壁清野,以待其釁,中策也。

縱賊入峴,出城逆戰,下策也。

「中策」和當年前秦對抗桓溫的策略一致,即防止即將成熟的小麥落入敵軍之手。如果這個策略付諸實施,劉裕軍隊將面臨和桓溫在關中相同的窘境。但慕容超認為燕軍的騎兵優勢完全可以對付以步兵為主的晉軍,所以不願進行破壞性很大的堅壁清野工作。他計劃待晉軍開出大峴山區之後用具裝騎兵進行打擊,予以全殲:

超曰:「京都殷盛,戶口眾多,非可一時入守。青苗布野,非可卒芟。設使芟苗城守,以全性命,朕所不能。今據五州之強,帶山河之固,戰車萬乘,鐵馬萬群,縱令過峴,至於平地,徐以精騎踐之,此成擒也。」

為執行這個「下策」,燕軍開始修繕都城廣固及臨朐(在大峴山出山口處)等城,集結兵力準備會戰。梁父、莒城的軍隊也調回廣固備戰。這使得晉軍順利穿越大峴山區。史載劉裕軍隊開出山地時,看到燕軍沒有據險阻擊,平原上的小麥也正在收穫,不禁以手指天稱慶。[6]

戰事進程:臨朐戰役與廣固圍城

燕軍原已在山口處的臨朐城集結五萬兵力。到了六月,晉軍即將翻過山地時,慕容超擔心前方吃緊,又親自帶四萬軍隊增援臨朐。燕軍佔據了出山處的水源巨蔑水,試圖使晉軍人畜無法飲水。晉軍騎兵在孟龍符、劉鍾、沈田子帶領下,前往爭奪水源。雙方騎兵發生激戰,孟龍符戰死,但晉軍驅逐燕軍佔領水源,使主力部隊得到補給。[7]

晉軍進入平原後,為對抗燕軍騎兵,將四千輛輜重車佈置在步兵隊列兩側,車輛外側張掛布幔以防箭矢,駕車者都持長槊站立車上防範燕騎兵的衝擊。步兵隊列在車輛內側行進。當行至臨朐城南數里時,上萬名燕軍具裝騎兵馳出城外與晉軍交戰。雙方主力逐漸全部投入戰鬥,激戰持續至傍晚未止。劉裕採用部下胡藩的建議,派五千晉軍撤出戰場,從側面迂迴到臨朐城下,登上城牆砍倒燕軍旗幟,並揚言是從海道而來。[8]此舉使燕軍以為遭前後夾擊,軍心動盪全線崩潰。[9]慕容超帶殘兵逃回廣固。晉軍繳獲了臨朐城中燕軍的全部輜重。臨朐戰役為時僅一天。戰前,南燕幾乎將全國軍隊都集中在此,所以這一戰役之後,燕軍主力軍都已陷入潰敗。

劉裕晉軍於次日進圍廣固,掘長壕阻斷其內外聯繫,同時向燕境各地進軍,接管了南燕地方的郡縣政權。當地徵集的糧食已經足夠晉軍食用,無須依賴後方運輸。北方漢人不甘被異族統治,渴望晉政權的回歸,對晉軍提供了較多幫助。北魏統治下的漢人也紛紛渡過黃河投奔晉軍。[10]

相對於一天之內解決掉燕軍主力的臨朐戰役,廣固圍城戰曠日持久。慕容超曾試圖遣使向後秦求救,但後秦被赫連勃勃所牽制,無法提供援助。慕容超看外援無望後,曾向劉裕提出稱臣納貢等條件,希望維持小國之君的地位,但被劉裕拒絕。圍城戰自義熙五年(409年)六月持續至次年二月,歷時八個月方破城,慕容超被俘至建康斬首。青齊地區首次成為東晉直接管理下的疆域,[11]直到宋明帝時被北魏攻佔,南方政權統治山東半島達六十年之久。

第二節 劉裕北伐後秦

滅南燕之後,劉裕又經歷了攻滅盧循天師道軍、蜀地譙縱政權的戰爭,和東晉內部的兩場內戰(對荊州的劉毅、司馬休之),壓平了南方割據勢力和東晉政權內部的反對派。到416年,他將進攻目標轉向羌人姚氏的後秦政權。

後秦核心區為關中,並佔據著河南地區的西半部。秦晉間的邊境線很長且曲折參互。在劉裕攻滅南燕之後,雙方西段邊界在南陽盆地北緣和秦嶺;中段邊界在淮河北側;東段則在泗水西側。黃河以北是北魏疆域,但北魏又佔據著黃河南岸的滑台等地(河濟之間),所以秦、晉、魏三方形成鼎峙格局。

義熙十二年(416年)正月,秦帝姚興去世,姚泓繼位。此時後秦外有赫連勃勃武裝的騷擾,內有宗室成員的不滿和覬覦,統治很不穩定。但北魏和後秦皇室有聯姻之好,所以北魏堅決支持姚泓政權。姚興死去的消息傳到東晉,劉裕迅速做出伐秦決定。二到三月間,他操縱晉安帝朝廷給自己加「中外大都督」之號,東晉舉國戒嚴,進行全面軍事動員。[12]四月,劉裕正式發佈文告,聲稱「今當奉辭西旆,有事關河」[13],宣佈伐秦計劃,但戰事直到秋季八月才正式開始。(關於此次戰役,可參考圖7)

圖7 東晉滅後秦之戰戰略部署和奪取洛陽示意圖

劉裕對第一階段戰事的部署

九月,晉前鋒諸軍發起攻勢。這和以往東晉,以及此後南朝的歷次北伐都不同的是,沒有選擇夏季進行戰爭。晉軍本來自三、四月已進行動員,完全可以在夏初展開攻勢。但劉裕這次打破慣例,在秋冬發動進攻,是綜合了天時、地理和敵我兵力形勢之後的全盤計劃:

從地理上看,後秦的疆域範圍較大,核心區關中有山河四塞之險,劉裕吸取了桓溫伐前秦失敗的教訓,不再從陸路翻山北上,那樣後勤保障難以維繫,風險過大。他計劃先占河南,再攻關中。河南不是後秦的核心區,所以不會發生太慘烈的戰事,但只有佔領河南,晉軍才能開通自淮入黃的航道,溯黃河前往關中。

從季節上看,晉軍在九月展開攻勢,用整個冬季佔領河南地區,這種「反季節作戰」,正是要讓士兵們在向北進軍的過程中逐步適應北方的寒冷天氣。待到來年春天已經穩定佔據了河南,開通入黃航道,晉軍主力艦隊駛入黃河,諸軍乘春夏季漲水之機再進攻關中,從季節上講最有利。屆時,晉軍有汴水、泗水兩條航道提供後勤保障,正好進行最艱難的戰役。且士兵們有了冬季作戰經驗,即使戰事拖延到下一個冬天,也不致影響大局。如果冬季在河南作戰失利,撤回淮河以南也比較容易,不至有重大損失。

所以,伐秦戰事第一階段的目標,首先是佔領河南地區,以攻佔洛陽為標誌;其次是開通自彭城進入黃河的兩條航道:汴水—石門航道和泗水—黃河航道。各路軍隊的進攻計劃是:

中線:沈林子、劉遵考二將從彭城出發,溯汴水向西北,負責攻佔汴水沿線,並掘開石門水口。雖然汴水航道早已湮塞,但從彭城去往洛陽,走汴水航道更近,且可以避開北魏控制的河段,最為便捷。所以劉裕對沈林子等開通石門的任務寄予厚望。

東線:前鋒軍總指揮王仲德率東線晉軍,[14]自青齊地區(南燕故地)西進,監督朱牧、竺靈秀、嚴綱三將開通巨野一帶的桓公瀆故道,溝通泗水和黃河。自桓溫伐燕以來,這條航道已經荒廢近五十年;同時,東線晉軍向黃河南岸的北魏據點進逼。一支由朱超石、胡蕃率領,前往半城(今山東聊城東南);[15]另一支由王仲德率領,進向滑台城(今河南滑縣)。滑台是黃河南岸重鎮,北魏兗州治所就設在這裡。晉軍開通桓公瀆,艦隊自泗水入黃河,必須經過半城、滑台河段,才能溯流駛向洛陽。劉裕希望盡量避免同時對北魏展開戰事,但為了保障泗水、黃河航道的暢通,必須拔除北魏在黃河南岸的據點,也可防止魏軍趁秦晉鏖戰之際竄擾東晉後方。

西線:檀道濟、王鎮惡北上進攻許昌、洛陽。史書未載兩人從何處出發,從當時形勢判斷,應當是從重鎮壽陽出發向西北進軍。這支西路軍也是以陸地行軍作戰為主。

八月,在前線的東、中、西三路晉軍進入攻勢之時,劉裕親自統帥的晉軍主力也從建康出發,乘艦隊駛向淮河、泗水。九月,劉裕主力抵達彭城。[16]前鋒諸將此時剛剛與敵接戰,泗黃航道和汴水航道都未開通,所以主力艦隊必須留在彭城,待航道開通後入黃河。按照劉裕部署,前鋒諸軍攻克洛陽、開通航道之後,都要集結在洛陽待命,等主力艦隊開到洛陽,再一起溯黃河向潼關進發。[17]

第一階段的戰況

東線:王仲德部陸路循黃河西進,首先攻克魏軍的涼城。駐防滑台的北魏兗州刺史尉建被晉軍震懾,棄城渡河逃往北岸,王仲德立即佔領滑台,肅清了北魏在河南的駐軍。[18]魏帝拓跋嗣不瞭解晉軍意圖,派叔孫建率兵渡河至滑台城下探尋晉軍北上的目的。王仲德派使者向魏軍轉達:晉軍此行是為西征姚秦、光復洛陽,需要溯黃河進軍,所以要向北魏暫借這段河道,他聲稱晉軍本準備以租借形式獲得滑台城,「以布帛七萬匹假道於魏」,但尉建倉皇逃遁,才使晉軍輕易佔領空城。叔孫建得到王仲德這個保證後,表示不反對晉軍西征,但晉軍應早日歸還滑台。魏帝獲悉王仲德的解釋後,又遣使到彭城面見劉裕,得到的回答與王仲德所言相同。[19]

但竺靈秀等開泗黃航道的工作並不順利。十月,西路軍已經攻佔洛陽,但泗黃航道仍未開通。此時已進入嚴冬季節,受土地封凍影響,工程難度更大,且黃河結冰之後,北魏軍隊隨時可以侵襲河南地區,所以王仲德部承受著巨大壓力挖掘渠道,並警戒滑台一帶的黃河邊界。

中線:沈林子、劉遵考所部沿汴河故道西上。汴水上游的石門水口已經湮塞多年,水量無法保障航行,所以沈林子、劉遵考所部無法乘船,而只能從陸路進軍。[20]汴水中游的譙郡、梁郡,原是秦、晉勢力都較薄弱的邊界地帶,有一些獨立武裝,此時加入沈林子所部。[21]後秦兗州刺史韋華駐防倉垣,在晉軍壓力之下,棄城撤往成皋,晉軍進佔倉垣。

沈林子等乘勝進佔石門。但開通石門水口的工作也不順利。劉遵考指揮士兵們投入開渠工作,一度開鑿出黃河入汴水的渠道,但渠道旋即發生崩塌,再度湮塞。此後數月內一直不能開通。[22]除了開掘石門水口,晉軍還要砍伐汴河故道中的樹木,因為自彭城至石門的七百里河道湮塞日久,已經樹木叢生。周超之部受命砍樹,這項工程也曠日持久。[23]

西線:王鎮惡、檀道濟沿穎水向西北,一路攻克秦軍城壘。駐防項城的後秦徐州刺史姚掌向晉軍投降。晉軍繼續北上攻佔許昌,又於十月連克陽城、滎陽,至此,洛陽外圍關隘已被晉軍控制。逃奔到成皋的秦兗州刺史韋華也向檀道濟投降。[24]後秦在洛陽駐軍僅五千餘人,[25]駐防的征南將軍姚洸急忙向長安求援。姚泓派出騎兵三千、步兵一萬增援洛陽。當援軍未趕到時,姚洸分兵防守洛陽城東的鞏縣和柏谷塢,鞏縣守軍未與晉軍交戰即逃回城中,柏谷秦軍一千餘人與晉軍激戰,幾乎全部被殲。姚洸見晉軍兵臨城下,遂向檀道濟、王鎮惡投降。[26]此時增援騎兵已進至洛陽西不足百里的新安縣,步兵進抵三百里外的湖城。得知洛陽陷落,這兩支增援秦軍改為原地駐防固守,阻止晉軍西進長安。

到義熙十二年(416年)十月,晉軍已完成第一階段的作戰任務,全部佔領河南地區。從八月進軍以來,只用兩個月就取得如此戰果,應當說進展比較順利,但兩處開鑿航道的工作仍未能完成。按照劉裕的部署,三路北伐晉軍分別駐紮滑台、石門和洛陽,等劉裕主力到來。

完全超出計劃的伐秦第二階段戰況

在義熙十二年冬,泗黃航道和汴水航道都未能開通,劉裕主力艦隊依舊停泊在彭城。從義熙十三年(417年)正月開始,王鎮惡、檀道濟、沈林子三將違反部署,擅自向關中進軍。從這時開始,戰事進入第二階段—與原規劃不同的第二階段。最關鍵之處就是劉裕主力未能與前鋒諸軍匯合,雙方都各自為戰。下面對這一階段戰事進行簡要梳理。(關於此階段戰事,可參考圖8、圖9)

三將擅自西征:義熙十二年底,晉軍剛剛進佔河南之後,後秦內部發生動盪和內戰,到義熙十三年正月,叛亂被撲滅。此時,河南的晉軍將領看到後秦受叛亂削弱,不願坐失時機,遂不顧劉裕部署,主動向西發起攻擊。最先擅自西進的是王鎮惡。他從洛陽出發,循洛水西上宜陽,從南方迂迴佔領澠池,然後向潼關進軍。檀道濟、沈林子看王鎮惡投入戰鬥,不甘滅秦之功被其獨佔,也率部西進。到達陝縣(今三門峽市)後,檀、沈認為秦軍重兵在潼關阻擊王鎮惡,黃河北岸疏於防範,遂北渡黃河試圖從蒲阪進入關中。但秦軍嚴密防守潼關、蒲阪,三將與秦軍鏖戰數月,都無法衝入關中。

圖8 東晉滅後秦之戰兩軍爭奪潼關示意圖

圖9 東晉滅後秦之戰奇襲長安示意圖

劉裕水軍入河:同在義熙十三(417年)年正月,王仲德部終於開通泗黃航道,而汴水航道一直未能開通。劉裕艦隊只得溯泗水而上,準備入黃河開赴洛陽。這條航道比汴水迂迴,且要經過魏軍在北岸嚴密設防的河段,並非首選,但在石門開通遙遙無期,三將已經擅自西征的情況下,劉裕只能做此選擇。

劉裕艦隊在泗水—濟水航道中行駛兩個月後,方於義熙十三年三月進入黃河,靠士兵纖繩拖曳逆黃河激流而上,前進十分緩慢。北魏軍隊在黃河北岸嚴密監視,晉軍艦船因風波漂流至北岸者,都被魏軍殺死劫掠。劉裕遂遣朱超石、胡藩等在北岸登陸,與魏軍騎兵展開激戰。晉軍採用抗擊南燕騎兵的戰術,用輜重車輛聯結為長牆與北魏騎兵激戰。此役重創魏軍,使其不再敢騷擾晉軍艦隊西進。

前線的補給危機(正月至四月):在劉裕先期部署中,要求王鎮惡等前鋒將領必須等到主力艦隊行至洛陽,再一同進攻關中。這主要是為了建立穩定的後勤保障,因為只有主力艦隊才能為陸地諸軍提供足夠的糧秣供應。當王、檀、沈三將擅自西進之後,軍糧供應的問題逐漸暴露出來。新佔領的河南地區人少地貧,資源有限,且與潼關戰場之間隔著崎嶇的豫西山地,難以通過陸路向戰場運送軍糧。而王、檀、沈三將沒有艦隊,也無法利用黃河航道從後方運糧。所以從開始西征後的三個多月時間內,三將只能靠與秦軍作戰繳獲糧食,以及從戰場附近的民戶中徵集。這數月恰是沒有任何作物收穫的青黃不接之時,前線晉軍的處境極為窘迫。

王鎮惡在西進途中比較注意接管後秦郡縣組織,以便籌措糧秣。他本是關中人,又曾「流寓崤、澠之間。嘗寄食澠池人李方家」[27],熟悉這一地區的地理環境和風土人情,所以進軍作戰、籌措糧餉都比較順利。攻佔澠池縣之後,他任命故人李方為縣令。隨後,他的軍隊又俘獲秦弘農太守尹雅,王鎮惡命尹雅繼續任職,使其為晉軍提供補給。

沈林子、檀道濟所部從洛陽西進之初,是渡過黃河在北岸作戰。這裡剛經過後秦內亂的洗劫,加之晉軍進入陌生環境,難以得到百姓支持,所以只能靠繳獲敵軍兵糧。「時偽建威將軍、河北太守薛帛先據解縣,林子至,馳往襲之,帛棄軍奔關中,林子收其兵糧。」[28]沈、檀攻蒲阪不克,又轉而渡河與王鎮惡部合兵,一起進攻潼關。這使前線晉軍兵力集中,糧食更難以為繼。

後秦調集數倍於晉軍的軍隊固守潼關,使其難以前進。此時已至三月,後方的劉裕艦隊已從泗水駛入黃河,三將派人到下游求援,希望從速為前方提供糧援。此時主力艦隊正在與北岸魏軍苦戰,因此劉裕對三將擅自西進十分不滿,他打開戰艦的窗戶,指著北岸的魏軍對信使說:「我語令勿進,而輕佻深入。岸上如此,何由得遣軍?」[29]

後秦軍統帥姚紹也瞭解晉軍的困難,他指揮秦軍佔據險阻地段,深溝高壘限制晉軍的行動,使其逐漸陷入饑荒。得知後援無望,王鎮惡遂留沈、檀與秦軍相持,自己到戰線之後的弘農郡籌措軍糧,甚至深入僻遠的豫西深山之中。[30]王鎮惡四處徵糧之時,前線晉軍一度發生動搖,有人甚至主張撤退回洛陽,與主力艦隊匯合後再做打算。此議被沈林子否決,為解除姚紹軍隊的圍困,他率部衝擊秦軍營壘,繳獲了一些糧食。隨著王鎮惡徵集的糧食逐漸運到,前方晉軍才免於斷糧崩潰。[31]

四月,劉裕艦隊駛出了北魏軍隊威脅之下的河段,與潼關戰場建立聯繫,主力艦隊調出部分戰艦和軍隊增援前方,去年負責開通泗黃航道的嚴綱、竺靈秀所部受命乘艦船溯黃河而上,為潼關運送兵力和糧食。而前線的戰鬥也在圍繞補給線進行。姚紹先派出姚贊所部繞出沈林子等後方,試圖切斷黃河航道,但這支秦軍尚未修築好營柵,就被沈林子擊潰。[32]三萬秦軍與晉軍爭奪黃河航道,又被沈林子擊敗。嚴綱、竺靈秀率領的分遣艦隊此時駛抵潼關戰場,晉軍才獲得來自主力部隊的糧援。[33]不久,秦軍前方統帥姚紹病死,姚贊繼任。

四月至八月戰事:劉裕主力艦隊於四月駛入洛陽,停留至七月。他試圖找出繞過潼關,迂迴至關中的途經。一方面,他命令荊襄和漢中一帶的部隊,翻越秦嶺進軍關中。其中沈田子、傅弘之所部從當初桓溫伐秦的武關藍田路線前往關中。這支晉軍數量較少,沈田子所部不過千人。[34]另一方面,劉裕派參軍戴延之率一支小船隊溯洛水而上,探查洛水上游能否通入關中。戴延之等在深山中穿行數百里,最終發現水道不能通向關中,無功而返。

到了七月,劉裕得知開闢洛水航道無望,遂率艦隊駛出洛陽,前往潼關。他還密令潼關前線的沈林子率萬餘兵力向西南方迂迴,秘密翻越秦嶺接應沈田子所部。

已在潼關苦戰半年的王鎮惡也在尋求攻入關中之策。他決心從黃河中行船入渭水,繞過潼關的秦軍駛向長安。他為此帶部下「伐木為舟」[35],製作吃水較淺的「蒙沖小艦,行船者悉在艦內」,可冒著矢石逆流而進。「羌見艦溯渭而進,艦外不見有乘行船人,北土素無舟楫,莫不驚惋,鹹謂為神。」[36]趁七月雨季,渭河漲水之機,王鎮惡所部乘船而上,駛向長安。潼關秦軍只能在岸上徒步追趕。

八月初,當王鎮惡軍航行於渭水之上時,沈田子、傅弘之軍抵達藍田。此時沈林子部尚未趕到,秦帝姚泓帶數萬軍隊前往阻攔,但被沈田子部以少勝多,將秦軍主力擊潰,姚泓逃回長安。此時劉裕艦隊也抵達潼關。秦前線的姚贊等守軍放棄陣地,一路向西逃奔,希望在王鎮惡艦隊之前趕回長安。劉裕晉軍主力緊追其後入關,潼關天險被完全突破。

八月二十三日(壬戌)清晨,王鎮惡水師進抵長安郊外,士兵棄舟登岸,與數萬秦兵列陣決戰,秦軍再度被擊敗。王鎮惡乘勝佔領長安。姚贊等秦軍趕到後,見都城已經淪陷,紛紛瓦解潰散。數日後,逃亡在外的姚泓向晉軍投降,後秦滅亡,晉軍全部佔領關中地區。

劉裕伐秦之戰,是在不適合南方軍隊的地理環境和季節裡,對後秦和北魏同時進行戰鬥,歷時一年終於攻滅了後秦政權。按照劉裕的計劃,此後晉軍將對北魏展開進攻,重新統一中國。但因為主持後方政務的劉穆之病死,劉裕主力匆忙返回江南,關中被赫連勃勃攻佔,不久劉裕去世,南方對北攻勢遂陷於沉寂。但從戰略運用角度看,此次戰爭仍可視為南軍北伐作戰的巔峰之作。

伐秦之戰中,檀道濟、沈林子、王鎮惡諸將不顧事先部署,不等主力趕到就急於西進,堪稱積極進攻的典範。這是經過近二十年戰爭洗禮形成的劉裕軍人集團的典型風格,它是對東晉士族萎靡、怯懦政治風氣的徹底逆轉。劉裕從399年的天師道內戰時從軍,連續多年廝殺在戰場第一線,「征伐屢被傷,通中者數矣」[37]。他不僅本人從不畏戰,治軍也以嚴厲著稱,對貪生怕死者毫不留情。410年對盧循天師道軍作戰時,軍官徐赤特違令出戰失敗,使得建康一度危急。劉裕親率部隊堵住缺口,臨戰「出列陳於南塘。以赤特違處分,斬之」。在對天師道軍追擊過程中,雙方艦隊會戰於雷池江面,面對敵優勢艦隊,「右軍參軍庾樂生乘艦不進,斬而徇之,於是眾軍並踴騰爭先」[38]。劉裕軍征討荊州的司馬休之勢力時,敵據江岸峭壁固守,劉裕艦隊無法靠岸,劉裕命胡藩所部強行登陸:

……即日於馬頭岸渡江,而江津岸峭,壁立數丈,休之臨岸置陣,無由可登。高祖呼(胡)藩令上,藩有疑色,高祖奮怒,命左右錄來,欲斬之。藩不受命,顧曰:「藩寧前死耳!」以刀頭穿岸,少容腳指,於是徑上,隨之者稍多。既得登岸,殊死戰,賊不能當,引退。因而乘之,一時奔散。[39]

劉裕麾下的將領大都是在鎮壓天師道、攻滅桓玄的戰爭中成長起來的,以其敢打敢拚、不計後果的凌厲作風,一洗百年士族政治的萎靡頹唐風氣。東晉偏安江左近百年來,軍權由士族門閥把持,這些士族大都怯懦,貪生怕死,且視軍隊為家族私產,擁兵自重,不願在恢復中原上耗費實力,所以桓溫、殷浩等人的一次次「北伐」都歸於失敗。而劉裕集團在短短二十年間,連續攻滅了孫恩盧循天師道軍、桓玄朝廷、譙縱政權、南燕政權、後秦政權,在內部剷除了劉毅、司馬休之等離心勢力,其軍事成就堪稱三百年間南方政權的頂峰。劉裕死後諸將凋零,對北方的軍事優勢未能維持,但使南朝政治回歸專制皇權,是其對歷史的影響。

附錄 劉裕伐後秦「水軍出石門」辨正

晉安帝義熙十二年(416年)秋,東晉太尉劉裕北伐後秦。經過一年的戰鬥,晉軍連克洛陽、長安,俘獲後秦皇帝姚泓。關於此戰過程,《資治通鑒》義熙十二年載:

(八月)丁巳,裕發建康。遣龍驤將軍王鎮惡、冠軍將軍檀道濟將步軍自淮、淝向許、洛;新野太守朱超石、寧朔將軍胡藩趨陽城;振武將軍沈田子、建威將軍傅弘之趨武關;建武將軍沈林子、彭城內史劉遵考將水軍出石門,自汴入河;以冀州刺史王仲德督前鋒諸軍,開巨野入河……[40]

劉裕北伐的重要根據地彭城,向北方有兩條水道:(一)向北溯泗水,經桓公瀆入黃河;(二)向西北溯汴水,在石門入黃河。《資治通鑒》雲沈林子、劉遵考部「將水軍出石門,自汴入河」,即認為是以舟師溯汴水入黃河。後世史家亦沿襲此觀點,未提出異議。

但是,核以《宋書》《魏書》《晉書》諸相關傳記所載,都未雲沈林子、劉遵考部有水軍。與《資治通鑒》此條最相近的記載,是《宋書》卷四十六《王懿(仲德)傳》:

義熙十二年北伐,進仲德征虜將軍,加冀州刺史,為前鋒諸軍事。冠軍將軍檀道濟、龍驤將軍王鎮惡向洛陽;寧朔將軍劉遵考、建武將軍沈林子出石門;寧朔將軍朱超石、胡蕃向半城;鹹受統於仲德。仲德率龍驤將軍朱牧、寧遠將軍竺靈秀、嚴綱等開鉅野入河……[41]

此外尚有《宋書》載此次北伐沈林子「加建武將軍,統軍為前鋒,從汴入河」[42]。《晉書·姚泓載記》:「晉太尉劉裕總大軍伐泓,次於彭城,遣……將軍沈林子自汴入河,攻倉垣。」[43]《宋書·武帝紀中》則只載「北兗州刺史王仲德先以水軍入河」[44],未提及沈林子、劉遵考部。《魏書·劉裕傳》:「裕率眾軍至彭城,加鎮北將軍、徐州刺史。遣中兵參軍沈林子自汴入河……」[45]這些史料,都未提及沈林子、劉遵考部為水軍。

事實上,黃河分流入汴水的石門,在魏晉之際經常淤塞。如果石門不通,汴水無法獲得黃河水,流量非常有限,不能供舟船通航。劉裕北伐時的汴水就是如此。《水經注·濟水》:

濟水與河,渾濤東注,自西緣帶山隰,秦漢以來,亦有通否。晉太和中,桓溫北伐,將通之,不果而還。義熙十三年,劉公西征,又命寧朔將軍劉遵考仍此渠而漕之,始有激湍東注,而終山崩壅塞。劉公於北十里,更鑿故渠通之。今則南瀆通津,川澗是導耳。[46]

可見沈林子、劉遵考部受命循汴水攻佔石門,正是要鑿通湮塞已久的石門,恢復汴水流量。

另外需要注意,石門未開通,不等於汴河故道內完全沒有流水。因為在得不到黃河水源的情況下,汴河仍在河南地區有比較小的流域範圍,這一流域的降水可以形成徑流,只是水量比較小。但這不排除雨季時仍能形成洪澇災害。《水經注·汴水》:

……義熙十二年,霖雨驟澍,汳水暴長,(彭)城遂崩壞。冠軍將軍,彭城劉公之子也,登更築之。悉以塼壘,宏壯堅峻,樓櫓赫奕,南北所無。[47]

義熙十二年(416年)夏,正是劉裕北伐後秦準備啟程之時。雖然汴水在暴雨季節能形成洪澇,但仍不能通航。因為多年缺水,河道內已經長滿樹木。《水經注》同卷載:

汳水又東逕周塢側,《續述征記》曰:斜城東三里。晉義熙中,劉公遣周超之自彭城緣汳故溝,斬樹穿道七百餘里,以開水路,停薄於此,故茲塢流稱矣。[48]

可見要恢復汴水通航,不僅需鑿通石門,還需要清理河道樹木。這一工作非短期所能完成。

劉裕帥主力溯黃河入洛水,進抵洛陽時,汴水尚未開通。跟隨劉裕出征的戴延之親至黃河分流出汴水的故地觀看:「三皇山上有二城,東曰東廣武,西曰西廣武,各在一山頭,相去百步。汴水從廣澗中東南流,今涸無水。」[49]

義熙十三年(417年)上半年,晉前鋒諸軍和秦軍在潼關的戰鬥異常激烈,相持甚久。為打破僵局,王鎮惡準備拋開潼關秦軍,乘船溯渭水直進長安。《宋書·武帝紀中》:「七月,(劉裕)至陝城。龍驤將軍王鎮惡伐木為舟,自河浮渭。」[50]王鎮惡就地伐木造船,也說明他們西進時汴水不能通入黃河,不然舟艦不至缺乏。《宋書·王鎮惡傳》:

大軍次潼關,謀進取之計,鎮惡請率水軍自河入謂。偽鎮北將軍姚強屯兵涇上,鎮惡遣毛德祖擊破之,直至渭橋。鎮惡所乘皆蒙沖小艦,行船者悉在艦內,羌見艦溯渭而進,艦外不見有乘行船人,北士素無舟楫,莫不驚惋,鹹謂為神。[51]

八月,王鎮惡攻克長安,生擒後秦皇帝姚泓。伐秦之役至此告成。劉裕在長安駐紮至十二月,因為後方劉穆之病死,方急忙班師回建康。大概在此行中,劉裕才終於鑿通了石門,由汴水南歸。《宋書·武帝紀中》:

(義熙十三年)十二月庚子,發自長安,以桂陽公義真為安西將軍、雍州刺史,留腹心將佐以輔之。閏月,公自洛入河,開汴渠以歸。[52]


[1] 《宋書·武帝紀上》,第15頁。

[2] 《太平御覽》卷一百二十六《偏霸部十·慕容超》引崔鴻《十六國春秋·南燕錄》:「(義熙)五年二月,晉相劉裕率眾來伐。三月,晉師渡淮。」時間皆比《宋書·武帝紀》早一個月,似應以《宋書》為準。

[3] 《宋書·武帝紀上》,第15頁。

[4] 《宋書·武帝紀上》,第15頁。

[5] 以下引文見《晉書·慕容超載記》,第3181頁。

[6] 《南史》卷一《宋本紀上》:「及入峴,帝舉手指天曰:『吾事濟矣。』眾問其故,帝曰:『師既過險,士有必死之志,餘糧棲畝,軍無匱乏之憂,勝可必矣。』」(第9頁)

[7] 參見《宋書·武帝紀》,卷四十七《孟龍符傳》,卷四十九《劉鍾傳》,卷一百《自序》;《晉書·慕容暐載記》。

[8] 《資治通鑒》卷一百十五:「裕遣藩及諮議參軍檀韶、建威將軍河內向彌潛師出燕兵之後,攻臨朐,聲言輕兵自海道至矣,向彌擐甲先登,遂克之。」按,聲言輕兵自海道而至之事,《宋書·武帝紀》、向彌(向靖)本傳、《慕容暐載記》皆不記載,不知《通鑒》采自何書,可能來自當時尚存的《十六國春秋》。臨朐距離渤海不到百里,且城下有巨洋水入海,晉軍自海道繞過山東半島來襲,亦有其可行性。參見《水經註疏》卷二十六《巨洋水》。

[9] 《宋書》卷四十五《檀韶傳》:「從征廣固,率向彌、胡藩等五十人攻臨朐城,克之。」(第1372頁)此「五十」應為「五千」之誤。《宋書》卷四十五《向靖(向彌)傳》:「從征鮮卑,大戰於臨朐,累月不決。彌與檀韶等分軍自間道攻臨朐城。彌擐甲先登,即時潰陷,斬其牙旗,賊遂奔走。」(第1374頁)此「累月」為「累日」之誤。因為臨朐戰役只持續了一天。

[10] 《宋書·武帝紀上》:「大軍進廣固,既屠大城。超退保小城。於是設長圍守之,圍高三丈,外穿三重塹。停江、淮轉輸,館谷於齊土。……河北居民荷戈負糧至者,日以千數。」(第16頁)

[11] 以往割據青齊的曹嶷、段龕等武裝,雖向東晉稱臣,實際上仍是獨立割據狀態。

[12] 據《宋書·武帝紀》和《南史·宋武帝紀》,加大都督時間為三月;但《資治通鑒》卷一百十七為二月。大概朝廷二月發佈加大都督之詔令,但劉裕要根據慣例辭讓,最終接受時已至三月。伐秦檄文的發佈日期,據《南史·宋武帝紀》為四月乙丑。則從二月獲悉姚興死訊,到四月發佈檄文,是劉裕前期醞釀和準備伐秦階段。

[13] 《宋書·武帝紀中》,第36頁。

[14] 《宋書·武帝紀中》載王仲德時為北兗州刺史,但卷四十六《王仲德傳》則載其職為冀州刺史。蓋兩職授予時間稍有先後,兩傳各載其一。冀州或北兗州,都在新佔領的青齊地區的西部。

[15] 據《魏書》卷一百六中《地形志二中》平原郡聊城縣有畔城。但《魏書》所云之畔城,皆在黃河北岸;宋軍所進向之半城,應在黃河南岸,蓋此段黃河南北兩岸都有一城,臨河方向皆做半缺狀,故都可稱為半(畔)城。南岸之半城,後被宋軍營建為碻磝城。《水經註疏·河水五》云:「河水……逕碻磝城西。《述征記》曰:『碻磝,津名也。自黃河泛舟而渡者,皆為津也。其城臨水,西南崩於河。』」可見其殘半之狀。(見第468頁)

[16] 《宋書·武帝紀中》:「八月丁巳,率大眾發京師……九月,公次於彭城……」(第36頁)

[17] 《宋書·王鎮惡傳》:「初,高祖與鎮惡等期,若克洛陽,須大軍至,未可輕前。」當王鎮惡等違令冒進遭遇困難時,劉裕又斥責其使者:「我語令勿進,而輕佻深入……」(第1369頁)

[18] 《宋書·武帝紀中》云:「公又遣北兗州刺史王仲德先以水軍入河。仲德破索虜於東郡涼城,進平滑台。」(第36頁)但北魏史書對此的記載稍有不同。《魏書》卷三《太宗明元帝紀》:「九月……司馬德宗相劉裕溯河伐姚泓,遣其部將王仲德為前鋒,從陸道至梁城。袞州刺史尉建畏懦,棄州北渡,王仲德遂入滑台。」(第56頁)《魏書》「梁城」,即《宋書》之涼城。但關於王仲德部的進軍方式,《宋書》載為「水軍入河」,《魏書》則為「從陸道」。兩相對勘,應以《魏書》為是。因為在九月時,泗水入黃河的航道尚在開鑿之中,未能開通,晉軍艦隊不可能駛入黃河。當然,《宋書》所載是劉裕給王仲德的指令而非實際戰事,即命令他開泗黃航道後以水軍奪取滑台,由於工程艱難,王仲德遂不待通航而從陸地進軍。

[19] 《魏書》卷二十九《叔孫建傳》,第703頁。

[20] 參見本章末附錄《劉裕伐後秦「水軍出石門」辨正》。

[21] 《宋書·自序》:「時襄邑降人董神虎有義兵千餘人,高祖欲綏懷初附,即板為太尉參軍,加揚武將軍,領兵從戎。林子率神虎攻倉垣,克之,神虎伐其功,逕還襄邑。林子軍次襄邑,即殺神虎而撫其眾。」(第2455頁)

[22] 《水經註疏》卷七《濟水一》:「晉太和中,桓溫北伐,將通之,不果而還。義熙十三年,劉公西征,又命寧朔將軍劉遵考仍此渠而漕之,始有激湍東注而終山崩壅塞……」(第658頁)按,劉遵考開石門航道,應是從義熙十二年(416年)十月開始。《水經注》載劉裕伐秦,多徑載為義熙十三年,其實戰事乃從十二年延宕至十三年。

[23] 《水經註疏·汳(汴)水》:「汳水又東逕周塢側,《續述征記》曰:斜城東三里。晉義熙中,劉公遣周超之自彭城緣汳故溝,斬樹穿道七百餘里,以開水路,停薄於此,故茲塢流稱矣。」(第1966頁)

[24] 《宋書·武帝紀中》:「偽兗州刺史韋華先據倉垣,亦率眾歸順。」(第36頁)似韋華以倉垣歸順,但倉垣是中路軍沈林子所部攻佔,見《宋書·自序》。《宋書》卷四十三《檀道濟傳》:「至成皋,偽兗州刺史韋華降。」(第1342頁)可見韋華是在沈林子攻勢之下撤往成皋,然後投降檀道濟、王鎮惡軍。如果沒有檀道濟本傳的這個記載,成皋和滎陽則不能確定是中路軍還是西路軍攻佔。

[25] 《晉書·姚泓載記》雲,姚洸遣趙玄率精兵千餘守柏谷塢,幾乎全部戰沒。姚洸遂以洛陽降。《宋書·檀道濟傳》,洛陽被俘秦軍四千餘人,則戰前洛陽駐防的秦軍為五千餘人規模。

[26] 據《資治通鑒》卷一百十七,十月「甲子,道濟進逼洛陽。丙寅,洸出降」(第3694頁)。《宋書》《南史》的劉裕本紀,及《晉書·姚泓載記》均未載洛陽克復的具體日期。

[27] 《宋書·王鎮惡傳》,第1365頁。

[28] 《宋書·自序》,第2455頁。

[29] 《宋書·王鎮惡傳》,第1369頁。

[30] 《水經註疏》卷十五《洛水》:「洛水又東,逕龍驤城北。龍驤將軍王鎮惡,從劉公西入長安,陸徑所由,故城得其名。」(第1297頁)所謂「從劉公西入長安」為概說,因為此時劉裕尚未至前線。此地在洛水上游,較為僻遠,正常行軍不會經行此處,只能是王鎮惡部為籌集軍糧,從黃河邊翻山而來。

[31] 《宋書·王鎮惡傳》:「鎮惡懸軍遠入,轉輸不充,與賊相持久,將士乏食,乃親到弘農督上民租,百姓競送義粟,軍食復振。」(第1369頁)

[32] 《宋書·自序》:「紹復遣撫軍將軍姚贊將兵屯河上,絕水道。贊壘塹未立,林子邀擊,連破之,贊輕騎得脫,眾皆奔敗。」(第2456頁)

[33] 《宋書·自序》:「高祖以通津阻要,兵糧所急,復遣林子爭據河源。林子率太尉行參軍嚴綱、竺靈秀卷甲進討,累戰,大破之,即斬伯子、默騾、小方三級,所俘馘及驢馬器械甚多。所虜獲三千餘人,悉以還紹,使知王師之弘。兵糧兼儲,三軍鼓行而西矣。」(第2456頁)

[34] 《宋書·自序》:「田子本為疑兵,所領裁數百」(第2448頁)。《晉書·姚泓載記》:「劉裕使沈田子及傅弘之率眾萬餘人入上洛,所在多委城鎮奔長安。田子等進及青泥。」又云:「時裕別將姚珍入自子午,竇霸入自洛谷,眾各數千人。」(第3015頁)蓋翻越秦嶺的晉軍有多路,並非只從武關道進發,大概每支規模都不大,共計有萬餘人。

[35] 《宋書·武帝紀中》,第42頁。

[36] 《宋書·王鎮惡傳》,第1369頁。

[37] 《宋書》卷二十七《符瑞志上》,第784頁。

[38] 《宋書·武帝紀上》,第20、22頁。

[39] 《宋書·胡藩傳》,第1444頁。

[40] 《資治通鑒》卷一百十七,第3689頁。

[41] 《宋書·王懿(仲德)傳》,第1392頁。

[42] 《宋書·自序》,第2455頁。

[43] 《晉書·姚泓載記》,第3010頁。

[44] 《宋書·武帝紀中》,第36頁。

[45] 《魏書》卷九十七《島夷劉裕傳》,第2133頁。

[46] 《水經註疏·濟水一》,第658頁。

[47] 《水經註疏·汳水》,第1991頁。

[48] 《水經註疏·汳水》,第1966頁。

[49] 《史記·項羽本紀》,張守節《正義》引戴延之《西征記》,第327頁。

[50] 《宋書·武帝紀中》,第42頁。

[51] 《宋書·王鎮惡傳》,第1369頁。

[52] 《宋書·武帝紀中》,第44頁。

《南北戰爭三百年:中國4—6世紀的軍事與政權》