vdir Command (with examples)
The vdir
command is a drop-in replacement for the ls -l
command and is used to list directory contents. It provides a detailed listing of files and directories, including information such as file sizes, permissions, and modification timestamps. In this article, we will explore eight different use cases of the vdir
command and explain how each use case can be beneficial for different scenarios.
Use Case 1: List directory contents with details
To list files and directories in the current directory, one per line, with details, simply use the vdir
command without any arguments.
Code:
vdir
Motivation:
The motivation for using this example is to quickly get a comprehensive view of the files and directories present in a specific directory. The detailed listing includes information such as file permissions, ownership, size, and modification timestamp, which can be helpful for system administrators and developers to analyze and manage the files.
Example Output:
-rw-r--r-- 1 user staff 573 Oct 20 09:27 file1.txt
drwxr-xr-x 2 user staff 64 Oct 20 09:28 dir1
-rw-r--r-- 1 user staff 92 Oct 20 09:29 file2.txt
This output displays the file permissions, ownership, size, and modification timestamp for each file and directory in the current directory.
Use Case 2: List directory contents with sizes displayed in human-readable units
To list files and directories in the current directory with sizes displayed in human-readable units (KB, MB, GB), use the -h
option.
Code:
vdir -h
Motivation:
The motivation for using this example is to make the file sizes more readable for easier consumption. Instead of displaying sizes in bytes, displaying them in human-readable units like KB, MB, or GB can give a better understanding of the file sizes.
Example Output:
-rw-r--r-- 1 user staff 573B Oct 20 09:27 file1.txt
drwxr-xr-x 2 user staff 64B Oct 20 09:28 dir1
-rw-r--r-- 1 user staff 92B Oct 20 09:29 file2.txt
The file sizes are now displayed in bytes, making it easier to understand the relative size of each file or directory.
Use Case 3: List directory contents including hidden files
To list files and directories in the current directory, including hidden files (starting with a dot), use the -a
option.
Code:
vdir -a
Motivation:
The motivation for using this example is to view all the files and directories, including the hidden ones, that might have been ignored by default when listing directory contents using regular ls -l
command. This can be useful when you want to see all the files and directories, including configuration files and directories.
Example Output:
-rw-r--r-- 1 user staff 573 Oct 20 09:27 file1.txt
drwxr-xr-x 2 user staff 64 Oct 20 09:28 dir1
-rw-r--r-- 1 user staff 92 Oct 20 09:29 file2.txt
.-rw-r--r-- 1 user staff 12 Oct 20 09:30 .hidden
The output now includes the hidden file .hidden
, which is typically not shown in regular directory listings.
Use Case 4: List directory contents sorting entries by size (largest first)
To list files and directories in the current directory, sorting entries by size in descending order (largest first), use the -S
option.
Code:
vdir -S
Motivation:
The motivation for using this example is to easily identify the largest files or directories within a given directory. Sorting entries by size allows you to quickly identify and focus on the largest elements, which can be helpful for optimizing storage space or identifying potential performance bottlenecks.
Example Output:
-rw-r--r-- 1 user staff 573 Oct 20 09:27 file1.txt
drwxr-xr-x 2 user staff 64 Oct 20 09:28 dir1
-rw-r--r-- 1 user staff 92 Oct 20 09:29 file2.txt
In this example, the output remains the same as the default listing, but if there were larger files or directories, they would be listed first in descending order.
Use Case 5: List directory contents sorting entries by modification time (newest first)
To list files and directories in the current directory, sorting entries by modification time in descending order (newest first), use the -t
option.
Code:
vdir -t
Motivation:
The motivation for using this example is to easily identify the most recently modified files or directories within a given directory. Sorting entries by modification time can be useful when you want to focus on recently updated files or track changes made to a specific directory.
Example Output:
-rw-r--r-- 1 user staff 92 Oct 20 09:29 file2.txt
drwxr-xr-x 2 user staff 64 Oct 20 09:28 dir1
-rw-r--r-- 1 user staff 573 Oct 20 09:27 file1.txt
In this example, the output is sorted based on the modification timestamp, with the most recently modified file (file2.txt
) listed first.
Use Case 6: List directory contents grouping directories first
To list files and directories in the current directory, with directories grouped and listed first, use the --group-directories-first
option.
Code:
vdir --group-directories-first
Motivation:
The motivation for using this example is to easily identify and differentiate directories from regular files. By grouping directories and listing them first, it becomes more convenient to navigate and work with a directory that contains a large number of files and subdirectories.
Example Output:
drwxr-xr-x 2 user staff 64 Oct 20 09:28 dir1
-rw-r--r-- 1 user staff 573 Oct 20 09:27 file1.txt
-rw-r--r-- 1 user staff 92 Oct 20 09:29 file2.txt
In this example, the directories are listed first, making it easier to spot and access them.
Use Case 7: Recursively list all files and directories in a specific directory
To recursively list all files and directories in a specific directory, use the --recursive
option along with the path to the directory.
Code:
vdir --recursive /path/to/directory
Motivation:
The motivation for using this example is to list all the files and directories within a specific directory, including all subdirectories and their contents. This is useful when you want to get a complete overview of the directory structure and all its contents.
Example Output:
/path/to/directory:
-rw-r--r-- 1 user staff 92 Oct 20 09:29 file2.txt
drwxr-xr-x 2 user staff 64 Oct 20 09:28 dir1
/path/to/directory/dir1:
-rw-r--r-- 1 user staff 573 Oct 20 09:27 file1.txt
In this example, the vdir
command recursively lists all files and directories in the /path/to/directory
directory. It also lists the files and directories within the subdirectory dir1
.