63

'ls' is not recognized as an internal or external command, operable program or batch file. I get this error when I try to glance at the files of my folder.

  • cmd opened regularly(not as an admin).
  • I've recently downloaded anaconda for python.During the installation process, there was a time when I allowed to add a PATH which was not recommended. 'ls' used to work well be

    Here are the paths

    enter image description here

Navneet Krishna
  • 5,009
  • 5
  • 25
  • 44
Kalpit
  • 845
  • 1
  • 7
  • 13
  • 12
    Are you sure you are not supposed to be using 'dir' since it is windows? – Daniel Gale Feb 28 '18 at 15:08
  • You can use it in other terminal programs like GitBash but it is not shipped with windows. – Daniel Gale Feb 28 '18 at 15:16
  • 1
    `dir` on windows is similar to `ls.` Do `dir/?` for various options. You could also install 3rd party tools to allow you to run unix commands on windows. Try [cygwin](https://cygwin.com/install.html) – Gerhard Feb 28 '18 at 15:24
  • `ls` also might work on some ftp servers if they have a linux based back. That ftp being used from cmd – Rishav Feb 28 '18 at 18:28
  • You can install the Microsoft `Windows Subsystem for Linux`. https://learn.microsoft.com/en-us/windows/wsl/install-win10 – lit Feb 28 '18 at 18:32

9 Answers9

120

I'm fairly certain that the ls command is for Linux, not Windows (I'm assuming you're using Windows as you referred to cmd, which is the command line for the Windows OS).

You should use dir instead, which is the Windows equivalent of ls.

Edit (since this post seems to be getting so many views :) ):

You can't use ls on cmd as it's not shipped with Windows, but you can use it on other terminal programs (such as GitBash). Note, ls might work on some FTP servers if the servers are linux based and the FTP is being used from cmd.

dir on Windows is similar to ls. To find out the various options available, just do dir/?.

If you really want to use ls, you could install 3rd party tools to allow you to run unix commands on Windows. Such a program is Microsoft Windows Subsystem for Linux (link to docs).

Adi219
  • 4,712
  • 2
  • 20
  • 43
45

We can use ls and many other Linux commands in Windows cmd. Just follow these steps.

Steps:

1) Install Git in your computer - https://git-scm.com/downloads.

2) After installing Git, go to the folder in which Git is installed. Mostly it will be in C drive and then Program Files Folder.

3) In Program Files folder, you will find the folder named Git, find the bin folder which is inside usr folder in the Git folder.

In my case, the location for bin folder was - C:\Program Files\Git\usr\bin

4) Add this location (C:\Program Files\Git\usr\bin) in path variable, in system environment variables.

5) You are done. Restart cmd and try to run ls and other Linux commands.

3

you can use dir instead of ls in cmd enter image description here

maneesh
  • 919
  • 8
  • 6
1

If you want to use Unix shell commands on Windows, you can use Windows Powershell, which includes both Windows and Unix commands as aliases. You can find more info on it in the documentation.

PowerShell supports aliases to refer to commands by alternate names. Aliasing allows users with experience in other shells to use common command names that they already know for similar operations in PowerShell.

The PowerShell equivalents may not produce identical results. However, the results are close enough that users can do work without knowing the PowerShell command name.

Ayşe Nur
  • 493
  • 7
  • 11
  • This is right. I tried Powershell and `ls` command works in it. But it is not recognized in command prompt. – Enis Arik Dec 24 '20 at 15:25
1

when you use windows as operating system you should write dir and you will find all folders including empty folders and their data bytes storage

and you can use git ls-files to show all folders but not including hidden folders

0

The reason you cannot run the ls command is because it does not exist on windows. The windows equivalent is the dir command, however it does not work the same way. The solution, Winls. It is

The ls command, written for windows.

According the the Winls github.

greatusername
  • 129
  • 1
  • 10
0

Had this error because i was using command prompt to access my files.

how did i solve it...

i opened my folder with vscode, and used bash from the terminal...the "ls" command worked as it should from bash.

0

The ls command is a Unix/Linux command that is not recognized by Windows Command Prompt. Instead, you can use the dir command in Command Prompt to list the files and directories in the current directory.

CreepyRaccoon
  • 826
  • 1
  • 9
  • 19
0

you can use dir instead of ls to see all the files and folders present and use dir /a instead of ls -a to see all the hidden folders.