Linux Command Directory
This directory of Linux commands is from Linux in a Nutshell, 5th Edition.
Click on any of the 687 commands below to get a description and list of available options. All links in the command summaries point to the online version of the book on Safari Bookshelf.
grep [options] pattern [files]
Search one or more files for lines that match a regular expression pattern. Regular expressions are described in Chapter 7. Exit status is 0 if any lines match, 1 if none match, and 2 for errors. See also egrep and fgrep.
Don't suppress output lines with binary data; treat as text.
Print the byte offset within the input file before each line of output.
Print only a count of matched lines. With -v or --revert-match option, count nonmatching lines.
Define an action for processing directories. Possible actions are:
Read directories like ordinary files (default).
Recursively read all files under each directory. Same as -r.
Search for pattern. Same as specifying a pattern as an argument, but useful in protecting patterns beginning with -.
Take a list of patterns from file, one per line.
Print matched lines but not filenames (inverse of -l).
Ignore uppercase and lowercase distinctions.
List the names of files with matches but not individual matched lines; scanning per file stops on the first match.
Try to use memory mapping (mmap) to read input in order to save time.
Print lines and their line numbers.
Suppress normal output in favor of quiet mode; scanning stops on the first match.
Recursively read all files under each directory. Same as -d recurse.
Suppress error messages about nonexistent or unreadable files.
Print all lines that don't match pattern.
Match on whole words only. Words are divided by characters that are not letters, digits, or underscores.
Print lines only if pattern matches the entire line.
Print num lines of text that occur after the matching line.
Print num lines of text that occur before the matching line.
Print num lines of leading and trailing context. Default context is 2 lines.
Act like egrep, recognizing extended regular expressions such as (UN|POS)IX to find UNIX and POSIX.
Act like fgrep, recognizing only fixed strings instead of regular expressions. Useful when searching for characters that grep normally recognizes as metacharacters.
Expect the regular expressions traditionally recognized by grep (the default).
Display, before each line found, the name of the file containing the line. This is done by default if multiple files are submitted to a single grep command.
Print the version number and then exit.
When displaying filenames, follow each with a zero byte instead of a colon.
List the number of users who use tcsh:
grep -c /bin/tcsh /etc/passwd
List header files that have at least one #include directive:
grep -l '^#include' /usr/include/*
List files that don't contain pattern:
grep -c pattern files | grep :0