“诸葛亮率领数万大军,围攻陈仓二十余天,竟然打不下来一千人守的一座小城。”
很多人听到这句话,第一反应都是不信的。怎么可能?那可是诸葛亮,三国时期最顶尖的人物之一,智谋百出,用兵如神,怎么会拿一座小城没办法?再说了,几万人打一千人,哪怕是蚂蚁啃骨头,二十多天也该啃碎了吧?
但《三国志》和《魏略》的记载就是这么写的,没有任何夸张的成分。史书清清楚楚写着:“亮自以有众数万,而昭兵才千余人。”诸葛亮亲口承认了双方兵力的巨大差距。而最终的结果呢?“昼夜相攻拒二十余日”——打了二十多天,陈仓城纹丝不动。
这到底是怎么回事?
很多人会第一时间想到“明修栈道,暗度陈仓”的故事。当年韩信走陈仓道,一举拿下了关中,怎么到了诸葛亮这里,同样的路就走不通了?刘邦能打下来,诸葛亮打不下来,这不恰恰说明诸葛亮的军事才能有问题吗?
这种说法在网络上流传甚广,但里面有一个巨大的误区。那就是:诸葛亮攻打的陈仓,和韩信当年攻打的陈仓,根本就不是同一座城。
韩信时代的陈仓是秦文公建的,说白了就是一个大仓库,地势平坦,无险可守,城防设施简陋。韩信率军悄悄渡过渭水,绕到陈仓城背后,一举拿下,这才有了“暗度陈仓”的传奇。但到了诸葛亮北伐的时候,这座老陈仓城早就荒废了,不能用。魏国在第一次北伐之后意识到了问题,派郝昭另选高地,重新修了一座新陈仓城。
这是很多人不知道的第一个关键细节。诸葛亮攻打的是一座新城,一座专门为了防御他而修建的新城。
说到郝昭这个人,很多历史爱好者对他的了解,基本就停留在“陈仓守将”这四个字上。但这个人其实非常有意思,他的人生经历,堪称三国时期最典型的“无名英雄”模板。
郝昭字伯道,太原人,出身平凡,少年时代就投身军旅,从一个最基层的部曲督做起,靠着实打实的战功一步一步往上爬。东汉末年天下大乱的时候,像郝昭这样的基层军官太多了,大部分人都默默无闻地死在战场上,连名字都没留下来。郝昭能在史书里留下几百字的记载,靠的就是陈仓这一仗。
但在陈仓之战以前,郝昭已经有了十几年的实战经验。公元220年,河西地区发生大规模叛乱,麴演联合胡人在武威、酒泉、张掖三郡造反。郝昭当时驻扎在金城,他配合金城太守苏则诱杀了麴演,迅速平定了三郡叛乱。此后他在河西镇守了十余年,在当地威名远播,连远在益州的诸葛亮都听说过他的名字。
《魏略》里记载了一个非常重要的细节。诸葛亮兵临陈仓城下时,听说守城的是郝昭,当场“大惊愕”。诸葛亮是什么人?能在战场上让诸葛亮感到吃惊的人,三国时期屈指可数。这说明在当时的西北战场上,郝昭这个名字就是有分量的。
那么曹魏那边为什么偏偏派郝昭来守陈仓?这就不得不提另一个人物——曹真。
很多人对曹真的印象来自《三国演义》,小说里的曹真被塑造成了一个草包,动不动就中诸葛亮的计,最后被司马懿轻松取代。但历史上的曹真完全不是这么回事。他是曹魏帝国的第一任“都督中外诸军事”,也就是曹魏军队的最高统帅,地位相当于曹魏军的总司令。曹丕临终前托孤给他,曹叡即位后更是对他委以重任。诸葛亮第一次北伐的时候,正是曹真坐镇长安,调兵遣将,派张郃在街亭击败了马谡,粉碎了诸葛亮夺取陇右的计划。
第一次北伐结束后,曹真干了一件非常聪明的事。他仔细分析了诸葛亮的进军路线后,得出了一个判断:诸葛亮下一次北伐,必定走陈仓道。
这个判断的依据是什么?陈仓的地理位置决定了它的战略价值。陈仓位于秦岭北麓,渭水之畔,是连接汉中和关中的咽喉要道。从汉中穿越秦岭有四条主要通道:褒斜道、傥骆道、陈仓道、子午道。褒斜道的栈道在第一次北伐中被赵云撤退时烧毁了大半,短期内无法修复;傥骆道地势过于险峻,不适合大部队通行;子午道虽然直通长安,但路途遥远且狭窄,容易被伏击。相比之下,陈仓道虽然绕远一些,但地势相对平缓,更适合大兵团运动,也方便运输粮草辎重。更重要的是,陈仓城是关中漕运体系的重要节点,控制陈仓就等于控制了渭河上游的物资运输命脉。
曹真认准了这一点,便提前做了两件事。第一,派郝昭和王生率千余人进驻陈仓,加固城防;第二,让郝昭在陈仓古道的出口处另建一座新城,作为防御体系的核心。
事实证明,曹真的预判精准到了令人发指的程度。公元228年冬天,诸葛亮果然从陈仓道杀了出来。郝昭和他的千余士兵,已经在新陈仓城里等着他了。
郝昭修的这座新陈仓城,选址极其考究。古城建在渭河边的一块高地上,城墙与河水之间只有几尺的距离。城池背靠渭河,面向秦岭,居高临下,视野开阔。攻城的一方要想接近城墙,必须先通过一片开阔地,在这个过程中完全暴露在守军的弓箭射程之内。
更妙的是,郝昭不是只修了一座城。他还在陈仓古道出口处建了一座畄毂城,与大散关形成呼应。大散关是秦岭陈仓道出口的雄关,畄毂城则是关后的一座小城。陈仓城、大散关、畄毂城三个据点互为犄角,形成了一个三角形的防御体系。诸葛亮的军队要先破大散关,才能接近陈仓城,而在攻打陈仓的同时,还要时刻提防畄毂城方向的魏军侧翼袭扰。
所以,陈仓之战的第一步,诸葛亮就面临了一个选择:是绕开陈仓直取关中腹地,还是必须先拿下这座城?
答案是必须拿下。因为陈仓城堵在陈仓道的出口上,控制了进出秦岭的通道。如果诸葛亮绕过陈仓继续北上,他的粮道就会暴露在陈仓守军的攻击范围之内。万一郝昭派兵出城截断蜀军的粮道,数万大军被困在关中平原上进退无路,那后果就不堪设想了。所以,诸葛亮别无选择,只能先啃下这块硬骨头。
公元228年十二月,诸葛亮率领数万大军抵达陈仓城下。他没有急着攻城,而是先派了一个人去劝降。
这个人叫靳详,是郝昭的太原同乡。诸葛亮之所以派靳详去,是想打感情牌,以同乡之谊来劝郝昭归顺蜀汉。
靳详来到陈仓城下,对着城楼上的郝昭喊话劝降。郝昭的回答干脆利落:“魏国的法律您是了解的,我的为人您也是了解的。我受国恩深重,您不必再说了,我只有一死。您回去告诉诸葛亮,可以来攻了。”
诸葛亮不死心,让靳详再去一次,说:“您的人马寡不敌众,何苦白白地自取灭亡?”
郝昭这回更不客气了。他站在城楼上,对着靳详说:“前面我已经把话说定了。我认识您,箭可不认识您。”
这话什么意思?就是告诉靳详:念在你是同乡的份上,我不放箭射你,但你要是再不走,就别怪我不客气了。靳详只好灰溜溜地退回去。
诸葛亮的劝降计划彻底失败。接下来,就是真刀真枪的攻城战了。
史书上对这场攻城战的记载非常精彩,双方在二十多天的时间里,进行了一场又一场的技术对抗,你来我往,见招拆招,每一招都是实打实的智慧较量。
诸葛亮使出的第一招是云梯攻城。他在城下架设了大量云梯,让士兵攀爬登城。云梯是古代攻城最常用的器械之一,传说是鲁班发明的,梯子装在车架上,可以推到城墙根下,士兵顺着梯子往上爬,顶端还有一个小木箱可以容纳十来个人,同时登城。
郝昭的应对是“以火箭逆射其云梯”。他命令守军在城墙上朝云梯射火箭。云梯是木制的,被火箭射中后迅速燃烧起来,梯子上正在攀爬的蜀军士兵不是被烧死就是从高处摔落而死,惨烈异常。第一轮攻击就这样被打退了。
诸葛亮紧接着使出第二招——冲车。冲车又叫“对楼”或“临冲”,是一种高大的攻城战车,车顶上装有铁锥,用来撞击城墙和城门。如果让冲车靠近城门,反复撞击之下,木制的城门很快就会破裂。
郝昭的应对方式很有创意。他让守军用绳子系上石磨,从城墙上往下压砸冲车。石磨是磨粮食用的石盘,非常沉重,从高处砸下来,冲击力极大。冲车的木质结构根本承受不住这样的打击,一辆接一辆地被砸毁。第二轮攻击又失败了。
眼看云梯和冲车都不奏效,诸葛亮使出了第三招——井阑。井阑是一种移动的攻城塔楼,有百尺之高,顶部设有木制护板,士兵站在上面可以向城中射箭,压制城头的守军。与此同时,诸葛亮派士兵用土块填塞护城河,准备直接攀登城墙。
井阑的好处是攻城士兵可以居高临下,掌握火力优势。但井阑也有一个致命弱点——它不能跨越高墙和壕沟,只能在原地发挥作用。郝昭看准了这一点,下令在城墙内侧紧急修筑第二道城墙。这样一来,即便蜀军攻破了第一道城墙,里面还有一道墙等着他们,而井阑射出来的箭矢,根本越不过两道城墙去攻击后面的守军。第三轮攻击又被化解了。
高空攻不进去,诸葛亮开始从地下想办法。他派兵挖掘地道,试图从地下钻入城内。这一招在古代攻城战中被广泛使用,袁绍攻打邺城时用过,曹操攻打邺城时也用过,算是一个经典的攻城战术。
郝昭的反应依旧迅速。他命令守军在城墙内侧横向挖掘壕沟,在地底下截断蜀军的地道。这样一来,蜀军士兵从地道里钻出来的时候,会直接掉进魏军挖好的壕沟里,迎接他们的不是陈仓城内的土地,而是魏军的长矛和刀剑。第四轮攻击再次以失败告终。
二十多天的时间,诸葛亮先后使用了云梯、冲车、井阑、地道四种攻城手段,每一种都是当时最先进的攻城技术。但郝昭见招拆招,每一种手段都被他完美地化解了。云梯来了用火箭烧,冲车来了用石磨砸,井阑来了筑内墙,地道来了挖横沟。每一招都打在要害上,每一招都不给对手任何机会。
看到这里,很多人可能会觉得:这不就是典型的攻防战吗?攻方有什么手段,守方就有什么应对,有什么了不起的?
但真正打起来的时候,完全不是这么一回事。守城战的难度,比很多人想象的要大得多。城池再坚固,守军再精锐,如果守将没有足够的应变能力和心理素质,城破只是时间问题。
你想想看,郝昭手下只有一千多人,面对的是几万大军,每天从早到晚都在遭受攻击。白天要应付云梯冲车井阑,晚上要提防地道偷袭。守军士兵几乎没有完整的休息时间,连续二十多天的高强度作战,体力和精神都在极限边缘。
更要命的是,陈仓是一座孤城。郝昭根本不知道援军什么时候会来,甚至不知道援军会不会来。曹真派出的援军从长安出发,需要翻山越岭才能抵达陈仓,最快也得十几天。在这十几天里,郝昭和他的士兵只能靠自己。
这种处境下,任何一个环节出了问题,后果都是致命的。云梯来了你没烧掉,城墙被攻破一个缺口;冲车来了你没砸掉,城门被撞开;地道挖过来了你没截住,敌军从内部杀出——哪一个失误都可能导致全军覆没。但郝昭没有犯任何错误,他守了二十多天,一天都没给诸葛亮任何机会。
魏明帝曹叡在洛阳接到陈仓被围的消息后,紧急召见了右将军张郃。曹叡让张郃率精兵三万星夜驰援陈仓,还亲自到河南城为张郃饯行。临行前,曹叡忧心忡忡地问张郃:“等将军赶到,诸葛亮该不会已经拿下陈仓了吧?”
连魏国的皇帝都在担心这个问题。毕竟,几万人打一千人,正常来说用不了几天就该破城了。
张郃的回答非常自信:“等我赶到,诸葛亮已经撤退了。我算过了,蜀军的粮食撑不到十天。”
张郃的判断一语中的。当他率领援军日夜兼程赶到汉中时,陈仓之战已经结束了。诸葛亮粮草将尽,加上费耀率领的援军已经逼近陈仓,不得不下令撤军。围城二十余日,数万大军拿不下一座千余人的小城,诸葛亮带着遗憾离开了陈仓城下。
不过,这一仗诸葛亮也不是一无所获。撤退途中,魏将王双率骑兵追击,被诸葛亮设伏击败,王双本人被斩杀。这个王双在《三国演义》中被描述得十分神勇,使六十斤大刀,骑千里马,有万夫不当之勇,一出场就斩杀蜀将谢雄和龚起,打伤张嶷。但历史上的王双远没有那么夸张,他应该只是郝昭的副将,在追击蜀军的过程中中了埋伏,兵败身死。
除了斩杀王双,蜀军在撤退途中还攻占了武都和阴平二郡。这两座城池的攻取虽然与陈仓之战不是同一场战役,但时间上非常接近,也算是第二次北伐的一个间接战果。所以严格来说,第二次北伐并不是完全失败,诸葛亮付出了代价,但也拿到了一些东西。
那么回到最初的问题:诸葛亮为什么打不下陈仓?
把所有因素放在一起看,其实原因很清晰。第一,陈仓是一座专门为防御而修的新城,选址考究,工事坚固,地形易守难攻,和韩信当年打的那座老陈仓完全不可同日而语。第二,郝昭不是普通守将,他在河西镇守了十几年,经验丰富,心理素质过硬,面对诸葛亮的各种攻城手段都能做出正确的应对。第三,曹真的战略预判帮了大忙,他提前半年就让郝昭加固城防,以逸待劳,诸葛亮带着疲劳之师去打一座准备充分的新城,胜负的天平从一开始就是倾斜的。第四,诸葛亮的后勤跟不上,秦岭天险让他无法携带大量粮草,围城只能围二十天,围到粮尽就必须撤,没有第二条路。
这几条因素叠加在一起,就构成了一个近乎无解的局面。诸葛亮在战场上能做的都做了,四种攻城手段轮番上阵,二十天昼夜急攻,但面对一座修在高地上的新城,面对一个经验丰富又意志坚定的守将,他确实没有更好的办法。
陈仓之战的结局,对郝昭来说是一场完胜。战后魏明帝下诏嘉奖他“善守”,赐爵关内侯,还亲自召见他慰劳。曹叡对中书令孙资说:“卿乡里乃有尔曹快人”——你们太原竟然出了这样的人才。
但郝昭的结局,却让人唏嘘不已。陈仓之战后不久,他就染上重病,年纪轻轻就去世了。魏明帝本来打算重用他,让他镇守更重要的防区,但这个计划还没来得及实施就落空了。
更让人感慨的是,郝昭在临终前留下遗言,要求子孙将自己薄葬,不要厚葬,不要大办丧事。为什么?因为他在陈仓之战中,为了加强城防,曾经下令拆毁百姓的房屋,甚至挖掘坟墓取棺木木材来制作守城器械。这件事一直压在他心里,他觉得愧对百姓,愧对死者,所以要求后人从简办理自己的丧事,作为一种赎罪。
这个细节在正史《三国志·明帝纪》的注释里是有明确记载的,不是什么野史演义。郝昭在生命的最后时刻,惦记的不是功名利禄,而是那些被自己挖开的坟墓和拆掉的房屋。他是一个职业军人,但他也有一颗普通人的良心。
陈仓之战已经过去一千七百多年了。今天宝鸡市的陈仓故城遗址,早已化为一片农田,老陇海线上的“斗鸡台隧道”就穿过古城的地下。两千多年前,郝昭在这里用一千人挡住了诸葛亮的数万大军,成就了中国军事史上一段令人惊叹的传奇。而诸葛亮带着遗憾撤离陈仓时的那个背影,也成了他北伐生涯中最令人心疼的画面之一。
有时候,历史的魅力就在于此。不是因为谁赢了谁输了,而是因为那些具体的人,在具体的处境里做出的具体的选择,让一千多年后的我们仍然能被触动。诸葛亮出师未捷的遗憾,郝昭以千敌万的坚毅,两个在各自阵营里都堪称顶尖的人物,在一座小城下碰撞出的火花,至今还在燃烧。