Как да четем и да работим върху Gzip компресирани файлове в Linux

Кратко: Този кратък урок ви показва как да четете тези gzip компресирани лог файлове на кутия Linux.

На него FOSS най-често обсъждам десктоп Linux. Това е така, защото използвам десктоп Linux у дома и най-вече се занимавам с него. Докато съм на работа, аз (трябва) да използвам Windows 7 и да се свързвам към Linux машини чрез Putty. Ако работите в корпоративен сектор като софтуерен инженер, може да сте запознати с този вид настройка.

Докато работя на отдалечените кутии на Linux, използвам командния ред широко. През годините научих няколко съвета, трикове и най-добри практики в командния ред на Linux, както сами, така и от моите колеги.

И аз реших да споделя същите съвети за командния ред на Linux с вас на FOSS. В края на краищата, FOSS е създадена единствено с цел споделяне на Linux опит.

В тази статия ще видим как можете да четете и работите с gzip файлове.

Как да четете Gzip компресирани файлове в командния ред на Linux

Ако работите с бекенд журнали, може да сте забелязали, че те са компресирани предимно с разширение .gz. Това не е необичайно, защото компресирането на регистрационните файлове спестява много място за съхранение и по този начин спестява разходите за съхранение.

Но за разлика от обикновените текстови файлове, където можете да използвате cat, за да видите цялото съдържание на файла или да използвате командата grep върху него или да използвате по-малко за четене на съдържанието, без да наводнявате екрана, компресираните файлове не могат да се използват със същите редовни команди на Linux.

Не се притеснявайте, защото когато имате файлове с gzip, вие също имате мощни Z команди, които да работят върху тях.

Тези Z команди осигуряват "Z" еквивалент на обичайните команди за манипулиране на файлове.

Така че, вие получавате

  • zcat за котка, за да видите компресиран файл
  • zgrep за grep за търсене в компресирания файл
  • zless за по-малко, zmore за повече, за да видите файла на страници
  • zdiff за diff, за да види разликата между два компресирани файла

Най-доброто при използването на тези команди Z е, че не е необходимо да извличате компресираните файлове. Работи директно върху компресираните файлове.

Преглед на компресирани файлове с zcat

Ако използвате котка, можете да я замените с zcat. zcat се използва по същия начин, по който използвате котка. Например:

zcat logfile.gz 

Това ще покаже цялото съдържание на logfile.gz, без дори да го извлече. Всъщност, това е вид на извличане временно в / TMP, но това не е същото като действително извличане, нали?

Можете да използвате редовни по-малко команди с zcat, за да видите изхода в страниците:

 zcat logfile.gz | less 
 zcat logfile.gz | more 

Ако не знаете дали файлът е компресиран или не (т.е. файлове без разширение .gz), можете да използвате zcat с опция -f. Това ще покаже съдържанието на файла, независимо дали е с gzipped или не.

 zcat -f logfile.gz 

Четене на компресирани файлове с zless и zmore

Същото като по-малко и повече, можете да използвате zless и zmore, за да прочетете съдържанието на компресираните файлове, без да декомпресирате файловете. Всички клавишни комбинации за по-малко и повече работи същото.

 zless logfile.gz 
 zmore logfile.gz 

Търсене в компресирани файлове със zgrep

Grep е адски мощна команда и мисля, че една от най-използваните команди на Linux. zgrep е Z-еквивалент на grep, който ви позволява да търсите вътре в компресирани файлове без извличане.

Можете да го използвате с всички редовни опции на gerp. Например:

 zgrep -i keyword_search logfile.gz 

Сравняване на компресирани файлове с zdiff

Макар че това може да не е толкова полезно за огромни лог файлове, можете да използвате zdiff, за да видите разликата между компресираните файлове, по същия начин, по който използвате diff.

 zdiff logfile1.gz logfile2.gz 

Още трикове?

Това са някои от командите, които използвам за работа с компресирани лог файлове в командния ред на Linux. Ами ти? Имате някои трикове в ръкавите си относно компресираните файлове, които може да искате да споделите с нас?

Препоръчано

Алтернативи на операционната система с отворен код към Android
2019
$ 2400 Ценен Въведение към Linux Курсът е достъпен безплатно за edX
2019
Албанската конференция с отворен код търси лектори
2019