Using the command grep vs /usr/bin/grep

Why does using the command 'grep' automatically highlight words/letters?

When you use the 'grep' command without specifying the full path (i.e., just typing 'grep' in the terminal), it refers to the version of 'grep' that is located in the system's default search path, usually in '/bin' or '/usr/bin'. This version of 'grep' is often an alias or symlink to an enhanced version that includes additional options, such as automatic highlighting of matching words or letters. On the other hand, using the full path '/usr/bin/grep' calls a specific version that may not have the highlighting feature enabled, resulting in no automatic highlighting.

Explanation:

'grep' Command:
The 'grep' command is a powerful tool used in Unix-like operating systems for searching text patterns within files. When you enter 'grep' in the terminal, the system searches for this command in the default directories like '/bin' or '/usr/bin'. Most often, the version of 'grep' found in these directories is an alias or symlink to a more feature-rich version of 'grep' that includes automatic highlighting of matching words or letters.

Reason for Automatic Highlighting:

The reason why using the 'grep' command automatically highlights words/letters is due to the enhanced version of 'grep' that is typically present in the default directories. This enhanced version is configured to make the output more user-friendly by visually emphasizing the matches with color highlighting. As a result, users can quickly identify the relevant text patterns in the output.

Full Path '/usr/bin/grep':

When you explicitly use the full path '/usr/bin/grep' in the command line, you are specifically calling the version of 'grep' located in that directory. This version may lack the automatic highlighting feature found in the default 'grep' version, leading to a plain text output without any visual emphasis on matching words or letters. In conclusion, the use of the 'grep' command without specifying the full path enables automatic highlighting of words/letters, thanks to the enhanced version of 'grep' present in the default search path. Conversely, using the full path '/usr/bin/grep' results in no automatic highlighting, as this version may not include the highlighting feature.
← Estimating product backlog items in scrum The sleeping barber problem →