For various reasons it turns out to be convenient for each directory to have an entry that refers to itself (named "."), and another entry that refers to its parent (named ".."). These are used for working with relative paths. So if you write
then the relative paths ./abc/def.png and ../images are not simply handled by the parser to mean "relative to my current directory" and "relative to the parent of my current directory". They do have those meanings, but they are not handled by the parser: the file system itself has a "." and ".." entry that can be used to say where you will end up, without you needing to know where you already are.