袁绍是曹操的大敌。他不但地广兵强,在社会上声望很高,势力极大,即论其才具,在当时群雄中,亦当首屈一指。从袁绍败后,北方就没有人能和曹操抵敌的了,虽然并没有全平定。曹操的破袁绍,事在汉献帝建安五年(公元200年)。《三国志·魏武帝本纪》说:“初,桓帝时,有黄星见于楚宋之分(古人有分野之说,把天文、地理都分画作若干部分,说哪一部分天象的变动,主地面上哪一部分的休咎,也是一种迷信之谈)。辽东殷逵善天文,言后五十岁,当有真人起于梁、沛之间,其锋不可当。至是凡五十年,而公破绍,天下莫敌矣。”这些话,固然是附会之谈,然而当时的人重视袁曹的战争,也就可想而知了。
怎说袁绍的才具并不算弱呢?读史的人都说袁绍地广兵强,而当曹操没有平定河南以前,不能起而与之争衡,坐令他破陶谦,平吕布,且收服了刘备,赶走了袁术,到他养成气力,挟天子以令诸侯,再要起来和他争衡,就难了。其实不然。
要和大敌争衡,先要后方没有顾虑。袁绍的地盘,是现在河北、山西两省,在建安四年(公元199年)以前,问题正多着呢。别的且不论,公孙瓒就是到建安四年三月,才给袁绍灭掉的,而在建安三年的冬天,吕布业已给曹操灭掉了。到四年的春天,河内太守张杨为其将杨丑所杀,又有一个唤作眭固的,杀掉杨丑,归附袁绍,曹操就进兵把他打破,这一年八月里,曹操进兵黎阳(汉县,在今河南浚县东北),旋又回兵,而分兵把守官渡(城名,在今河南中牟县东北)。此时曹操的兵力,业已达到河北了。袁绍从公孙瓒破灭以后,就派他的大儿子袁谭去守青州,第二个儿子袁熙去守幽州,又派他的外甥高幹去守并州,其布置并不算迟。
至于说他坐视曹操入居中央,挟天子以令诸侯,以致于己不利,则当时挟着一个天子,实际并无甚用处,在上一节中业已说过;而袁绍在曹操迁献帝许都之后,曾经挟着兵威,胁迫曹操,要令他把献帝迁徙到鄄城(汉县,在今山东濮县东),置于自己势力范围之内。袁绍的本意,是要否认献帝的,此时又有此转变,其手段也不算不敏捷。曹操自然是不肯听的,因为曹操断不是虚声所能恐吓的;袁绍此时,既因河北内部尚有问题,不愿和曹操以实力相搏,自然只好听之而已。然而袁曹的成败,始终和挟天子与否无关,所以这也算不得袁绍的失策。
这时候,曹操的后方,也不是绝无问题的。其中最足为患的,就是屯扎在穰县(今河南邓县)的张绣。因为他的地势,可以南连刘表,是有接济的。然而张绣听了贾诩的话,却投降了曹操。贾诩所以劝张绣投降曹操,大约因兵力不足和曹操相敌,袁绍相隔太远,不能应援,刘表又系坐观成败之徒,未必能切实联合之故。《三国志·贾诩传》载他劝张绣的话:(一)是因曹操挟天子以令诸侯;(二)则袁绍兵多,你投降他,他未必看重,曹操兵少,你投降他,他必另眼相看之故;怕也未必确实的。张绣的投降,是建安四年十一月的事,到十二月,曹操就又进兵官渡了。
然而张绣之难甫平,刘备之兵又起。原来这时候,袁术在淮南,因其荒**过甚,弄得民穷财尽,不能立脚,要想去投奔袁绍,打从下邳经过,曹操便派刘备去拦截他。刘备是有野心的,不肯服从曹操,他把袁术拦截回去,袁术又气愤,又穷困,病死了,他却和董承通气,说奉到了献帝的衣带诏,叫他们诛灭曹操,就在下邳起兵。把徐州刺史车胄杀掉,屯兵小沛。
曹操派刘岱、王忠去打他,都给他打败了。建安五年正月,董承等阴谋发觉,都给曹操杀掉,曹操立刻起兵东征。这件事,《三国志·魏武帝本纪》上说:“诸将皆曰:‘与公争天下者袁绍也,今绍方来,而弃之东,绍乘人后,若何?’公曰:‘夫刘备,人杰也,今不击,必为后患。袁绍虽有大志,而见事迟,必不动也。’郭嘉亦劝公。”曹操遂决计东行。《袁绍传》上说:曹操攻刘备时,田丰劝袁绍袭其后方,袁绍说儿子有病,不听。“丰举杖击地曰:‘夫遭难遇之机,而以婴儿之病失其会,惜哉!’”这也是事后附会之谈。
曹操是善于用兵的人,后方绝不会空虚无备;况且当时曹操也有相当的兵力,后方绝不至于空虚无备。袁绍的根据地在河北,要袭击许昌,先要渡过黄河,渡过黄河之后,还有好几百里路,绝非十天八天可以达到。如其说轻兵掩袭,那是无济于事,徒然丧失兵力的。刘备初起兵,力量有限,未必能牵制曹操许久。这一点,曹操和袁绍都是明白的。曹操所以决计东征,也是为此。
接触之后,自然是刘备败了,便投奔袁绍。当时守下邳的是关羽,孤军自然难于抵抗,就暂时投降。关羽的投降,的确不是真降的,至于封金、挂印、过五关、斩六将等事,就都是演义上渲染之谈,无关宏旨的了。
刘备在当时,兵力虽然不足,然而他是个有野心、有能力的人,倘使曹操和袁绍以主力相持,而刘备从后方捣乱,这确是一个大患,所以曹操要先把他除掉。刘备既败之后,曹操后方就无甚可怕的捣乱之徒了。
当时还有一个臧霸,本来是泰山一带的强盗。他是服从吕布的。曹操破吕布后,招降了他,就把青、徐二州的事情交给他。这时候,臧霸颇能出兵以牵制袁绍,所以曹操不怕袁绍从现在山东的北部进兵。不过臧霸的兵力,亦只能牵制袁绍不从这一路进兵而已,要想捣乱现在的河北,成为袁绍的大患,其兵力也是不够的。于是袁曹二人,不得不各出全力,在现在河南境内的黄河沿岸,决一死战。
建安五年二月,袁绍派颜良等攻东郡太守刘延于白马城(汉县,在今河南滑县东)。袁绍带着大兵,进至黎阳。四月,曹操自己带兵去救刘延。荀攸因袁绍兵多,劝曹操引兵西向延津(黄河渡口,在今河南延津县北),装出要绕道袭击袁绍后方的样子。袁绍果然分兵而西。曹操就赶快引兵回来,派张辽和关羽先登,把颜良击斩。关羽就在这时候,封书拜辞曹操,走归刘备了。于是袁绍整兵渡河,攻击曹操。刘备和文丑先到。曹操又把文丑击斩。《三国志·魏武帝本纪》说:“良、丑皆绍名将也,再战悉禽,绍军大震。”颜良、文丑之死,曹操固然先声夺人,然而袁军的主力并没有动,胜负还是要决一死战的。
曹操破颜良、文丑之后,回兵官渡。袁绍便进兵阳武。(今属河南原阳县)彼此相持,直到这一年八月里,袁绍才慢慢地进兵,靠着沙堆扎营,从东到西,连绵好几十里。曹操也分兵和他相持。出兵决战,曹操的兵不利。袁绍就进攻官渡。在地面上筑起土山,地下掘了隧道,要攻破曹操的营。这时候,曹操的兵势是很危急的。论起防守来,曹操自然有相当的力量,然而兵既比较少,粮食又要完了,眼看着不能支持。
于是曹操写一封信给后方的荀彧,商议要退兵回许都。当时曹操的兵势既较袁绍为弱,倘使一动脚,袁绍乘机追击,是很危险的。所以荀彧的复信说:“公以至弱当至强,若不能制,必为所乘。”又说:“此用奇之时,不可失也。”这不过说退军绝无全理,叫他不论什么险路,到此时也只得拼死干一干罢了。
《三国志》上所说的兵谋,大都是靠不住的。这大约因军机秘密,局外人不得而知,事后揣测,多系附会之谈,而做历史的人所听见的,也不过是这一类的话之故。独有荀彧这一封信,据《三国志》本传注引荀彧的《别传》载曹操表请增加荀彧封邑的表文,曾经郑重地说及。官文书不能伪造,可以相信其是真的。
我们因此可以窥见当时兵事形势的一斑。形势是不得不冒险了,险却怎样冒法呢?那还是只有在兵粮上想法子。当时袁绍有运粮的车子几千辆到了,曹操派兵袭击,把他尽数烧掉。然而还不能摇动袁军,这大约因袁军粮多,不止这一批之故。到十月里,袁绍又派车辆出去运粮。这一次,袁绍也小心了,派淳于琼等五个人带着一万多兵去护送。
据《三国志》说,袁绍手下有一个谋士,唤作许攸,性甚贪财,袁绍不能满足他,许攸便投奔曹军,劝曹操去袭击淳于琼。曹操左右的人都疑心他。只有荀攸、贾诩两个人劝曹操去。于是曹操带着马、步兵五千,夤夜前往。到那里,已经天明了。淳于琼等见曹操兵少,直出营门排成阵势。曹操向前急攻。淳于琼等退入营内。曹操就直前攻营,把营攻破,淳于琼等都杀掉。这一次,曹操大概是舍死忘生,拼个孤注一掷的。
《三国志·魏武帝本纪》说,袁绍听得曹操攻淳于琼,对袁谭说道:“我趁这时机,把他的大营打破,他就无家可归了。”就派张郃、高览去攻曹操的大营,不能破。后来听得淳于琼被杀,张郃、高览就投降了曹操。
《张郃传》则说:郃闻曹操攻淳于琼,劝袁绍派兵往救。郭图说不如去攻曹操的大营。张郃说:曹操的营很坚固,攻他必不能破。袁绍不听,而听了郭图的话,只派些轻骑去救淳于琼等,而遣张郃和高览去攻曹操的大营。果不能破,淳于琼等却被曹操杀了。郭图觉得惭愧,反对袁绍说:“张郃等闻兵败而喜。”郃等因此畏惧,就去投降曹操。这些话,也都是不实的。
淳于琼屯兵之处,名为乌巢,离袁绍的大营只有四十里。倘使来得及救援,袁绍不是兵少分拨不开的,何难一面派兵去攻曹操的大营,一面再多派些兵去救淳于琼等?曹操的兵不过五千,淳于琼等的兵已有一万,袁绍倘使再派马兵五千名去,也比曹操的兵加出三倍了,何至于还不能敌?倘使还不能敌,相隔四十里,续派大兵何难?何至淳于琼等还会被杀?可见曹操的攻淳于琼,是迅雷不及掩耳的。他所以只带马、步兵五千,正因兵多容易被人觉察之故。然则当时淳于琼等被攻的消息传到袁绍的大营时,怕早已来不及救援。派张郃、高览去攻曹操的大营,也不过无聊的尝试而已。袁绍连营数十里,而曹操能分兵和他相持,其兵数虽不如袁绍之多,亦必不能甚少。曹操攻淳于琼等,不过抽去五千人,何至于大营就不能守呢?据此看来,可见历史上所传的情节,多非其真,读书的人不可不自出手眼了。
淳于琼等既破,张郃复降,据《三国志》说:袁绍的兵就因此大溃,袁绍和袁谭都弃军而走,曹操大获全胜。这大约因袁绍的兵屯扎日久,锐气已挫,军心又不甚安宁,遂至一败而不可收拾。曹操的攻淳于琼,固然有胆气,也只是孤注一掷之举,其能耐,倒还是在历久坚守、能挫袁军的锐气上见得。军事的胜败,固然决于最后五分钟,也要能够支持到最后五分钟,才有决胜的资格哩。
《三国志·袁绍传》说:袁绍未出兵之前,田丰劝他分兵多枝,乘虚迭出,曹操救左则击其右,救右则击其左,使其军队疲于奔命,百姓亦不得安业,不要和他决胜负于一旦。袁绍不听;颜良、文丑被杀之后,沮授又说:北兵数多而不及南兵之精,南兵粮草缺乏,财力不及北兵的充足,所以南军利在速战,北军利在缓战,宜用持久之计。袁绍又不听,以至于败。这两说也不确实。
田丰的话,袁绍固然没有听,然而袁绍从四月里和曹操相持,直到八月里才进攻曹营,可谓已充分利用持久之计。当时曹操因军粮垂尽,议欲退还许都,就是袁绍持久之计的效验;不幸曹操的兵,实在坚固难于动摇,以致功败垂成罢了。至于袁绍既进兵,还是用稳扎稳打之博学计,则本来并不冒险,田丰之计听不听也无甚关系。所以说历史上的话,总是不可尽信,我们读书非自出手眼不可的。
袁绍兵败之后,当时北强南弱之势,遂变为南强北弱。然亦不过南强北弱而已,说曹操的兵力就可以一举而扫**袁绍,那还是不够的。当时曹操乘势追击,冀州郡县多有投降曹操的。然袁绍回去之后,收合散兵,就又把降曹的郡县收复了。曹操的用兵是最精锐不过的,倘使力足扫**河北,岂肯中途停顿?可见袁绍的兵力也还足以自守。不但如此,当袁绍未败之时,还分兵给刘备去攻略汝南(汉县,治平與,今河南汝南县)。汝南降贼龚都等就做了他的内应。可见袁绍对于扰乱曹操的后方,亦很注意。不过大军既败,此等游军就无甚用处罢了。
曹操既不能扫**河北,就回兵许都。旋又出兵南征。刘备就逃奔刘表,龚都等都逃散了。这是建安六年(公元201年)冬天的事。七年(公元202年)春天,曹操又进兵官渡。这一年五月里,袁绍病死了。手下的人立了他的小儿子袁尚,因此和袁谭兄弟失和。然而曹操进攻,还没有能够把他打败。到建安八年(公元203年)五月,曹操已把攻取河北之事,暂时搁起,回兵许都,八月里,出兵南征刘表了。袁谭和袁尚,却因曹兵退去,自相攻击。
袁谭被袁尚打败了,派人求救于曹操。曹操见机会不可失,才再回兵攻取河北。从建安九年(公元204年)二月里攻击袁尚的根据地邺城(汉邺县,今河南临漳县),到八月里才攻下。袁尚是本来在外面的,逃到中山(今河北定县)。此时袁谭已乘机占领了冀州的东部,就去攻击袁尚,袁尚逃到故安(汉县,今河北易县东南)去,依靠袁熙。曹操突然又和袁谭翻脸了。建安十年(公元205年),在南皮县(今河北南皮县)地方把他攻杀。袁熙、袁尚逃入乌丸。
乌丸亦作乌桓,乃是一种异民族,在现今热河、辽宁境内的,屡次侵犯边界。建安十一年(公元206年),曹操筹划出兵去征伐他,在现在河北的东北境辟了两条水路,以便运粮。十二年(公元207年)七月里出兵,因沿海大水,道路不通。先是刘虞被公孙瓒所杀,他手下的田畴,立意要和他报仇,就带着宗族,入居徐无山中(在今河北遵化县西)。避难的人民依附他的很多。田畴替他们立起章程,申明约束,居然很有条理,北边都很信服他。曹操出兵时,把田畴也招罗在军中。田畴说:旧北平郡之北,本来有一条路,出卢龙塞到柳城去的(这是从今遵化向东北龙井关的路。柳城,汉县,在今辽宁兴城县西南)。从后汉以来,路绝不通,然而还有些痕迹。倘使从这一条路出兵,攻其不备,一定可大获全胜的。曹操听了他的话,就从这条路出去。果然一战而杀了三个乌丸的酋长,剩下来一个,和袁熙、袁尚逃到辽东。当时的辽东太守是公孙康,也是要据地自立的,袁熙、袁尚的资格岂能服从他?所以有人劝曹操进兵辽东,曹操就逆料他们不能相容,径从柳城回兵。果然公孙康把袁熙、袁尚的头送来了。到此,袁氏才算全灭。
从建安四年(公元199年)袁曹交兵至此,前后共历九年,和曹操的破陶谦、吕布、袁术等,前后不过两三年的,大不相同。所以说袁绍确是曹操的一个劲敌。