[step:Identify invertible matrices with ordered bases of $\mathbb{F}_q^n$]
Let $V:=\mathbb{F}_q^n$, viewed as an $n$-dimensional vector space over $\mathbb{F}_q$, and let $M_n(\mathbb{F}_q)$ denote the set of all $n \times n$ matrices with entries in $\mathbb{F}_q$. For each matrix $A \in M_n(\mathbb{F}_q)$ and each $j \in \{1,\dots,n\}$, let $c_j(A) \in V$ denote the $j$th column of $A$. Define the column map
\begin{align*}
\Gamma: M_n(\mathbb{F}_q) \to V^n, \qquad A \mapsto (c_1(A),\dots,c_n(A)).
\end{align*}
This map is bijective, since an $n \times n$ matrix is uniquely determined by its ordered list of columns.
We claim that $A \in GL_n(\mathbb{F}_q)$ if and only if $(c_1(A),\dots,c_n(A))$ is an ordered basis of $V$. Let
\begin{align*}
L_A: V \to V, \qquad x \mapsto Ax
\end{align*}
be the [linear map](/page/Linear%20Map) represented by $A$ in the standard basis $(e_1,\dots,e_n)$ of $V$. For every $j \in \{1,\dots,n\}$, we have $L_A(e_j)=c_j(A)$. If $A$ is invertible, then $L_A$ is a vector space isomorphism, so it sends the basis $(e_1,\dots,e_n)$ to the basis $(c_1(A),\dots,c_n(A))$. Conversely, if $(c_1(A),\dots,c_n(A))$ is a basis of $V$, then $L_A$ sends a basis to a basis, hence is an isomorphism, so $A$ is invertible. Therefore $|GL_n(\mathbb{F}_q)|$ equals the number of ordered bases of $V$.
[/step]