why neutral does not shock. how can a neutral be neutral in ac current?
When I probe my city mains with one probe in the live and one in earth (which should be 0 volt) it shows a voltage of around 250 V.


That's correct - if a little high.


  But when I probe the neutral and the earth it shows no voltage. 


That's good too. That line has been "neutralised" by a connection to earth at your supply transformer and, depending on your local regulations, at the supply entrance to your building.


  I know that current runs in one direction for 50 times in a second. So the neutral should act like live for 50 times in a second of a second[?]. Then neutral should show some voltage with the earth, which it doesn't. 


No, this thinking is not correct.







simulate this circuit &ndash; Schematic created using CircuitLab

Figure 1. Voltage measurements during positive and negative mains peaks.

The mains voltage peaks at \$ \sqrt 2 \$ times the RMS voltage. For your 250 V RMS supply that will be about 350 V peak. If you had a fast-acting DC meter with max / min peak hold function you would be able to take the readings indicated in Figure 1. Neutral stays at 0 V and the live wire polarity alternates.


  If you touch the neutral wire you won't get shocked but if you touch the live the wire you get shocked why and how?


Because the neutral has been neutralised. There is no voltage on it with respect to ground.



A note of caution

Since all wires have resistance there is a low voltage on the mains neutral and this increases with the current. If, for example, the neutral from your socket has a resistance of 0.2 &Omega; back to the fuseboard then a current of 10 A will cause the neutral voltage to rise to \$ V = IR = 10 \times 0.2 = 2 \ \text V \$.







simulate this circuit

Figure 2. The disconnected neutral wire turns live.

Also be aware that if the neutral conductor breaks and anything is plugged in to the circuit then the neutral wire may go live. Never assume that a mains conductor is at 0 V. Isolate properly.