November 18

Linux: List only directories

  1. Using echo
    Example: echo */, echo */*/

cs/ draft/ files/ hacks/ masters/ static/
cs/code/ files/images/ static/images/ static/stylesheets/

  1. Using ls only
    Example: ls -d */
    Here is exactly what I got:

cs/ files/ masters/
draft/ hacks/ static/
Or as list (with detail info): ls -dl */

  1. Using ls and grep
    Example: ls -l | grep “^d” Here is what I got:

drwxr-xr-x 24 h staff 816 Jun 8 10:55 cs
drwxr-xr-x 6 h staff 204 Jun 8 10:55 draft
drwxr-xr-x 9 h staff 306 Jun 8 10:55 files
drwxr-xr-x 2 h staff 68 Jun 9 13:19 hacks
drwxr-xr-x 6 h staff 204 Jun 8 10:55 masters
drwxr-xr-x 4 h staff 136 Jun 8 10:55 static

  1. Bash Script (Not recommended for filename containing spaces)
    Example: for i in $(ls -d */); do echo ${i%%/}; done
    Here is what I got:

cs
draft
files
hacks
masters
static
If you like to have ‘/’ as ending character, the command will be: for i in $(ls -d */); do echo ${i}; done

cs/
draft/
files/
hacks/
masters/
static/


Copyright 2021. All rights reserved.

Posted November 18, 2021 by Timothy Conrad in category "Linux

About the Author

If I were to describe myself with one word it would be, creative. I am interested in almost everything which keeps me rather busy. Here you will find some of my technical musings. PGP: 4CB8 91EB 0C0A A530 3BE9 6D76 B076 96F1 6135 0A1B