To expand on dAVID_'s answer, the software library is called Synaptic Package Manager. It provides a GUI for looking up all the software available via the official repo (distributions have their own maintained repos of software that is
supposed to be the closest compatible versions for your OS). For command-line installation, there is the Advanced Package Tool, used like "apt-get install <program name>" or "apt-cache search <program name>", but I recommend the nice debian/ubuntu wrapper for it used like "apt install <program name>" or "apt search <program name>" as it has nicer commands and interface (in my opinion).
For command-line, first update your OS's knowledge of what software and what updates are available: "apt-get update" or "apt update"
Then, if you know the exact name, install it "apt-get install <program name>" or "apt install <program name>", such as "apt install ncurses". You will probably not be root user, so you will need "sudo" in front like "sudo apt install ncurses"
If you don't know the exact name and want to search for it, use "apt-cache search <program name>" or "apt search <program name>". This takes in regex input too, if you are familiar with it.
Btw, if you are in commandline and ever want more info on a program, type in "man <program name>" like "man apt" or "man apt-get", it'll give you the official manual for it
Oh and yes, as Kwyjor mentioned you will want to use Google. A lot. Linux isn't a single, mass company product like Microsoft's OS so there's going to be a looot of clunky things that'll overwhelm people new to it. Google a lot. Google everything. Linux is always painful at first, but it gets easier overtime and eventually if you stick to it it'll become second nature and you'll have much more control over your computer than Microsoft would ever let you have.