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
- Now What?
- Setting up ANTLR4 on Windows
- SQLite DB Migrations with PRAGMA user_version
- Meritocracy?
- Possible Plagiarism Made me Cringe
Recent Favorite Blog Posts
This is a collection of the last 8 posts that I bookmarked.
- The Rise of Bluesky from Communications of the ACM
- Useful Bluesky Tools from Robb Knight • Posts • Atom Feed
- Re: Bluesky from Colin Devroe
- From the Red Hell to the Sky of Blue from Straphanger
- We don’t need to use what we make from Derek Sivers blog
- Ubuntu Summit 2024: A joyful experience filled with sorrow from Planet KDE | English
- Sabotage from jwz
- What if My Tribe Is Wrong? from Armin Ronacher's Thoughts and Writings
Articles from blogs I follow around the net
Storing times for human events
I've worked on various event websites in the past, and one of the unintuitively difficult problems that inevitably comes up is the best way to store the time that an event is happening. Based on that past experience, here's my current recommendati…
via Simon Willison's Weblog: Entries November 27, 2024Nothing is Something
There’s a post on htmx.org about why htmx wasn’t the right fit for a particular project (which is dope, we need more websites that admit their thing might not be the right thing all the time). The bit on AI being unfamiliar with their tool choice piqued my…
via Jim Nielsen’s Blog November 27, 2024Ella’s First Website
ULTRA PROUD DAD MOMENT: Ella made her first website! Melissa and I woke up on Saturday morning to our goofy 6-year-old daughter entering our bedroom making this obnoxious sound. It was impressively annoying, especially considering she hasn’t seen Dumb and…
via Blog – Brad Frost November 27, 2024Generated by openring