What is a full path name?

I would like to understand what full path name really means. I have a file in my home directory called my_script. I assumed the full path name is ./my_script, meaning that it is in the root folder, but I am not sure. Can someone please enlighten me on that?


No, your assumption is wrong. The full path name for my_script file from your home directory is: /home/your_user_name/my_script. When you type ./my_script in terminal you actually try to execute the script (if is executable) and it will be executed only if your current working directory is /home/your_user_name/. To execute the script you can use also the full file path which is, as I said /home/your_user_name/my_script.

It is believed that a UNIX path name looks and feels like Internet addresses, thus result into compatibility. The full path name of the current working directory can be found in terminal by using the following command:

pwd

To find out the full path for your user home directory, you can use:

echo ~
echo $HOME
echo /home/$USER

The above three commands are equivalent.

To find out the full path name for a file you can use readlink command. For example, in your case:

cd ~
readlink -f my_script

Full path name really means the full path to that file or folder from the filesystem's / directory.

For example, the full path to your script is:

/home/your_username/my_script

Or, the full path name to the grep executable is

/bin/grep

As for the ./my_script, the symbol . stands for the current directory, so you actuallly say "Look under the current directory for a file or folder named my_script"