On linux, it would be better to use ca65, which allows to write code in assembler and C, if wanted.
Since you do not know assembler, I would not suggest to jump directly in nes coding since the platform itself as a lot of intricacies that requires a lot of understanding before being able to code. Having to learn both at the same time will be a burden. In that case, it would be better to first learn the assembler, which can done in it raw form with a site like this one:
https://skilldrick.github.io/easy6502/It allows to test directly in the webpage with it simulator so it perfect to learn the language.
While learning, you can start to read on how to use the tools. Once you understand the basics, you can use both knowledge (6502/tools) to start to learn the nes.
If you want to learn both at the same time, be my guess but prepare yourself for a world of hell since you don't have a background in programming and it will be quite intimidating
Good luck!