File System Navigation Commands in Linux
Last Updated :
23 Jul, 2025
Linux offers an alternative to the usual Windows and icons. The terminal might seem different at first, relying on text commands instead of a mouse. Unlike Windows, which relies heavily on a graphical interface, Linux gives you direct access to the core of your computer through text-based commands.
At the heart of Linux is its hierarchical file system, starting from the root directory /
. Unlike Windows, which uses drive letters like C:
or D:
, Linux organizes all files and directories under this single root, creating a unified structure. This design allows for consistent navigation and management of files across the system.

In this article, you’ll be going through a demonstration of Navigation Commands in Linux which will help in quickly navigating in the Linux file system. Let’s go through them, but before that have a short idea of the difference between Linux and Windows file systems.
Difference between Windows and Linux File System
Windows and Linux differ significantly in how they organize, access, and manage files within their operating systems.
Feature | Windows | Linux |
---|
Structure | Drives (C:, D:, etc.) and folders | Single, unified tree structure starting from root (/) |
---|
Case Sensitivity | Not case-sensitive | Case-sensitive |
---|
File Permissions | Simpler (user accounts) | More granular control (user, group, others) |
---|
File System | Primarily NTFS | Ext4 (most common) FAT32, NTFS (sometimes) |
---|
Overall Remarks | User-friendly, familiar interface | Flexible, powerful for advanced users |
---|
Commonly Used File System Navigation Commands
These commands help you navigate, organize, and manage files and directories within the Linux file system.
Linux Commands | Functions |
---|
pwd | Shows the current location. |
---|
ls | List files and folders. |
---|
cd | Change working directory. |
---|
mkdir | Used to create new folder. |
---|
rmdir | Remove an empty folder. |
---|
cp | Creating a copy of a file in a new location. |
---|
mv | Relocate files from one folder to another. |
---|
1. pwd (print working directory)
The pwd command shows the current location in the system. It tells you which folder you're currently in.
pwd

Observation
The current directory is /home/kali/Templates
2. ls (list files and directories)
The ls command is used to list the files and directories in the current directory. It provides an overview of what is inside a folder.
ls

Observation
All the files and folders present inside the current folder is listed.
3. cd (change directory)
The cd command is used to move between folders. You can tell it exactly which folder you want to go to (like giving it an address), or you can use shortcuts to get around. Let's look into both the methods.
Moving around nearby folder
If you want to move into a folder that's within the one you're already in, you can just use its name. For instance, if you're in your home directory and want to reach downloads.
cd [directory name]
cd Downloads

Observation
A. checking the current directory
B. using cd command to change the directory
C. observe the updated directory
Going to a Specific Folder
Imagine telling someone the full address to find your house. Similarly, you can do the same by giving the complete path to the folder. For example, you want to access the documents folder inside the username folder.
cd [directory path]
cd /home/username/documents

Observation
Directory StructureConsidering the above directory structure, the active directory was changed from Downloads to Documents by traversing from the home directory.
4. mkdir (make directory)
The mkdir command, an abbreviation for "make directory," allows you to create new folders within your existing file system. This provides a structured way to categorize and store your files.
mkdir [directory name]
mkdir GeeksForGeeks

Observation
A. User tried to create a new folder named GeeksForGeeks
B. changed the directory to newly created directory
C. The active directory is updated
5. rmdir (remove empty directory)
The rmdir command, short for "remove directory," enables you to delete empty directories. This is useful for cleaning up unused folders and maintaining a streamlined file system.
The syntax for rmdir is:
rmdir [directory_name]
Note: rmdir can only delete empty directories.

Observation
Observe that the empty directory was removed.
6. cp (copy)
The cp command acts like a duplicator, creating a copy of a file in a new location.
cp [source_file] [location]
For instance, to copy "image.jpg" from Downloads to Pictures while keeping the original, you'd use
cp ~/Downloads/image.jpg ~/Pictures

Obervation
A. Executing the copying command.
B. Changing the current active directory for checking.
C. Using the list command, we can observe that the image.jpg was copied.
7. mv (move)
The mv command is like a handy mover, allowing you to relocate files from one folder to another.
mv [source_file] [location]
For instance, to move a file named "image.jpg" from your Downloads folder to Documents, you'd use
mv ~/Downloads/image.jpg ~/Pictures

Observation
A. Executing the mv (move) command.
B. Changing the current active directory.
C. After executing ls (list) command, we can observe that the file has been transferred.
Additional Shortcut Tips
These quick symbols help you navigate the Linux file system more efficiently.
Serial No | Symbol | Symbol Name | Function |
---|
1 | ~ | tilde | shortcut to your home base |
---|
2 | . | dot | the folder you're in right now |
---|
3 | .. | double dot | the folder one level above |
---|
1. ~ (tilde) - shortcut in Linux
This symbol is like a shortcut to your home base. No matter where you are, typing tilde will always bring you back to your home folder.
cd ~

The active directory was updated to home.
2. . (dot) - shortcut in Linux
This simply means the folder you're in right now. If you're already inside a folder and want to work with something there, you can use the dot symbol.
3. .. (double dot) - shortcut in Linux
This means the folder one level above the one you're in, like going up a floor in a building. If you're deep inside folders and want to go back a step, this will take you to the bigger folder that contains the one you're in.
cd ..

Observation
A. The current directory is visible, and we execute the command.
B. The active directory is updated.
4. tree - seeing the bigger picture in Linux
This command isn't exactly for moving around, but it helps you see all the folders at once. It shows how all the folders are connected, like a family tree, so you can understand the bigger picture.
tree

All the files and folders of the active directory is listed.
Conclusion
The Linux terminal might seem daunting at first, but with a handful of basic commands, you've unlocked the ability to navigate the file system with ease. By using pwd to check your location, cd to move around, and ~, ., and .. for shortcuts, you can efficiently access files and folders. Remember, the tree command provides a helpful visual map of the directory structure.
As you gain confidence, there's a whole world of commands waiting to be explored. You can learn to copy, move, and delete files, create new directories, and even edit text files directly from the terminal. The possibilities are vast!
Do check out GeeksforGeeks Linux/Unix Tutorial
Similar Reads
Non-linear Components In electrical circuits, Non-linear Components are electronic devices that need an external power source to operate actively. Non-Linear Components are those that are changed with respect to the voltage and current. Elements that do not follow ohm's law are called Non-linear Components. Non-linear Co
11 min read
Spring Boot Tutorial Spring Boot is a Java framework that makes it easier to create and run Java applications. It simplifies the configuration and setup process, allowing developers to focus more on writing code for their applications. This Spring Boot Tutorial is a comprehensive guide that covers both basic and advance
10 min read
Class Diagram | Unified Modeling Language (UML) A UML class diagram is a visual tool that represents the structure of a system by showing its classes, attributes, methods, and the relationships between them. It helps everyone involved in a projectâlike developers and designersâunderstand how the system is organized and how its components interact
12 min read
Linux/Unix Tutorial Linux is one of the most widely used open-source operating systems. It's fast, secure, stable, and powers everything from smartphones and servers to cloud platforms and IoT devices. Linux is especially popular among developers, system administrators, and DevOps professionals.Linux is:A Unix-like OS
10 min read
Linux Commands Cheat Sheet Linux, often associated with being a complex operating system primarily used by developers, may not necessarily fit that description entirely. While it can initially appear challenging for beginners, once you immerse yourself in the Linux world, you may find it difficult to return to your previous W
13 min read
Python Variables In Python, variables are used to store data that can be referenced and manipulated during program execution. A variable is essentially a name that is assigned to a value. Unlike many other programming languages, Python variables do not require explicit declaration of type. The type of the variable i
6 min read
Spring Boot Interview Questions and Answers Spring Boot is a Java-based framework used to develop stand-alone, production-ready applications with minimal configuration. Introduced by Pivotal in 2014, it simplifies the development of Spring applications by offering embedded servers, auto-configuration, and fast startup. Many top companies, inc
15+ min read
25 Basic Linux Commands For Beginners [2025] While performing a task, we all need shortcuts. Shortcuts help us to complete a task quickly. Linux comes with such commands which are one to two words, using that commands, you can perform several operations in no time. As a beginner, you must be aware of those basic Linux commands to complete an o
13 min read
Backpropagation in Neural Network Back Propagation is also known as "Backward Propagation of Errors" is a method used to train neural network . Its goal is to reduce the difference between the modelâs predicted output and the actual output by adjusting the weights and biases in the network.It works iteratively to adjust weights and
9 min read
Polymorphism in Java Polymorphism in Java is one of the core concepts in object-oriented programming (OOP) that allows objects to behave differently based on their specific class type. The word polymorphism means having many forms, and it comes from the Greek words poly (many) and morph (forms), this means one entity ca
7 min read