How to List Files Recursively in Linux command line
Want to list files recursively and see the contents of all the subdirectories in Linux? Here's how you can do that.
The ls command is the default for viewing the contents of a directory. This is despite the existence of the dedicated dir command.
The ls command list the contents of the present directory, but it doesn't show the contents of the subdirectories by default. You can make it though.
Use ls command to list files recursively
You can change the default behavior of the ls command to list files recursively by using the -R
option.
ls -R Directory_name
As you can see, it shows the contents of every subdirectory one by one.
That's uppercase R
. the lowercase r
is used for the reverse display of ls output.
But wait, you can't expect Linux to have just one solution. Here are some other ways of listing files recursively.
Use the tree command to list files recursively
By far, this is my favorite utility when it comes to listing files recursively as it gets the output in the easiest way possible.
But it does not come pre-installed in most distributions. If you're on a Debian-based distro, you can use this command for installation:
sudo apt install tree
Once you are done with the installation, you just have to append the filename with the tree command:
tree Directory_name
Use the find command to list files recursively
You'll find me often praising the find command being so extensive with more than 50 options and can also be used for listing files recursively.
You can recursively search sub-directories with the -ls
option of the find command. It will list all the files but not the hidden files. It will show additional information such as read-write permissions:
find Directory_name -ls
Similarly, you can also use the -print
option with the find command if you just want to list files recursively:
find Directory_name -print
Use the du command to list files recursively
The du command is used to show the storage size of files and when used with the -a
option, it will count and print the files recursively.
But I'm also going to use the -c
option that will sum the total number of files available in the specified directory:
Wrapping Up
This was my take on how you can print files recursively in Linux. But you can do more with those utilities with enough knowledge.
And we have a detailed guide on how you can make the most out of man pages in Linux so you can be creative whenever you want!
A software engineer who loves to tinker with hardware till it gets crashed. While reviving my crashed system, you can find me reading literature, manga, or watering my plants.