Based on the question: How to make using command prompt less painful, what are the . and .. entries in the most voted answer? I see it when I do a dir command but it isn't visible to the user in the form of a file.

In case you dont know what I mean here's an example:


The . is the current directory, while .. signifies the parent directory. It makes things quicker at the command line as well so you don't need to type out full paths.


go up 2 directories:

cd ..\..\

or on a UNIX based system, to run executable binaries in the current directory:


A lot of UNIX scripts will also utilize . to represent the current directory, in order to scan for files for example (Perl):


opendir ( DIR, "." ) || die "Error opening current directory\n";
while( ($f = readdir(DIR))){

It is much more portable if you wish to move the script around to different directories or systems since a directory name is not hard-coded.

| improve this answer | |
  • 3
    It's little known, but the Windows command line extends this further. . = this directory .. = parent directory ... = parent's parent directory 3 dots is sometimes useful, much more than that and it's just too hard to deal with. – salmonmoose Sep 9 '09 at 3:57
  • 5
    3 dots does not work for me, using Vista – Kevin Panko Sep 13 '09 at 0:21
  • 1
    nor me on Windows 7 64 bit RTM. Sounds like a myth to me. what's wrong with ..\.. anyway? – AdamV May 26 '10 at 14:45
  • 2
    @salmonmoose: Doesn't work for me on XP either. – Simon P Stevens May 26 '10 at 14:59
  • 2

The .. is used to navigate up the hierarchy of the file system. It's useful when you don't want to type a long path, or when writing a script/program that doesn't know where exactly it will be installed but it knows that ../media/ should hold all the images/videos/icons etc.

The single dot . is useful in linux where you want to run an executable in the current directory so you type ./a.out because the command shell by default doesn't search the current directory for executable files (for security reasons).

The single dot . is also used if you want to pass the current directory as an argument to a command.

| improve this answer | |
  • 1
    PowerShell also doesn't include . in the path list for searching executables. – Joey Sep 8 '09 at 5:16
  • How to pass '.' as an argument to a command? – Calculus Nov 10 '17 at 5:51
  • @DeFu you pass the dot as a dot, for example: ls . – hasen Nov 10 '17 at 6:15
  • ls functions same as ls . – Calculus Nov 10 '17 at 6:31
  • @DeFu well yes but when you do ls . you are passing '.' as an argument to 'ls'; isn't that what you asked? It functions the same because by default ls lists the current directory, and . is the current directory. But you are passing it to the command, for sure. – hasen Nov 10 '17 at 9:20

The . is the current directory. You rarely need to use this; most commands will assume the current directory. The .. is the next level up; this is a rather useful shortcut. If you are in C:\foo\bar and you want to go to C:\foo\bar2 you can say

cd ..\bar2

and you will be in C:\foo\bar2. If you don't want to go to bar2 but only want to run C:\foo\bar.exe, then you can say


or ..\bar to run it without going back up to the parent directory. Of course, this is more useful when you are it represents a longer path that C:\foo (such as "C:\Users\Daniel\My Dropbox\".

| improve this answer | |
  • 1
    I find . to be quite useful at times, especially when copying or moving files to the current location (copy F:\*.foo .) or referring to it otherwise (start . opens the Explorer in the current directory, for example). – Joey Sep 8 '09 at 5:17

They stand for:


The current dir


Represents the parent dir

So if you have the executable "su.exe" in:

  • Your Path environment variable ( let say C:\MyExecutables\su.exe )
  • Your current dir
  • Your parent dir.

You could execute each one like this:


Executes the one in the Path


Executes the one in the current dir


Executes the one in the parent dir.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy