These four expressions are a common source of confusion for German learners. The reason is that “Morgen” can be either a noun or an adverb, and the meaning depends on capitalization. “Der Morgen” (with the capital “M”) means “the morning”, e.g.
It was a nice morning.
The most common expression with “der Morgen”, apart from “guten Morgen” = “good morning”, is “am Morgen”, meaning “in the morning”:
The train will leave in the morning at 9 o’clock.
Where it is understood from the context which morning is meant (it can also refer to every morning or mornings in general). If you want to stress that something happens repeatedly, you can use the adverb “morgens” (note the small “m”) which means “mornings” (as an adverb) in the present tense:
Mornings (regularly in the morning), I go to school.
Of course, you can also say “jeden Morgen” = “every morning”:
I drink coffee every morning.
In combination with the past tense (and, less commonly, also when talking about the future), “morgens” can refer to an isolated action, e.g.
I went for a walk this morning.
I used to go for a walk in the mornings.
(depending on the context)
Finally, there is the word “morgen” (note the small “m”) meaning “tomorrow”:
What are you doing tomorrow?
This word gives us a way to express “tomorrow morning”, namely “morgen früh”:
Do you have time tomorrow morning?
(= Are you free tomorrow morning?)
Perhaps to confuse the matters a little more at the end, it’s worth noting that “Morgen”, as a noun, can also be neuter, i.e. “das Morgen”, which means “tomorrow” in the sense of “future”, for example:
For a better tomorrow.
Notice the neuter ending “-es” at the end of “besser”.