If you haven’t tried linen canvas because of the cost, Utrecht sells raw linen by the yard, which really makes it affordable. There are some manufacturers who sell stretched linen at a good price, but the quality is pretty poor, a good cotton canvas would be better. A good quality linen is always expensive, (I know cost is relative but this stuff is high) mainly because it comes in 3, 6 or 10 yard rolls and is already primed with an oil or gesso primer. Utrecht sells raw linen by the yard so its a good way to try it without a huge investment. You do have to stretch it and prime it but with a little work it’s well worth it.
I buy type 135 from Utrecht which is $29.69 a yard. It’s 54″ wide and a medium smooth texture. For large canvases I use type 79D, a rough texture at $$49.49 a yard and it’s 76″ wide. I do use cotton at times too, the heavier the better because it’s very cost effective but there is a big difference between cotton and linen in quality.
I do recommend cotton for practice and experimenting but at some point it does help to step up to a better quality.