Filesystem Glossary
To make it easier to talk about filesystems, I use some technical terms you may be unfamiliar with. I have tried to compile all these terms here. As usual, you can press Ctrl-F to search for a term.
- Filesystem
- Used generally as throughout this series of articles, a metonymic expression for one’s collection of files and organization thereof, e.g., “My filesystem contains hundreds of bootleg Family Guy episodes”.
-
More technically, a piece of low-level software that manages files, allowing one to organize files and refer to them by names rather than having to identify their physical location on a disk (“open the file beginning at byte 239,000,000 and continuing for 20,000 bytes, please”). If you hear “the NTFS filesystem” or “the filesystem does not support files larger than 4 gigabytes”, it is this technical meaning in use.
- Directory
- Same thing as a folder in many operating systems.
- Parent directory / parent folder
- The folder “one level up” from a given file or folder,
or from the folder you’re currently in.
For instance, in the path
C:\Users\Soren\file.txt
,Soren
is the parent offile.txt
, andUsers
is the parent ofSoren
. In paths, the parent folder is often represented by..
, so if we were currently inC:\Users\Soren
,..
would refer toC:\Users
. - Root
- The folder that doesn’t have any parent folders.
On Mac and Linux computers, there is only one root,
called the root of the filesystem, and it’s written
/
. On Windows computers, the root is specific to a drive letter, withC:\
being referred to as the root of the drive. - Path
- A file’s name, prefixed with all the folders that you have to go through
to find that file in the hierarchy.
A typical path in Windows would be
C:\Users\Soren\file.txt
(start on theC:
drive, then go into theUsers
folder, then go into theSoren
folder, then look for thefile.txt
file). Paths may be absolute or relative. - Absolute path
- A path that starts all the way from the root.
Absolute paths begin with either a
/
or a drive letter, depending on your operating system (see Root). A typical absolute path on Mac or Linux would be/Users/Soren/file.txt
, and a typical absolute path on Windows would beC:\Users\Soren\file.txt
, - Relative path
- A path that implicitly starts from the folder you’re currently in,
rather than from the root of the drive.
Relative paths don’t begin with a
/
or a drive letter. For instance, if we were inC:\Users
,Soren\file.txt
would be a relative path toC:\Users\Soren\file.txt
. Relative paths often use..
to refer to the parent folder; if we were inC:\Users\Soren
,..\anotherfile.txt
would refer toC:\Users\anotherfile.txt
. - Slash / backslash
- On Windows, backslashes (
\
) are used to separate folders in a path. On Mac and Linux computers, forward slashes (/
) are used. You can sometimes get away with using the wrong one, but not always. If you have trouble remembering the difference between forward slashes and backslashes, imagine the slashes forming a hill:/\
. If you walk over the hill in left-to-right reading direction, the backslash is the back side of the hill, or the side you go back down. (Or if you have a standard US keyboard, it’s the key you always hit by mistake when you’re trying to hit Backspace!) - File extension
- The part of a filename after the final dot.
For instance, in
C:\my.documents\MyFile.docx
, the extension is.docx
. Usually, the file extension is used to identify what type the file is (a word-processor document, a JPG image, a PNG image, a text file, a program, etc.). Most software looks at the file extension to determine what type the file is. Microsoft Windows, oddly, hides this information from the user by default, even though it’s a proper part of the file’s name and poses a significant security risk, but this is easy enough to change.
- Link
- An identifier that isn’t interesting in itself but refers to something else that is. In filesystems, a special kind of file or folder that in some way allows a file or folder to be accessed from multiple places in the filesystem. Typically this takes the form of pointing to a different location. There are many different ways of implementing links.
- Target
- The thing a link points to.
- Follow
- The act of retrieving the target of a link.
- Shortcut
- In Windows, this is often considered synonymous with link, but “shortcuts” in Windows are really a specific type of link. To avoid confusion, I call these Windows shortcuts throughout this series and avoid plain shortcuts entirely.