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
ls -R Directory_name
As you can see, it shows the contents of every subdirectory one by one.
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:
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 use the
-ls option with the find command and it will show additional information such as read-write permissions:
find Directory_name -ls
Similarly, you can also use the
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:
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!