I find Pulliam's notes for the Euler equations to be a pretty good introduction to this topic using the equations of fluid motion. The idea is that you start with a conservation law:
$$ \frac{\partial \vec{Q}}{\partial t} + \frac{\partial \vec{F}\left(\vec{Q}\right)}{\partial x} = 0$$
where $Q$ is your variable vector and $F$ is your flux function. You can introduce a flux jacobian and assume the jacobian is constant to get a quasi-linear equation:
$$ \frac{\partial \vec{Q}}{\partial t} + \frac{\partial \vec{F}}{\partial \vec{Q}}\frac{\partial \vec{Q}}{\partial x} = 0$$
where we can call $\partial \vec{F}/\partial \vec{Q} = A^\prime$. Now, we want to seek a new vector of variables related to the first set, $\vec{W} = (\partial \vec{Q}/\partial \vec{W}) \vec{Q} = J \vec{Q}$. We introduce this to our equation and we get:
$$ J \frac{\partial \vec{W}}{\partial t} + A^\prime J \frac{\partial \vec{W}}{\partial x} = 0 \\ \rightarrow \frac{\partial \vec{W}}{\partial t} + J^{-1} A^\prime J \frac{\partial \vec{W}}{\partial x} = 0 $$
And we choose our new variable set $\vec{W}$ such that $J^{-1} A^\prime J = A$ is "nice". How we choose "nice" is up to you. You do want to make it something that you can diagonalize so you can break it apart into $A = T^{-1} \Lambda T$ where $\Lambda$ is a diagonal matrix with the eigenvalues along the diagonal. If you can do that, you will get:
$$ \frac{\partial \vec{W}}{\partial t} + T^{-1} \Lambda T \frac{\partial \vec{W}}{\partial x}$$
Then multiply through by $T$ and you get a new set of variables $T \vec{W} = \vec{S}$:
$$ \frac{\partial \vec{S}}{\partial t} + \Lambda \frac{\partial \vec{S}}{\partial x} $$
If you recall, $\Lambda$ is diagonal! This means you have now decoupled your equations so they can be solved independently -- a huge improvement in finding the solution! The vector $\vec{S}$ is the characteristic variable vector.
Only one component of the vector may change along each characteristic line, the others are constant along the characteristic line. Each vector in the right eigenvector matrix $T$ gives you the characteristic vector (direction of the characteristic line) and the element in $\Lambda$ gives you the characteristic speed along that vector. The vector in the left eigenvector matrix multiplied by your original variable vector gives you the characteristic variable for that equation.
The last thing to be really careful of is notation. Some people choose $A = T \Lambda T^{-1}$ while others choose $A = T^{-1} \Lambda T$ and if the matrix is symmetric it can be $A = T^T \Lambda T$ or $ A = T \Lambda T^T$