Introduction to Proofs:
Just pick one of these that speaks to you the most. All three are good.
Discrete Mathematics with Applications - Epp
Discrete Mathematics and Its Applications - Rosen
Mathematical Proofs: A Transition to Advanced Mathematics - Chartrand, et al.
Abstract Algebra:
How to Think about Abstract Algebra - Alcock
Abstract Algebra - Pinter
Abstract Algebra: A First Course - Saracino
Algebra - Artin
Abstract Algebra - Herstein
Abstract Algebra - Dummit & Foote
Linear Algebra:
Maybe an engineering based book first if you haven't seen linear algebra in a while (e.g. Strang or Linear Algebra: Step by Step by Singh).
Then:
Linear Algebra - Friedberg, et al
Linear Algebra Done Right - Axler
Linear Algebra - Hoffman & Kunze
Real Analysis:
How to Think About Analysis - Alcock
Understanding Analysis - Abbott
Tao's Analysis text
Principles of Mathematical Analysis - Rudin
Topology:
Topology - Munkres
Topology A Categorical Approach - Tai-Danae Bradley, Tyler Bryson, and John Terilla
Check out this list:
http://pi.math.cornell.edu/~hatcher/Other/topologybooks.pdf for others.
Category theory:
Categories and Toposes: Visualized and Explained - Southwell
Conceptual Mathematics: A First Introduction to Categories - Lawvere
Category Theory for Programmers - Milewski (if you like functional programming)
Programming with Categories - Fong, Milewski, Spivak (if you like functional programming)
Category Theory in Context - Riehl
There are a few others by Spivak which you may like.
If you don't know category theory whatsoever then I like Southwell the best (pair them up with his youtube videos). Eugenia Cheng also has a nice set of lecture videos.
If you already know math pretty well, then Riehl is a favorite.
Hope that helps!