Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Since I am not an American, the following command outputs for example `55000' which means 55°C.

cat /sys/class/thermal/thermal_zone1/temp

Does this command output the temperature in Fahrenheit for computers which are configured US.EN?

share|improve this question
up vote 17 down vote accepted

According to the kernel documentation, lines 221ff, the unit is "millidegree Celsius". Since this is hard wired into the kernel, I don't think that you can change the unit to fahrenheit by changing the system locale.

share|improve this answer

Dassman's answer is correct.
The cat command simply prints the contents of a file, which in this case is located on the /sys filesystem.

The /sys is actually provided by the kernel
all files in /sys are actually parts of the kernel, echoing certain commands into specific modules allows you to control functions of the kernel (e.g. scanning for new SCSI/SATA devices, or even disabling CPU cores from being used by the kernel) .

It is not the kernels job to provide any form of localisation, that is done in usermode applications. so, the /sys FS would provide the "raw" value of 55000, it would be the job of an application running to read the value and do the relevant conversion.

share|improve this answer

No. This information comes from the hardware and isn't affected by your locale settings. The unit for temperature is C (or K, but those are the same degrees, just a different scale) in all scientific and technical uses, even in the US.

So no, you wouldn't see those temperatures in Fahrenheit even if your OS used a US locale.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.