Linux command vs bash command, is my understanding correct?

this question may be a bit terminological.

As a new Linux learner, I find many tutorials mention Linux/bash commands. To my understanding, commands are just various programs and bash is a shell like zsh, fish etc. on Linux. Shell will interpret user input and call corresponding program.

So Linux commands are sth. like cd, mkdir, while bash commands are somewhat specific to the shell syntax. For example, if someone would like, he/she could build a shell requiring run cd instead of cd just doing the same thing.

Is my understanding precise?

PS: I think I can understand the concept of terminal/shell/command line, which have stated in many other questions, and I believe this question is different from those.