Опитали ли сте някога да отворите файл в редактор само, за да разберете, че той съдържа нечетимо двоично съдържание?
Командата "низове" на Linux дава възможност да се видят човешко четимите символи във всеки файл.
Основната цел на командата "низове" е да разберете какъв тип файл търсите, но можете да го използвате и за извличане на текст. Например, ако имате файл от патентована програма, която съхранява файлове в странен бинарен формат, можете да използвате "низове", за да извлечете текста, който поставяте във файла.
Примерно използване на командата Струни
Чудесен начин да демонстрирате силата на командата за струните е да създадете документ, използвайки LibreOffice Writer.
Просто отворете LibreOffice Writer и въведете някакъв текст и го запазете в стандартния ODT формат.
Сега отворете терминален прозорец (натиснете CTRL, ALT и T едновременно) и след това използвайте командата cat за показване на файла както следва:
котката си Повече ▼
(Заменете yourfilename.odt с името на създадения от вас файл)
Това, което ще видите, е цяла стена от нечетлив текст.
Натиснете интервала, за да превъртите файла. Спорадично във файла ще видите част от текста, който сте въвели.
Командата низове може да се използва само за показване на части, които са човешки четими.
В най-простата форма можете да изпълните следната команда:
низове yourfilename.odt | Повече ▼
Както и преди, ще се появи стена от текст, но само текст, който можете да прочетете като човек. Ако имате късмет, тогава ще можете да видите текста си.
Това, което ще разберете, че е от ключово значение обаче, е на първия ред:
mimetypeapplication / vnd.oasis.opendocument.text
Знаем, че файловият тип е файл ODT на LibreOffice Writer по две причини:
- Създадохме файла
- Разширението е .ODT
Представете си, че не сте създали файла или сте намерили файла на възстановения диск и файлът няма разширение.
Възстановяването на Windows често възстановява файлове с имена като 0001, 0002, 0003 и т.н. Фактът, че файловете са били възстановени, е страхотно, но се опитва да разбере какви са тия файлове, които са кошмар.
Чрез използването на струни имате шанс да разберете типа на файла. Знаейки, че даден файл е файл opendocument.text означава, че можете да го запазите с разширението ODT и да го отворите в LibreOffice писател.
В случай, че не сте знаели, ODT файл е основно компресиран файл. Ако преименувате yourfilename.odt на yourfilename.zip, можете да го отворите в архивиращ инструмент и дори да разкоснете файла.
Алтернативни поведения
По подразбиране командата низове връща всички струни във файл, но можете да превключите поведението, така че да връщат низове от инициализираните, заредени секции с данни във файл.
Какво точно означава това? Никой не изглежда да знае.
Има смисъл да се предположи, че използвате низове, за да опитате или да откриете типа на файла, или да търсите конкретен текст във файл.
Ако при стартиране на командата низове, използвайки по подразбиране поведение, не получавате изхода, който се надявахте, след което опитайте да изпълните една от следните команди, за да видите дали това прави разлика:
Ръчната страница посочва, че горната команда може да помогне да се намали количеството боклуци, върнати от струните. Командата "низове" може да бъде настроена да работи обратно, така че превключвателят минус d да е по подразбиране. Ако това е така в системата, можете да върнете всички данни, като използвате следната команда: Можете да получите текста в изхода, за да покажете името на файла до всеки ред текст. За тази цел изпълнете една от следните команди: Изходът сега ще изглежда така: Като част от изхода можете също да показвате отместването на мястото, където се появява този текст във файл. За тази цел изпълнете следната команда: Резултатът ще изглежда така: Офсетът е всъщност осмият компенсиран, въпреки че в зависимост от начина, по който са компилирани низовете за вашата система, може лесно да бъде и шестнадесетичен или десетичен отместване. По-точен начин за получаване на отместването, което искате, е да използвате следните команди: По-малкото t означава връщане на отместването, а следният знак определя отместването. (т.е. d = десетично, o = осмо, h = шестнадесети). По подразбиране командата низове отпечатва всеки нов низ на нов ред, но можете да зададете разделителя по ваш избор. Например, за да използвате символа за тръби ("|") като разделител изпълнете следната команда: Командата низове по подразбиране търси поредица от 4 подлежащи на отпечатване знаци подред. Можете да коригирате по подразбиране, така че да връща само низ с 8 печатаеми знака или 12 печатаеми знака. Чрез коригиране на този лимит можете да приспособите изхода, за да постигнете най-добрия възможен резултат. Чрез търсене на низ, който е твърде дълъг, рискувате да пропуснете полезен текст, но като го направите твърде кратък, може да се окажете с много повече боклуци. За да коригирате ограничението за низи, изпълнете следната команда: В горния пример променях границата до 8.Можете да замените 8 с номера по ваш избор. Можете също така да използвате следната команда, за да направите едно и също нещо: По подразбиране командата за низове включва празно пространство, като например раздел или място, като отпечатващ знак. Ето защо, ако имате низ, който чете като "котката седна на мат", командата за струните ще върне целия текст. Новите символи на редовете и връщанията на каретата не се считат за подлежащи на печат знаци по подразбиране. За да се получат низове, за да се разпознават нови символи на линиите и каретата се връща като печатаем знак, изпълнете низовете по следния начин: Има 5 опции за кодиране за използване с низове: По подразбиране е 7-битов байт. За да промените кодирането, изпълнете следната команда: В горната команда, аз зададох по подразбиране "s", което означава 7 бита байт. Просто заменете "s" с кодиращата буква по Ваш избор. Можете да промените поведението на низовете, така че да използват различна библиотечна библиотека за дескриптори на файлове, различна от предоставената за вашата система. Този ключ е един за експертите. Ако имате друга библиотека, която да използвате, можете да го направите, като изпълните следната струна команда: Ако ще използвате едни и същи опции всеки път, тогава не искате да се налага да посочвате всички превключватели всеки път, когато изпълнявате командата, защото отнема време. Това, което можете да направите, е да създадете текстов файл с помощта на нано и да зададете опциите в този файл. За да изпробвате това в рамките на терминала, изпълнете следната команда: Във файла въведете следния текст: Запазете файла, като натиснете CTRL и O и излезте, като натиснете CTRL и X. За да стартирате командите на низовете с тези опции, изпълнете следната команда: Опциите ще бъдат прочетени от файловете stringsopts и трябва да видите името на файла преди всеки низ, отместването и "|" като сепаратор. Ако искате да прочетете повече за струните, можете да изпълните следната команда, за да получите помощ. Като алтернатива можете да прочетете и ръководството: За да намерите версията на низове, които изпълнявате, изпълнете една от следните команди:низове -d yourfilename
низове - дайте своето именизове - име на вашето име
Форматиране на изхода
низове -f yourfilename
низове - отпечатване на името на файлаyourfilename: част от текста
yourfilename: друг текстнизове - име на вашето име
16573 твоя
17024 текст
низовете - t d yourfilename
низовете - това е името на вашето именизовете - име на вашето именизовете "s" | "" yourfilename
Регулиране на границата на низовете
низове -n 8 yourfilename
низове - bytes = 8 yourfilename
Включете бялото пространство
низове -w yourfilename
Промяна на кодирането
низове - е вашето име на файл
низове - encoding = s yourfilename Промяна на името на двоичния файл
низове -T bfdname
Опции за четене от файл
nano stringsopts
-f -o -n 3 -s "|"
низовете @ stringsoptes yourfilename
Получаване на помощ
низове - помощ
мъжки струни
Разберете коя версия на струнни тече
низове -в
низове -Vнизове - версия