How to Generate a List of Files With Their Absolute Path in Linux

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.

creating a list of files with file absolute path in linux

How about:

$ find /path/ | awk -F/ -v OFS=, '{print $NF,$0}'

Add proper switches to find where needed.

List file using ls command in Linux with full path

You can use

  ls -lrt -d -1 "$PWD"/{*,.*}   

It will also catch hidden files.

How to get full path of a file?

Use readlink:

readlink -f file.txt

List files with absolute path recursive in linux

Check out the find command and its printf option.

find /foo/bar -printf "%p %A@"

See the man page of find for more information.

Find a file and export the full path to a list

find $PWD -type f -iname "*Hello.pdf" 

or

find . -type f -iname "*Hello.pdf" -exec realpath {} \;

how to list the classlist file with the absolute and relative path using LINUX command line?

4th command lists out all the file in the directory to filename classlist in the same directory.

What is an absolute path?

An absolute path is defined as the specifying the location of a file or directory from the root directory(/). In other words we can say absolute path is a complete path from start of actual filesystem from / directory

What is the relative path?

Relative path is defined as path related to the present working directory(pwd). Suppose I am located in /var/log and I want to change directory to /var/log/kernel. I can use relative path concept to change directory to kernel.

Examples :

changing directory to /var/log/kernel by using relative path concept.

pwd
/var/log
cd kernel

Note: If you observe there is no / before kernel which indicates it’s a relative directory to present working directory.

Changing directory to /var/log/kernel using absolute path concept.

cd /var/log/kernel

Example 2: Present location is /abc/xyz, I am want to remove /abc/xyz/read/hello.txt file.

Using relative path:

rm read/hello.txt

Using absolute path:

rm /abc/xyz/read/hello.txt

SO ANSWERS TO YOUR QUESTIONS ARE

Show the ls command you ran with the absolute path

so absoulte path means full path.
Just open your terminal and you should know path of the directory you want to visit.
As you said in the question your path is /class/home/ i.e class is in root folder and home is inside it and you want to list out files in it so type

ls /class/home/ > classlist

Show the ls command you ran with the relative path

so now for relative path you will have to ennter into the directory one before the actual directory of home i.e. class
when you open your terminal you are in home directory by default i.e /Username/home

so type

 cd .. //it will take you back into class directory

if you want to check you can check it with `pwd`.
and it will show your present working directory.

do

ls  home/ >  classlist

How to obtain the absolute path of a file via Shell (BASH/ZSH/SH)?

Use realpath

$ realpath example.txt
/home/username/example.txt


Related Topics



Leave a reply



Submit