# Cheatsheet & Examples: tail

The `tail` command is used to display the last part of a file, typically the last 10 lines by default. It is commonly used for monitoring log files or reviewing the end of large text files.

## Display the last 10 lines of a file  
Example Usage:  
`tail filename.txt`  

What it does:  
Outputs the final 10 lines of the specified file.  

Command-line Arguments Explained:  
- `filename.txt`: The file to analyze. `tail` reads from this file and displays the last 10 lines.  

## Display a specified number of lines from the end of a file  
Example Usage:  
`tail -n 20 filename.txt`  

What it does:  
Prints the last 20 lines of the file.  

Command-line Arguments Explained:  
- `-n`: An option to specify the number of lines to display (as a parameter).  
- `20`: The number of lines to output from the end of the file.  
- `filename.txt`: The file to analyze.  

## Follow a file in real time as it grows  
Example Usage:  
`tail -f filename.log`  

What it does:  
Continuously outputs new lines appended to the file, useful for monitoring log files.  

Command-line Arguments Explained:  
- `-f`: An option to "follow" the file, keeping it open and displaying updates.  
- `filename.log`: The file to monitor for real-time changes.  

## Display lines starting from a specific line number  
Example Usage:  
`tail -n +50 filename.txt`  

What it does:  
Shows lines from the 50th line onward in the file.  

Command-line Arguments Explained:  
- `-n`: An option to define the number of lines.  
- `+50`: A parameter to start from line 50 (inclusive) instead of the end.  
- `filename.txt`: The file to process.  

## Display the last N bytes of a file  
Example Usage:  
`tail -c 100 filename.txt`  

What it does:  
Outputs the last 100 bytes of the file, useful for small sections of large files.  

Command-line Arguments Explained:  
- `-c`: An option to specify the number of bytes to display (as a parameter).  
- `100`: The byte count to retrieve from the end of the file.  
- `filename.txt`: The target file.  

## Reverse the file's output line by line  
Example Usage:  
`tail -r filename.txt`  

What it does:  
Prints the file's content in reverse order, starting from the last line.  

Command-line Arguments Explained:  
- `-r`: An option to reverse the output of the file.  
- `filename.txt`: The file to process in reverse.  

## Suppress headers when multiple files are processed  
Example Usage:  
`tail -q filename1.txt filename2.txt`  

What it does:  
Displays the last 10 lines of each file without headers, even for multiple files.  

Command-line Arguments Explained:  
- `-q`: An option to suppress the "filename" headers for multiple files.  
- `filename1.txt`: First file to analyze.  
- `filename2.txt`: Second file to analyze.  

## Show headers when processing a single file  
Example Usage:  
`tail -v filename.txt`  

What it does:  
Displays the last 10 lines of the file and includes the "filename" header.  

Command-line Arguments Explained:  
- `-v`: An option to show headers for the file, even when only one is used.  
- `filename.txt`: The file to analyze.  

## Wait for a specific process ID (PID) to terminate  
Example Usage:  
`tail --pid=1234 filename.txt`  

What it does:  
Waits until the specified PID stops before displaying the file's output.  

Command-line Arguments Explained:  
- `--pid=1234`: An option to track the process ID and pause until it exits.  
- `filename.txt`: The file to read after the PID terminates.  

## Retry opening a file if it is temporarily inaccessible  
Example Usage:  
`tail --retry filename.txt`  

What it does:  
Attempts toreopen the file if it is removed and recreated, avoiding errors.  

Command-line Arguments Explained:  
- `--retry`: An option to keep trying to open the file if it is not accessible initially.  
- `filename.txt`: The file to monitor.  

## Suppress error messages for non-existent files  
Example Usage:  
`tail --silent filename.txt`  

What it does:  
Avoids displaying error messages when attempting to read a missing file.  

Command-line Arguments Explained:  
- `--silent`: An alias for `-q`, suppressing headers and errors for multiple files.  
- `filename.txt`: The file to process.  

## Display help information  
Example Usage:  
`tail --help`  

What it does:  
Prints a usage summary and available options for `tail`.  

Command-line Arguments Explained:  
- `--help`: A flag to show help documentation.  

## Display version information  
Example Usage:  
`tail --version`  

What it does:  
Outputs the version of the `tail` utility installed on the system.  

Command-line Arguments Explained:  
- `--version`: A flag to show the program's version.
