The problem of Attitude Recovery of rigid and flexible spacecraft/satellite is investigated using the feedback linearization control approach. The attitude and flexible dynamics equations for a class of spacecraft/satellite are presented. Since the flexible spacecraft is under-actuated, the input-output linearization technique was specifically used to break up the system into two distinct parts, namely (1) an external linearizable system for which a linear controller can be easily implemented and (2) an internal nonlinear unobservable system for which the associated zero dynamics is shown to be asymptotically stable for a representative case. The overall closed-loop stability of the flexible satellite is analyzed rigorously and shown to be asymptotically stable using Lyapunov's method. In order to design and analyze attitude control system for satellites, it is important to be able to simulate the dynamics of the spacecraft. Hardware-in-the-loop simulations of a spacecraft, such as air-bearing spacecraft simulators, are not only expensive to build, but they cannot provide the full experience of micro-gravity. An alternative is to have a high fidelity software simulator. Consequently, the resulting nonlinear and coupled equations of the satellite are implemented into a high-fidelity, user-friendly simulation environment, named the Flexible Spacecraft Simulator (FS2). The development and utilization of the FS2 for our research will also be presented.