The sdk has everything, and there are two runtimes for Linux. Asp.net core and .net runtime. The desktop runtime is windows only.
If you want to build an app, then install the sdk, if you just want to run a console app, install .net runtime for Linux.
Note: 3.1 is nearing end of life, you should use .net 6