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:
/
index.php
license.txt
readme.html
wp-activate.php
wp-app.php
wp-blog-header.php
wp-comments-post.php
wp-config-sample.php
wp-cron.php
wp-links-opml.php
wp-load.php
wp-login.php
wp-mail.php
wp-pass.php
wp-register.php
wp-settings.php
wp-signup.php
wp-trackback.php
xmlrpc.php
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:
|-wp-admin
|---css
|---images
|-----screenshots
|---includes
|---js
|---maint
|---network
|---user
|-wp-content
|---plugins
|-----akismet
|---themes
|-----twentyeleven
|-------colors
|-------images
|---------headers
|-------inc
|---------images
|-------js
|-------languages
|-----twentyten
|-------images
|---------headers
|-------languages
|-wp-includes
|---Text
|-----Diff
|-------Engine
|-------Renderer
|---css
|---images
|-----crystal
|-----smilies
|-----wlw
|---js
|-----crop
|-----imgareaselect
|-----jcrop
|-----jquery
|-------ui
|-----plupload
|-----scriptaculous
|-----swfupload
|-------plugins
|-----thickbox
|-----tinymce
|-------langs
|-------plugins
|---------directionality
|---------fullscreen
|---------inlinepopups
|-----------skins
|-------------clearlooks2
|---------------img
|---------media
|-----------css
|-----------js
|---------paste
|-----------js
|---------spellchecker
|-----------classes
|-------------utils
|-----------css
|-----------img
|-----------includes
|---------tabfocus
|---------wordpress
|-----------css
|-----------img
|---------wpdialogs
|-----------js
|---------wpeditimage
|-----------css
|-----------img
|-----------js
|---------wpfullscreen
|-----------css
|---------wpgallery
|-----------img
|---------wplink
|-------themes
|---------advanced
|-----------img
|-----------js
|-----------skins
|-------------default
|---------------img
|-------------highcontrast
|-------------o2k7
|---------------img
|-------------wp_theme
|---------------img
|-------utils
|---pomo
|---theme-compat
That’s all for this post, but there’s more on the way :)
About the Author
Jeff Starr = Fullstack Developer. Book Author. Teacher. Human Being.
2 responses to “List All Files and Folders Recursively via Terminal”
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 thels
command. :)How would you attach file –mime-encoding to this?
ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'