16

I want to list all hidden files and directories and then save result to file.

Is there any command for this?

4 Answers 4

14

If using GNU find, you can do

find /path -path '*/.*' -ls | tee output-file

Edit

To avoid to show non-hidden items contained in hidden directories

find /path -name '.*' >output-file

(as noted, tee could be avoided if you do not need to see the output, and -ls option should be used only if required).

3
  • This also lists the contents of hidden directories, which isn't what the question asks for (probably — it is a little ambiguous). Commented Aug 7, 2011 at 19:53
  • @Gilles: indeed it is ambiguous. Edited the answer Commented Aug 7, 2011 at 20:00
  • Note that the first one is not GNU-specific. -path is POSIX since 2008. -ls is not standard but quite common. Commented Aug 25, 2015 at 13:34
14

To list the hidden files and directories in the current directory, including . and ..:

echo .*

To list the hidden files and directories in the current directory and its subdirectories recursively:

find . -name '.*'

If you want to save the results to a file, use a redirection:

find . -name '.*' >output-file.txt
1
  • find . -name '.?*' avoids listing the current directory, designated by . Commented Jan 28 at 8:40
1

With zsh (using the glob qualifier D):

print -rl ./**/.*(D)

To include non-hidden files in hidden directories:

setopt extendedglob
print -rl ./**/*~^*/.*(D)
0

You can actually put the same argument multiple times in the same command line:

find /storage/????-????/ -iname '.*' -iname "*" | tee -a file-list-micSD-20190801163729.fli

The tee -a command is able to display the command's output (or stdout) simultaneously whie writing it to a file. The -a options prevents clobbering and does append the information to the target output file instead.

/storage/????-????/ is an example path. It is the path to the MicroSD card of newer Android Mobile phones (there is also a terminal application for Android, with fewer commands but still many and significantly increased since Android 6.0). The MicroSD card was formerly /storage/extSdCard. Now, it is the volume serial number.

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.