Linux is really only just the kernel. GNU is all the userland stuff like bash, ls, gcc and so on.
bash
ls
gcc
But messing around with the kernel can be fun and challenging.