"Айланма" Linux буйрук колдонуу

ТАК буйрук силерге кандайдыр бир программасы боюнча талап кылынган жалпы китепканаларын көрсөтүш үчүн колдонсо болот.

Бул жок көз карандылыгы бар болсо иштеп, жетишпеген милдеттерин жана объектилерди Тизмеге колдонсо болот үчүн пайдалуу болот.

ТАК Command синтаксиси

Бул туура эмес синтаксисин айланма буйрук аркылуу:

ТАК [OPTION] ... FILE ...

Бул жерде жеткиликтүү айланма буйрук өчүргүчтөр, жогоруда аталган буйругу менен [OPTION] жерге киргизүү болот:

--help бул жардам чыгуу --version Басып чыгаруу жана маалымат чыгуу -D, --data-relocs баруулар, маалыматтарды көчүүлөр -r, --function-relocs баруулар, маалыматтарды жана милдети көчүүлөр басып -u, --unused басма пайдаланылбаган түздөн-түз көзкаранды -v, --verbose басма бардык маалымат

ТАК командалык кантип колдонсо болот?

Сен ичинде болгон ар кандай айланма буйругу көбүрөөк маалымат алуу үчүн төмөнкү команданы колдоно аласыз:

ТАК -v / жол / үчүн / программа / Аткаруучу

чыгаруу бул версия маалыматты камтыган, ошондой эле жалпы китепканаларына жолдорду жана дарегин, көрсөтүлгөн:

Linux-vdso.so.1 libshared.so айланма => (0x00007fff26ac8000) libc.so.6 => /lib/libc.so.6 0x00007ff1df55a000) /lib64/ld-linux-x86-64.so.2 (0x00007ff1dfafe000)

SO билэ такыр жок болсо, анда төмөнкү буйругун колдонуу менен жок китепканаларын таба аласыз:

ТАК -d жол / из / программа

чыгуу төмөнкү окшош:

Linux-vdso.so.1 (0x00007ffc2936b000) /home/gary/demo/garylib.so => foundlibc.so.6 => жок окудум / LIB / libc.so.6 (0x00007fd0c6259000) / lib64 / ЛК-Linux-x86 -64.so.2 (0x00007fd0c65fd000)

Маанилүү иш: буйрук ишенимсиз программасына каршы айланма команданы аткаруу качан-жылдан бери иш жүзүндө аны аткарууга мүмкүн. Бул түздөн-түз көз карандылыкты көрсөтөт коопсуз альтернатива болуп саналат жана бүтүндөй көз карандылыгы дарагын жок: objdump -p / жолду / үчүн / программа | талаасынын КЕРЕК.

өтүнмө Жол табуу үчүн эмне кылыш керек?

Силер ар кандай жолдор менен бир катар кыла албайт, анын ЖАКты менен көз карандылыкты, таап келсе, өтүнмө жолду толугу менен камсыз кылуу үчүн керек.

Мисалы, бул жолун табууга болот Firefox :

/ таба аталышы Firefox

Менен көйгөй табылга буйругу Бирок, ал бир гана чыгара Тизмеге жок, бирок бардык жерде Firefox жайгашкан, мындай деген:

Бул ыкма бир Overkill бир аз жана колдонуу керек болушу мүмкүн эмес Sudo буйрук уруксаты көп каталарды баш алуу үчүн, кыязы, башка силердикиндей сыймыктуу жоопкерчиликтерге көтөрүү үчүн, сен.

Бул колдонуу үчүн, анын ордуна көп жөнөкөйүрөөк ал жакта буйрук камтылган жолду табышы үчүн:

ал жакта Firefox

чыгаруу сыяктуу көрүнүшү мүмкүн Бул жолу:

/ окудум / бин / Firefox

/ ж.б. / Firefox

/ окудум / LIB / Firefox

Firefox төмөнкү буйрукту терүү үчүн жалпы китепканалар үчүн бардык учурда эмне кылуу керек:

ТАК / окудум / бин / Firefox

буйругун чыгаруу ушул сыяктуу бир нерсе болот:

Linux-vdso.so.1 (0x00007ffff8364000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007feb9917a000)
libdl.so.2 => /usr/lib/libdl.so.2 (0x00007feb98f76000)
libstdc ++. so.6 => /usr/lib/libstdc++.so.6 (0x00007feb98bf4000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007feb988f6000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007feb986e0000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007feb9833c000)
/lib64/ld-linux-x86-64.so.2 (0x00007feb99397000)

Linux-vdso.so.1 китепкана аты-жөнү жана гайка саны китепкана эс менен жүктөлөт дареги.

Сиз => белгиси жолдо артынан башка линиялары көпчүлүк көрө аласыз. Бул физикалык бинардык болуунун жолу болуп саналат; болт саны китепкана жүктөлөт дареги.