How To Use maxdepth and mindepth Options With Linux find command

This tutorial demonstrates using the maxdepth and mindepth options with the Linux find command to search for files and directories within a specified depth range. A simple analogy helps clarify these options for beginners.
Understanding maxdepth and mindepth
The maxdepth option limits the search to a maximum number of levels within the directory hierarchy. mindepth sets the minimum depth level at which the search begins. These options refine searches by focusing on specific directory tree levels.
Practical Examples
Let's use this directory structure for demonstration:
<code>MyFiles/ ├── Dir1 │ ├── Dir2 │ │ ├── Dir3 │ │ │ └── file3 │ │ └── file2 │ ├── file1 │ └── file1.1 ├── myfile1 ├── myfile2 └── myfile3</code>
-
maxdepthExamples:-
find MyFiles/ -maxdepth 1: Lists everything directly underMyFiles/(Dir1, myfile1, myfile2, myfile3), excluding deeper levels. -
find MyFiles/ -maxdepth 2: Includes Dir1, myfile1, myfile2, myfile3, and the contents of Dir1 (Dir2, file1, file1.1), but not Dir3 or its contents.
-
-
mindepthExamples:-
find MyFiles/ -mindepth 2: Skips the direct children ofMyFiles/and lists everything from Dir2, file1, file1.1, and below. -
find MyFiles/ -mindepth 3 -type f: Lists only files at a depth of 3 or greater (file2, file3).
-
-
Combining
maxdepthandmindepth:-
find MyFiles/ -mindepth 3 -maxdepth 3 -type f: Lists files exactly 3 levels deep (file2).
-
-
Searching for Specific Files/Directories:
-
Find "file1" up to 2 levels deep:
find /path/to/directory/ -maxdepth 2 -name file1 -
Find "file2" up to 3 levels deep:
find /path/to/directory/ -maxdepth 3 -name file2 -
Find files named "file" between levels 2 and 4:
find /path/to/directory/ -mindepth 2 -maxdepth 4 -name file -
Find all "file3":
find /path/to/directory/ -name file3
-
Find "file1" up to 2 levels deep:
Analogy: Exploring a Forest
Think of directory levels as layers in a forest:
-
mindepth: The minimum depth you'll explore before starting your search (e.g., "I'll only explore beyond the second clearing"). -
maxdepth: The maximum depth you'll explore (e.g., "I won't go deeper than the third clearing").
Conclusion
maxdepth and mindepth provide granular control over the find command's search scope, improving efficiency when dealing with complex directory structures. Remember that maxdepth sets an upper limit, and mindepth defines a starting point for the search.
The above is the detailed content of How To Use maxdepth and mindepth Options With Linux find command. For more information, please follow other related articles on the PHP Chinese website!
Hot AI Tools
Undress AI Tool
Undress images for free
Undresser.AI Undress
AI-powered app for creating realistic nude photos
AI Clothes Remover
Online AI tool for removing clothes from photos.
Clothoff.io
AI clothes remover
Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!
Hot Article
Hot Tools
Notepad++7.3.1
Easy-to-use and free code editor
SublimeText3 Chinese version
Chinese version, very easy to use
Zend Studio 13.0.1
Powerful PHP integrated development environment
Dreamweaver CS6
Visual web development tools
SublimeText3 Mac version
God-level code editing software (SublimeText3)
Understanding RAID Configurations on a Linux Server
Aug 05, 2025 am 11:50 AM
RAIDimprovesstorageperformanceandreliabilityonLinuxserversthroughvariousconfigurations;RAID0offersspeedbutnoredundancy;RAID1providesmirroringforcriticaldatawith50�pacityloss;RAID5supportssingle-drivefailuretoleranceusingparityandrequiresatleastthre
Linux how to enable and disable services at boot
Aug 08, 2025 am 10:23 AM
To manage the startup of Linux services, use the systemctl command. 1. Check the service status: systemctlstatus can check whether the service is running, enabled or disabled. 2. Enable the service startup: sudosystemctlenable, such as sudosystemctlenablenginx. If it is started at the same time, use sudosystemctlenable--nownginx. 3. Disable the service startup: sudosystemctldisable, such as sudosystemctldisablecups. If it is stopped at the same time, use sudosystemctldisabl
How to set up a firewall in Linux
Aug 22, 2025 pm 04:41 PM
UsefirewalldoriptablestosecureLinux;firewalldisuser-friendlywithzonesandservices,idealforCentOS/RHEL/Fedora,whileiptablesoffersgranularcontrolforDebian/Ubuntu.Enablefirewalld:sudosystemctlstartfirewalld,allowserviceslikeSSHwith--add-service=ssh,orope
Linux how to list all running processes
Aug 08, 2025 am 06:42 AM
Usepsauxforacompletesnapshotofallrunningprocesses,showingdetailedinformationlikeUSER,PID,CPU,andmemoryusage.2.Usetoporhtopforreal-timemonitoringofprocesseswithdynamicupdates,wherehtopoffersamoreintuitiveinterface.3.UsepgreporpidoftoquicklyfindthePIDs
How to clean up your Linux system
Aug 22, 2025 am 07:42 AM
Removeunusedpackagesanddependencieswithsudoaptautoremove,cleanpackagecacheusingsudoaptcleanorautoclean,andremoveoldkernelsviasudoaptautoremove--purge.2.Clearsystemlogswithsudojournalctl--vacuum-time=7d,deletearchivedlogsin/var/log,andempty/tmpand/var
Linux how to view the contents of a file
Aug 19, 2025 pm 06:44 PM
ToviewfilecontentsinLinux,usedifferentcommandsbasedonyourneeds:1.Forsmallfiles,usecattodisplaytheentirecontentatonce,withcat-ntoshowlinenumbers.2.Forlargefiles,uselesstoscrollpagebypageorlinebyline,searchwith/search_term,andquitwithq.3.Usemoreforbasi
how to create an alias in linux
Aug 19, 2025 pm 08:13 PM
The steps to set up alias in Linux are as follows: 1. Temporarily set the use of the alias command such as aliasll='ls-la'; 2. Permanently set the shell configuration file, such as ~/.bashrc, and then execute the source to take effect; 3. Be careful to avoid overwriting the original command and the different shell configurations are independent. Alias can simplify complex commands and improve efficiency, but only after the current shell environment takes effect and closes the terminal, it needs to be reasonably defined and regularly checked for configuration.
Understanding the Linux Filesystem Hierarchy Standard (FHS)
Aug 06, 2025 pm 04:23 PM
/bin and /sbin store basic commands and system management commands; 2./usr stores user programs and related resources; 3./etc is the configuration file directory; 4./var stores variable data such as logs and caches; 5./home and /root are the home directories of ordinary users and root users; 6./tmp and /run are used for temporary files and runtime data; 7./dev, /proc, /sys provides device and system information interfaces; 8./lib and /lib64 contain library files required for system startup; 9./opt and /srv are used for third-party software and service data respectively; FHS improves system management efficiency through standardized directory structure, making the layout of Linux files clear and consistent, making it easy to maintain and


