杜預出身在曹魏政府的高級官僚家庭。祖父杜畿是三國時期曹魏的名臣,擔任河東太守十六年,因爲與荀彧、耿紀關係密切,因此不受曹操的信任,直到曹丕即位,纔有爵位,擔任了關內侯,進入朝廷擔任了尚書。曹丕代漢稱帝后,杜畿進封爲亭侯,一百戶。以尚書擔任了代理司隸校尉,直到黃初三年,杜畿依然是尚書,《三國志》曹丕本紀記載“秋七月,使尚書杜畿持節開倉廩以賑之。”可見曹丕對他也是不重用,早在黃初二年,與杜畿同樣是荀彧薦舉的司馬懿就已經是尚書右僕射了。一直到公元222年(黃初三年)的十月,曹丕徵吳,杜畿才升任尚書僕射,杜畿留守洛陽。四年九月曹丕再次去許昌時,讓杜畿留守,並且受詔製造龍船,尚書僕射是百官師長做這種事本身就是不應該,結果杜畿在孟津試船時遇難,曹丕對他的遇難感到難過,追贈太僕。
父親杜恕在曹丕統治時期長期在家,沒擔任官職。直到魏明帝曹叡即位才擔任散騎常侍等職務,他爲人忠義、正直,與朝廷中的權臣關係不合,太和三年因爲彈劾大將軍曹真的弟弟曹璠與曹氏集團矛盾,被外派任職,隨後稱病在宜陽的一泉塢隱居。魏明帝去世後,許多人爲他上書,而且與當時的執政司馬懿是姻親關係,所以再次任職,擔任他父親長期治理的河東太守。曹爽執政期間,因爲曹爽是曹璠的侄兒,因此利用杜恕與上司矛盾的機會陷害他,治他死罪。嘉平元年,司馬懿發動政變廢黜了曹爽,杜恕也因此減死發配。杜預因爲父親長期與朝中皇親國戚和權貴的矛盾而得不到任用。
杜預雖然生長在官宦人家,但不是那種只知享樂的紈絝子弟。他從小博覽羣書,勤於著述,對經濟、政治、曆法、法律、數學、史學和工程等學科都有研究。當時的人曾給他起個“杜武庫”的綽號,稱讚他博學多通,就像武器庫一樣,無所不有。他特別愛讀《左傳》,自稱有《左傳》癖
司馬昭執政期間,司馬氏已經成爲曹魏政權最大的政治集團,司馬昭在掌握了執政權後,爲了鞏固、擴大統治基礎,在任用賢良的前提下,也任用了許多宗族和親戚,杜預因爲是優秀的人才,所以也和羊祜、山濤等被司馬昭重用。並且恢復了他的爵位。杜預的年齡比司馬昭小,但是比司馬昭的弟弟司馬榦、司馬伷年長,他和司馬昭的妹妹高陸公主成親,並且成爲司馬氏集團中最傑出的成員之一。杜預擔任了司馬昭相府的重要幕僚,在平定蜀國的戰爭中,他和司馬昭的主簿師纂都被司馬昭派去擔任兩路最重要部隊統帥的關鍵幕僚,師纂被派去擔任鄧艾的司馬,杜預被派到鍾會的軍中。
公元263年(景元四年)五月,魏軍兵分三路大舉伐蜀。杜預被委任爲主力軍統帥鍾會的鎮西將軍府長史。魏軍攻滅蜀漢,鍾會聯合蜀將姜維謀反,準備殺害同來的魏軍將領,以割據益州。次年正月,鍾會在實施計劃時,被亂兵殺死。在這場變亂中,鍾會的許多僚屬喪生。他的同僚都遇害,杜預憑藉智慧倖免於難。事後,因功被增封一千戶。他同情鄧艾的遭遇,應該是少數要求爲鄧艾伸冤的將領之一。鄧艾也於公元273年(泰始九年),司馬炎下詔書說:“鄧艾創立功勳,束手受罪而不逃脫處罰,他的子孫也淪爲奴隸,我常常同情他們,可任命他的親孫子鄧朗爲郎中。”算是爲鄧艾平了反。
公元264年(鹹熙元年)七月,司馬昭委託荀勖、賈充、裴秀、鄭衝等人改制禮儀、法律、官制。杜預時任守河南尹,受命參與法律的制定。這部法律即是公元268年(泰始四年)頒佈的晉律,它上承漢律,下啓唐律,對後世的封建法律有很大的影響。名義上主持修律的官員是賈充,而實際上杜預擔負了最繁重的勞動,全部晉律的註解都是由他完成的。杜預在《律序》中指出:“律以正罪名,令以存事制”(《太平御覽》卷六三八)。這是我國法律史上明確區分律(刑法制度)、令(規章制度)最早的定義,晉律的制定正是依據的這一原則,它使晉律較之漢魏舊律的界限更加分明、體系更加完備。杜預還提出,法律是官吏量刑的標準,不是講道理的書,所以法律應該條目省減、文字簡明通俗,以便使老百姓容易理解,不敢觸犯。晉律以前的漢律,特點是刑罰苛碎、條目繁密,計七百七十餘萬字,二萬六千餘
條,內容重複,不好記憶,爲官吏提供了上下其手,從中舞弊的機會。曹魏政府雖對此作過改革,但變動有限。晉律依據杜預的主張,對漢魏舊律大刀闊斧地進行剪裁,只有二千九百餘條,十二萬六千餘字,所以唐人稱讚它“實曰輕平,稱爲簡易”(《隋書·刑法志》)。
晉武帝司馬炎代魏稱帝后,對其政權支柱世家大族實行放縱的政策。因此社會上異常黑暗腐敗,各級官吏蠅營狗苟,公相塞過,互相包庇。公元268年(泰始四年),杜預針對這種情況,向晉武帝建議實行考課制度,按照官吏的實際情況評定優劣,然後區別對待,或遷或黜。但是杜預的建議沒有爲朝廷接受。
公元270年(泰始六年)年初,杜預因得罪司隸校尉石鑑,被解除守河南尹的職務。六月,晉武帝啓用他出鎮邊關,先爲安西軍司,後任秦州刺史領東羌校尉、輕車將軍。杜預剛剛在秦州就任,他的對頭石鑑也到達了這裡。石鑑以安西將軍的職務都督秦州諸軍事,是杜預的頂頭上司。
當時,杜預所在的隴右地區很不安定,鮮卑人禿髮樹機能起兵造反,勢力很大,晉武帝派去鎮壓的將領,不是戰敗,就是被殺。
石鑑官報私仇,命令只有三百士兵,百匹坐騎的杜預出擊。杜預識破石鑑的陰謀,不肯去送死。他頂撞石鑑說,草盛馬肥的六月根本不適合同鮮卑人作戰,另外政府軍隊的兵源給養問題也必須集中力量預先解決,所以交戰的時間只能定在第二年的春天。杜預把他的意見歸納爲“五不可,四不須”。杜預拒絕出兵,激怒了石鑑。石鑑找個罪名,將杜預逮捕送交給廷尉治罪。多虧杜預與皇室有婚姻關係,在“八議”的赦免範圍,才保住性命,但仍丟掉了爵位。不久,石鑑在一次戰鬥中,被禿髮樹機能打得慘敗,事實證明杜預的意見是正確的。
公元271年(泰始七年)十一月,居住在山西地區的匈奴人在酋帥劉猛的帶領下武裝暴動。由於杜預明於籌略,善於規劃,朝廷重新使用他參謀軍國大謀。很快,他被任命爲度支尚書,掌管政府的經濟財政事宜。此後一直到公元278年(咸寧四年),杜預一共擔任七年的度支尚書。其間,因爲石鑑的報復,他一度被免職,但爲時很短。在任上,杜預共向晉武帝提出過五十多項治國治軍的建議,其中包括常平倉的興建、谷價的調整、鹽運的管理、課調的制定和邊防的建置等等。此外,他還充分施展自己的聰明才智,積極進行科學發明。社預製造成功人排新器,並複製出久已失傳的欹器。爲了解決洛陽的交通問題,他力排衆議,主持修建了富平津大橋。在建橋過程中,從設計到施工杜預都付出了極大的心血。杜預發現當時通行的歷法不合晷度,經過計算,糾正了其中的差舛,修訂出《二元乾度歷》。此歷經過驗證,終於取代時歷,通行於世。
公元278年(咸寧四年)秋,兗豫諸州郡連降暴雨,西晉統治區域內大面積澇災,晉武帝下詔求計。杜預曾前後兩次上書陳述救災計劃。這兩篇收在《晉書·食貨志》中的奏章是後人研究晉代社會經濟狀況的重要文獻材料。由於杜預對當時災情作過調查研究,所以他對災情原因的分析和所提出的救災辦法,比較符合實際情況。他指出,粗放濫墾、火耕水耨和水利設施(陂堨)年久失修是造成災難性後果的根本原因。“陂堨歲決,良田變生蒲葦,人居沮澤之際。水陸失宜,放牧絕種,樹木立枯,皆陂之害也。陂多則土薄水淺,潦不下潤。故每有水雨,輒復橫流,延及陸田。”杜預認爲解決的辦法只能是壞陂宣瀉。“以常理言之,無爲多積無用之水,況於今者水澇甕溢,大爲災害。臣以爲與其失當,寧瀉之不蓄。”那些建造比較合理的“漢氏舊陂舊堨及山谷私家小陂,皆當修繕以積水”。對“魏氏以來所造立及諸因雨決溢蒲葦、馬腸陂之類,皆決瀝之”。“宜大壞兗豫東界諸陂,隨其所歸而宣導之。”至於災民,除靠政府救濟官谷外,還可以讓他們藉助水產作眼下日給。壞陂的計劃如果能實現,“水去之後,填淤之田,畝收數鍾。至春大種五穀,五穀必豐,此又明年益也”。杜預還建議把典牧不供耕駕的種牛租借給災民。在上書中,杜預對西晉政府的辦事效率表示憂慮。他譴責某些部門、個別官吏只從自身利害出發,
彼此紛爭,互相扯皮,使一些地區的救災工作不能繼續下去。
同年十一月,晉武帝改任杜預爲鎮南大將軍。受命之後,杜預南下襄陽(今湖北襄樊市)接替已經去世的原荊州都督羊祜的職務,爲即將開始的滅吳戰爭作戰前準備。
當時,全國尚未統一,西晉王朝只有半壁河山,孫吳政權仍控制着長江中下游以南的地區。不過,孫吳的國力遠比西晉要弱,再加上政局動盪,很難同西晉抗衡。晉武帝登位以後一直想發動滅吳戰爭,可是西晉朝廷內部的意見並不一致。除羊祜、張華等少數大臣支持晉武帝的想法外,大多數人態度曖昧。朝廷中的一些實力派人物,象賈充、荀勖等則持有不同見解,以致錯過了一些滅掉孫吳的極好的戰機。咸寧四年春天,荊州前線的晉軍主帥羊祜突然病重,一直優柔寡斷的晉武帝有些後悔,想讓羊祜帶病出徵,但羊祜很快去世了。臨終前,羊祜向晉武帝舉薦杜預接替自己,認爲他完全可以擔此重任。羊祜舉薦杜預,一方面是因爲在朝廷內部的爭論中,杜預始終站在羊祜一邊,積極支持滅吳戰爭;另一方則是因爲杜預具有卓越的軍事才能。杜預駐守的襄陽是西晉南部邊境荊州的首府。當時,西晉和孫吳各有一個荊州,形成南北對峙的局面。戰爭一開始,杜預的首要任務是奪取孫吳的荊州。
杜預到達荊州後,積極進行軍事部署,同時派兵奇襲西陵。西陵(今湖北宜昌東南)是孫吳的西部邊鎮,戰略位置十分重要。只要晉軍能突破西陵,益州的水師就可以順流而下,馳騁荊州。對於西陵的重要性,孫吳也早有注意。大將陸遜曾指出,西陵是孫吳的西大門,丟掉西陵則整個荊州不保。所以,從陸遜到他的兒子陸抗,從沒有放鬆過對西陵的控制。但杜預發現自陸抗死後,吳主孫皓逐漸削減了這裡的兵力。只是駐守在這裡的總督是孫吳的名將張政;不除張政,西陵很可能成爲未來戰爭中晉軍前進途中的巨大障礙。於是,杜預實施了一條借刀殺人之計。他從軍隊中挑選了一批精壯的將士,突然偷襲張政。張政雖然對杜預的到來有所警惕,但萬萬沒有想到,他一到任就來偷襲,由於沒有準備吃了敗仗。張政害怕孫皓懲罰他,沒有如實報告情況。杜預早了解孫皓生性多疑,對臣下不很信任,故意把在西陵抓到的俘虜送到孫吳的首都建鄴。孫皓果然中計,氣急敗壞地召回張政,任命武昌監劉憲接替他的職務。在大戰之前,敵人將帥移易,軍心動盪,這就爲晉軍的勝利創造了有利的條件。公元279年(咸寧五年)八月,杜預準備就緒後,上書晉武帝請求開戰。
這時,駐守在揚州前線的晉軍主帥王渾上表聲稱孫吳要發傾國之兵攻打晉朝。反對派乘機說三道四,弄得晉武帝對杜預的請戰遲疑不決,最後竟同意將滅吳的計劃推遲到下一年。
杜預得知晉武帝變卦,非常着急。他再一次上書,陳述自己的見解。他說,孫吳的兵力相當緊張,只能集中力量保住夏口以東,連西線也無力增援。杜預婉轉地批評晉武帝聽信謠言,放棄滅吳大計,實際上是縱敵養患,給敵人喘息的機會。他認爲,滅吳戰爭勝券穩操,即使沒有成功,也不會損失什麼。對於杜預的上書,晉武帝仍然遲遲不置可否。杜預又急又氣,第三次上書請求立即開戰。他憤怒地批評反對派既不顧國家利益,又怕別人立功的陰暗心理和可恥行徑。杜預還向晉武帝指出,由於我們要攻打東吳的消息已經泄露,東吳可能要採取對策,那必將給我們滅亡東吳的戰爭帶來許多新的困難。當杜預的這次上書被人送到晉武帝那裡的時候,大臣張華正在陪晉武帝下棋。張華立即推開棋盤,勸晉武帝不要再優柔寡斷了,懇求他採納杜預的建議。這時候,賈充、荀勖等人又出來大唱反調。大臣山濤竟然強詞奪理地說:“外寧必有內憂。留下個東吳,可以避免內亂,說不定是件大好事呢!由於杜預的幾次上書,把攻打孫吳的形勢剖析得一清二楚,晉武帝終於下定決心,立即發兵攻打孫吳。
公元279年(咸寧五年)十一月,晉武帝調集大軍二十多萬,兵分六路,水陸齊進,大舉進攻東吳。杜預在這次戰爭中並沒有擔任主帥,晉武帝只是任命他爲西線指揮,具體任務是取江陵、佔荊州,並且在荊州地區負責調遣益州刺史王濬的水師。
(本章完)