Book Sale! Save 20% on WordPress books with discount code: SAVE20
Web Dev + WordPress + Security

List All Files and Folders Recursively via Terminal

From time to time I have occasion to generate a list all WordPress files or similar. As I’m not an expert in Terminal, it took awhile to figure out the magic recipe.. now having collected some useful commands, I want to post ‘em for future reference.

List all files, first level folders, and their contents

ls * -r

List all first-level subdirectories and files

file */*

Save file list to text

file */* *>> ../files.txt
file */* -r *>> ../files-recursive.txt

Get everything

find . -type f

Save everything to file*

find . -type f > ../files-all.txt

List contents of directory

mac:wordpress username$ ls -m1 *>> file-list.txt

Outputs this:


Then if you want more information, try this:

mac:wordpress username$ ls -la *>> file-list-full.txt

..which outputs something like this:

-rw-r--r--@ 1 username  staff    397 May 25  2008 index.php
-rw-r--r--@ 1 username  staff  16899 Jun  8  2011 license.txt
-rw-r--r--@ 1 username  staff   9202 Apr 20 12:44 readme.html
-rw-r--r--@ 1 username  staff   4268 Oct 20  2011 wp-activate.php
-rw-r--r--@ 1 username  staff  40272 Oct 28  2011 wp-app.php
-rw-r--r--@ 1 username  staff    274 Nov 20  2010 wp-blog-header.php
-rw-r--r--@ 1 username  staff   3989 Apr 16 22:12 wp-comments-post.php
-rw-r--r--@ 1 username  staff   3177 Nov  1  2010 wp-config-sample.php
-rw-r--r--@ 1 username  staff   2684 Sep  9  2011 wp-cron.php
-rw-r--r--@ 1 username  staff   1997 Oct 23  2010 wp-links-opml.php
-rw-r--r--@ 1 username  staff   2546 Nov 15 14:47 wp-load.php
-rw-r--r--@ 1 username  staff  27695 Nov 23 06:03 wp-login.php
-rw-r--r--@ 1 username  staff   7777 Aug  5  2011 wp-mail.php
-rw-r--r--@ 1 username  staff    413 Sep 19  2011 wp-pass.php
-rw-r--r--@ 1 username  staff    334 Dec  9  2010 wp-register.php
-rw-r--r--@ 1 username  staff   9913 Oct 18  2011 wp-settings.php
-rw-r--r--@ 1 username  staff  18545 Nov 15 19:44 wp-signup.php
-rw-r--r--@ 1 username  staff   3702 Feb 24  2010 wp-trackback.php
-rw-r--r--@ 1 username  staff   3266 Apr 17  2011 xmlrpc.php

Getting serious

This is from Terminal fun: Options for printing folder and subfolder contents:

ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'

..which outputs this:


That’s all for this post, but there’s more on the way :)

Jeff Starr
About the Author
Jeff Starr = Fullstack Developer. Book Author. Teacher. Human Being.
Banhammer: Protect your WordPress site against threats.

2 responses to “List All Files and Folders Recursively via Terminal”

  1. Josh Eaton 2013/08/24 1:19 pm

    Have you seen the tree command? You have to install it with something like Homebrew, but it’s quicker than typing out that long pipeline with the ls command. :)

  2. How would you attach file –mime-encoding to this?

    ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'

Comments are closed for this post. Something to add? Let me know.
Perishable Press is operated by Jeff Starr, a professional web developer and book author with two decades of experience. Here you will find posts about web development, WordPress, security, and more »
USP Pro: Unlimited front-end forms for user-submitted posts and more.
On macOS when an app won’t hide, you can force it by holding the ⌥ (option) key and clicking anywhere on the desktop.
Currently having a blast redesigning Plugin Planet, so much work so little time.
Thanks to David McCan over at WebTNG for the awesome BBQ Pro review.
Enjoyed a nice mini-vacation with my fam. Great way to recharge and regroup.
Nice little interview with yours truly over at ThemeIsle. WordPress, web dev & more!
Perishable Press celebrating 16 years online! An incredible, rewarding journey.
Thanks to Nicholas Ferrell for his excellent and thorough review of Wutsearch search-engine launchpad.
Get news, updates, deals & tips via email.
Email kept private. Easy unsubscribe anytime.