how to read time zone information
Well, it depends what you want to read it for?
Almost all programs just rely on $TZ
being set in the environment or /etc/localtime
being a link to a timezone file. The C library will then automatically arrange for eg localtime()
to return the correct time.
1) How can I basically read above type of files
zdump -v /etc/localtime
will show you what's inside the files.
These are compiled files not meant for humans to read. apt-get source tzdata
will give you the source they come from.
2) Where is TZ environment variable defined in Ubuntu 10.04
It is not set by default. Instead, /etc/localtime
is a copy of the relevant zoneinfo file, and /etc/timezone
is the name of that zone.
You can change them with sudo tzconfig
or through the GUI.
You could set it in for instance ~/.env
if you want a different personal default for yourself.