Reading gz files with zcat
The Debian Policy Manual dictates that all packages should come with documentation. In order to save space in the debian archive these documents need to be compressed with gzip. There are a ton of these files floating around in the /usr/share/doc directory. Recently I wanted to read some of the documentation. If you try to open the file with cat it spits out binary gibberish. You can of course unzip the file as you normally would and open it up that way, but it turns out there is an easier way. Using zcat you can read the contents of compressed files just like you would with cat.
zcat is identical to gunzip -c. (On some systems, zcat may be installed as gzcat to preserve the original link to compress.) zcat uncompresses either a list of files on the command line or its standard input and writes the uncompressed data on standard output. zcat will uncompress files that have the correct magic number whether they have a .gz suffix or not. GZIP(1) man page.By default, this will put all of the output into your terminal window, which is fine for most files. The other place where this can come in handy is when you are trying to look through compressed log files. In this case, having to scroll around the terminal may not be a great option. You can pipe the output of zcat into other programs such as
less in order to be able to page through long files. For example, if I wanted to read the first 10 lines of a compressed log file, I could do so with the following command:levlaz@debvm:/var/log$ sudo zcat syslog.2.gz | head -n 10
May 2 22:27:43 debvm rsyslogd: [origin software="rsyslogd" swVersion="8.4.2" x-pid="585" x-info="https://www.rsyslog.com"] start May 2 22:27:43 debvm kernel: [ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x1a] high edge lint[0x1]) May 2 22:27:43 debvm kernel: [ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x1b] high edge lint[0x1]) May 2 22:27:43 debvm kernel: [ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x1c] high edge lint[0x1]) May 2 22:27:43 debvm kernel: [ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x1d] high edge lint[0x1]) May 2 22:27:43 debvm kernel: [ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x1e] high edge lint[0x1]) May 2 22:27:43 debvm kernel: [ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x1f] high edge lint[0x1]) May 2 22:27:43 debvm kernel: [ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x20] high edge lint[0x1]) May 2 22:27:43 debvm kernel: [ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x21] high edge lint[0x1]) May 2 22:27:43 debvm kernel: [ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x22] high edge lint[0x1])
Thank you for reading! Share your thoughts with me on bluesky, mastodon, or via email.
Check out some more stuff to read down below.
Most popular posts this month
- SQLite DB Migrations with PRAGMA user_version
- My Custom Miniflux CSS Theme
- Convert Markdown to PDF in Sublime Text
- Making cgit Pretty
- Using cgit
Recent Favorite Blog Posts
This is a collection of the last 8 posts that I bookmarked.
- My Running Tips from Kevin Bell's Blog
- tweet from Derek Sivers blog
- Rewrote my blog with Zine from Drew DeVault's blog
- A eulogy for Vim from Drew DeVault's blog
- Pluralistic: AI "journalists" prove that media bosses don't give a shit (11 Mar 2026) from Pluralistic: Daily links from Cory Doctorow
- Offline 23 hours a day from Derek Sivers blog
- Pluralistic: California can stop Larry Ellison from buying Warners (28 Feb 2026) from Pluralistic: Daily links from Cory Doctorow
- On Alliances from Smashing Frames
Articles from blogs I follow around the net
i’m calling it ‘wil wheatcon’ until i can think of something better
In an average year, I travel to around 5 or 6 cities for conventions. Almost every time I announce an appearance, the most common response is some version of “that’s great! When are you coming to [my town]?” I’m not coming to your town, but I am coming to...
via WIL WHEATON dot NET May 20, 2026On people writing about their use of AI
I find the trend of people posting about the way they use generative AI to be fascinating at an anthropological level. I do not remember the last time a piece of technology pushed so many different people into writing about the way they use it, or not use...
via Manuel Moreale — Everything Feed May 20, 2026Exporting Vinted Sold Data
A little javascript snippet to grab Vinted sales data from the website
via Robb Knight • Posts • Atom Feed May 20, 2026Generated by openring