Kuinka käyttää which-komentoa Linuxissa

Linuxin which-komento helpottaa suoritettavien tiedostojen löytämistä PATH-ympäristömuuttujasta. Opas kattaa syntaksin, käytön, esimerkit ja rajoitukset tehokkaan käytön tueksi.

Linux antaa sinulle täydellisen hallinnan siitä, miten työskentelet, muokkaamisesta järjestelmän hallintaan. Yksi kätevä työkalu, joka voi tehdä kokemuksestasi sujuvampaa, on komento which. Se auttaa sinua löytämään nopeasti suoritettavan tiedoston tarkan sijainnin etsimällä hakemistot, jotka on listattu $PATH muuttujassa. Tässä oppaassa selitämme, miten which-komento toimii, tutkimme sen syntaksia ja vaihtoehtoja sekä käymme läpi käytännön esimerkkejä, jotka auttavat sinua käyttämään sitä tehokkaasti.

Ymmärrä which-komennon syntaksi ja toiminta

Komento which Linuxissa auttaa löytämään suoritettavan tiedoston tietylle komennolle. Se etsii hakemistoja, jotka on listattu PATH-ympäristömuuttujassa. Tämä komento näyttää, mikä tiedosto suoritetaan, kun käytät komentoa. Se palauttaa seuraavanlaisen tuloksen:

  • 0, kun kaikki ilmoitetut komennot löytyvät ja ovat suoritettavissa.
  • 1, jos jokin tai useampi komento puuttuu tai ei ole suoritettavissa.
  • 2, jos käytetään väärää vaihtoehtoa.

Yleinen syntaksi which-komennon käyttämiseen Linuxissa on:

which [tiedosto1] [tiedosto2] ...

Korvaa [tiedosto1] ja [tiedosto2] niillä suoritettavilla tiedostoilla, joita haluat etsiä.

Miksi meidän pitäisi käyttää which-komentoa

On monia syitä käyttää which-komentoa Linuxissa. Esimerkiksi se auttaa meitä selvittämään, onko komento todellinen suoritettava, alias vai symbolinen linkki. Lisäksi se näyttää suoritettavan tiedoston tarkan sijainnin. Se mahdollistaa myös puuttuvien tai ristiriitaisten komentojen tunnistamisen PATH-muuttujassa. Lisäksi which-komennon käyttö varmistaa, että oikea versio käynnistyy, kun useita versioita on olemassa.

Kuinka käyttää which-komentoa Linuxissa

Katsotaanpa joitakin esimerkkejä nähdäksemme, kuinka which-komento toimii käytännössä:

Esimerkki 1: Löydä suoritettavan tiedoston polku

Voimme käyttää which-komentoa selvittääksemme, mihin kansion suoritettava tiedosto on tallennettu:

which grep

Se palauttaa koko polun, kuten "/usr/bin/grep", joka osoittaa suoritettavan tiedoston tarkan sijainnin.

Esimerkki 2: Etsi useamman komennon polut

Voimme määrittää useita komentoja samanaikaisesti which-komennolla tarkistaaksemme niiden vastaavat polut:

which awk sed cat touch

Tämä komento noutaa awk, sed ja cat komentojen polut vastaavasti:

Esimerkki 3: Näytä kaikki komennon instanssit

Oletusarvoisesti which palauttaa vain ensimmäisen osuman, joka löytyi PATHista. Voimme kuitenkin suorittaa which-komennon -a vaihtoehdolla löytääksemme kaikki komennon esiintymät:

which -a cat

Tämä komento luettelee kaikki sijainnit, joissa cat löytyy PATHista:

Voit tarkistaa niiden tiedot suorittamalla ls-komennon -lh vaihtoehdolla. Tämä näyttää, ovatko molemmat tiedostot todellisia suoritettavia vai kopioita eri sijainneista:

ls -lh /usr/bin/cat && ls -lh /bin/cat

Yllä oleva kuvakaappaus näyttää kaksi identtistä komentoa eri sijainneissa, molemmat 35KB kokoisia ja suoritettavia.

Esimerkki 4: Tarkista, onko komento olemassa

Voimme käyttää which-komentoa tarkistaaksemme tietyn komennon olemassaolon:

which cats

Jos komentoa ei ole, ei tulosta näy, kuten yllä olevassa kuvakaappauksessa, ja poisto-osa on nolla.

Järjestelmässä voi olla useita versioita samasta ohjelmasta, mutta jotkut instanssit saattavat olla symbolisia linkkejä todellisten binääritiedostojen sijaan. Löytääksesi symboliset linkit, suorita vain which-komento -a vaihtoehdolla:

which -a crontab

Seuraavaksi tarkista tiedostojen yksityiskohdat ls komennolla:

ls -lh /usr/bin/crontab && ls -lh /bin/crontab

Jos tuloksessa on ->, se tarkoittaa, että tiedosto on symbolinen linkki, joka osoittaa toiseen sijaintiin.

Esimerkki 6: Poista

Shellin sisäiset komennot

which-komento näyttää vain ulkoisia suoritettavia tiedostoja eikä näytä shellin sisäisiä komentoja. Se auttaa meitä tunnistamaan, minne ohjelma on asennettu järjestelmään. Esimerkiksi seuraava komento palauttaa vain polun ls:lle, koska read on sisäinen shell-komento:

which ls read

Which-komennon rajoitukset

which-komennolla on useita rajoituksia, jotka tekevät siitä vähemmän luotettavan tietyissä tilanteissa. Esimerkiksi se näyttää vain ulkoiset suoritettavat tiedostot eikä tunnista sisäisiä komentoja kuten cd tai read. Lisäksi se ei pysty erottamaan binaarisia ja symbolisia linkkejä. Komento etsii tiukasti vain $PATH-muuttujassa lueteltuja hakemistoja, mikä tarkoittaa, että se ei voi löytää ohjelmia, jotka on tallennettu muualle. Myöskään se ei tarjoa tietoja kuten tiedostotyyppi, oikeudet tai versio. Jos komento ei löydy, se ei kuitenkaan näytä virheilmoitusta, vaan palauttaa yksinkertaisesti tyhjää.

Näiden rajoitusten voittamiseksi voit valita vaihtoehtoisen komennon, kuten whereis, type tai ls.

Where vs. Which -komento

where ja which -komennot auttavat molemmat löytämään tiedostoja, mutta niillä on eri tarkoituksia. where -komentoa käytetään pääasiassa Windowsissa ja joissakin Unix-tyyppisissä järjestelmissä. Se löytää sekä tiedostot että hakemistot ja listaa kaikki osumat järjestelmän PATH:ssa.

which -komento on erityinen Unix-tyyppisille järjestelmille. Se etsii vain suoritettavia tiedostoja $PATH-muuttujassa luetelluista hakemistoista. Oletuksena se palauttaa ensimmäisen osuman, mutta lisäämällä which -a listataan kaikki osumat.

Esimerkiksi where node -komennon suorittaminen Windowsissa näyttää kaikki sijainnit, joissa nodea löytyy. Linuxissa which gcc palauttaa ensimmäisen polun, jossa gcc-kääntäjä sijaitsee.

Vaikka which -komento tarjoaa useita toimintoja, siitä puuttuu yhä joitakin ominaisuuksia. Tämä voidaan kuitenkin korvata käyttämällä vaihtoehtoista komentoa, kuten aiemmin käsiteltiin. Lisäksi which -komento tunnistaa vain suoritettavat tiedostot $PATH:ssa. Jos skriptiäsi tai ohjelmaasi ei löydy, se ei ehkä ole saanut suoritusoikeuksia. Varmista siis, että skripti on hakemistossa, joka on lueteltu $PATH:ssa, ja että sillä on suoritusoikeudet.

Nyt kun olet lukenut Kuinka käyttää which-komentoa Linuxissa loppuun, kutsumme sinut tutustumaan lisää Linux-kategoriaan. Löydät sieltä muita mielenkiintoisia artikkeleita, jotka laajentavat tietojasi ja pitävät sinut ajan tasalla. Älä lopeta lukemista ja löytämistä!

Indeksi
  1. Ymmärrä which-komennon syntaksi ja toiminta
  2. Miksi meidän pitäisi käyttää which-komentoa
  3. Kuinka käyttää which-komentoa Linuxissa
    1. Esimerkki 1: Löydä suoritettavan tiedoston polku
    2. Esimerkki 2: Etsi useamman komennon polut
    3. Esimerkki 3: Näytä kaikki komennon instanssit
    4. Esimerkki 4: Tarkista, onko komento olemassa
  4. Esimerkki 5: Tunnista symboliset linkit
    1. Esimerkki 6: Poista
    2. Shellin sisäiset komennot
  5. Which-komennon rajoitukset
  6. Where vs. Which -komento

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

Go up