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

Screenshot showing the "Abort, Retry, Fail?" prompt on MS-DOS.

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

CP/M 3.0 directory listing on a Commodore 128 home computer.
Directory listing on SCP running on a robotron PC 1715.
Directory listing on CP/J 2.21 running on an Elwro 804 Junior.
Microsoft Windows Command Prompt showing a directory listing.

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

Uses material from the Wikipedia article dir (command), released under the CC BY-SA 4.0 license.