cd command is not working

So every time I try to navigate to a directory it gives me this message but when I navigated to my desktops directory it did just that


It looks like @steeldriver is correct, your example has something invisible before cd. A space would be harmless, lets consider your options if it is just a space.

In your terminal, do you see what I see?

$ type cd
cd is a shell builtin

I'm not sure if "shell builtin" refers to functionality from /bin/sh or a shell like /bin/bash or /bin/dash. My first guess what that this comes from the shell, rather than sh. Make sure your environment has a $SHELL specified.

$ echo $SHELL
/bin/bash

If you fiddled around in your session, either interactively with commands like "export ..." or by running scripts or via editing .bashrc, you could cause the trouble you see. Check your SHELL variable.

Probably, you see some legal $SHELL. Make sure the output mentions a file that currently exists.

$ ls -la /bin/bash
-rwxr-xr-x 1 root root 1099016 May 16 06:35 /bin/bash

Maybe you see dash or something.

Can you get a new terminal to see if the same thing happens? Each terminal will launch its own shell, problem may appear differently, or not at all. If problem is same, then it means problem is either in your configuration or in the shell files themselves.

Supposing you do have the bash package installed, or any other shell, actually, launch a new shell in that terminal (-l means login shell):

$ bash -l

Is problem same after that?

If that is a fail, I'd use the command line to install/re-install the shell programs. I've got both bash and dash:

$ dpkg -l | grep bash
ii  bash                      
4.4-2ubuntu1.1              amd64        GNU Bourne Again SHell

$ dpkg -l | grep dash   
ii  dash                                                            
0.5.8-2.3ubuntu1            amd64        POSIX-compliant shell

In your situation, I'd try a reinstall

$ apt-get install --reinstall bash

or such. There's a chance that if you damaged a shell file, this will fix it when you log out and log in.

Why reinstall dash? In Ubuntu, even though I make BASH my shell, it looks like /sbin/sh is provided by dash:

$ dpkg -S /bin/sh
diversion by dash from: /bin/sh
diversion by dash to: /bin/sh.distrib
dash: /bin/sh

One final thought. If somebody tries to hack your system and take control of it, one of the things they might do is try to replace your shell. That might explain the trouble you see, although I admit it seems dramatic to bring that up.