除了頂頭上司李敢外,在司馬遷當郎中的那段日子,他甚至與李敢的侄子李陵也算做過幾年同事。當時李陵是在另外一名“九卿”,即衛尉的部下做“建章監侍中”。司馬遷所擔任的郎官,也是屬於侍中性質的一種職務。因而他自己說,他與李陵曾“同居門下”,即同在宮廷裏做侍中。我們一向就知道,司馬遷後來站出來為戰敗降敵的李陵說話,是出於他的一副俠義心腸,因為他看不得人間竟有這麼不平的事。這當然是不錯的。我還想補充的是,他替李陵說話,其實還不止是為一個素不相識的陌路人仗義執言。他對這一家雖不熟識,卻又是熟知的。這是一種很重要的推動力,促使他在眼看著繼李廣、李敢之後,他們的族人李陵又遭遇不公平的待遇時,忍不住要挺身而出。沒有想到的是,他卻為此惹出殺身大禍。
在他任郎中前後,漢武帝開始大規模祭祀神靈和巡行郡國的活動。司馬遷作為隨行侍從,於是有了不少機會訪問名山大川、邊障雄關。從前尚未到過的地方,現在有了絕好的機會去一開眼界。這中間,有兩次行程特別值得一提。
一次是他三十四歲時,跟隨武帝到長安西麵的雍縣(今鳳翔)祭拜青、黃、赤、黑、白五帝,結束後又繼續向北翻越隴山(在今六盤山脈中),到達隴西的崆峒山,相傳此地為黃帝巡遊所至之處。再向西他們又一直走到祖厲河(在今甘肅東部),才返回。司馬遷於是親身體察了“塞外”的地理形勢和蒼涼風光。
到第二年,也就是三十五歲那年,他又奉武帝之命,出使巴蜀以南,那也是從前他的足跡未曾到達過的地方。司馬遷奉命出使的這一年,西漢在巴蜀周邊的外緣地帶,設置了好幾個新郡,包括越巂、牂牁等郡。他出使之後兩年,西漢又發巴蜀之兵,攻滇國,迫降之。西漢遂擁有今滇黔全境。司馬遷此行,似乎是為了兩年後的攻滇行動考察形勢。這一次他可能是從長安西行,由關中西邊的大散關南下,沿嘉陵江上源南行,然後擇取後來所謂“劍門蜀道”到達成都。從那裏繼續西南行,可以向南渡過大渡河,到今天西昌、鹽源一帶,再渡金沙江,進入今雲南西部,就是當日的“昆明”。司馬遷後來寫《史記·西南夷列傳》時的許多信息,當來自他這一趟長途跋涉的考察。
他從西南返回關中時,應當已是次年歲首。此時,漢武帝已經從長安出遊,赴泰山舉行“封禪”大典去了。司馬遷奉令立即出發,去追趕武帝一行。但剛離開長安不久,他就在路上遇到了因重病無法繼續侍從武帝東遊,而不得不留在周南(即洛陽及其鄰近地區)的父親司馬談。
元封元年(前110)正月,司馬遷從西南奉使趕回長安時,漢武帝已經出發東行,正在去泰山“封禪”的路上。所謂封禪,是指由皇帝祭拜天地的最隆重的典禮。司馬遷之父司馬談身為太史令,本來是應該跟隨武帝一起去泰山的,但是走出關中不久他就生了重病。武帝由此東行,首先去中嶽嵩山,舉行禮祭。司馬談大約還是勉強隨行的。據說武帝在嵩山上拜祭時,群臣在山下好像聽見三聲高呼萬歲的聲音。但司馬談的病這時越來越沉重,無法再一路跟著往東走,所以隻好回到“周南”,也就是洛陽。正在洛陽奄奄一息之際,他遇到了從長安匆匆趕去追隨漢武帝的司馬遷。
司馬遷在為《史記》寫的“自序”裏,詳細記錄了司馬談在“河、洛之間”對他說的那番語重心長的遺囑。司馬談說:
餘先,周室之太史也,自上世嚐顯功名於虞、夏,典天官事,後世中衰,絕於予乎?汝複為太史,則續吾祖矣。今天子接千歲之統,封泰山,而餘不得從行,是命也夫,命也夫!餘死,汝必為太史。為太史,無忘吾所欲論著矣。且夫孝始於事親,中於事君,終於立身,揚名於後世,以顯父母,此孝之大者。夫天下稱頌周公,言其能歌文、武之德,宣周、邵之風,達太王、王季之思慮,爰及公劉,以尊後稷也。幽厲之後,王道缺,禮樂衰,孔子修舊起廢,論《詩》、《書》,作《春秋》,則學者至今則之。自獲麟以來,四百有餘歲,而諸侯相兼,史記放絕。今漢興,海內一統,明主賢君忠臣死義之士,餘為太史而弗論載,廢天下之史文,餘甚懼焉,汝其念哉!