The full pathname to a certain file or directory starting from the root directory.

A path is a unique location to a file or a folder in a file system of an OS.A path to a file is a combination of / and alpha-numeric characters.

Absolute Path-name

An absolute path is defined as the specifying the location of a file or directory from the root directory(/).
To write an absolute path-name:

  • Start at the root directory ( / ) and work down.
  • Write a slash ( / ) after every directory name (last one is optional)
  • For Example :

    $cat abc.sql
    

    will work only if the fie “abc.sql” exists in your current directory. However, if this file is not present in your working directory and is present somewhere else say in /home/kt , then this command will work only if you will use it like shown below:

    cat /home/kt/abc.sql
    

    In the above example, if the first character of a pathname is /, the file’s location must be determined with respect to root. When you have more than one / in a pathname, for each such /, you have to descend one level in the file system like in the above kt is one level below home, and thus two levels below root.

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

    Relative path

    Relative path is defined as the path related to the present working directly(pwd). It starts at your current directory and never starts with a / .

    To be more specific let’s take a look on the below figure in which if we are looking for photos then absolute path for it will be provided as /home/jono/photos but assuming that we are already present in jono directory then the relative path for the same can be written as simple photos.

    The full pathname to a certain file or directory starting from the root directory.

    Using . and .. in Relative Path-names

    UNIX offers a shortcut in the relative pathname– that uses either the current or parent directory as reference and specifies the path relative to it. A relative path-name uses one of these cryptic symbols:

    .(a single dot) - this represents the current directory.
    ..(two dots) - this represents the parent directory. 

    Now, what this actually means is that if we are currently in directory /home/kt/abc and now you can use .. as an argument to cd to move to the parent directory /home/kt as :

    $pwd
    /home/kt/abc
    $cd ..               ***moves one level up***
    $pwd
    /home/kt
    

    NOTE:Now / when used with .. has a different meaning ;instead of moving down a level,it moves one level up:

      
    $pwd
    /home/kt/abc        ***moves two level up***
    $cd ../..
    $pwd
    /home
    

    Example of Absolute and Relative Path

    Suppose you are currently located in home/kt and you want to change your directory to home/kt/abc. Let’s see both the absolute and relative path concepts to do this:

    1. Changing directory with relative path concept :
      $pwd
      /home/kt
      $cd abc                   
      $pwd
      /home/kt/abc         
      
    2. Changing directory with absolute path concept:
      $pwd
      /home/kt
      $cd /home/kt/abc
      $pwd
      /home/kt/abc
      

    This article is contributed by Dimpy Varshni. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to . See your article appearing on the GeeksforGeeks main page and help other Geeks.

    Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

In this lesson, we will introduce our first three commands: pwd (print working directory), cd (change directory), and ls (list files and directories).

Those new to the command line will need to pay close attention to this lesson since the concepts will take some getting used to.

File System Organization

Like Windows, the files on a Linux system are arranged in what is called a hierarchical directory structure. This means that they are organized in a tree-like pattern of directories (called folders in other systems), which may contain files and subdirectories. The first directory in the file system is called the root directory. The root directory contains files and subdirectories, which contain more files and subdirectories and so on and so on.

Most graphical environments include a file manager program used to view and manipulate the contents of the file system. Often we will see the file system represented like this:

The full pathname to a certain file or directory starting from the root directory.

One important difference between Windows and Unix-like operating systems such as Linux is that Linux does not employ the concept of drive letters. While Windows drive letters split the file system into a series of different trees (one for each device), Linux always has a single tree. Different storage devices may be different branches of the tree, but there is always just a single tree.

pwd

Since the command line interface cannot provide graphic pictures of the file system structure, we must have a different way of representing it. To do this, think of the file system tree as a maze, and that we are standing in it. At any given moment, we are located in a single directory. Inside that directory, we can see its files and the pathway to its parent directory and the pathways to the subdirectories of the directory in which we are standing.

The directory we are standing in is called the working directory. To see the name of the working directory, we use the pwd command.

[me@linuxbox me]$ pwd /home/me

When we first log on to our Linux system, the working directory is set to our home directory. This is where we put our files. On most systems, the home directory will be called /home/user_name, but it can be anything according to the whims of the system administrator.

To list the files in the working directory, we use the ls command.

[me@linuxbox me]$ ls Desktop Downloads foo.txt Pictures Templates Documents examples.desktop Music Public Videos

We will come back to ls in the next lesson. There are a lot of fun things you can do with it, but we have to talk about pathnames and directories a bit first.

cd

To change the working directory (where we are standing in the maze) we use the cd command. To do this, we type cd followed by the pathname of the desired working directory. A pathname is the route we take along the branches of the tree to get to the directory we want. Pathnames can be specified two different ways; absolute pathnames or relative pathnames. Let's look with absolute pathnames first.

An absolute pathname begins with the root directory and follows the tree branch by branch until the path to the desired directory or file is completed. For example, there is a directory on your system in which most programs are installed. The pathname of the directory is /usr/bin. This means from the root directory (represented by the leading slash in the pathname) there is a directory called "usr" which contains a directory called "bin".

Let's try this out:

me@linuxbox me]$ cd /usr/bin me@linuxbox bin]$ pwd /usr/bin me@linuxbox bin]$ ls '[' mshortname 2to3-2.7 mshowfat 411toppm mtools a2ps mtoolstest a2ps-lpr-wrapper mtr aa-enabled mtrace aa-exec mtr-packet aclocal mtvtoppm aclocal-1.15 mtype aconnect mutter acpi_listen mxtar add-apt-repository mzip addpart namei and many more...

Now we can see that we have changed the current working directory to /usr/bin and that it is full of files. Notice how the shell prompt has changed? As a convenience, it is usually set up to display the name of the working directory.

Where an absolute pathname starts from the root directory and leads to its destination, a relative pathname starts from the working directory. To do this, it uses a couple of special notations to represent relative positions in the file system tree. These special notations are "." (dot) and ".." (dot dot).

The "." notation refers to the working directory itself and the ".." notation refers to the working directory's parent directory. Here is how it works. Let's change the working directory to /usr/bin again:

me@linuxbox me]$ cd /usr/bin me@linuxbox bin]$ pwd /usr/bin

O.K., now let's say that we wanted to change the working directory to the parent of /usr/bin which is /usr. We could do that two different ways. First, with an absolute pathname:

me@linuxbox bin]$ cd /usr me@linuxbox usr]$ pwd /usr

Or, with a relative pathname:

me@linuxbox bin]$ cd .. me@linuxbox usr]$ pwd /usr

Two different methods with identical results. Which one should we use? The one that requires the least typing!

Likewise, we can change the working directory from /usr to /usr/bin in two different ways. First using an absolute pathname:

me@linuxbox usr]$ cd /usr/bin me@linuxbox bin]$ pwd /usr/bin

Or, with a relative pathname:

me@linuxbox usr]$ cd ./bin me@linuxbox bin]$ pwd /usr/bin

Now, there is something important that we must point out here. In most cases, we can omit the "./". It is implied. Typing:

me@linuxbox usr]$ cd bin

would do the same thing. In general, if we do not specify a pathname to something, the working directory will be assumed. There is one important exception to this, but we won't get to that for a while.

A Few Shortcuts

If we type cd followed by nothing, cd will change the working directory to our home directory.

A related shortcut is to type cd ~user_name. In this case, cd will change the working directory to the home directory of the specified user.

Typing cd - changes the working directory to the previous one.

Which directory is the root of the filesystem quizlet?

The / character represents the root directory of the Linux system. All other directories are located beneath the / (root directory) of the system. The /bin directory contains binary commands that are available to all users. The /boot directory contains the kernel and bootloader files.

Which command is used to display the current directory in the directory tree?

Use the ls command to display the contents of a directory. The ls command writes to standard output the contents of each specified Directory or the name of each specified File, along with any other information you ask for with the flags.

What command displays the entire contents of a file?

You can also use the cat command to display the contents of one or more files on your screen. Combining the cat command with the pg command allows you to read the contents of a file one full screen at a time. You can also display the contents of files by using input and output redirection.

Which Linux command is used to print the full contents of a file to the screen at once?

1. Cat. This is the simplest and perhaps the most popular command to view a file in Linux. Cat simply prints the content of the file to standard display i.e. your screen.