袁紹和曹操的戰(zhàn)爭
袁紹是曹操的大敵。他不但地廣兵強(qiáng),在社會上聲望很高,勢力極大,即論其才具,在當(dāng)時群雄中,亦當(dāng)首屈一指。從袁紹敗后,北方就沒有人能和曹操抵?jǐn)车牧耍m然并沒有全平定。曹操的破袁紹,事在漢獻(xiàn)帝建安五年(200)。《三國志·魏書·武帝紀(jì)》說:“初,桓帝時,有黃星見于楚宋之分(古人有分野之說,把天文、地理都分畫做若干部分,說那一部分天象的變動,主地面上那一部分的休咎,也是一種迷信之談)。遼東殷逵善天文,言后五十歲,當(dāng)有真人起于梁、沛之間,其鋒不可當(dāng)。至是凡五十年,而公破紹,天下莫敵矣。”這些話,固然是附會之談,然而當(dāng)時的人重視袁曹的戰(zhàn)爭,也就可想而知了。
怎說袁紹的才具并不算弱呢?讀史的人都說袁紹地廣兵強(qiáng),而當(dāng)曹操沒有平定河南以前,不能起而與之爭衡,坐令他破陶謙,平呂布,且收服了劉備,趕走了袁術(shù),到他養(yǎng)成氣力,挾天子以令諸侯,再要起來和他爭衡,就難了。其實(shí)不然。
要和大敵爭衡,先要后方?jīng)]有顧慮。袁紹的地盤,是現(xiàn)在河北、山西兩省,在建安四年(199)以前,問題正多著呢。別的且不論,公孫瓚就是到建安四年三月,才給袁紹滅掉的,而在建安三年的冬天,呂布業(yè)已給曹操滅掉了。到四年的春天,河內(nèi)太守張楊為其將楊丑所殺,又有一個喚作眭固的,殺掉楊丑,歸附袁紹,曹操就進(jìn)兵把他打破;這一年八月里,曹操進(jìn)兵黎陽(漢縣,在今河南浚縣東北),旋又回兵,而分兵把守官渡(城名,在今河南中牟縣東北)。此時曹操的兵力,業(yè)已達(dá)到河北了。袁紹從公孫瓚破滅以后,就派他的大兒子袁譚去守青州,第二個兒子袁熙去守幽州,又派他的外甥高干去守并州,其布置并不算遲。
至于說他坐視曹操入居中央,挾天子以令諸侯,以致于己不利,則當(dāng)時挾著一個天子,實(shí)際并無甚用處,在上一節(jié)中業(yè)經(jīng)說過;而袁紹在曹操遷獻(xiàn)帝于許都之后,曾經(jīng)挾著兵威,脅迫曹操,要令他把獻(xiàn)帝遷徙到鄄城(漢縣,在今山東濮城縣東),置于自己勢力范圍之內(nèi)。袁紹的本意,是要否認(rèn)獻(xiàn)帝的,此時又有此轉(zhuǎn)變,其手段也不算不敏捷。曹操自然是不肯聽的,因為曹操斷不是虛聲所能恐嚇的;袁紹此時,既因河北內(nèi)部尚有問題,不愿和曹操以實(shí)力相搏,自然只好聽之而已。然而袁曹的成敗,始終和挾天子與否無關(guān),所以這也算不得袁紹的失策。
這時候,曹操的后方,也不是絕無問題的。其中最足為患的,就是屯扎在穰縣(今河南鄧縣東南)的張繡。因為他的地勢,可以南連劉表,是有接濟(jì)的。然而張繡聽了賈詡的話,卻投降了曹操。賈詡所以勸張繡投降曹操,大約因兵力不足和曹操相敵,袁紹相隔太遠(yuǎn),不能應(yīng)援,劉表又系坐觀成敗之徒,未必能切實(shí)聯(lián)合之故。《三國志·賈詡傳》載他勸張繡的話:(一)是因曹操挾天子以令諸侯;(二)則袁紹兵多,你投降他,他未必看重,曹操兵少,你投降他,他必另眼相看之故;怕也未必確實(shí)的。張繡的投降,是建安四年(199)十一月的事,到十二月,曹操就又進(jìn)兵官渡了。
然而張繡之難甫平,劉備之兵又起。原來這時候,袁術(shù)在淮南,因其荒淫過甚,弄得民窮財盡,不能立腳,要想去投奔袁紹,打從下邳經(jīng)過,曹操便派劉備去攔截他。劉備是有野心的,不肯服從曹操,他把袁術(shù)攔截回去,袁術(shù)又氣憤,又窮困,病死了,他卻和董承通氣,說奉到了獻(xiàn)帝的衣帶詔,叫他們誅滅曹操,就在下邳起兵。把徐州刺史車胄殺掉,屯兵小沛。
曹操派劉岱、王忠去打他,都給他打敗了。建安五年(200)正月,董承等陰謀被發(fā)覺,都給曹操殺掉,曹操立刻起兵東征。這件事,《三國志·魏書·武帝紀(jì)》上說:“諸將皆曰:‘與公爭天下者袁紹也,今紹方來,而棄之東,紹乘人后,若何?’公曰:‘夫劉備,人杰也,今不擊,必為后患。袁紹雖有大志,而見事遲,必不動也。’郭嘉亦勸公。”曹操遂決計東行。《袁紹傳》上說:曹操攻劉備時,田豐勸袁紹襲其后方,袁紹說兒子有病,不聽。“豐舉杖擊地曰:‘夫遭難遇之機(jī),而以嬰兒之病失其會,惜哉!' ”這也是事后附會之談。
曹操是善于用兵的人,后方絕不會空虛無備;況且當(dāng)時曹操也有相當(dāng)?shù)谋Γ蠓浇^不至于空虛無備。袁紹的根據(jù)地在河北,要襲擊許昌,先要渡過黃河,渡過黃河之后,還有好幾百里路,絕非十天八天可以到達(dá)。如其說輕兵掩襲,那是無濟(jì)于事,徒然喪失兵力的。劉備初起兵,力量有限,未必能牽制曹操許久。這一點(diǎn),曹操和袁紹都是明白的。曹操所以決計東征,也是為此。
接觸之后,自然是劉備敗了,便投奔袁紹。當(dāng)時守下邳的是關(guān)羽,孤軍自然難于抵抗,就暫時投降。關(guān)羽的投降,的確不是真降的,至于封金、掛印、過五關(guān)、斬六將等事,就都是《演義》上的渲染之談,無關(guān)宏旨的了。
劉備在當(dāng)時,兵力雖然不足,然而他是個有野心、有能力的人,倘使曹操和袁紹以主力相持,而劉備從后方搗亂,這確是一個大患,所以曹操要先把他除掉。劉備既敗之后,曹操后方就無甚可怕的搗亂之徒了。
當(dāng)時還有一個臧霸,本來是泰山一帶的強(qiáng)盜。他是服從呂布的。曹操破呂布后,招降了他,就把青、徐二州的事情交給他。這時候,臧霸頗能出兵以牽制袁紹,所以曹操不怕袁紹從現(xiàn)在山東的北部進(jìn)兵。不過臧霸的兵力,亦只能牽制袁紹不從這一路進(jìn)兵而已,要想搗亂現(xiàn)在的河北,成為袁紹的大患,其兵力也是不夠的。于是袁曹二人,不得不各出全力,在現(xiàn)在河南境內(nèi)的黃河沿岸,決一死戰(zhàn)。
建安五年(200)二月,袁紹派顏良等攻東郡太守劉延于白馬城(漢縣,在今河南滑縣東)。袁紹帶著大兵,進(jìn)至黎陽。四月,曹操自己帶兵去救劉延。荀攸因袁紹兵多,勸曹操引兵西向延津(黃河渡口,在今河南延津縣北),裝出要繞道襲擊袁紹后方的樣子。袁紹果然分兵而西。曹操就趕快引兵回來,派張遼和關(guān)羽先登,把顏良擊斬。關(guān)羽就在這時候,封書拜辭曹操,走歸劉備了。于是袁紹整兵渡河,攻擊曹操。劉備和文丑先到。曹操又把文丑擊斬。《三國志·魏書·武帝紀(jì)》說:“良、丑皆紹名將也,再戰(zhàn)悉禽,紹軍大震。”顏良、文丑之死,曹操固然先聲奪人,然而袁軍的主力并沒有動,勝負(fù)還是要決一死戰(zhàn)的。
曹操破顏良、文丑之后,回兵官渡。袁紹便進(jìn)兵陽武(今屬河南原陽縣)。彼此相持,直到這一年八月里,袁紹才慢慢地進(jìn)兵,靠著沙堆扎營,從東到西,連綿好幾十里。曹操也分兵和他相持。出兵決戰(zhàn),曹操的兵不利。袁紹就進(jìn)攻官渡。在地面上筑起土山,地下掘了隧道,要攻破曹操的營。這時候,曹操的兵勢是很危急的。論起防守來,曹操自然有相當(dāng)?shù)牧α浚欢缺容^少,糧食又要完了,眼看著不能支持。
于是曹操寫一封信給后方的荀彧,商議要退兵回許都。當(dāng)時曹操的兵勢既較袁紹為弱,倘使一動腳,袁紹乘機(jī)追擊,是很危險的。所以荀彧的復(fù)信說:“公以至弱當(dāng)至強(qiáng),若不能制,必為所乘。”又說:“此用奇之時,不可失也。”這不過說退軍絕無全理,叫他不論什么險路,到此時也只得拼死干一干罷了。
《三國志》上所說的兵謀,大都是靠不住的。這大約因軍機(jī)秘密,局外人不得而知,事后揣測,多系附會之談,而作歷史的人所聽見的,也不過是這一類的話之故。獨(dú)有荀彧這一封信,據(jù)《三國志》本傳注引荀彧的《別傳》載曹操表請增加荀彧封邑的表文,曾經(jīng)鄭重地說及。官文書不能偽造,可以相信其是真的。
我們因此可以窺見當(dāng)時兵事形勢的一斑。形勢是不得不冒險了,險卻怎樣冒法呢?那還是只有在兵糧上想法子。當(dāng)時袁紹有運(yùn)糧的車子幾千輛到了,曹操派兵襲擊,把它盡數(shù)燒掉。然而還不能動搖袁軍,這大約因袁軍糧多,不止這一批之故。到十月里,袁紹又派車輛出去運(yùn)糧。這一次,袁紹也小心了,派淳于瓊等五個人帶著一萬多兵去護(hù)送。
據(jù)《三國志》說,袁紹手下有一個謀士,喚作許攸,性甚貪財,袁紹不能滿足他,許攸便投奔曹軍,勸曹操去襲擊淳于瓊。曹操左右的人都疑心他。只有荀攸、賈詡兩個人勸曹操去。于是曹操帶著馬、步兵五千,夤夜前往。到那里,已經(jīng)天明了。淳于瓊等見曹操兵少,直出營門排成陣勢。曹操向前急攻。淳于瓊等退入營內(nèi)。曹操就直前攻營,把營攻破,淳于瓊等都被殺掉。這一次,曹操大概是舍死忘生,拼個孤注一擲的。
《三國志·魏書·武帝紀(jì)》說,袁紹聽得曹操攻淳于瓊,對袁譚說道:“我趁這時機(jī),把他的大營打破,他就無家可歸了。”就派張郃、高覽去攻曹操的大營,不能破。后來聽得淳于瓊被殺,張郃、高覽就投降了曹操。
《張郃傳》則說:郃聞曹操攻淳于瓊,勸袁紹派兵往救。郭圖說不如去攻曹操的大營。張郃說:曹操的營很堅固,攻他必不能破。袁紹不聽,而聽了郭圖的話,只派些輕騎去救淳于瓊等,而遣張郃和高覽去攻曹操的大營。果不能破,淳于瓊等卻被曹操殺了。郭圖覺得慚愧,反對袁紹說:“張郃等聞兵敗而喜。”部等因此畏懼,就去投降曹操。這些話,也都是不實(shí)的。
淳于瓊屯兵之處,名為烏巢,離袁紹的大營只有四十里。倘使來得及救援,袁紹不是兵少分撥不開的,何難一面派兵去攻曹操的大營,一面再多派些兵去救淳于瓊等?曹操的兵不過五千,淳于瓊等的兵已有一萬,袁紹倘使再派馬兵五千名去,也比曹操的兵加出三倍了,何至于還不能敵?倘使還不能敵,相隔四十里,續(xù)派大兵何難?何至淳于瓊等還會被殺?可見曹操的攻淳于瓊,是疾雷不及掩耳的。他所以只帶馬、步兵五千,正因兵多容易被人覺察之故。然則當(dāng)時淳于瓊等被攻的消息到達(dá)袁紹的大營時,怕早已來不及救援。派張郃、高覽去攻曹操的大營,也不過是無聊的嘗試而已。袁紹連營數(shù)十里,而曹操能分兵和他相持,其兵數(shù)雖不如袁紹之多,亦必不能甚少。曹操攻淳于瓊等,不過抽去五千人,何至于大營就不能守呢?據(jù)此看來,可見歷史上所傳的情節(jié),多非其真,讀書的人不可不自出手眼了。
淳于瓊等既破,張郃復(fù)降,據(jù)《三國志》說:袁紹的兵就因此大潰,袁紹和袁譚都棄軍而走,曹操大獲全勝。這大約因袁紹的兵屯扎日久,銳氣已挫,軍心又不甚安寧,遂至一敗而不可收拾。曹操的攻淳于瓊,固然有膽氣,也只是孤注一擲之舉,其能耐,倒還是在歷久堅守、能挫袁軍的銳氣上見得。軍事的勝敗,固然決于最后五分鐘,也要能夠支撐到最后五分鐘,才有決勝的資格哩。
《三國志·袁紹傳》說:袁紹未出兵之前,田豐勸他分兵多支,乘虛迭出,曹操救左則擊其右,救右則擊其左,使其軍隊疲于奔命,百姓亦不得安業(yè),不要和他決勝負(fù)于一旦。袁紹不聽;顏良、文丑被殺之后,沮授又說:北兵數(shù)多而不及南兵之精,南兵糧草缺乏,財力不及北兵的充足,所以南軍利在速戰(zhàn),北軍利在緩戰(zhàn),宜用持久之計。袁紹又不聽,以至于敗。這兩說也不確實(shí)。
田豐的話,袁紹固然沒有聽,然而袁紹從四月里和曹操相持,直到八月里才進(jìn)攻曹營,可謂已充分利用持久之計。當(dāng)時曹操因軍糧垂盡,意欲退還許都,就是袁紹持久之計的效驗;不幸曹操的兵,實(shí)在堅固難于動搖,以致功敗垂成罷了。至于袁紹既進(jìn)兵,還是用穩(wěn)扎穩(wěn)打之博學(xué)計,則本來并不冒險,田豐之計聽不聽也無甚關(guān)系。所以說歷史上的話,總是不可盡信,我們讀書非自出手眼不可的。
袁紹兵敗之后,當(dāng)時北強(qiáng)南弱之勢,遂變?yōu)槟蠌?qiáng)北弱。然亦不過南強(qiáng)北弱而已,說曹操的兵力就可以一舉而掃蕩袁紹,那還是不夠的。當(dāng)時曹操乘勢追擊,冀州郡縣多有投降曹操的。然袁紹回去之后,收合散兵,就又把降曹的郡縣收復(fù)了。曹操的用兵是最精銳不過的,倘使力足掃蕩河北,豈肯中途停頓?可見袁紹的兵力也還足以自守。不但如此,當(dāng)袁紹未敗之時,還分兵給劉備去攻略汝南(漢郡,治平輿,今河南汝南縣)。汝南降賊龔都等就做了他的內(nèi)應(yīng)。可見袁紹對于擾亂曹操的后方,亦很注意。不過大軍既敗,此等游軍就無甚用處罷了。
曹操既不能掃蕩河北,就回兵許都。旋又出兵南征。劉備就逃奔劉表,龔都等都逃散了。這是建安六年(201)冬天的事。七年(202)春天,曹操又進(jìn)兵官渡。這一年五月里,袁紹病死了。手下的人立了他的小兒子袁尚,因此和袁譚兄弟失和。然而曹操進(jìn)攻,竟還沒有能夠把他打平。到建安八年(203)五月,曹操已把攻取河北之事,暫時擱起,回兵許都,八月里,出兵南征劉表了。
袁譚和袁尚,卻因曹兵退去,自相攻擊。袁譚被袁尚打敗了,派人求救于曹操。曹操見機(jī)會不可失,才再回兵攻取河北。從建安九年(204)二月里攻擊袁尚的根據(jù)地鄴城(漢鄴縣,今河北臨漳縣),到八月里才攻下。袁尚是本來在外面的,逃到中山(今河北定縣)。此時袁譚已乘機(jī)占領(lǐng)了冀州的東部,就去攻擊袁尚,袁尚逃到故安(漢縣,今河北易縣東南)去,依靠袁熙。曹操突然又和袁譚翻臉了。建安十年(205),在南皮縣(今河北南皮縣)地方把他攻殺。袁熙、袁尚逃入烏丸。
烏丸亦作烏桓,乃是一個異民族,在現(xiàn)今熱河、遼寧境內(nèi)的,屢次侵犯邊界。建安十一年(206),曹操籌劃出兵去征伐他,在現(xiàn)在河北的東北境辟了兩條水路,以便運(yùn)糧。十二年(207)七月里出兵,因沿海大水,道路不通。先是劉虞被公孫瓚所殺,他手下的田疇,立意要為他報仇,就帶著宗族,入居徐無山中(在今河北遵化縣西)。避難的人民依附他的很多。田疇替他們立起章程,申明約束,居然很有條理,北邊都很信服他。曹操出兵時,把田疇也招羅在軍中。田疇說:舊北平郡之北,本來有一條路,出盧龍塞到柳城去的(這是從今遵化向東北出龍井關(guān)的路。柳城,漢縣,在今遼寧興城縣西南)。從后漢以來,路絕不通,然而還有些痕跡。倘使從這一條路出兵,攻其不備,一定可大獲全勝的。曹操聽了他的話,就從這條路出去。果然一戰(zhàn)而殺了三個烏丸的酋長,剩下來一個,和袁熙、袁尚逃到遼東。當(dāng)時的遼東太守是公孫康,也是要據(jù)地自立的,袁熙、袁尚的資格豈能服從他?所以有人勸曹操進(jìn)兵遼東,曹操就逆料他們不能相容,徑從柳城回兵。果然公孫康把袁熙、袁尚的頭送來了。到此,袁氏才算全滅。
從建安四年(199)袁曹交兵至此,前后共歷九年,和曹操的破陶謙、呂布、袁術(shù)等,前后不過兩三年的,大不相同。所以說袁紹確是曹操的一個勁敵。