I Googled so much and can’t find any simpler method to count files or folders in a directory in Linux. I am using Ubuntu 14.04. If it’s only files and folders, it would be simple.
Count Files and Folders
$ ls -l | wc -l
wc -l command is read “WordCount lines”. It means after you executed the
ls, the corresponding result will be counted by it’s line. For example, if you are using
ls in your working directory, say there are 2 files and 2 folders, it will return 4 lines. If you add it becomes
ls -a, it will return 2 more lines. So, it returns 6 lines because of “.” and “..” are counted.
Count Folders Using find
Now, be aware when you want to count files, hidden files, folders, and hidden folders using
ls -a command you have to subtract it by 2. It applies almost the same when you try to get the number of folders in a directory. Using
$ find -maxdepth 1 -type d | wc -l
It will return all folders inside the current directory plus a “.” directory. If you have 2 folders, and 2 hidden folders, the counter will return 5. So, actually your folders just 4.
Count Files Using find
The result of
find to count files is exactly the same as the number of actual files including the hidden files in current directory. So, you don’t have to subtract it anymore.
$ find -maxdepth 1 -type f | wc -l