I want to list all hidden files and directories and then save result to file.
Is there any command for this?
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).
-path is POSIX since 2008. -ls is not standard but quite common. 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 find . -name '.?*' avoids listing the current directory, designated by . With zsh (using the glob qualifier D):
print -rl ./**/.*(D) To include non-hidden files in hidden directories:
setopt extendedglob print -rl ./**/*~^*/.*(D) 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.