Fill A Large Pot With Lightly Salted Water And Bring To A Rolling Boil Over High Heat. Once The Water Is Boiling, Stir In The Linguine, And Return To A Boil. Cook The Pasta Uncovered, Stirring Occasionally, Until The Pasta Has Cooked Through, But Is Still Firm To The Bite, 8 To 10 Minutes. Drain Well In A Colander Set In The Sink. Heat The Olive Oil In A Large Skillet Over Medium Heat, And Cook And Stir The Garlic, Shallots, And Red Pepper Flakes Until The Garlic Is Fragrant But Not Browned, About 3 Minutes. Stir In The Walnuts, And Cook Until The Nuts Give Off A Toasted Smell, About 2 Minutes; Stir In Ham Slices, And Cook The Mixture Until The Ham Is Hot And Beginning To Brown, About 5 More Minutes. Lightly Toss The Pasta With The Ham Mixture In The Skillet, And Sprinkle With Parmesan Cheese And Parsley.