Your zsh command path / PATH is incorrect, as previous replies have correctly stated.
To get ls to work, you will need to specify the full path (until you get path / PATH fixed):
$ whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1
$ whereis whereis
whereis: /usr/bin/whereis /usr/share/man/man1/whereis.1
$ /bin/ls xyzzy
ls: xyzzy: No such file or directory
$
In the above, I have a valid path / PATH in my session, meaning that I can get at ls and whereis without specifying the full path. But the last command of that sequence is is invoked with the full path. Which will work, even with a corrupted path / PATH setting. Since I have no xyzzy file in the local directory, the ls command shows an ls error, as expected here. whereis (located in /usr/bin/whereis, as shown in the output above) can be invoked the same way, and can help you find other paths to other commands. This full path specification of the shell commands will allow you to get back to a working path / PATH declaration, too.
What’s this path / PATH I’m referencing? A quick intro to the zsh path array and to PATH:
… https://superuser.com/a/598924
There are various introductions to the command line:
… https://academind.com/tutorials/terminal-zsh-basics
The manual (dense, entirely correct, but not a great intro) is posted in various places:
… https://zsh.sourceforge.io/Doc/
I’ve found the following zsh reference card very handy:
… https://www.bash2zsh.com/zsh_refcard/refcard.pdf