Pliki binarne grep

Pliki binarne grep
W dystrybucji Linuksa każdy dokument, który nie ma rozszerzenia tekstu, jest określany jako plik binarny, który zawiera wszystko, od poleceń systemowych i narzędzi po dokumenty obrazowe i generowane aplikacje. Jednak tylko dlatego, że te dokumenty są binarne, nie oznaczają, że nie można ich zbadać.

W rzeczywistości możesz użyć kilku instrukcji do pobierania informacji z plików formatu binarnego lub do pokazania ich zawartości. Przyjrzymy się opcji „-a” instrukcji GREP dla Ubuntu 20.04 Aby przetworzyć lub wykonywać dane plików binarnych jako tekst.

Zacznijmy od logowania z Ubuntu 20.04 System Linux. Zanim przejdziemy dalej, będziemy aktualizować nasz system, aby spełnić wymagania i uniknąć błędów.

Aktualizacja $ sudo apt-get

Upewnij się, że masz najnowsze narzędzie „GREP” skonfigurowane w Ubuntu 20.04 System. Jest to konieczne, ponieważ będziemy używać instrukcji „GREP” do przeszukiwania plików binarnych. Ten sam pakiet „apt-get” został tutaj wykorzystany ze słowem kluczowym „GREP” do jego zainstalowania. Przetwarzanie pokazuje, że zostało już skonfigurowane na naszym końcu.

$ sudo apt-get instaluj grep

Plik binarny vs plik tekstowy

W ramach tej ilustracji przyjrzymy się plikowi binarnemu i pliku tekstowego i przyjrzymy się szerokim różnicom. Powiedzieliśmy już, że plik mówi się, że jest binarny, jeśli nie ma rozszerzenia tekstu ani formatu tekstu. Utworzyliśmy 2 pliki tekstowe w katalogu domowym za pomocą instrukcji „dotyk” na naszej powładzie I.mi. jeden.txt i dwa.tekst.

Polecenie pliku, które rozpoznaje dokumenty według formatu, należy do najprostszych procedur wyodrębniania informacji z formatu binarnego. Instrukcja pliku przeważa rozszerzenie pliku, których używamy do oceny dokumentu. Zwróć uwagę na to, jak odpowiada na następującą instrukcję zastosowaną do plików tekstowych i.mi. Wyniki „puste”.

$ plik jeden.tekst
$ plik dwa.tekst

Powiedzmy, że masz plik formatu JPEG o nazwie „dziecko” w katalogu domowym I.mi. plik graficzny. Gdy użyjesz instrukcji „pliku”, wyświetli dane wyjściowe dla tego pliku w różnych metodach, w tym analiza treści, wyszukiwanie „magicznej liczby” (wskaźnik formatu pliku) i badanie składni. Ponieważ ten plik jest obrazem, pokazuje jego format i różne środki standardowe.

$ plik kochanie.JPEG

Cel Grep -a

Zgodnie z naszymi badaniami służy głównie do przetwarzania dowolnego rodzaju pliku binarnego jako prostego pliku typu tekstowego. Przed użyciem opcji „-a” instrukcji GREP na różnych typach plików przyjrzymy się na naszą pomoc specjalnie sformułowaną dla naszej pomocy. Instrukcja „strony człowieka” jest używana do tego celu, jak pokazano poniżej.

$ man grep

Strona Man dla „GREP” jest otwarta. Zobaczysz jego nazwę i składnię do użycia na powłoce.

Przewiń w dół nieco i w obszarze „Opcje”, znajdziesz opcję „-a” z jej opisem i użyciem do plików binarnych. Stwierdza, że ​​jest używany do przetwarzania dowolnych dokumentów binarnych jako prostego dokumentu tekstowego, a także możemy użyć jego alternatywnego „-binary-files = tekst” na powłoce.

Grep -a na pliku bash

Utwórzmy nowy plik bash, aby dodać do niego kod bash z instrukcją „dotyk” na powładzie. Nazwa tego pliku została przypisana jako „nowe.sh ”i został otwarty w ramach edytora Ubuntu„ GNU Nano ”dla łatwości i szybkiej reakcji.

W tym pliku bash dodaliśmy obsługę Bash I.mi. „#!/bin/bash ”. Następnie do wydrukowania tekstu „Hello World” użyto pojedynczego instrukcji „Echo”. Zapisz ten kod na chwilę.

Wykonując ten plik bash z instrukcją „bash” na skorupce, mamy na ekranie Shell na ekranie Shell „Hello World”.

$ bash nowy.cii

Teraz nadszedł czas, aby wykorzystać instrukcję GREP „-a” do wykonania „nowego.plik binarny sh ”. Użyliśmy go z opcją „-a” wraz z wzorem i nazwą pliku I.mi. "nowy.cii". Ponieważ podwójne cytaty pozostawiono nic przy pierwszym wykonaniu, wyświetlał cały kod pliku jako tekst.

Przy użyciu „przestrzeni”, „/”, „#”, „echo” i „hello” w innych egzekucjach, odpowiednie linie wzorów zostały wyświetlone, podczas gdy wszystkie pozostałe linie zostały wykluczone.

$ grep -a „” nowy.cii
$ grep -a „” nowy.cii
$ grep -a „/” nowy.cii
$ grep -a „#” nowy.cii
$ grep -a „echo” nowy.cii
$ grep -a „hello” nowy.cii

Możesz także użyć polecenia „grep -a” w połączeniu z poleceniem „CAT”, jak pokazano poniżej.

$ CAT NOWOŚĆ.sh | Grep -a „Hello”
$ CAT NOWOŚĆ.sh | Grep -A „świat”

Użyjmy alternatywnej opcji „-binary-files = tekst” opcji „-a” dla polecenia GREP w „nowym.plik binarny sh. Pokazuje to samo wyjście, które otrzymaliśmy dla opcji „-a”.

$ grep --binary -files = tekst „” nowy.cii
$ grep --binary -files = tekst „#” nowy.cii
$ grep --binary -files = tekst „/” nowy.cii
$ grep --binary -files = tekst „o” nowy.cii
$ grep --binary -files = tekst „” nowy.cii
$ grep --binary -files = tekst „echo” nowy.cii

Grep -a na pliku obrazu

Użyjmy opcji GREP „-a” dla pliku binarnego „JPEG”. Więc pobraliśmy plik obrazu „Kochanie.jpeg ”i umieścił go w folderze domowym.

$ ls

Zawiera obraz dziecięcy z pokazem.

Używając polecenia „grep -a” w „baby.jpeg ”, otrzymaliśmy niejednoznaczne wyjście niezdolne do zrozumienia przez normalną osobę. Wynika to z faktu, że plik binarny zawiera informacje o pikseli, których nie można przedstawić prostym tekstem.

$ grep -a „” kochanie.JPEG

Wniosek:

W tym artykule pokazano użycie polecenia „GREP” wraz z jego opcją „-a” do wyświetlania danych plików binarnych na powładzie. Omówiliśmy użycie polecenia „Plik” do wyświetlania informacji o pliku binarnym w porównaniu do prostego pliku tekstowego. Na koniec użyliśmy polecenia „GREP -A” w pliku bash i pliku obrazu, aby wyświetlić zawartość tych plików jako proste wyjście tekstowe. Po ćwiczeniu tych przykładów będziesz ekspertem od „GREP” dla Linuksa.