中国传统的政权观历来有仁政与暴政之分,其分水岭是对待民众的态度,是施惠于民还是肆虐百姓。通常论三国君主,总认为曹操所代表的是暴政,刘备所代表的是仁政,实际上曹操既有暴虐的一面,也有仁厚的一面,不完全是代表暴政。所谓暴政,主要反映在军阀混战时期滥杀无辜方面,而他在平定北方之时的有些政令措施,则很有一些仁政的色彩。
曹操滥杀无辜,突出反映为屠杀徐州百姓和官渡之战时坑杀降卒。
屠杀徐州百姓,起因是曹嵩的被害。建安元年(196年)董卓之乱时,曹嵩去官返乡,至徐州琅王牙郡(今山东诸城一带)避难。曹嵩是朝廷大官,徐州牧陶谦特派部将张门岂去护卫。当时曹嵩随带有百余辆车子的财物,张门岂见财起心,杀嵩劫财。这件事责任不在陶谦,但曹操为此结怨陶谦,于建安三年(198年)冬引兵大举进攻徐州,为父报仇,先后攻拔十余城,至彭城(今徐州)与陶谦展开决战,陶谦被打败,曹操“屠彭城”坑杀男女数万口,“泗水为之不流”。随后又继续进攻,所过之处皆斩杀一空,乃至“鸡犬亦尽,墟邑无复行人。”对于这个数据,有网友说是四十万,当然,这是夸张的说法,但是史学家笔中的数万口,应该是保守的,这个数字估计接近十万左右。
官渡之战时坑杀降卒,发生在建安五年(200年)袁绍兵败之后。这次战事所坑杀的降卒前后有七万多。曹操自己给汉献帝的奏章里也承认:“凡斩首七万余级。”当时曹军约有二、三万,袁绍军队有十余万,袁军绝大部分被坑杀。曹操在偷袭袁绍粮车时,就曾将一千多降卒一律割下鼻子,向袁军示威。如此残忍地大规模坑杀降卒,在历史上是少见的。其原因不象屠徐州那样为报私仇,很可能一是怕降卒造反,二是当时粮食奇缺,袁绍运来的粮草已被曹操统统烧掉。除了屠徐州、坑降卒外,建安十二年(207年)远征乌丸三郡时,也发生过“屠柳城”(今辽宁凌源县)的事。
曹操的上述残暴行为,都是史书确凿所载。这是千百年来曹操落下骂名的重要原因。它一方面反映了战争的残酷性,另一方面也反映出曹操的残忍。《三国志·魏书·曹仁传》还载,建安十一年(206年),袁绍外甥高斡在壶关反叛,曹仁随曹操围攻壶关,曹操下令说:“城拔,皆坑之。”这是曹操为人残忍的又一个例子。动不动屠城、坑杀,实际上不可能收到应有效果。当时壶关就连月不下,后来曹仁说:围城应给对方开条生路,现在公开告示城破必死,必然死守,这不是好办法。曹操有所悟,听取曹仁之言,结果城中士兵就投降。