4 Easy Methods to List Only Directories in Linux 

Written by

Reviewed by

Last updated: October 15, 2023

Expert verified

SVG Image

TL;DR

To list only directories in Linux, you can try these methods:

  1. Use ls -d */ to quickly list directories in the current location, excluding files or subdirectories.
  2. Utilize find -type d to search and list directories within the current directory and its subdirectories.
  3. Display a tree-like structure of directories only using tree -d, providing a clear view of the hierarchy.
  4. List directories with their sizes by executing du -h --max-depth=1 | grep -E '^[0-9.]+[GMK]?\s+./' in the terminal.

Efficiently listing directories in Linux is vital for effective file management. Follow these best practices: choose the right command and options, consider recursive listing for subdirectories, customize output for better analysis, utilize graphical tools for a user-friendly experience, and apply best security practices.

Discover different methods to list only directories in Linux and best practices for listing them in the guide below.

When it comes to managing files in a Linux environment, mastering the art of listing only directories is a game-changer. Whether you’re a seasoned Linux enthusiast or just starting your journey, understanding the significance of directory listing and its benefits is crucial. By effortlessly identifying and organizing directories, you gain greater control over your file system, saving valuable time and effort. In this guide, I will explore different methods to list only directories in Linux and best practices to list directories.

How to List Only Directories in Linux

To list only directories in Linux, you can use the ls command with the -d option to display directories within the current location. The find command with the -type d option allows you to search for directories in the current directory and its subdirectories. The tree command provides a visual representation of the directory structure, while the du command can list directories with their sizes.

1. ls Command with the -d Option

The ls command is a versatile tool in Linux that allows you to list files and directories. By using the -d option, you can modify its behavior to display only directories. This method is perfect when you want a quick overview of the directories within your current location, excluding any files or subdirectories. Here’s how to do it:

  1. Open the Terminal.
opening terminal 22
  1. Type the following command:
<strong>ls -d */</strong>
  1. Press Enter to execute the command. The command will list all the directories within the current directory, excluding any files or subdirectories.
listing all directories excluding subdirectories

2. find Command

The find command is a powerful tool designed for searching files and directories based on various criteria. When it comes to listing directories, you can leverage the find command by specifying the -type d option. This method enables you to search for directories within the current directory and its subdirectories. Here’s how to use it to list directories:

  1. Open the command prompt and type the following command:
<strong>find -type d</strong>
  1. This command instructs the find command to search for directories (-type d) within the current directory and its subdirectories.
listing directories subdirectories and their files

3. Tree Command

The tree command provides a visual representation of the directory structure. It will display a tree-like structure with only directories, omitting files. It can be a helpful tool to grasp the hierarchy and relationships between directories quickly. To list directories using a tree, follow these steps:

  1. Launch your Terminal window and execute the following command:
<strong>tree -d</strong>
  1. The tree command will display a tree-like structure with only directories, omitting files.
viewing directories in a tree format

4. du Command

The du command is primarily used to determine the disk usage of files and directories. However, it can also be employed to list directories along with their sizes. To achieve this, follow these steps:

  1. Access your command window and enter the following command:
<strong>du -h --max-depth=1 | grep -E '^[0-9.]+[GMK]?\s+\.\/'</strong>
  1. This command uses du to display the sizes of directories (-h for human-readable format) within the current directory. The --max-depth=1 flag limits the listing to the immediate subdirectories, and grep filters the output to show only directories. The result will be a list of directories with their corresponding sizes.
listing directories with their corresponding sizes

5 Best Practices for Listing Only Directories

Efficiently listing directories in Linux is crucial for effective file management. Adopting the following best practices will streamline your workflow and enhance your directory listing process. Implement these five practices to optimize your file organization and boost your productivity:

  1. 🛠️ Choose the Right Command and Options: To list only directories in Linux, it is important to use the appropriate command and options. For instance, utilizing the ls -d */ command allows you to list directories using the ls command. Similarly, using find -type d enables you to find and list directories recursively. Additionally, the tree -d command provides a tree-like structure view of directories. Selecting the correct command and options ensures accurate and efficient directory listings, saving you time and effort.
  2. 🔍 Consider Recursive Listing for Subdirectories: When dealing with nested directories, consider employing recursive listing options such as -R with the ls command or -type d with the find command. By doing so, you can list directories within subdirectories, providing a comprehensive view of your directory structure. Recursive listing simplifies navigation, enabling you to easily locate and manage directories, even in complex directory hierarchies.
  3. 🔧 Customize Output for Better Analysis: Tailor the output of directory listings to suit your specific requirements. Make use of additional flags and options to display detailed information, such as permissions (-l), sizes (-h), or sorting by size (--sort=size). Customizing the output allows you to gain deeper insights into your directory structure, facilitating informed decision-making and efficient file management.
  4. 🖥️ Graphical Tools for User-Friendly Experience: While command-line tools offer power and flexibility, graphical file managers provide a user-friendly interface for listing and managing directories. Tools like Nautilus, Dolphin, or Thunar offer visual representations, drag-and-drop functionality, and intuitive features that simplify directory listing tasks. These graphical tools enhance the user experience and enable you to efficiently navigate and organize directories through a visually appealing and intuitive interface.
  5. 🔒 Apply Best Security Practices: Ensure that you have appropriate permissions and access rights to list directories. When working with sensitive data, exercise caution and follow security best practices to protect your system. Regularly update and patch your Linux distribution, employ strong passwords, and implement access controls to prevent unauthorized access to your directories. By prioritizing security, you can safeguard your files and maintain the integrity of your directory listings.

In Conclusion

In this article, I have discussed various methods to list only directories in Linux, including the usage of commands like ls, find, tree, and du. Additionally, I have highlighted the best practices for directory listing, by implementing these best practices, you can optimize your file management, improve efficiency, and have better control over your Linux system.

To further enhance your Linux skills and explore the world of file management, consider exploring these related articles: Mastering File Permissions in Linux, Essential Linux Command Line Tools for Efficient System Administration, and Advanced Directory Management Techniques in Linux. By expanding your knowledge in these areas, you will become a proficient Linux user, capable of harnessing the power of the command line to optimize your file management workflow.

Frequently Asked Questions

How can I list directories recursively?

To list directories recursively in Linux, you have a couple of options. One option is to use the -R option with the ls command. For example, you can use ls -R to list all directories recursively, including subdirectories and their contents. Another option is to utilize the -type d option with the find command. By using the command find -type d, you can recursively search for directories starting from the current directory and display the results. Both commands will traverse all subdirectories and list the directories they contain, giving you a comprehensive view of the directory structure.

Can I display the permissions of directories while listing them?

Yes, you can display the permissions of directories while listing them in Linux. By using the -l option with the ls command, you can obtain detailed information about the listed directories, including their permissions. When you execute the command ls -l, it will show the permissions, ownership, file size, and other metadata of the directories. The permissions are represented by a combination of letters and symbols such as r for read, w for write, and x for execute. By displaying permissions, you can quickly assess the access rights and security settings of the listed directories.

Is it possible to sort the listed directories by size?

Absolutely! You can sort the listed directories by size in Linux using different commands. One way is to utilize the --sort=size option with the ls command. By executing the command ls --sort=size, the directories will be listed in ascending order based on their sizes. Alternatively, you can combine the du command, which calculates disk usage, with the sort command. For instance, running du -h --max-depth=1 | sort -hr will display the directories and their sizes in human-readable format, sorted in descending order based on size. Sorting directories by size allows you to identify large directories and manage your storage efficiently.

Are there any graphical tools available for listing directories in Linux?

Yes, Linux provides several graphical file managers that offer a user-friendly interface for browsing and listing directories. Some popular graphical file managers include Nautilus, Dolphin, and Thunar. These tools present directories and files in a visually appealing manner, allowing you to navigate and explore your file system easily. With graphical file managers, you can simply click on directories to expand or collapse them, visually browse folder hierarchies, and perform operations like copy, move, and delete with intuitive drag-and-drop functionality. These graphical tools enhance the user experience and provide an alternative to the command-line-based directory listing, particularly for users who prefer a visual approach to file management.

Ojash

Author

Ojash is a skilled Linux expert and tech writer with over a decade of experience. He has extensive knowledge of Linux's file system, command-line interface, and software installations. Ojash is also an expert in shell scripting and automation, with experience in Bash, Python, and Perl. He has published numerous articles on Linux in various online publications, making him a valuable resource for both seasoned Linux users and beginners. Ojash is also an active member of the Linux community and participates in Linux forums.

Akshat

Reviewer

Akshat is a software engineer, product designer and the co-founder of Scrutify. He's an experienced Linux professional and the senior editor of this blog. He is also an open-source contributor to many projects on Github and has written several technical guides on Linux. Apart from that, he’s also actively sharing his ideas and tutorials on Medium and Attirer. As the editor of this blog, Akshat brings his wealth of knowledge and experience to provide readers with valuable insights and advice on a wide range of Linux-related topics.

Share this article
Shareable URL
Prev Post

How to Install Eclipse in Ubuntu [3 Easy Methods]

Next Post

How to List All Services Ubuntu [4 Best Methods]

Leave a Reply

Your email address will not be published. Required fields are marked *

Read next