How to Identify Working Directories Using Shell Characters and Variables

Some of the special directories that a Linux user is bound to work with so many times on a shell command line include the user’s home directory, the current and previous working directories.

Therefore, understanding how to easily access or pinpoint these directories using certain unique methods can be a bonus skill for a new or any Linux user.

Identify Working Directories Using Shell Characters and Environment Variables

Identify Working Directories Using Shell Characters and Environment Variables

In this tips for newbies, we shall look at ways of how a user can identify his/her home, current and previous working directories from the shell using special shell characters and environment variables.

1. Using Specific Shell Characters

There are certain specific characters that are understood by the shell when we are dealing with directories from the command line. The first character we shall look at is the tilde (~): it is used to access the current user’s home directory:

$ echo ~
Display User Home Directory

Display User Home Directory

Suggested Read: Learn ‘echo’ Command with This 15-Practical Examples

The second is the dot (.) character: it represents the current directory that a user is in, on the command line. In the screen shot below, you can see that the command ls and ls . produce the same out put, listing the contents of the current working directory.

$ ls
$ ls .
List Contents of Current Working Directory

List Contents of Current Working Directory

Suggested Read: Master ‘ls’ Command with This Basic 15-Practical Examples

The third special characters are the double dots (..) which represent the directory directly above the current working directory that a user is in.

In the image below, the directory above /var is the root directory (/), so when we use the ls command as follows, the contents of (/) are listed:

$ ls ..
Print Contents of Parent Directory

Print Contents of Parent Directory

Suggested Read: 7 Quirky ‘ls’ Command Tricks Every Linux User Should Know

2. Using Environmental Variables

Apart from the characters above, there are also certain environmental variables meant to work with the directories we are focusing on. In the next section, we shall walk through some of the important environmental variables for identifying directories from the command line.

$HOME: its value is the same as that of the tilde (~) character – the current user’s home directory, you can test that by using the echo command as follows:

$ echo $HOME
Print User Home Directory

Print User Home Directory

$PWD: in full, it stands for – Print Working Directory (PWD), as the name implies, it prints the absolute path of the current working directory in the shell command line as below:

$ echo $PWD 
Print Present Working Directory

Print Present Working Directory

$OLDPWD: it points to the directory a user was in, just before moving to the current working directory. You can access its value as below:

$ echo $OLDPWD
Print Parent Directory

Print Parent Directory

Suggested Read: 15 ‘pwd’ (Print Working Directory) Command Examples in Linux

3. Using Simple cd Commands

Additionally, you can also run some simple commands to quickly accessing your home directory and previous working directory. For example, when you are in any part of your file system on the command line, typing cd and hitting Enter will move you to your home directory:

$ echo $PWD
$ cd
$ echo $PWD
Switch to User Home Directory

Switch to User Home Directory

You can also move to the previous working directory using the command cd - command as below:

$ echo $PWD
$ echo $OLDPWD
$ cd - 
$ echo $PWD
Switch to Previous Working Directory

Switch to Previous Working Directory

In this post, we moved through some simple yet useful command line tips for new Linux users to identify certain special directories from within the shell command line.

Do you have any thoughts in terms of Linux tips you want to share with us or questions concerning the subject matter, then use the comment form below to get back to us.

Best Affordable Linux and WordPress Services For Your Business
Outsource Your Linux and WordPress Project and Get it Promptly Completed Remotely and Delivered Online.

If You Appreciate What We Do Here On TecMint, You Should Consider:

  1. Stay Connected to: Twitter | Facebook | Google Plus
  2. Subscribe to our email updates: Sign Up Now
  3. Get your own self-hosted blog with a Free Domain at ($3.45/month).
  4. Become a Supporter - Make a contribution via PayPal
  5. Support us by purchasing our premium books in PDF format.
  6. Support us by taking our online Linux courses

We are thankful for your never ending support.

Ravi Saive

I am Ravi Saive, creator of TecMint. A Computer Geek and Linux Guru who loves to share tricks and tips on Internet. Most Of My Servers runs on Open Source Platform called Linux. Follow Me: Twitter, Facebook and Google+

Your name can also be listed here. Got a tip? Submit it here to become an TecMint author.

RedHat RHCE and RHCSA Certification Book
Linux Foundation LFCS and LFCE Certification Preparation Guide

You may also like...

2 Responses

  1. Shawn H Corey says:

    To see all environment variables: env | sort

Leave a Reply to Shawn H Corey Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.