The calculated distance (air line) between Fairview Park and Shek O is approximately 21 miles respectively 33 kilometers.
By car or train, the actual journey to Shek O is certainly longer, as only the direct route (as the crow flies) between Fairview Park and Shek O has been calculated here.
Air line (approximately)
33 kilometers
18 nautical miles