Dosyaların Yazdırılabilir Karakterlerini Komuta ilə göstərmək üçün necə

Yalnız oxunmaz ikili məzmunun olduğunu öyrənmək üçün bir redaktorda bir fayl açmağa cəhd etdiniz mi?

Linux "strings" komutu hər hansı bir faylda insan oxunan simvolları görmək imkanı verir.

"Strings" komutunun istifadəsinin əsas məqsədi siz baxdığınız hansı faylın işlənib hazırlanmasıdır, lakin mətn çıxarmaq üçün də istifadə edə bilərsiniz. Məsələn, faylları qəribə ikili formatda saxlayan xüsusi proqramdan bir faylınız varsa, faylda qoyduğunuz mətni çıxarmaq üçün "strings" istifadə edə bilərsiniz.

Düsturlar Komandanlığının nümunə istifadəsi

Strings komutunun gücünü nümayiş etdirmək üçün böyük bir yoldur LibreOffice Writer istifadə edərək sənəd yaratmaqdır.

Sadəcə LibreOffice Writer-ı açın və bəzi mətnləri daxil edin və sonra standart ODT formatında saxlaya bilərsiniz.

İndi bir terminal pəncərəsini açın (eyni anda CTRL, ALT və T düymələrini basın) və sonra faylları aşağıdakı kimi göstərmək üçün pişik əmrini istifadə edin:

pişik yourfilename.odt | daha çox

(Yaratdığınız faylın adı ilə yourfilename.odt faylını dəyişdirin)

Görəcəksəniz, oxunmaz bir mətnin bütün divarıdır.

Dosye keçmək üçün boşluq düyməsini basın. Təsadüfi bir şəkildə fayl daxilində, daxil etdiyiniz mətnlərdən birini görəcəksiniz.

Şerlər əmri insan oxunaqlı olan hissələri göstərmək üçün istifadə edilə bilər.

Ən sadə formada aşağıdakı əmri çalıştıra bilərsiniz:

strings yourfilename.odt | daha çox

Daha əvvəl olduğu kimi bir mətn duvarı görünəcək, ancaq insan kimi oxuya bilən yalnız mətn. Şanslı olursanız, mətninizi görə biləcəksiniz.

Ancaq bunun əsas olduğunu görə biləcəyiniz ilk satırdadır:

mimetypeapplication / vnd.oasis.opendocument.text

Faylın növü 2 səbəbdən bir LibreOffice Writer ODT faylı olduğunu bilirik:

  1. Fayl yaratdıq
  2. Uzadılması .ODT

Təsəvvür edin ki, siz fayl yaratmırsınız və ya bərpa edilmiş diskdə fayl tapdınız və faylın uzantısı yox idi.

Windows bərpa tez-tez 0001, 0002, 0003 və s. Kimi adlarla faylları bərpa edərdi. Faylların bərpası çox böyükdür, lakin bu faylların növləri nə bir kabus idi.

Dizgiləri istifadə edərək, faylın tipini işləyən bir şansınız var. Bir faylın bir opendocument.text fayl olduğunu bildiyiniz, ODT uzantısı ilə saxlaya və LibreOffice yazıcısında aça bilərsiniz.

Bir ODT faylı bilmədən halda əsasən sıxılmış bir fayldır. Sizinfilename.odt faylını yourfilename.zip ünvanına adlandırdığınız təqdirdə onu arxivləşdirmə vasitəsi ilə aça və hətta faylın açılmasını edə bilərsiniz.

Alternativ Davranışlar

Sətirlər əmri bir dosyanın içərisində bütün strings qaytarır, ancaq bir faylda başlanğıclanmış, yüklənmiş məlumat bölmələrindən strinqləri qaytarmaq üçün davranışı dəyişə bilərsiniz.

Bu dəqiq nə deməkdir? Heç kim bilə bilməz.

Faylın tipini öyrənmək və ya faylda xüsusi mətni axtarmaq üçün strinqlərdən istifadə etdiyini fərz etməli olur.

Sətirlər əmrini default davranışdan istifadə edərkən, siz ümid etdiyiniz çıxışları ala bilmirsinizsə, onda aşağıdakı əmrlərdən birini işləməyə cəhd edin:

strings -d sizin fayl

strings - data yourfilename

Əl səhifəsində bildirilmişdir ki, yuxarıdakı əmr strings-dən geri qaytarılmış çöp miqdarını azaltmağa kömək edə bilər.

"Strings" əmri minus d keçidinin default davranış olması üçün tərs olaraq işləmək üçün qurula bilər. Sisteminizdə bu vəziyyət varsa, aşağıdakı əmrləri istifadə edərək bütün məlumatları geri ala bilərsiniz:

strings-yourfilename

Çıxışını Formatlaşdırır

Hər bir mətn xətti ilə yanaşı faylın adını göstərmək üçün çıxışı içərisində mətni əldə edə bilərsiniz.

Bunu etmək üçün aşağıdakı əmrlərdən birini işləyin:

strings -f faylınız

strings - print-fayl-adı yourfilename

Çıxış indi belə bir şeyə baxacaq:

Sizin faylınız: mətn parçası

Sizin faylınız: başqa bir mətn parçası

Çıxışın bir hissəsi olaraq, həmin mətnin bir faylda göründüyünü də göstərə bilərsiniz. Bunu etmək üçün aşağıdakı əmri çalıştırın:

strings-yourfilename

Çıxış belə bir şeyə bənzəyir:

16573 sizin

17024 mətn

Ofset əslində sekkisiz ofsetdir, baxmayaraq ki sisteminiz üçün tərtib edilmiş strings asanlıqla hex və ondalık ofset də ola bilər.

İstədiyiniz ofsetin daha dəqiq bir şəkildə alınması aşağıdakı əmrləri istifadə etməkdir:

strings-yourfilename

strings-yourfilename

strings-yourfilename

Eksi t - offseti qaytarır və aşağıdakı xarakterli ofset növünü təyin edir. (yəni, d = decimal, o = sekizlik, h = hex).

Standart olaraq strings komanda hər bir yeni simli yeni bir xəttə yazır, lakin seçdiyiniz məhdudiyyəti təyin edə bilərsiniz. Məsələn, boru sembolünü ("|") istifadə edərək, məhdudlaşdırıcı aşağıdakı əmrləri yerinə yetirir:

strings -s "|" Sizin faylınız

String Limitini Ayarla

Varsayılan olaraq strings əmri satırdakı 4 yazdırılabilir simvolu bir string axtarır. Yalnız 8 yazdırılabilir simvol və ya 12 yazdırılabilir simvolu olan bir simli qaytarır ki, u mənim ayarlayabilirsiniz.

Bu məhdudiyyəti düzəltməklə mümkün olan ən yaxşı nəticəni əldə etmək üçün məhsulu uyğunlaşdıra bilərsiniz. Uzun bir düsturu axtarırsınızsa, faydalı mətni atma riskini çəkirsiniz, ancaq çox qısa bir müddətdə qısa bir müddətdə geri qayıtdığınız daha çox junkla başa ola bilərsiniz.

Dəmir limitini tənzimləmək üçün aşağıdakı əmri çalıştırın:

strings -n 8 offilename

Yuxarıda göstərilən nümunədə mən limiti 8-ə dəyişmişdim.

Seçdiyiniz sayı ilə 8 əvəz edə bilərsiniz.

Eyni şeyi etmək üçün aşağıdakı əmrləri də istifadə edə bilərsiniz:

strings --bytes = 8 sizin fayl

Boş yerə daxil edin

Varsayılan olaraq, strings əmri bir nişan və ya boşluq kimi yazdırılabilir bir xarakter kimi boşluqları ehtiva edir. Ona görə də "pişik matda oturdu" deyən bir simli varsa, strings əmri bütün mətni qaytarırdı.

Yeni satır simvolları və satır dönüşleri, default olaraq yazdırılabilir simvol hesab edilmir.

Satırları yeni xətt simvollarını və satırbaşlarını yazdırılabilir xarakterli işləmə strings kimi qəbul etmək üçün aşağıdakı şəkildə tapın:

strings -w yourfilename

Şifrəni dəyişdirin

Dizələrlə istifadə üçün 5 kodlama variantları mövcuddur:

Varsayılan 7 bit baytdır.

Şifrelemeyi dəyişdirmək üçün aşağıdakı əmri çalıştırın:

strings - sizin fayl adınız

strings - kodlaşdırma = s yourfilename

Yuxarıdakı əmrdə 7 bit bayt deməkdir mənim default "s" bildirdim. Sadəcə "s" ə seçdiyiniz şifrələmə məktubu ilə əvəz edin.

İkili Fayl Təsviri Adı dəyişdirin

Sisteminiz üçün nəzərdə tutulanlardan fərqli olaraq, ikili fayl identifikasiyalı kitabxananı fərqli şəkildə istifadə edəcəyi üçün strings davranışını dəyişə bilərsiniz.

Bu keçid mütəxəssislər üçün birdir. Istifadə etmək üçün başqa bir kitabxananız varsa, aşağıdakı strings əmrini verərək bunu edə bilərsiniz:

strings -T bfdname

Fayldan Oxu Seçimləri

Hər dəfə eyni variantlardan istifadə edəcəyi təqdirdə, hər dəfə komanda çalıştırdığınız zaman bütün açarları göstərmək istəmirsiniz, çünki vaxt tələb olunur.

Nano edə bilən bir mətn faylı yaradın və bu fayl içərisində olan variantları müəyyən edə bilərsiniz.

Bir terminal içərisində bunu sınamaq üçün aşağıdakı əmri çalıştırın:

nano stringsopts

Faylda aşağıdakı mətni daxil edin:

-f -o -n 3 -s "|"

Faylı CTRL və O düymələrinə basaraq saxlaya bilərsiniz və CTRL və X-ə basın.

Bu variantlarla strings əmrlərini çalıştırmaq üçün aşağıdakı əmri çalıştırın:

strings @stringsopts sizin fayl

Seçimlər fayl stringsopts-dan oxunacaq və faylın hər simli, ofset və "|" bir ayırıcı kimi.

Kömək almaq

Şerlər haqqında daha çox oxumaq istəyirsinizsə, yardım almaq üçün aşağıdakı əmri çalıştırabilirsiniz.

strings - yardımçı

Alternativ olaraq əl səhifəsini oxuya bilərsiniz:

insan strings

Qatarın hansı versiyasını tapın

Çalıştığınız dizgilərin versiyasını tapmaq üçün aşağıdakı əmrlərdən birini yerinə yetirin:

strings -v

strings -V

strings - dönüşüm