How to Use ‘dir’ Command with Different Options and Arguments in Linux


This article shows some examples of using the dir command to list the contents of a directory. The dir command is not a commonly used command in Linux, but it works less like the ls command which most Linux users prefer to use.

[ You might also like: Linux mkdir Command Examples ]

We’ll be discussing the dir command where we shall look at how to use different options and arguments.

The general syntax of the dir command is as follows.

# dir [OPTION] [FILE]
dir Command Syntax
dir Command Syntax

dir Command Usage with Examples

The most common usage of the dir command is to display the contents of a directory in ascending order alphabetically.

If you run the dir command without any options or location of the directory it will display all files and directories in your current working directory.

# dir
List Files and Directories in Linux
List Files and Directories in Linux

Listing Files and Directories in a Particular Path

If you want to list all the files and directories of a particular path, then append the path of your directory as shown. Here, we will list files and directories under the /etc directory.

# dir /etc
List Files and Directories of Particular Directory
List Files and Directories of a Particular Directory

To list one file per line use -1 option as follows.

# dir -1 /etc
Listing Files Per Line in Directory
Listing Files Per Line in the Directory

Listing Hidden Files and Directories

To list all files in a directory including . (hidden) files, use the -a option. You can include the -l option to format output as a list (detailed information).

# dir -a
# dir -al
List Hidden Files
List Hidden Files
Long List Hidden Files
Long List Hidden Files

Listing Directory Entries

When you need to list only directory entries instead of directory content, you can use the -d option. In the output below, the option -d lists entries for the /etc directory.

When you use -dl, it shows a long listing of the directory including the owner, group owner, and permissions.

# dir -d /etc
# dir -dl /etc
Long List /etc Directory
Long List /etc Directory

Listing Index Number of Files

In case you want to view the index number of each file, use the option -i. From the output below, you can see that the first column shows numbers. These numbers are called inodes which are sometimes referred to as index nodes or index numbers.

An inode in Linux systems is a data storage on a filesystem that stores information about a file except for the filename and its actual data.

# dir -il
List Index Number of Files
List Index Number of Files

Listing Files According to Sizes

You can view files sizes using the -s option. If you need to sort the files according to size, then use the -S option.

In this case, you need to also use the -h option to view the file sizes in a human-readable format.

# dir -shl
List Files with Sizes
List Files with Sizes

In the output above, the first column shows the size of files in Kilobytes. The output below shows a sorted list of files according to their sizes by using the -S option.

# dir -ashlS /home/kone
Sort Files with Sizes
Sort Files with Sizes

You can also sort files by modification time, with the file that has recently been modified appearing first on the list. This can be done using the -t option.

# dir -ashlt /home/kone
Sort Files by Modification Time
Sort Files by Modification Time

Listing Files Without Owners

To list files without their owners, you have to use the -g option which works like the -l option only that it does not print out the file owner. And to list files without a group owner use the -G option as follows.

# dir -ahgG /home/kone
List Files without Owner
List Files without the Owner

As you can notice from the output above that the name of the file owner and the group owner is not printed. You can as well view the author of a file by using the --author flag as follows.

# dir -al --author /home/kone
View Author of Files
View Author of Files

In the output above, the fifth column shows the name of the author of a file. The examples.desktop files are owned by user kone, belong to group kili and it was authored by user kone.

Listing Directories Before Files

You may wish to view directories before all other files and this can be done by using the --group-directories-first flag as follows.

# dir -l --group-directories-first
List Group Directory Files
List Group Directory Files

When you observe the output above, you can see that all the directories are listed before the regular files. The letter d before the permissions indicate a directory and a indicates a regular file.

You can also view subdirectories recursively, meaning that you can list all other subdirectories in a directory using the -R option as follows.

# dir -R
List Directories Recursively
List Directories Recursively

In the above output, the (.) sign means the current directory and home directory of user Kone have three subdirectories that are Backup, dir, and Docs.

The Backup subdirectory has two other subdirectories that are mariadb and mysql which have no subdirectories.

The dir subdirectory does not have any subdirectory. And the Docs subdirectory has two subdirectories namely Books and Tuts which do not have subdirectories.

Listing Files with User and Group IDs

To view user and group IDs, you need to use -n option. Let us observe the difference between the next two outputs.

Output without -n option.

# dir -l --author
List Files Without ID's
List Files Without IDs

Output with -n option.

# dir -nl --author
List Files with ID's
List Files with IDs

Listing Files Separated by Commas

This can be archived by using -m option.

# dir -am
List Entries by Comma
List Entries by Comma

To find help in using the dir command use --help flag and to view version details of dir use --version.

# dir --help
# dir --version

Conclusion

These are just examples of basic usage of the dir command, to use many other options see the manual entry for the dir command on your system.

# man dir

In case you find any other interesting options or ways of using the dir command, let us know by writing a comment. Hope you find this article useful.

If You Appreciate What We Do Here On Jassweb, You Should Consider:

Jassweb is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit Jassweb! to search or browse the thousands of published articles available FREELY to all.

If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

Support Us

We are thankful for your never ending support.

Jaspreet Singh Ghuman

Jaspreet Singh Ghuman

Jassweb.com/

Passionate Professional Blogger, Freelancer, WordPress Enthusiast, Digital Marketer, Web Developer, Server Operator, Networking Expert. Empowering online presence with diverse skills.

jassweb logo

Jassweb always keeps its services up-to-date with the latest trends in the market, providing its customers all over the world with high-end and easily extensible internet, intranet, and extranet products.

Contact
San Vito Al Tagliamento 33078
Pordenone Italy
Item added to cart.
0 items - 0.00
Open chat
Scan the code
Hello 👋
Can we help you?