Question

I want to list only the files and folders that are hidden (starting with dot). When I use the command

ls .??*

I get the output

.gitignore

.git:
COMMIT_EDITMSG FETCH_HEAD     HEAD           ORIG_HEAD      branches       config         description    hooks          index          info           logs           objects        packed-refs    refs

I don't want the content in the folder. Instead I'm looking for the output which only lists the folders

.gitignore
.git [different color for the folders, like the normal ls]
Was it helpful?

Solution

try:

ls -d .*

fyi

   -d, --directory
          list directories themselves, not their contents

if your ls is not alias of other command, the output of above ls -d .* will output files/dirs in same line. If you want to have them each in its own line:

ls -d1 .*

if you want colored output:

ls -d1 --color=auto .*

OTHER TIPS

ls -d .??*

The -d switch makes ls treat directory arguments just like file arguments, and won’t list its contents, but instead show the usual output (manpage excerpt follows, thanks @fedorqui):

list directory entries instead of contents, and do not dereference symbolic links

It combines well with -l and others, and will, without any further switches, default to the usual multi-column view of ls.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top