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:
- Ne krijuam dosjen
- 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:
- s = 7 bit byte (përdoret për ASCII, ISO 8859)
- S = 8 bit byte
- b = 16 bit bigendian
- l = 16 bit littleendian
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