Bird
Raised Fist0
Linux CLIscripting~5 mins

which and whereis for commands in Linux CLI - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the which command do in Linux?
The which command shows the full path of the executable file that would run if you typed a command. It helps find where a command is located in your system's PATH.
Click to reveal answer
intermediate
What is the difference between which and whereis commands?
which shows the path of the executable that runs for a command. whereis shows locations of the binary, source, and manual files related to the command.
Click to reveal answer
beginner
How do you use which to find the path of the python3 command?
Type which python3 in the terminal. It will print the full path of the python3 executable if it is found in your PATH.
Click to reveal answer
intermediate
What kind of files does whereis locate for a command?
whereis locates the binary executable, source code files, and manual (man) pages related to a command.
Click to reveal answer
beginner
If which returns no output for a command, what does that mean?
It means the command is not found in any directory listed in your PATH environment variable, so it likely isn't installed or accessible from your current shell.
Click to reveal answer
What does the which command show?
AAll files related to a command including source and man pages
BThe last time the command was used
CThe size of the command's executable
DThe full path of the executable that runs for a command
Which command shows the binary, source, and manual files for a command?
Awhich
Bfind
Cwhereis
Dlocate
If you want to find where the ls command executable is, which command do you use?
Awhich ls
Bfind ls
Cwhereis ls
Dlocate ls
What does it mean if which returns no output for a command?
AThe command is broken
BThe command is not in your PATH
CThe command is hidden
DThe command is running
Which command would you use to find the manual page location for grep?
Awhereis grep
Bwhich grep
Cman grep
Dlocate grep
Explain how which and whereis commands help you find information about commands in Linux.
Think about what each command tells you about a program.
You got /4 concepts.
    Describe a situation where you would use which and another where you would use whereis.
    Consider simple command use vs deeper info needs.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does the which command do in Linux?
      easy
      A. Lists all files related to a command including source and man pages
      B. Displays the manual pages of a command
      C. Shows the full path of the executable that runs when you type a command
      D. Shows the current directory contents

      Solution

      1. Step 1: Understand the purpose of which

        The which command searches your PATH environment to find the executable file that runs when you enter a command.
      2. Step 2: Compare with other options

        whereis lists multiple locations including source and man files, not just the executable path. Manual pages are shown by man. Directory contents are shown by ls.
      3. Final Answer:

        Shows the full path of the executable that runs when you type a command -> Option C
      4. Quick Check:

        which = executable path [OK]
      Hint: Remember: which = executable path only [OK]
      Common Mistakes:
      • Confusing which with whereis
      • Thinking which shows manual pages
      • Assuming which lists all related files
      2. Which of the following is the correct syntax to find the location of the ls command using which?
      easy
      A. which -l ls
      B. which ls
      C. which --all ls
      D. which ls -a

      Solution

      1. Step 1: Recall basic which syntax

        The basic syntax to find the path of a command is simply which command_name. No extra flags are needed for a single path.
      2. Step 2: Analyze options

        Options like -l or --all are not standard or needed for basic usage. Adding -a or extra flags incorrectly after the command name is invalid.
      3. Final Answer:

        which ls -> Option B
      4. Quick Check:

        Simple syntax: which + command [OK]
      Hint: Use just 'which command' to find executable path [OK]
      Common Mistakes:
      • Adding unnecessary flags to which
      • Placing flags after command name
      • Using incorrect or unsupported options
      3. What will be the output of the command whereis bash on a typical Linux system?
      medium
      A. bash: /bin/bash /usr/share/man/man1/bash.1.gz
      B. bash: command not found
      C. /usr/bin/bash
      D. /bin/bash

      Solution

      1. Step 1: Understand whereis output format

        whereis shows multiple locations: the binary executable path, source files if any, and manual page locations.
      2. Step 2: Analyze typical output for bash

        On most systems, whereis bash returns the binary path like /bin/bash and the man page location like /usr/share/man/man1/bash.1.gz.
      3. Final Answer:

        bash: /bin/bash /usr/share/man/man1/bash.1.gz -> Option A
      4. Quick Check:

        whereis = binary + man files [OK]
      Hint: whereis shows binary and man page locations [OK]
      Common Mistakes:
      • Expecting only one path from whereis
      • Confusing whereis output with which output
      • Thinking whereis returns error if command exists
      4. You run which python3 but get no output. What is the most likely reason?
      medium
      A. Python3 is installed but hidden by a firewall
      B. You typed the command incorrectly
      C. which command is broken on your system
      D. Python3 is not installed or not in your PATH

      Solution

      1. Step 1: Interpret empty output from which

        If which returns nothing, it means it did not find the executable in any directory listed in your PATH environment variable.
      2. Step 2: Consider common causes

        Most often, this means the program is not installed or its executable directory is not in PATH. Typing errors usually cause an error message, not empty output. The command itself rarely breaks, and firewalls do not hide executables.
      3. Final Answer:

        Python3 is not installed or not in your PATH -> Option D
      4. Quick Check:

        No output from which = command missing or PATH issue [OK]
      Hint: No output means command not found in PATH [OK]
      Common Mistakes:
      • Assuming which is broken
      • Blaming firewall for missing executable
      • Ignoring PATH environment variable
      5. You want to find all locations related to the gcc compiler including binary, source, and manual files. Which command should you use?
      hard
      A. whereis gcc
      B. which gcc
      C. locate gcc
      D. find / -name gcc

      Solution

      1. Step 1: Understand the purpose of each command

        which shows only the executable path. locate searches a database for filenames but may show unrelated files. find searches the entire filesystem but is slow and may produce too many results.
      2. Step 2: Identify the command that shows binary, source, and manual files

        whereis is designed to show all related locations for a command including binary, source, and man pages, making it the best choice.
      3. Final Answer:

        whereis gcc -> Option A
      4. Quick Check:

        whereis = binary + source + man files [OK]
      Hint: Use whereis to find all related command files [OK]
      Common Mistakes:
      • Using which to find all files
      • Using locate without filtering results
      • Running find without knowing its slowness
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard