head

Wyświetla początkowe linie pliku (domyślnie 10).

head to malutkie, ale codzienne narzędzie, które wyświetla początek pliku — domyślnie pierwsze 10 linii. Zamiast otwierać 2-gigabajtowy log w edytorze i czekać, aż komputer się podda, robisz head plik.log i w mgnieniu widzisz nagłówek, format danych albo pierwsze wpisy. To idealny towarzysz do podglądania CSV, logów, konfiguracji i wszystkiego, czego nie chcesz wczytywać w całości. Świetnie łączy się z potokami, gdzie ucina strumień do kilku pierwszych wierszy.

Składnia i najważniejsze opcje

Podstawowa forma to head [OPCJE] [PLIK...]. Bez pliku head czyta ze standardowego wejścia, więc działa też po pionowej kresce w potoku.

  • -n N — wyświetl pierwsze N linii zamiast domyślnych 10 (np. -n 20).
  • -c N — wyświetl pierwsze N bajtów zamiast linii; przyjmuje sufiksy jak K, M (np. -c 1K).
  • -n -N — pokaż wszystko oprócz ostatnich N linii (rozszerzenie GNU, uwaga na minus).
  • -q — tryb cichy: nie drukuj nagłówków z nazwami plików przy wielu plikach.
  • -v — zawsze drukuj nagłówek z nazwą pliku, nawet dla jednego pliku.
  • -z — separatorem linii jest bajt NUL zamiast znaku nowej linii (przydatne z find -print0).

Przykłady użycia

  • head /var/log/syslog — pokazuje 10 pierwszych linii loga, żebyś szybko zobaczył jego format.
  • head -n 1 dane.csv — wyciąga sam nagłówek pliku CSV, czyli nazwy kolumn.
  • ps aux --sort=-%mem | head -n 5 — pierwsze 5 procesów żrących najwięcej pamięci.
  • head -c 500 obrazek.bin — wypisuje 500 pierwszych bajtów, idealne do podglądu nagłówka pliku binarnego.
  • head -n 3 *.conf — początek każdego pliku .conf w katalogu, z nagłówkiem oddzielającym kolejne pliki.

Częste błędy i pułapki

Największa pułapka to przenośność: head -n -5 plik (wszystko poza ostatnimi 5 liniami) to rozszerzenie GNU. Na macOS i BSD domyślny head tego nie obsłuży i rzuci błędem — tam zainstaluj coreutils przez Homebrew albo użyj sed/awk. Druga rzecz: -c liczy bajty, nie znaki, więc na tekście UTF-8 z polskimi znakami łatwo przetniesz literę w połowie i zobaczysz krzaki. I pamiętaj, że head tylko czyta — niczego nie zmienia w pliku, więc nie bój się go odpalać na produkcji.

Powiązane komendy: tail (koniec pliku, plus podgląd na żywo z -f), cat, less, sed oraz awk.