官渡其實是位於鴻溝岸邊的一個渡口。鴻溝是戰國時期魏國開挖的一條運河。鴻溝西連滎陽北部的黃河,東接浚儀(開封)附近的渦河,渦河又直達淮河,所以鴻溝是洛陽通往江淮的通道,當年劉邦和項羽曾在這裡對峙,並劃鴻溝為界。曹操之所以把主力屯兵這裡,是因為官渡處於許昌的正北方,不到一百公里,袁紹要取許昌,必然經過官渡。
官渡之戰的導火索是河內郡。當曹操攻打徐州呂布的時候,河內的張楊本想去救呂布,結果被部下楊醜給殺了。楊醜想投奔曹操,結果被眭固給殺了。眭固原本是黑山軍的一個首領,在攻打東郡時被曹操打敗,就投奔了張楊。眭固和曹操有仇,就想去投奔袁紹,結果半路被曹操截殺,曹操就此佔領河內。袁紹見曹操把勢力擴張到了黃河以北,深感不妙,集合十萬大軍,外加一萬騎兵,準備南渡黃河,直取許昌。
曹操的兵力總共不到兩萬,分成幾處防守:劉延一千守白馬,於禁兩千守延津,其他各處人馬也不過一兩千,絕大部分人馬都部署在官渡,由曹操親自領隊。
當曹操正在部署對袁作戰時,劉備反曹佔領徐州,曹操領兵東征,當時田豐就建議袁紹趁機南下,袁紹因為小兒子生病不肯出兵,錯失良機,致使曹操打完劉備後,從容回防官渡。
建安五年(200年),官渡之戰正式開始。
二月,袁紹進軍黎陽,派顏良為先鋒渡黃河,進攻黃河南岸的白馬。如果顏良拿下白馬城,就可以掩護主力從容渡河。守白馬的東郡太守劉延勢單力薄,很快被袁軍圍困。
曹操在各處設防的兵力都不多,能解白馬之圍的就只能是曹操自己了。四月,在謀士荀攸的建議下,曹操佯裝從延津(黃河岸邊的一個渡口)渡河襲擊袁紹的後方。袁紹果然上當,分兵延津。此時曹操率輕騎,以張遼、關羽為先鋒,迅速趕往白馬。關羽于萬軍之中斬殺顏良,袁軍潰敗。
為了不讓白馬成為袁紹南下的據點,曹操把白馬城中的百姓清撤一空,沿黃河向西而去。袁紹大軍渡河,派文醜和劉備追擊曹操。曹操當時手下只有六百來人,而袁軍有五六千。情急之中,曹操讓士兵解鞍放馬,又沿路丟棄輜重,裝出一副敗逃的樣子。袁軍果然又上當了,只顧著哄搶財物,亂作一團。曹操令騎兵翻身上馬,殺了個回馬槍,袁軍大敗,文醜也死於亂軍之中(注意,不是關羽殺的)。
袁紹連失顏良、文醜兩員名將,士氣大挫。
但袁紹在兵力上仍佔優勢,曹操不敢輕舉妄動,仍老老實實地回防官渡。
到了七月,袁紹進軍陽武。八月,袁軍主力接近官渡,依沙堆立營,從東往西長達數十裡,曹操也立營與袁軍對峙。
看到這裡我們不免有個疑問,既然從河北到中原都是一馬平川的平原,袁紹就不能繞過去直接打許昌嗎?為什麼要在官渡這裡和曹操糾纏?這就涉及古代戰爭一個很重要的問題:糧道。在現代戰爭中,後勤補給可以靠空運、空投,在古代卻沒有這個條件。這樣一來,在戰爭中保證糧道的安全是一場曠日持久的戰爭能否取得勝利的關鍵。
袁紹固然可以繞過官渡去打許昌,可許昌畢竟是首都,城防不會太差,如果不能一鼓而下,運輸糧草的補給線很容易被曹操切斷,沒有糧食軍隊就會嘩變,這仗就沒法打了。
在當時,對於士子們來說,到底該投靠袁紹還是曹操,都會在心裡盤算一下:誰最有前途?誰能讓自己施展才華?誰能幫自己實現人生的抱負?但對普通士兵來說,當兵就是為了混口飯吃,跟誰打仗都是一樣,也不存在誰正義誰不正義,更沒有什麼民族大義的問題,如果連飯都沒得吃了,那就投降敵方好了。但袁紹犯了一個致命的錯誤,他把糧草囤積在離前線過近的烏巢,這讓足智多謀的曹操鑽了空子。
另外一個原因,袁紹要的不僅僅是許昌,更主要的是想消滅曹操的有生力量,在連年混戰的中原地區,只要曹操還保留著一支軍隊,他遲早都會東山再起。作為多年的同僚,以及這麼多年的盟友,袁紹對曹操的能力還是很清楚的。
雙方在官渡相持了三個月,偶有交兵,互有損傷。曹操缺兵少糧,快堅持不下去了,就寫信給荀彧,想退守許昌。荀彧說曹操以一當十,堅守了半年,已經是個奇跡,再堅持下去,奇跡還會發生。
也正是在這期間,汝南劉辟叛曹歸袁。袁紹一聽,這是天大的好事,汝南郡位於許昌以南,有了汝南,就可以令曹操腹背受敵。袁紹擔心劉辟能力有限,就派劉備到汝南去幫他,從南方襲擊許昌。關羽聽說這件事後,便向曹操辭行,往汝南投奔劉備去了。
在《三國演義》裡,這一段非常精彩,「關公約三事」、「千里走單騎」、「過五關斬六將」……把關羽的高大形象一下子樹立起來了。這些事在歷史上到底有沒有發生過,其實我們看看地圖就明白了。土城約三事大概是有的,要不曹操也不會放關羽走。千里走單騎也可信,只不過從許昌到汝南直線距離四百里,繞遠一點大概五百里,說一千里,誇張點,問題也不大。
至於過五關斬六將,我們先看看過的是哪五關斬的是哪六將:過東嶺關時殺孔秀,過洛陽城時殺韓福、孟坦,過汜水關時殺卞喜,過滎陽時殺太守王植,過滑州黃河渡口時殺秦琪。
東嶺關在許昌的西北,即今白沙水庫所在位置。按照這個路線,關羽出了許昌之後往西走,過東嶺關,然後沿著當年孫堅攻打洛陽的路線去了洛陽,到洛陽轉了一圈後又從虎牢關(汜水關)回到中原,這時才想起來袁紹是在河北,然後也不急著渡河,一直沿黃河往東走,快到白馬了,才從滑州(今滑縣)這裡北渡黃河。
這裡面有幾個問題,我們可以探討一下。
第一,假設關羽並不知道劉備去了汝南,而去袁紹處尋找,那麼他既然是光明正大地走平原,完全可以從許昌直接北上,沒必要繞到洛陽;就算他要繞開官渡前線,也沒必要翻山越嶺去洛陽,完全可以走東邊大片的平原。
第二,我們假設關羽到洛陽可能有別的事,那麼到了洛陽之後,完全可以從孟津渡黃河,完全沒必要跑到滎陽去殺幾個人再渡河。
所以,「過五關斬六將」毫無疑問是羅貫中虛構的,只是在虛構中用了真實的地名,才讓人真假難辨。事實上,關羽殺了顏良之後,不會自投羅網去找袁紹,而是等劉備離開袁紹去了汝南,才去找劉備。從許昌到汝南一馬平川,根本不存在什麼難以逾越的關口,可以很順利地到達目的地。
也許正是這個原因,實在不利於突出關公的人物形象,所以羅貫中讓他去洛陽轉了一大圈。不過以羅貫中對地理知識的瞭解,他可能根本沒想那麼多,他只是想在關公的路上製造點麻煩,至於走哪條路,根本就無所謂。按照羅貫中的設計,關羽從許昌到洛陽,再到河北,最後到汝南,其路程早已超過千里。
劉備到汝南後,被曹仁打敗,又回到袁紹處。不過經過這麼長時間的接觸,劉備也看出袁紹的脾氣秉性,想離開袁紹,就以聯合劉表為由,帶著兵又去汝南了。這次曹操派蔡陽攻打劉備,結果被關羽殺了。
當曹操和袁紹正在官渡相持不下的時候,袁紹手下的謀士許攸突然來投奔曹操。大概曹操也沒想到,這個時候還有哪個不開眼的來投奔自己,光著腳就跑出帳外迎接。許攸向曹操獻出一計:偷襲烏巢,燒其糧草。
袁紹的糧草輜重都囤積在烏巢,派淳於瓊帶了上萬人把守。曹操親自帶兵偷襲,抄小路過去,圍攻放火。袁紹知道後,一面派人救援,一面派張郃、高覽去攻曹操在官渡的大本營。兩人久攻不下,聽說曹操在烏巢已經得手,知道大勢已去,就投降了。兩人一投降,袁紹的軍隊立即崩潰,倉皇退回河北。曹操趁勢掩殺,大獲全勝。
這一仗,袁紹損失了七八萬人,從此一蹶不振。
*本文摘自《用地理看歷史:荊州,為何兵家必爭?》,時報出版。
李不白
湖北黃岡人,知名作家。
畢業於武漢大學地圖學專業,從事地圖編輯工作十餘年,策劃、出版近百種地圖冊。從小喜歡文學,因文學而讀歷史,二十多年筆耕不輟。
主要作品有長篇小說《局》、《活見鬼》、《歸去來兮》,以及系列小說《麒麟臺》等。
其《用地理看歷史》系列作品圖文並茂,融地理、地圖、歷史、文化於一體,深受廣大讀者喜愛。
世代傳媒股份有限公司
信箱:service@upmedia.mg
電話:+886 (2) 2568-3356
傳真:+886 (2) 2568-3826
地址:新北市新店區寶橋路188號8樓
關於我們探索網站
地址:新北市新店區寶橋路188號8樓
電話:+886 (2) 2568-3356
傳真:+886 (2) 2568-3826
e-mail:service@upmedia.mg