Technical News and Knowledge Base Articles along with How to Step by Step Guides for SMB and Enterprise

Navigating the File System in Ubuntu 24.04 Using BASH Commands

Navigating the file system in Ubuntu 24.04 using BASH commands is an essential skill for any Linux user. This article will cover the main folders, basic and advanced navigation commands, and tips for efficiently managing files and directories.

Understanding the File System Structure

Ubuntu, like other Linux distributions, follows the Filesystem Hierarchy Standard (FHS). Here is a brief overview of the main directories:

  • /: The root directory is the top-level directory of the file system.
  • /bin: Contains essential binary executables for all users, such as ls, cp, and mkdir.
  • /boot: Holds files required for the boot process, including the kernel and bootloader configurations.
  • /dev: Contains device files that represent hardware components and peripherals.
  • /etc: Stores configuration files for the system and installed applications.
  • /home: Each user has a personal directory here, e.g., /home/username.
  • /lib: Holds shared libraries needed by binaries in /bin and /sbin.
  • /media: Mount points for removable media such as USB drives.
  • /mnt: Temporarily mounted filesystems.
  • /opt: Used for optional software packages.
  • /proc: Virtual filesystem providing information about system processes and kernel parameters.
  • /root: The home directory for the root user.
  • /sbin: Contains essential system binaries, typically used by the root user.
  • /srv: Data for services provided by the system.
  • /tmp: Temporary files created by applications and the system.
  • /usr: Secondary hierarchy for read-only user data; contains the majority of user commands and utilities.
  • /var: Variable data files such as logs, databases, and spool files.

Basic Navigation Commands

Listing Files and Directories

  • ls: Lists files and directories in the current directory.
  • ls -l: Lists files and directories with detailed information.
  ls -l
  • ls -a: Includes hidden files (those starting with a dot).
  ls -a

Changing Directories

  • cd [directory]: Changes the current directory to the specified directory.
  cd /home
  cd /home/username/Documents
  • cd ~: Changes to the home directory of the current user.
  cd ~
  • cd ..: Moves up one directory level.
  cd ..
  • cd -: Switches to the previous directory.
  cd -

Displaying the Current Directory

  • pwd: Prints the current working directory.

Creating and Removing Directories

  • mkdir [directory]: Creates a new directory.
  mkdir new_directory
  • rmdir [directory]: Removes an empty directory.
  rmdir empty_directory

Advanced Navigation and File Management

Copying and Moving Files

  • cp [source] [destination]: Copies files or directories.
  cp file.txt /home/username/Documents/
  cp -r dir1 /home/username/Documents/
  • mv [source] [destination]: Moves or renames files or directories.
  mv file.txt /home/username/Documents/
  mv oldname.txt newname.txt

Deleting Files and Directories

  • rm [file]: Removes a file.
  rm file.txt
  • rm -r [directory]: Removes a directory and its contents recursively.
  rm -r directory/

Searching for Files and Directories

  • find [path] -name [filename]: Searches for files and directories by name.
  find /home/username -name "file.txt"
  • locate [filename]: Quickly searches for files and directories using an indexed database.
  locate file.txt
  • grep [pattern] [file]: Searches for a specific pattern within a file.
  grep "search_term" file.txt

Viewing File Contents

  • cat [file]: Concatenates and displays file contents.
  cat file.txt
  • less [file]: Displays file contents one page at a time.
  less file.txt
  • head [file]: Displays the first few lines of a file.
  head -n 10 file.txt
  • tail [file]: Displays the last few lines of a file.
  tail -n 10 file.txt

Tips and Tricks

Using Wildcards

  • *: Matches any number of characters.
  ls *.txt
  • ?: Matches a single character.
  ls file?.txt

Combining Commands

  • &&: Runs the next command only if the previous one succeeds.
  mkdir new_dir && cd new_dir
  • ||: Runs the next command only if the previous one fails.
  cd non_existing_dir || echo "Directory does not exist"
  • ;: Runs multiple commands sequentially.
  cd new_dir; ls; cd ..


Create shortcuts for frequently used commands by defining aliases in your ~/.bashrc file.

alias ll='ls -l'
alias la='ls -a'
alias lla='ls -la'

After adding aliases, apply the changes by running:

source ~/.bashrc

Permissions Management

  • chmod [permissions] [file]: Changes file or directory permissions.
  chmod 755
  • chown [owner]:[group] [file]: Changes file or directory ownership.
  chown user:group file.txt
  • chgrp [group] [file]: Changes file or directory group ownership.
  chgrp group file.txt

Monitoring Disk Usage

  • df -h: Displays disk space usage in human-readable format.
  df -h
  • du -sh [directory]: Summarizes disk usage of a directory.
  du -sh /home/username


Navigating the file system in Ubuntu 24.04 using BASH commands is straightforward once you understand the basic structure and commands. This guide covers the essential commands and provides useful tips to enhance your file management skills. With practice, these commands will become second nature, making you more efficient and proficient in managing your Linux system.



, ,



Leave a Reply

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