How to make a 3d camera in plain OpenGL

Hello, friends. I am starting with OpenGL programming. I already learned how to draw a cube some time ago and i only need to refresh my knowledge. But i never learned how to set up a 3d camera. Please, teach me how to build a 3d camera in openGL. I know that the primitive types are vectors and matrix4, but i don’t know how to applying transformation to matrixes to change the point of view. I also want more detail about working with vectors and matrixes. I know that already exists game engine but i want to start from scratch, i am practicing programming. Do you know any free book that i can download for free?? Thank you by your help.

Some free online books: