dir (command)
dir
, short for directory, is a shell command for listing file system contents; files and directories. Arguably, the command provides the same essential functionality as the ls
command, but typically the two commands are described as notably separate concepts, possibly since ls
is implemented from a codebase that shares more history than many dir
implementations.
The command is often implemented as internal in the operating system shell instead of as a separate application as many other commands are.
Implementations
Although syntax, semantics and implementations vary, a dir
command is available in the command-line interface (CLI) of the operating systems Digital Research CP/M, MP/M, Intel ISIS-II, iRMX 86, Cromemco CDOS, MetaComCo TRIPOS, DOS, IBM/Toshiba 4690 OS, IBM OS/2, Microsoft Windows, Singularity, Datalight ROM-DOS, ReactOS, GNU, AROS and in the DCL command-line interface used on DEC VMS, RT-11 and RSX-11. It is also supplied with OS/8 as a CUSP (Commonly-Used System Program).
The dir
command is supported by Tim Paterson's SCP 86-DOS. On MS-DOS, the command is available in versions 1 and later. It is also available in the open source MS-DOS emulator DOSBox. MS-DOS prompts "Abort, Retry, Fail?" after being commanded to list a directory with no diskette in the drive.
The numerical computing environments MATLAB and GNU Octave include a dir
function with similar functionality.
Examples



DOS, Windows, ReactOS
List all files and directories in the current working directory.
C:\Users>dir
List any text files and batch files (filename extension ".txt" or ".bat").
C:\Users>dir *.txt *.bat
Recursively list all files and directories in the specified directory and any subdirectories, in wide format, pausing after each screen of output. The directory name is enclosed in double-quotes, to prevent it from being interpreted is as two separate command-line options because it contains a whitespace character.
C:\Users>dir /s /w /p "C:\Users\johndoe\My Documents"
List any NTFS junction points:
C:\Users>dir /ash
Volume in drive C is OS.
Volume Serial Number is xxxx-xxxx
Directory of C:\Users
12/07/2019 02:30 AM <SYMLINKD> All Users [C:\ProgramData]
12/07/2019 02:30 AM <JUNCTION> Default User [C:\Users\Default]
12/07/2019 02:12 AM 174 desktop.ini
1 File(s) 174 bytes
2 Dir(s) 332,659,789,824 bytes free
Unix
Traditionally, Unix and Unix-like systems use the ls
command for the needs that dir
satisfies. But, the GNU operating system, has a dir
command that "is equivalent to ls -C -b
; that is, by default files are listed in columns, sorted vertically, and special characters are represented by backslash escape sequences". Actually, for compatibility reasons, ls
produces device-dependent output. The dir
command, on the other hand, produces device-independent output.
See also
References
Further reading
- Wolverton, Van (1990). MS-DOS Commands: Microsoft Quick Reference, 4th Revised edition. Microsoft Press. ISBN 978-1556152894.
- Kathy Ivens; Brian Proffit (1993). OS/2 Inside & Out. Osborne McGraw-Hill. ISBN 978-0078818714.
- Frisch, Æleen (2001). Windows 2000 Commands Pocket Reference. O'Reilly. ISBN 978-0-596-00148-3.