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 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
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
To list one file per line use -1
option as follows.
# dir -1 /etc
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
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
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
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
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
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
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
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
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
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
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
Output with -n
option.
# dir -nl --author
Listing Files Separated by Commas
This can be archived by using -m
option.
# dir -am
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.
When I input dir -ashls /home/kone i get the report.
Hi Aaron,
In Linux system we have owner, group and other permission, What is this “author” thing?
It is part of others or something else.
@Hemant
Where did you see that?
It seems to me that “ls” and “dir” are the same just that “ls” has enabled the colorization of the files according to their nature.
Cheers
Yes, they work in a similar way, just the color effect in ls makes the difference.
On Debian-based systems, at least, dir == ls
That is absolutely true.
Thanks for the addition. @Yoander
If you want to view SELinux context then you must include -Z option (–context long option), ex: dir -lZ .