Vim may have a number of Ex commands that sound more or less the same as commands available in your shell but that doesn't necessarily make them "internal alternatives" or whatever you are after. They might work differently, they take different arguments or no arguments at all, they are not executed in your shell so they don't have access to shell-specific constructs like $_, etc.
If we take :cd <dest> and its shell counterpart :!cd <dest> as an example…
- the former changes Vim's working directory while the latter doesn't,
- the former changes the working directory for further
:! commands but the latter doesn't,
- etc.
Another example would be :sort vs :!sort. At a glance, they seem functionally equivalent (they sort lines), but the way they work and the options they provide are actually very different.
:grep, too, is different from :!grep, :ls is different from :!ls, etc.
Note also that there is no piping in Vim's command-line, which limits considerably how Ex commands compare to shell commands. Thinking about shortening :!ls | grep foo | sort -r to :ls | grep foo | sort r? Well, think again.
In other words, that "linux commands native to vim" concept makes no sense.
:cdfor example will not change the working directory of the underlying terminal session. It will simply change the working directory of the current Vim session. – 3N4N Dec 05 '22 at 08:00