Vai kādreiz esat mēģinājis atvērt failu redaktorā tikai, lai uzzinātu, ka tajā ir nesalasāms binārais saturs?
Komandas Linux stīgas ļauj apskatīt cilvēka lasāmas rakstzīmes jebkurā failā.
Galvenais komandu "string" izmantošanas mērķis ir noteikt, kāda veida failu tas ir, kuru jūs meklējat, bet to varat arī izmantot, lai iegūtu tekstu. Piemēram, ja jums ir patentētu programmu fails, kas saglabā failus dīvainā binārā formātā, varat izmantot "virknes", lai izvilktu ievadīto failu.
Rindu komandas izmantošanas piemērs
Lielisks veids, kā demonstrēt strings komandas spēku, ir izveidot dokumentu, izmantojot LibreOffice Writer.
Vienkārši atveriet LibreOffice Writer un ievadiet kādu tekstu un pēc tam saglabājiet to standarta ODT formātā .
Tagad atveriet termināla logu (vienlaicīgi nospiediet taustiņus CTRL, ALT un T) un pēc tam izmantojiet komandu cat, lai parādītu failu šādi:
kaķis yourfilename.odt | vairāk
(Aizstāt yourfilename.odt ar izveidotā faila nosaukumu)
Tas, ko jūs redzēsiet, ir neskaidra teksta siena.
Nospiediet atstarpes taustiņu, lai ritinātu failu. Paradiski visā failā jūs redzēsiet kādu no ievadītajiem tekstiem.
Stīgu komandu var izmantot, lai parādītu tikai tās daļas, kuras ir lasāmas cilvēkiem.
Vienkāršākajā formā varat palaist šādu komandu:
strings yourfilename.odt | vairāk
Tāpat kā iepriekš, parādīsies teksta siena, bet tikai teksts, ko jūs varat lasīt kā cilvēku. Ja tev ir laimība, tu vari redzēt savu tekstu.
Tas, ko jūs redzēsiet, ir atslēga, tomēr pirmajā rindā:
mimetypeapplication / vnd.oasis.opendocument.text
Mēs zinām, ka faila tips ir LibreOffice Writer ODT fails 2 iemeslu dēļ:
- Mēs izveidojām failu
- Paplašinājums ir .ODT
Iedomājieties, ka neesat izveidojis failu vai esat atradis failu atgūtā diskā, un failā nav paplašinājuma.
Windows atkopšana bieži atgūst failus ar nosaukumiem, piemēram, 0001, 0002, 0003 utt. Fakts, ka faili tika atkopti, ir lieliski, bet mēģina izdomāt, kādi šo failu veidi bija murgs.
Izmantojot virknes, jums ir cīņa par faila tipa izstrādi. Zinot, ka fails ir opendocument.text fails, varat to saglabāt ar ODT paplašinājumu un atvērt to LibreOffice rakstītājā.
Ja jūs nezināt, ODT fails būtībā ir saspiestā fails. Ja jūs pārdēvējat yourfilename.odt uz yourfilename.zip, varat to atvērt arhivēšanas rīkā un pat atvērt failu.
Alternatīvas uzvedības
Pēc noklusējuma rindu komanda atdod visas strāvas failā, bet jūs varat mainīt uzvedību tā, ka tā atdod virknes no sākotnēji ielādētajām datu sadaļām failā.
Ko tas tieši nozīmē? Neviens, šķiet, nezina.
Ir loģiski pieņemt, ka jūs izmantojat virknes, lai izmēģinātu vai nu uzzinātu faila tipu, vai arī meklētu konkrētu tekstu failā.
Ja, palaižot virknes komandu, izmantojot noklusējuma darbību, jūs nesaņemat izlaidi, kuru jūs cerēja, un pēc tam mēģiniet izpildīt kādu no šīm komandām, lai redzētu, vai tas mainās:
virknes -d jūsufilename
stīgas -data yourfilename
Rokaslapā ir norādīts, ka iepriekš minētā komanda var palīdzēt samazināt virknē atgriezto atkritumu daudzumu.
Komandu "strings" var iestatīt, lai darbotos pretējā virzienā, lai mīnus d slēdzis būtu noklusējuma darbība. Ja tas ir jūsu sistēmā, jūs varat atgriezt visus datus, izmantojot šo komandu:
virknes - jūsu fails
Formatēšanas izlaide
Jūs varat iegūt tekstu izvadā, lai parādītu faila nosaukumu blakus katrai teksta rindai.
Lai to izdarītu, izpildiet kādu no šīm komandām:
stīgas -f yourfilename
virknes --print-file-name yourfilename
Rezultāts tagad izskatīsies šādi:
yourfilename: teksta gabals
yourfilename: vēl viena teksta daļa
Kā daļa no produkcijas jūs varat arī parādīt kompensāciju par to, kur šis teksts parādās failā. Lai to izdarītu, izpildiet šādu komandu:
stīgas-yourfilename
Izvade izskatīsies šādi:
16573 tava
17024 teksts
Kompensācija faktiski ir astotais nobīde, lai gan atkarībā no tā, kā virknes ir apkopotas jūsu sistēmā, tas var būt viegli arī sešpadsmitais vai decimāldaļskaitlis.
Precīzāks veids, kā iegūt vajadzīgo nobīdi, ir izmantot šādas komandas:
virknes -td yourfilename
strings-tofilename
virknes -th yourfilename
Minuss t nozīmē atgriešanās nobīdi un nākamais raksturs nosaka kompensācijas veidu. (ti, d = decimāls, o = oktāls, h = hex).
Pēc noklusējuma rindu komanda izdrukā katru jauno rindiņu jaunā rindiņā, bet jūs varat iestatīt izvēles rūtiņu. Piemēram, lai izmantotu caurules simbolu ("|") kā delimiter, palaidiet šādu komandu:
virknes -s "|" Jūsu vārds
Pielāgojiet stīgu ierobežojumu
Struktūras komanda pēc noklusējuma atrod virkni no 4 drukājamām rakstzīmēm pēc kārtas. Jūs varat noregulēt noklusējuma vērtību, lai tā atdotu tikai virkni ar 8 drukājamām rakstzīmēm vai 12 drukājamām rakstzīmēm.
Pielāgojot šo ierobežojumu, jūs varat pielāgot izvadi, lai iegūtu vislabāko iespējamo rezultātu. Raugoties uz pārāk ilgu virkni, jūs riskējat izlaist noderīgu tekstu, bet, padarot to pārāk īsu, jūs varētu nonākt ar daudz vairāk neveiksmīgu atgriešanos.
Lai pielāgotu virknes limitu, izpildiet šādu komandu:
virknes -n 8 yourfilename
Iepriekš minētajā piemērā esmu mainījis ierobežojumu līdz 8.
Jūs varat nomainīt 8 ar savu izvēlēto numuru.
Varat arī izmantot šo komandu, lai veiktu to pašu:
virknes - biti = 8 yourfilename
Iekļaut atstarpi
Pēc noklusējuma virknes komanda ietver atstarpes, piemēram, cilni vai atstarpi, kā drukājamu rakstzīmi. Tāpēc, ja jums ir virkne, kas tiek attēlota kā "kaķis sēdēja uz paklāja", tad virknes komanda atgriezīs visu tekstu.
Pēc noklusējuma jaunās rindas rakstzīmes un rullīšu atgriešanās netiek uzskatītas par drukājamām rakstzīmēm.
Lai iegūtu virknes, lai atpazītu jaunas līnijas rakstzīmes, un carriage atgriež kā izdrukājamu rakstzīmju palaist virknes šādi:
virknes -w yourfilename
Mainīt kodējumu
Ir pieejamas 5 kodēšanas iespējas, kuras var izmantot ar virknes:
- s = 7 bitu baits (izmanto ASCII, ISO 8859)
- S = 8 bitu baits
- b = 16 bitu bigendian
- l = 16 bitu mazajiešu
Noklusējums ir 7 bitu baits.
Lai mainītu kodējumu, izpildiet šādu komandu:
virknes - jūsu fails
virknes --encoding = s yourfilename
Iepriekš norādītajā komandā esmu norādījis noklusējuma s, kas nozīmē 7 bitu baitu. Vienkārši nomainiet "s" ar izvēlēto kodēšanas burtu.
Mainīt Binārā faila nosaukuma nosaukumu
Jūs varat mainīt virkņu darbību, lai tā izmantotu citu bināro failu deskriptoru bibliotēku, izņemot to, kas paredzēta jūsu sistēmai.
Šis slēdzis ir viens ekspertiem. Ja jums ir vēl viena bibliotēka, tad to var izdarīt, palaižot šādu virknes komandu:
stīgas-T bfdname
Lasīšanas opcijas no faila
Ja katru reizi izmantosiet tās pašas opcijas, tad nevēlaties, lai katru reizi, kad palaižat komandu, būtu jānorāda visi slēdži, jo tas prasa laiku.
Ko jūs varat darīt, ir izveidot teksta failu, izmantojot nano, un norādiet tajā esošās opcijas.
Lai to izmēģinātu, izmantojot terminālu, palaidiet šādu komandu:
nano stringsopts
Failā ievadiet šādu tekstu:
-f -o -n 3 -s "|"
Saglabājiet failu, nospiežot CTRL un O, un izejiet, nospiežot CTRL un X.
Lai palaistu virknes komandas ar šīm opcijām, izpildiet šādu komandu:
virknes @ stringsopts yourfilename
Opcijas tiks lasītas no faila stringsopts, un jums vajadzētu redzēt faila nosaukumu pirms katras virknes, nobīde un "|" kā atdalītājs.
Palīdzības saņemšana
Ja vēlaties lasīt vairāk par virknes, varat palaist šādu komandu, lai saņemtu palīdzību.
virknes - palīdzība
Varat arī izlasīt rokasgrāmatas lapu:
cilvēks stīgas
Noskaidrojiet, kuru strīdu versiju jūs izmantojat
Lai atrastu virkņu versiju, kuru jūs izmantojat, izpildiet kādu no šīm komandām:
stīgas -v
stīgas -V
virknes --versija