How do I list just directory names under Linux and UNIX operating systems?
Under Linux or UNIX use the ls command to list files and directories. However, ls does not have an option to list only directories. You can use combination of ls and grep to list directory names only.shell
Type the following command:
$ ls -l | egrep `^d'
bash
Type the following command:
$ ls -l | egrep -v `^d'
spa
grep command used to searches input. It will filter out directories name by matching first character d. To reverse effect (just to display files) you need to pass -v option. It invert the sense of matching, to select non-matching lines.code
You can create two aliases as follows to list only directories and files.
alias lf="ls -l | egrep -v '^d'"
alias ldir="ls -l | egrep '^d'"
Put above two aliases in your bash shell startup file:
$ cd
$ vi .bash_profile
Append two lines:
alias lf="ls -l | egrep -v '^d'"
alias ldir="ls -l | egrep '^d'"
Save and close the file.ip
Now just type lf - to list files and ldir - to list directories only:
$ cd /etc
$ lf
Output:ci
-rw-r--r-- 1 root root 2149 2006-09-04 23:25 adduser.conf -rw-r--r-- 1 root root 44 2006-09-29 05:11 adjtime -rw-r--r-- 1 root root 197 2006-09-04 23:48 aliases -rw------- 1 root root 144 2002-01-18 13:43 at.deny -rw-r--r-- 1 root root 162 2006-09-22 23:24 aumixrc -rw-r--r-- 1 root root 28 2006-09-22 23:24 aumixrc1 .... .. ....
List directory names only:
$ cd /etc
Output:get
$ ldir
drwxr-xr-x 4 root root 4096 2006-09-22 16:41 alsa drwxr-xr-x 2 root root 4096 2006-09-20 20:59 alternatives drwxr-xr-x 6 root root 4096 2006-09-22 16:41 apm drwxr-xr-x 3 root root 4096 2006-09-07 02:51 apt drwxr-xr-x 2 root root 4096 2006-09-08 01:46 bash_completion.d .... ..... .
The find command can be used as follows to list all directories in /nas, enter:input
find /nas -type dfind /nas -type d -ls find . -type d -ls
Sample outputs:it
1070785 8 drwxrwxrwt 8 root root 4096 Jul 5 07:12 . 1070797 8 drwx------ 2 root root 4096 Jul 4 07:22 ./orbit-root 1070843 8 drwxr-xr-x 2 root root 4096 Jun 16 18:55 ./w 1070789 8 drwxr-xr-x 10 root root 4096 Jun 17 14:54 ./b 1071340 8 drwxr-xr-x 2 root root 4096 Jun 16 18:55 ./b/init.d 1071581 8 drwxr-xr-x 3 root root 4096 Jun 16 18:55 ./b/bind 1071584 8 drwxr-xr-x 2 root root 4096 Jun 16 18:55 ./b/bind/bak 1071617 8 drwxr-xr-x 2 root root 4096 Jun 16 18:55 ./b/fw 1071628 8 drwxr-xr-x 8 root root 4096 Jun 16 18:55 ./b/scripts