How to Find and Delete Empty Directories in Ubuntu (find -empty -delete)

The Cluttered Filesystem

Over time, as applications are installed, updated, and removed from an Ubuntu Linux server, they frequently leave behind completely empty directory structures. While a folder with zero files inside it does not consume significant hard drive space, leaving hundreds of empty directories scattered across your /var/ or /opt/ partitions makes navigating the file system incredibly annoying and visually cluttered. Manually running the ls command and checking every single folder is impossible. Instead, you must instruct the Linux search engine to identify and destroy these empty containers automatically.

Using the find Command with -empty and -delete

The Linux find command utilizes the -empty flag to isolate files or folders containing zero bytes of data, and the -delete flag to instantly destroy them.

  1. Open your Terminal application (Ctrl + Alt + T) or log into your server via SSH.
  2. To scan the /home/user/Downloads/ directory, strictly isolate only folders that are completely empty, and immediately delete them, type the following command exactly:
  3. find /home/user/Downloads/ -type d -empty -delete
  4. Press Enter.

Safety Precaution

The -type d argument is absolutely critical. It explicitly tells the search engine to only look at directories. If you change this to -type f, the command will hunt down and instantly delete every single empty text file (zero-byte files) on your system. Warning: The -delete flag acts instantly and bypasses the trash can entirely. It is always highly recommended to run the command without the -delete flag first (e.g., find /dir/ -type d -empty) to verify the list of folders on your screen before you commit to destroying them.

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.