The pragmatic answer
I understand why you ask your question this way but Linux is not Windows, so there is really no straight answer. Actually we are talking about GNU/linux + all the free software ecosystem, so what you have to learn depends very much of what you want to do.
If you are more into system programming, you will look at the linux kernel and need to work on your C skills.
If your want to code utilities, scripting languages (especially ruby and python) will be your tools of choice, and you'll have to choose a GUI framework on top of that (GTK, QT and wxWidget show the way).
If it's more about web and network programming : python, ruby, php or java can do it.
The good news
In the Linux env, you have the choice because of lot of people use a lot of different tools. It can seems messy, and often is, but it works not so bad.
So stop thinking about what you must learn and focus on 2 questions :
- do I want to join a project ? Then the techno will be choosen by the project you join. So choose a project using a tech YOU WANT to learn.
- do I want to start my own project ? Then the techno will be choosen by the existing tool you will rely on. Most of the time, you will have the choice, so enjoy your new freedom and learn the tech YOU WANT.
Free, as in freedom mate, means you can choose.