nohup sert à faire qu'un job continue à tourner même si tu te déconnectes. point. la sortie est redirigée vers un fichier et c'est tout (mais c'est déjà pas mal)
fg et bg, c'est autre chose, ça sert à amener un job à l'arrière plan (bg), ou à le ramener au premier plan (fg). bg est lié à la commande de suspension de job [Ctrl]+[Z].
Genre, tu ouvres ton editeur préféré en mode texte (emacs-nox par exemple), tu édite ton fichier, tu veux le compiler ou autre, mais t'as qu'un terminal, tu suspend emacs [Ctrl]+[Z], tu fais ton truc, et tu veux revenir à emacs ... tu tapes fg. Et hop!
Dans un autre cas, tu as lancé un truc, tu entres des paramètres, et après il mouline et toi tu veux récupérer ton terminal. Tu suspends [Ctrl]+[Z] et tu le mets en arrière plan "bg", est alors affiché le numéro du job (1 pour l premier ...). Ainsi, ton job tourne en arrière plan, comme si tu l'avais appelé avec un '&' !
La commande bg accepte comme option un numéro de job, comme ça si tu as supsendu et mi en bg pluseurs job, tu eux en rappeler un précisément, grâce à ce numéro.
Voilà pour ma prose du matin :-)