command line – How can I generate a list of files with their absolute path in Linux?

command line – How can I generate a list of files with their absolute path in Linux?

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.

readlink -f filename 

gives the full absolute path. but if the file is a symlink, ull get the final resolved name.

command line – How can I generate a list of files with their absolute path in Linux?

Use this for dirs (the / after ** is needed in bash to limit it to directories):

ls -d -1 $PWD/**/

this for files and directories directly under the current directory, whose names contain a .:

ls -d -1 $PWD/*.*

this for everything:

ls -d -1 $PWD/**/*

Taken from here
http://www.zsh.org/mla/users/2002/msg00033.html

In bash, ** is recursive if you enable shopt -s globstar.

Leave a Reply

Your email address will not be published.