Hvordan bruke LDD -kommandoen i Linux

Hvordan bruke LDD -kommandoen i Linux

I Linux -systemer jobber vi stadig med kjørbare filer enten i terminalen eller grafiske applikasjoner. Utførbare filer inneholder delte biblioteker, som er filer som blir delt og gjenbrukt på tvers av programmer. I vinduer er disse vanligvis i form av DDL -filer. I Linux er de imidlertid i form av .o eller .Så filer.

Denne guiden vil vise deg hvordan du bruker LDD-kommandolinjeverktøyet for å vise delte objekter og avhengighetene i en kjørbar.

Hva er LDD

LDD er et kraftig kommandolinjeverktøy som lar brukere se en kjørbar fils delte objektavhengigheter. Et bibliotek refererer til en eller flere forhåndskompilerte ressurser som funksjoner, underrutiner, klasser eller verdier. Hver av disse ressursene er kombinert for å lage biblioteker.

I Linux er bibliotekfiler ofte lokalisert i /lib eller /usr /lib -kataloger. Biblioteker hjelper til med å spare tid fordi programmer kan repurpose og bruke dem slik de synes passer.

Det er to typer biblioteker:

  • Statiske biblioteker
  • Dynamiske eller delte biblioteker

Hvordan installere LDD -kommandoen

Vanligvis finner du LDD -kommandoen tilgjengelig i nesten hvilken som helst Linux -distribusjon. I tilfelle det ikke er tilgjengelig, kan du installere det ved å bruke kommandoen:

sudo apt-get install libc-bin

Med kommandoen installert, kan vi begynne å bruke den.

Grunnleggende LDD -kommandobruk

Den generelle syntaksen for LDD -kommandoen er ganske grei. Som standard viser utførelsen av LDD -kommandoen de delte objektavhengighetene.

Syntaksen er som:

LDD [Alternativer] kjørbar

For å vise de delte bibliotekavhengighetene til Bash Binary, bruker vi for eksempel kommandoen:

sudo ldd /bin /bash

Kommandoen ovenfor viser avhengighetene som:

Den første delen viser et virtuelt dynamisk delt objekt (VDSO). Den andre linjen viser banen til ELF -tolk som er hardkodet inn i den kjørbare, og den siste delen viser minnet som biblioteket er lastet.

LDD -alternativer

Vi bruker LDD -alternativer for å endre kommandoenes oppførsel. Støttede alternativer inkluderer:

  • -v - Verbose -modus, som skriver ut all informasjon.
  • -u - Viser ubrukte direkte avhengigheter
  • -d - Utfører datar flytting og viser manglende ELF -objekter.
  • -r - Utfører data og funksjonsflytting og viser manglende ELF -objekter og funksjoner.

Vis detaljert utgang

For å vise avhengighetene til en binær med detaljert informasjon, kan vi overføre -V -flagget til LDD -kommandoen som:

sudo ldd -v /bin /bash

LDD viser ubrukte direkte avhengigheter

Vis ubrukte direkte avhengigheter med -u -flagget som:

sudo ldd -u /bin /grep

MERK: LDD fungerer bare med dynamiske kjørbare filer. Hvis den brukes på en ikke-dynamisk kjørbar, vil den vise en feil som:

sudo ldd -v /bin /ldd

For å konkludere

Denne opplæringen dekket hvordan du bruker LDD -kommandoen i Linux og får delt bibliotekavhengighetsinformasjon for dynamiske kjørbare filer. Hvis du lærte noe av denne opplæringen, kan du dele det med andre.

Hvis du er ute etter detaljert informasjon, bør du vurdere følgende mannssider:

  • https: // man7.org/linux/mann-sider/man1/ldd.1.html
  • https: // man7.org/linux/mann-sider/man7/vdso.7.html
  • https: // man7.org/linux/mann-sider/man7/libc.7.html
  • https: // man7.org/linux/mann-sider/man8/ld.så.8.html