chef-client --local-mode recipe.rb
chef-client --local-mode --runlist 'recipe[learn_chef_apache2]'
You also saw the run-list. The run-list lets you specify which recipes to run, and the order in which to run them. This is handy once you have lots of cookbooks, and the order in which they run is important.
#Cookbook A cookbook includes recipes and external information and makes them easier to manage