> ## Content Index
> Fetch the complete content index at: https://linuxhandbook.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# Get Absolute File Path in Linux
- URL: https://linuxhandbook.com/get-file-path/
- Published: 2022-09-13T10:28:20.000Z
- Updated: 2025-01-18T04:59:16.000Z
- Description: Here are different ways to get the absolute file paths in Linux command line.
- Author: Abhishek Prakash
- Tags: Quick Tip

You can get the full path of a directory with the [pwd command](https://linuxhandbook.com/pwd-command/):

```
pwd
```

But how do you get the absolute path of a file in Linux? 

There are several ways to print the full path of files:

- readlink
- realpath
- find
- combining ls and pwd

![Get file path in Linux](https://linuxhandbook.com/content/images/2022/09/get-full-file-path-linux.png)

Different ways to print full file path

Let me show you these commands one by one. But before that, I suggest brushing up on the [basics of the absolute and relative path](https://linuxhandbook.com/absolute-vs-relative-path/) concept first. 

[Absolute vs Relative Path in Linux: What’s the Difference?In this essential Linux learning chapter, know about the relative and absolute paths in Linux. What’s the difference between them and which one should you use.![](https://linuxhandbook.com/content/images/size/w256h256/2021/08/Linux-Handbook-New-Logo.png)Linux HandbookAbhishek Prakash![](https://linuxhandbook.com/content/images/2021/04/absolute-relative-path-linux.png)](https://linuxhandbook.com/absolute-vs-relative-path/)

## Use readlink to get file path

The purpose of the `readlink` command is to resolve symbolic links. You can use it to display the full path of a file like this: 

```
readlink -f filename
```

Here's an example:

```
abhishek@LHB:~$ readlink -f sample.txt 
/home/abhishek/sample.txt
abhishek@LHB:
```

## Use realpath to get full file path

The `realpath` command is used for resolving the absolute file names. Among other uses, it can show the full path to a file.

```
realpath filename
```

Take a look at this example:

```
abhishek@LHB:~$ realpath sample.txt 
/home/abhishek/sample.txt
abhishek@LHB:~$
```

If you use it with a symbolic link, it will show the real path of the original file. You can force it to **not follow the symbolic link**:

```
realpath -s filename
```

Here's an example where it showed the full path to the source file by default and then I forced it to show the symbolic link, not its original file.

```
abhishek@LHB:~$ realpath linking-park 
/home/abhishek/Documents/ubuntu-commands.md
abhishek@LHB:~$ realpath -s linking-park 

```

## Use the find command to get the absolute file path 

Here's the thing with the find command. Everything is relative to the directory you give it for search location.

If you give it . it will show the relative path. If you give it the absolute path of the directory, you'll get the absolute path of the files you are searching for.

Use the command substitution with the [find command](https://linuxhandbook.com/find-command-examples/) like this:

```
find $(pwd) -name filename
```

You can run it to find the full path of a single file:

```
abhishek@LHB:~$ find $(pwd) -name sample.txt
/home/abhishek/sample.txt
```

Or, you can use it with a bunch of files matching a certain pattern:

```
abhishek@LHB:~/Documents/eBooks$ find $(pwd) -name "*.pdf"
/home/abhishek/Documents/eBooks/think-like-a-programmer.pdf
/home/abhishek/Documents/eBooks/linux-guide.pdf
/home/abhishek/Documents/eBooks/absolute-open-bsd.pdf
/home/abhishek/Documents/eBooks/theory-of-fun-for-game-design.pdf
/home/abhishek/Documents/eBooks/Ubuntu 1804 english.pdf
/home/abhishek/Documents/eBooks/computer_science_distilled_v1.4.pdf
/home/abhishek/Documents/eBooks/the-art-of-debugging-with-gdb-and-eclipse.pdf
```

## Print full path with the ls command

Now this one is a bit tricky and messy.

You can use the environment variable PWD with ls command like this to display the files and directories with their absolute path:

```
ls -ld $PWD/*
```

You get an output like this:

```
abhishek@LHB:~/test$ ls -ld $PWD/*
-r--rw-r-- 1 abhishek abhishek    0 Jul 27 16:57 /home/abhishek/test/file2.txt
drwxrwxr-x 2 abhishek abhishek 4096 Aug 22 16:58 /home/abhishek/test/new

```

However, to print the full path of a file with the ls command, you'll have to use it like this: 

```
ls -l $PWD/filename
```

Not the cleanest solution but it works.

```
abhishek@LHB:~$ ls -l $PWD/sample.txt 
-rw-r--r-- 1 abhishek abhishek 12813 Sep  7 11:50 /home/abhishek/sample.txt
abhishek@LHB:~$ 
```

## Conclusion

I showed four different ways to get the full file path in Linux. The find and ls commands are common while realpath and readlink are hardly known to many Linux users. It's always good to learn new things, isn't it?