grep is used to search for strings and regular expressions in files and outputs. It has options like -i for case-insensitive searching, -v to return non-matching lines, and -r for recursive searching. cut filters out fields or columns delimited by a character like a colon. sort sorts data alphabetically or numerically with options like -r to reverse the sort order. uniq searches for duplicate lines and has options like -c to output a count of occurrences. tr translates characters between two given sets on a character-to-character basis. tail and head print the end or beginning of a file, with options to specify the number of lines.