> For the complete documentation index, see [llms.txt](https://igb.mit.edu/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://igb.mit.edu/mini-courses/introduction-to-unix/files/viewing-file-contents.md).

# Viewing File Contents

* `cat`
  * Concatenates two files together, then prints content to STDOUT.
  * Colloquially, it's used to print out the contents of a single file.

```bash
# Start in ~/unixclass
cd ~/unixclass

cat arrayDat.txt
```

* `head`
  * By default, prints the first 10 lines of a file to STDOUT.
  * You can pass the `-n` flag to specify the number of lines to print.

```bash
# Start in ~/unixclass
cd ~/unixclass

# Print the first 10 lines of arrayDat.txt
head arrayDat.txt

# Print the first 5 lines of arrayDat.txt
head -n 5 arrayDat.txt
```

* `tail`
  * By default, prints the last 10 lines of a file to STDOUT.
  * You can pass the `-n` flag to specify the number of lines to print.

```bash
# Start in ~/unixclass
cd ~/unixclass

# Print the last 10 lines of arrayDat.txt
tail arrayDat.txt

# Print the last 5 lines of arrayDat.txt
tail -n 5 arrayDat.txt
```

* `less`
  * Lets you page through a long file or stream of text a.k.a. you can scroll.
  * Exit by pressing `q`

```bash
# Start in ~/unixclass
cd ~/unixclass

# Scroll through the contents of arrayDat.txt
less arrayDat.txt
```
