Si të tregoni figurat e printueshëm të një skedari me komandën e strings

A keni provuar ndonjëherë të hapni një skedar vetëm në një redaktor për të gjetur se përmban përmbajtje të palexueshme binare ?

Komanda "strings" e Linux bën të mundur shikimin e shkronjave të lexueshme të njeriut brenda çdo skedari.

Qëllimi kryesor i përdorimit të komandës "strings" është të përcaktojë se çfarë lloj skedari është ajo që po kërkoni, por gjithashtu mund ta përdorni për nxjerrjen e tekstit. Për shembull, nëse keni një skedar nga një program i pronarit i cili ruan skedarët në një format të çuditshëm binar, mund të përdorni "strings" për nxjerrjen e tekstit që futni në skedar.

Përdorimi i Shembujve të Komandës së Strings

Një mënyrë e shkëlqyer për të demonstruar fuqinë e komandës së strings është krijimi i një dokumenti duke përdorur LibreOffice Writer.

Thjesht hapni LibreOffice Writer dhe futni një tekst dhe pastaj ruani atë në formatin standard ODT .

Tani hapni një dritare terminali (shtypni CTRL, ALT dhe T në të njëjtën kohë) dhe pastaj përdorni komandën mace për të shfaqur skedarin si më poshtë:

cat yourfilename.odt | më shumë

(Zëvendësoni yourfilename.odt me emrin e skedarit që keni krijuar)

Ajo që do të shihni është një mur i tërë i tekstit të palexueshëm.

Shtypni spacebar për të lëvizur nëpër skedar. Në mënyrë sporadike në të gjithë dosjen do të shihni disa nga teksti që keni futur.

Komanda e vargjeve mund të përdoret për të shfaqur vetëm pjesët që janë të lexueshme njerëzore.

Në formën e tij më të thjeshtë ju mund të kryeni komandën e mëposhtme:

strings yourfilename.odt | më shumë

Si më parë, do të shfaqet një mur teksti, por vetëm tekst që mund të lexosh si njeri. Nëse jeni me fat atëherë do të jeni në gjendje ta shihni tekstin tuaj.

Ajo që do të mund ta shihni është çelësi, megjithatë, është në rreshtin e parë:

mimetypeapplication / vnd.oasis.opendocument.text

Ne e dimë se lloji i skedarit është një LibreOffice Writer file ODT për 2 arsye:

  1. Ne krijuam dosjen
  2. Shtesa është .ODT

Paramendoni se nuk keni krijuar skedarin ose keni gjetur skedarin në një disk të rikuperuar dhe skedari nuk ka një zgjatje.

Rimëkëmbja e Windows-it shpesh shënoi skedarë me emra si 0001, 0002, 0003 etj. Fakti që skedarët u gjetën është e madhe, por duke u përpjekur të kuptoj se çfarë lloje të këtyre skedarëve ishte një makth.

Duke përdorur vargjet ju keni një shans luftimi për të punuar nga lloji i skedarit. Duke ditur se një skedar është një dokument opendocument.text, do të thotë që mund ta ruani atë me zgjerimin e ODT dhe ta hapni atë në LibreOffice shkrimtar.

Në rast se nuk ishit në dijeni se një skedar ODT është në thelb një skedar i ngjeshur. Nëse riemëroni filename.odt te yourfilename.zip ju mund ta hapni atë në një mjet arkivimi dhe madje të hapni zipën e skedarit.

Sjelljet Alternative

Si paracaktim, komanda e vargjeve kthen të gjitha strings brenda një skedari, por ju mund të kaloni sjelljen në mënyrë që të kthejë vargjet nga seksionet e nisura dhe të ngarkuara të të dhënave në një skedar.

Çfarë do të thotë kjo saktësisht? Askush nuk duket të dijë.

Ka kuptim të supozojmë se po përdorni vargjet për të provuar ose të zbuloni llojin e skedarit ose të kërkoni tekst të veçantë në një skedar.

Nëse gjatë ekzekutimit të komandës së vargjeve duke përdorur sjelljen e parazgjedhur, nuk merrni produktin për të cilin po shpresonit, atëherë provoni të përdorni një nga komandat e mëposhtme për të parë nëse ndryshon:

strings -d yourfilename

strings --data yourfilename

Faqja manuali deklaron se komanda e mësipërme mund të ndihmojë për të zvogëluar sasinë e mbeturinave të kthyer nga strings.

Komanda "strings" mund të jetë ngritur për të punuar në të kundërt në mënyrë që kaloni minus d është sjellja e paracaktuar. Nëse ky është rasti në sistemin tuaj atëherë mund t'i ktheni të gjitha të dhënat duke përdorur komandën e mëposhtme:

strings -a yourfilename

Formati i prodhimit

Ju mund të merrni tekstin brenda prodhimit për të shfaqur emrin e skedarit së bashku me çdo rresht të tekstit.

Për ta bërë këtë, kryeni një nga komandat e mëposhtme:

strings -f yourfilename

vargjet - print-file-name yourfilename

Produkti tani do të duket diçka e tillë:

yourfilename: një pjesë e tekstit

yourfilename: një pjesë tjetër e tekstit

Si pjesë e prodhimit ju gjithashtu mund të shfaqni kompensimin e asaj se ku teksti shfaqet në një skedar. Për ta bërë këtë, kryeni komandën e mëposhtme:

vargjet - ose emrin tuaj

Produkti do të duket diçka e tillë:

16573 tuaj

17024 tekst

Zhvendosja është në fakt kompensimi oktal, edhe pse varësisht nga mënyra se si skedarët janë përpiluar për sistemin tuaj, mund të jetë lehtësisht edhe magji ose decimal-offset.

Një mënyrë më e saktë për të marrë kompensimin që dëshironi është të përdorni komandat e mëposhtme:

strings -td yourfilename

vargjet - tek filmi juaj

vargjet -th yourfilename

Minus t do të thotë kthimin e kompensimit dhe karakteri që vijon përcakton llojin e kompensuar. (p.sh. d = decimal, o = oktal, h = magji).

By default, komanda e strings shtyp çdo varg të ri në një rresht të ri, por ju mund të vendosni delimituesin e zgjedhjes suaj. Për shembull, për të përdorur një simbol të tubit ("|") si delimitues, drejtoj komandën e mëposhtme:

vargjet -s "|" yourfilename

Rregullo limitin string

Komanda e vargjeve sipas parazgjedhur kërkon një varg prej 4 karakteresh të printueshëm në një rresht. Mund ta rregulloni parazgjedhjen në mënyrë që të kthejë vetëm një varg me 8 shkronja të shtypura ose 12 shkronja të shtypura.

Duke rregulluar këtë kufi mund të përshtasni rezultatin për të arritur rezultatin më të mirë të mundshëm. Duke kërkuar një varg që është shumë i gjatë, ju rrezikoni të hiqni tekstin e dobishëm, por duke e bërë atë shumë të shkurtër, mund të përfundoni me shumë më shumë hedhurina të kthyer.

Për të rregulluar limitin e vargut të drejtuar komandën e mëposhtme:

strings -n 8 yourfilename

Në shembullin e mësipërm kam ndryshuar limitin në 8.

Ju mund të zëvendësoni 8 me numrin e zgjedhjes suaj.

Ju gjithashtu mund të përdorni komandën e mëposhtme për të bërë të njëjtën gjë:

strings --bytes = 8 yourfilename

Përfshirja e hapësirës së bardhë

Parimisht, komanda e vargjeve përfshin hapësirën e bardhë të tillë si një tab ose hapësirë ​​si një karakter i shtypshëm. Prandaj, nëse ju keni një varg që lexon si "mace u ul në mat", atëherë komanda e vargjeve do të kthejë tërë tekstin.

Karakteret e reja të linjës dhe kthimet e karrocave nuk konsiderohen të jenë simbole të shtypshëm sipas parazgjedhjes.

Për të marrë vargjet që të njohin karakteret e linjës së re dhe kthimet e karrocave si karakter të shtypshëm të drejtuar nga strings në mënyrën e mëposhtme:

strings -w yourfilename

Ndrysho Encoding

Ekzistojnë 5 opsione kodimi të disponueshme për përdorim me vargjet:

Parazgjedhja është 7 bit byte.

Për të ndryshuar kodimin drejtoj komandën e mëposhtme:

vargjet -thënien tënde

strings --encoding = s yourfilename

Në komandën e mësipërme, unë kam specifikuar parazgjedhjen "s" që do të thotë 7 byte pak. Thjesht zëvendësoni "s" me letrën e kodimit sipas zgjedhjes suaj.

Ndrysho emrin e emrit të skedarit binar

Ju mund të ndryshoni sjelljen e vargjeve në mënyrë që të përdorë një bibliotekë të përshkruesit të skedarëve të ndryshëm binare, përveç atyre të parashikuara për sistemin tuaj.

Ky kalim është një për ekspertët. Nëse keni një bibliotekë tjetër për t'u përdorur atëherë mund ta bëni këtë duke ekzekutuar komandën e mëposhtme:

vargjet -T bfdname

Mundësitë e leximit nga një skedar

Nëse ju do të përdorni të njëjtat opsione çdo herë atëherë ju nuk dëshironi që të duhet të specifikoni të gjitha çelsin çdo herë që të drejtuar komandën, sepse ajo merr kohë.

Çfarë mund të bëni është të krijoni një skedar teksti duke përdorur nano dhe të specifikoni opsionet brenda atij skedari.

Për ta provuar këtë brenda një terminali të drejtuar komandën e mëposhtme:

nano stringsopts

Në dosjen shkruani tekstin e mëposhtëm:

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

Ruani skedarin duke shtypur CTRL dhe O dhe dilni duke shtypur CTRL dhe X.

Për të drejtuar komandat strings me këto opsione drejtuar komandën e mëposhtme:

strings @ stringsopts yourfilename

Opsionet do të lexohen nga stringsopts file dhe ju duhet të shihni emrin e skedarit para çdo vargu, offset dhe "|" si ndarës.

Marrja e Ndihmës

Nëse dëshironi të lexoni më shumë rreth vargjeve, mund të përdorni komandën e mëposhtme për të marrë ndihmë.

vargjet - ndihmë

Përndryshe ju gjithashtu mund të lexoni faqen manuale:

vargjet e njeriut

Gjeni se cili version i strings You Are running

Për të gjetur versionin e vargjeve që po kandidoni, drejto një nga komandat e mëposhtme:

vargjet -v

vargjet -V

vargjet - version