How to use the command 'lsd' (with examples)
LSD is the next generation ’ls’ command written in Rust. It is a directory listing tool that provides a more pleasant and modern way to display file and directory information. This article will illustrate various use cases of the command ’lsd’ and explain each argument and its purpose.
Use case 1: List files and directories, one per line
Code:
lsd -1
Motivation: Sometimes, you may want to have a simple and concise view of the files and directories in a directory. Listing them one per line makes it easier to read and process the output.
Explanation: The ‘-1’ argument is used to list the files and directories one per line.
Example Output:
file1
file2
dir1
dir2
Use case 2: List all files and directories, including hidden ones, in the current directory
Code:
lsd -a
Motivation: Hidden files and directories in Unix-like systems are those whose name begins with a dot, and they are not listed by default. There may be cases where you need to view the hidden files and directories as well.
Explanation: The ‘-a’ argument is used to list all files and directories, including hidden ones, in the current directory.
Example Output:
file1
.file2
dir1/
.dir2/
Use case 3: List all files and directories with trailing slash ‘/’ added to directory names
Code:
lsd -F
Motivation: Adding a trailing slash to directory names in the listing can provide a visual indication of which entries are directories.
Explanation: The ‘-F’ argument is used to add a trailing slash to directory names in the file and directory listing.
Example Output:
file1
file2
dir1/
dir2/
Use case 4: List all files and directories in long format (permissions, ownership, size, and modification date)
Code:
lsd -la
Motivation: The long format listing includes additional information about each file and directory, such as permissions, ownership, size, and modification date. This can be useful when you need detailed information about the entries.
Explanation: The ‘-la’ argument is used to list all files and directories in long format.
Example Output:
drwxr-xr-x 2 user group 4096 Jan 1 00:00 dir1/
-rw-r--r-- 1 user group 20 Jan 1 00:00 file1
-rw-r--r-- 1 user group 100 Jan 1 00:00 file2
Use case 5: List all files and directories in long format with size displayed using human-readable units (KiB, MiB, GiB)
Code:
lsd -lh
Motivation: Displaying file sizes in human-readable units makes it easier to quickly understand the size of each file or directory.
Explanation: The ‘-lh’ argument is used to list all files and directories in long format with size displayed using human-readable units.
Example Output:
drwxr-xr-x 2 user group 4.0KiB Jan 1 00:00 dir1/
-rw-r--r-- 1 user group 20B Jan 1 00:00 file1
-rw-r--r-- 1 user group 100B Jan 1 00:00 file2
Use case 6: List all files and directories in long format, sorted by size (descending)
Code:
lsd -lS
Motivation: Sorting the files and directories by size can help identify the largest or smallest ones.
Explanation: The ‘-lS’ argument is used to list all files and directories in long format, sorted by size in descending order.
Example Output:
drwxr-xr-x 2 user group 4096 Jan 1 00:00 dir1/
-rw-r--r-- 1 user group 100 Jan 1 00:00 file2
-rw-r--r-- 1 user group 20 Jan 1 00:00 file1
Use case 7: List all files and directories in long format, sorted by modification date (oldest first)
Code:
lsd -ltr
Motivation: Sorting the files and directories by modification date helps identify the oldest or newest entries.
Explanation: The ‘-ltr’ argument is used to list all files and directories in long format, sorted by modification date in ascending order (oldest first).
Example Output:
drwxr-xr-x 2 user group 4096 Jan 1 00:00 dir1/
-rw-r--r-- 1 user group 20 Jan 1 00:00 file1
-rw-r--r-- 1 user group 100 Jan 1 00:00 file2
Use case 8: Only list directories
Code:
lsd -d */
Motivation: When you only want to see the directories in a directory, excluding files, this option can be useful.
Explanation: The ‘-d */’ argument is used to only list directories in the current directory.
Example Output:
dir1/
dir2/
Conclusion
The ’lsd’ command is a modern and feature-rich alternative to the traditional ’ls’ command. Each use case presented above demonstrates different ways to customize the output of file and directory listings, depending on your specific needs. By understanding the available arguments, you can conveniently interact with the ’lsd’ command to obtain the desired information about directories and files.