---
name: "head"
section: "1"
platform: "macos"
package: "text_cmds"
version: "199"
release: "macOS 26.5"
platforms: ["linux", "freebsd", "openbsd", "macos"]
url: "https://new.carta.tech/head"
---

# head(1)

display first lines of a file

## NAME

**head** – display first lines of a file

## SYNOPSIS

**head** \[**-n** *count* \| **-c** *bytes*\] \[*file ...*\]

## DESCRIPTION

This filter displays the first *count* lines or *bytes* of each of the specified files, or of the standard input if no files are specified. If *count* is omitted it defaults to 10.

The following options are available:

- **-c** *bytes*, **--bytes**=*bytes*

  Print *bytes* of each of the specified files.

- **-n** *count*, **--lines**=*count*

  Print *count* lines of each of the specified files.

If more than a single file is specified, each file is preceded by a header consisting of the string “==\> XXX \<==” where “XXX” is the name of the file.

## EXIT STATUS

The **head** utility exits 0 on success, and \>0 if an error occurs.

## EXAMPLES

To display the first 500 lines of the file *foo*:

```
$ head -n 500 foo
```

**head** can be used in conjunction with [tail(1)](/tail/1.md) in the following way to, for example, display only line 500 from the file *foo*:

```
$ head -n 500 foo | tail -n 1
```

## SEE ALSO

[tail(1)](/tail/1.md)

## HISTORY

The **head** command appeared in PWB UNIX.
