Knowing where software is installed in Linux is crucial for troubleshooting, managing dependencies, and configuring system settings. Unlike Windows, where installed programs are typically found in C:\Program Files, Linux uses a more complex and organized filesystem.
To find where software is installed on Linux, use commands like which software-name for executables, where is software-name for multiple locations, or dpkg -L package-name (Debian) and rpm -ql package-name (RHEL) for installed files.
This article explores various ways to locate installed software on a Linux system.
Understanding Linux Filesystem Structure!
Linux organizes installed software in different directories depending on how they were installed:
- /bin and /usr/bin – System executables and common software
- /opt – Optional software, usually third-party apps
- /usr/local/bin – User-installed software
- ~/.local/bin – User-specific installations
Using the locate Command to Find Installed Software!
Another way to find where a software is installed on Linux is by using the locate command. This command searches for files quickly by using a pre-built database. To use it, first update the database with sudo updatedb, then run locate software-name. This will display all file paths related to the software.

However, locate might not always show the latest installed files unless the database is updated. It is a fast and efficient method to find software locations, especially when you need to locate multiple files related to a program.
Using the which Command!
Which command is useful for finding the executable path of a command?
which firefox
This command returns the path where Firefox is installed, if it exists in the system’s $PATH.
Using the whereis Command!
The whereis command provides additional information about a program:
whereis gcc
This shows the binary location, source files, and manual pages.
Using the locate Command!
The locate command finds files quickly:
locate vlc
Before using it, update the database with:
sudo updatedb
Using the find Command!
If locate does not yield results, find can search manually:
find / -name “vlc” 2>/dev/null
This searches for vlc across the entire filesystem, ignoring errors.
Read: When A Software Is Freemium What Does That Mean – A Comprehensive Guide!
Using the dpkg -L Command (For Debian-based systems)!
For Debian-based systems like Ubuntu, use:
dpkg -L firefox
This lists all files installed by the Firefox package.
Using the rpm -ql Command (For RHEL-based systems)!
For RPM-based distributions like Fedora, use:
rpm -ql firefox
This lists the files associated with the installed package.
Using pip show for Python Packages!
To find where a Python package is installed:
pip show numpy
This shows the installation path and metadata.
Using npm root -g for Node.js Packages!
For globally installed Node.js packages, use:
npm root -g
This displays the global installation directory.
Using flatpak list and snap list for Sandboxed Applications!
Flatpak and Snap package managers store software in different locations. Use:
flatpak list
snap list
To get package details and paths.
Checking Environment Variables ($PATH)!
The $PATH variable determines where executables are found:
echo $PATH
Adding directories to $PATH can make custom software accessible globally.
Finding Software Installed from Source!
Software compiled from source is usually found in /usr/local/bin/ or /opt/. When you install software from source, it does not go into the usual system folders like /usr/bin/. Instead, it is placed in /usr/local/bin/ or /opt/. This is done to keep system files separate from manually installed programs. If you cannot find your software, check /usr/local/bin/ or /opt/ first. Many programs installed this way are placed in these locations by default. You can open a terminal and use the ls command to see if the files are in /usr/local/bin/ or /opt/.

If you are unsure whether the software was installed correctly, checking the installation logs can help. These logs will show you where the software was placed. Look for messages that mention /usr/local/bin/ or /opt/. If the software is missing, you may need to check if the installation completed successfully. Sometimes, you might need to add /usr/local/bin/ or /opt/ to your system’s PATH to run the software easily. Always review the installation logs for details on the software’s location in /usr/local/bin/ or /opt/.
Graphical Methods to Find Installed Software!
1. Synaptic: A Graphical Tool for Managing Packages on Debian-Based Systems:
Synaptic is a useful tool for Debian-based systems like Ubuntu. It provides a simple way to install, update, and remove software using a graphical interface. Instead of using terminal commands, users can search for apps, check details, and manage software easily.
2. GNOME Software: A User-Friendly Package Manager for Fedora-Based Systems:
GNOME Software is a helpful tool for Fedora-based systems. It allows users to install and update software without using the terminal. With a clean and simple interface, users can browse available apps, check reviews, and manage updates with just a few clicks.
Read: Tristar Ai Junior Software Engineer Salary – Everything You Need To Know!
FAQs:
1. How do I check if a package is installed in Linux?
Use dpkg -l package-name (Debian) or rpm -q package-name (RHEL) to verify installation.
2. Why can’t which find my software?
It may not be in your $PATH. Use find or locate instead.
3. How do I find a missing command’s path?
Use whereis or find / -name command-name to search for it.
4. Where does Ubuntu install software from the Software Center?
Typically in /usr/bin/ or /snap/bin/ if using Snap packages.
5. How do I add a new software path to $PATH?
Edit ~/.bashrc or ~/.profile and add:
export PATH=”$PATH:/new/path”
Then run source ~/.bashrc.
Conclusion:
Finding installed software in Linux depends on the package manager, installation method, and filesystem structure. Commands like which, find, locate, dpkg -L, and rpm -ql make it easier to locate applications.