Spero di poter rispondere in un modo che abbia senso per te. Un file system in Linux, è generalmente costituito da una partizione che è formattata in uno dei vari modi (devi scegliere amore!) In cui archiviare i file. Sia che i tuoi file di sistema, o i tuoi file personali ... siano tutti memorizzati su un file system. Questa parte ti sembra di capire.
Ma cosa succede se partizionate il vostro disco rigido per avere più di una partizione (pensate che Apple Pie sia a pezzi), o aggiungiate un disco rigido aggiuntivo (forse una chiavetta USB?). Per ragioni di argomento, hanno anche tutti i file system.
Quando guardi i file sul tuo computer, vedi una rappresentazione visiva dei dati sul file system della tua partizione. Ogni nome di file corrisponde a quello che viene chiamato un inode, che è dove vivono i tuoi dati, dietro le quinte. Un hard link consente di avere più "nomi file" (per mancanza di una descrizione migliore) che puntano allo stesso inode. Funziona solo se quei collegamenti fisici si trovano sullo stesso file system. Un collegamento simbolico punta invece al "nome file", che viene quindi collegato all'inode che contiene i tuoi dati. Perdona la mia rozza opera d'arte ma spero che questo spieghi meglio.
image.jpg image2.jpg
\ /
[your data]
qui, image.jpg e image2.jpg puntano entrambi direttamente ai tuoi dati. Sono entrambi hardlink. Tuttavia...
image.jpg <----------- image2.jpg
\
[your data]
In questo esempio (approssimativo), image2.jpg non punta ai tuoi dati, punta a image.jpg ... che è un link ai tuoi dati.
I collegamenti simbolici possono funzionare oltre i confini del file system (supponendo che il file system sia collegato e montato, come la chiavetta USB). Tuttavia, un collegamento reale non può. Non sa nulla di ciò che è nell'altro file system o di dove sono archiviati i dati.
Speriamo che questo abbia più senso.