sorry for this noob question.
1. When running bitcoind on Linux. what is the difference between just "bitcoind" and "bitcoind -daemon"
AFAIK, there is no difference.
2. I try just "bitcoind" and it seems it load forever and I dunno whether it runs or not. so I press Ctrl + C to stop it.
does it stay in the background?
That is actually normal, to not see any output when running bitcoind. In fact, there should be absolutely no output from the bitcoind whatsoever, and if there is, something wrong happened. Just leave it running and open another terminal and use bitcoin-cli to send commands to the bitcoind. If it is still starting, you will get an error about it still starting up or verifying blocks. It is ready when you are actually getting the right output for your commands.