Depends on the type of game, really. Sometimes you have the right to fiddle around with the controls to get used to them, sometimes the game will write you some text to teach you things and sometimes you have to read a couple of insanely long controls-explaining text before even being able to move.
Personally, I give freedom to the player when I know the player won't be bothered. Short example, walking. At the beginning of the game, I don't feel any need to pop up a dialogue box that says "Press the Arrow Keys to move ! Press Shift to run !", the only thing we get is the main character saying "I'd definitely eat some cake at YAHOO =D Hotel ! It's straight to the south !" (Yes, it's called YAHOO =D Hotel) and I let the player walk around until they arrive at said Hotel. I also don't interrupt the game like "Press Enter to talk to people ! Talking to people is cool !", I still trust the player on that matter (Plus, you can't really advance the game until you've learned some of the world's context by talking to particular NPCs in the Hotel).
However, when it's the player's first fight, the system might be difficult to understand for newcomers (especially the TP part). That's when I decide to insert a tutorial, but I try to insert it in a way that it doesn't break game immersion. My game being humorous, I decide to let the first enemy say everything about the battle system, but in a comedic way : "Hah ! I can easily crush a newbie like you ! You don't even know anything about the battle system ! Of course, if you knew everything, you would easily destroy me ! That's why I won't tell you that the orange bar is your HP and I will also hide the fact that when it reaches 0, you pass out !" And the enemy goes on to basically explain the battle system in the same way. Then, immediately, the player can test the battle system since, you know, the battle has started and it should end.
That's just one of many examples of how I've used comedic effects to give some mechanics to the player without breaking game immersion. Overall, my game doesn't have that many mechanics, so I don't have to introduce them often, and when I do, it's only when it's needed.