Why can't I copy a drive in full to another drive?
and I get "disk out of space" on a Terminal where I copy the files with cp -r.

I suggest using the ditto command.  You can use ditto to copy directory to directory. It includes all nested directory. No idea how links would work. 

Would the source disk be timemachine disk?  It uses hardlinks which result in a copy of the data being made for each hardlink. 

Same would go for another disk with lots of links. fyi: The Unix link command is ln.