How can I generate a list of files with their absolute path in Linux?
absolute-path, command-line, linux, ls
Solution
If you give `find` an absolute path to start with, it will print absolute paths. For instance, to find all .htaccess files in the current directory:
find "$(pwd)" -name .htaccess
or if your shell expands `$PWD` to the current directory:
find "$PWD" -name .htaccess
`find` simply prepends the path it was given to a relative path to the file from that path.
Greg Hewgill also suggested using `pwd -P` if you want to resolve symlinks in your current directory.
Problem
I am writing a shell script that takes file paths as input. For this reason, I need to generate recursive file listings with full paths. For example, the file `bar` has the path: ``` /home/ken/foo/bar ``` but, as far as I can see, both `ls` and `find` only give relative path listings: ``` ./foo/bar (from the folder ken) ``` It seems like an obvious requirement, but I can't see anything in the `find` or `ls` man pages. How can I generate a list of files in the shell including their absolute paths?