Kaip naudoti komandą „Linux“.

Terminalo langas, veikiantis „Linux“ nešiojamajame kompiuteryje.

Fatmawati Achmad Zaenuri / „Shutterstock“.



Linux |_+_| komanda identifikuoja vykdomąjį dvejetainį failą, kuris paleidžiamas, kai išduodate komandą apvalkalui. Jei kompiuteryje turite skirtingas tos pačios programos versijas, galite naudoti |_+_| kad sužinotumėte, kurį iš jų naudos apvalkalas.

Dvejetainiai ir takai

Kai bandote paleisti programą arba komandą iš terminalo lango, apvalkalas (paprastai, Bash šiuolaikiniuose platinimuose) turi rasti tą komandą ir ją paleisti. Kai kurios komandos, pvz CD , istorija , ir pwd , yra įmontuoti į apvalkalą, todėl Bash neturi per daug dirbti, kad juos surastų.





10 pagrindinių Linux komandų pradedantiesiems SUSIJĘS 10 pagrindinių Linux komandų pradedantiesiems

Bet kaip Bash nustato kitas komandas, programas ir išorinius atskirus dvejetainius failus? Na, Bash naudoja kelią, kuris iš tikrųjų yra kelių rinkinys, kurių kiekvienas nurodo katalogą. Tada kiekviename iš tų katalogų ieško vykdomojo failo, atitinkančio komandą ar programą, kurią bandote paleisti. Suradęs Bashas jį paleidžia ir nutraukia paiešką.

Galite naudoti |_+_| norėdami patikrinti |_+_| aplinkos kintamąjį ir pamatysite savo kelyje esančius katalogus. Norėdami tai padaryti, įveskite toliau pateiktą informaciją ir paspauskite Enter:



which

Išvesties sąraše kiekvienas kelias atskiriamas dvitaškiais (:). Mūsų naudojamame kompiuteryje „Bash“ ieškos šiuose kataloguose tokia tvarka:

  • which
  • echo
  • $PATH
  • /usr/local/sbin
  • /usr/local/bin
  • /usr/sbin
  • /usr/bin
  • /sbin
  • /bin
Skelbimas

Yra daug aplankų, vadinamų |_+_| ir |_+_| failų sistemoje, o tai gali sukelti painiavą.



Stebėkite tuos takus

Tarkime, kad turime atnaujintą programos, pavadintos |_+_|, versiją. Jis yra mūsų dabartiniame kataloge ir galime jį paleisti įvesdami šią komandą:

/user/games

Tai nėra didelė programa – ji tiesiog išspausdina versijos numerį ir tada užsidaro. Nauja versija yra 1.2.138.

Norėdami paleisti programą dabartiniame darbiniame kataloge, prieš programos pavadinimą turite įvesti ./, kad Bash žinotų, kur ją rasti.

Kadangi norime paleisti šią konkrečią programą iš bet kurio katalogo, vykdomąjį failą perkelsime į |_+_| katalogas. Bash suras tą programą kelyje ir paleis ją už mus.

Mums nereikia vykdomojo failo dabartiniame kataloge, taip pat nereikia įvesti ./ prieš programos pavadinimą, kaip parodyta toliau:

/usr/local/games

Dabar pabandykime paleisti programą įvesdami:

/snap/bin

Skelbimas

Kažkas veikia, bet tai nėra mūsų nauja, atnaujinta programa. Atvirkščiai, tai senesnė versija, 1.2.105.

Kuri komanda

Problema, kurią parodėme aukščiau, yra ta, kodėl |_+_| komandą buvo suprojektuotas .

Šiame pavyzdyje naudosime |_+_| ir kaip komandinės eilutės parametrą perduokite tiriamos programos pavadinimą:

/sbin

|_+_| praneša, kad rasta |_+_| versija |_+_| katalogas. Kadangi ta vieta rodoma kelyje prieš katalogą, į kurį perkėlėme atnaujintą |_+_|, „Bash“ naudoja tą ankstesnę programos versiją.

Tačiau jei naudosime |_+_| (visi) parinktis, kaip parodyta toliau, |_+_| tęsia paiešką, net jei randa atitiktį:

/bin

Tada išvardijamos visos atitiktys bet kuriame kelio kataloge.

Skelbimas

Taigi, tai yra problema – kataloge, kuris taip pat yra pataisoje, yra ankstesnė programos versija. Ir tas katalogas yra ieškomas prieš katalogą, kuriame mes išmetėme naują programos versiją.

Norėdami patikrinti, galime įvesti šiuos duomenis ir aiškiai paleisti kiekvieną programos versiją:

htg ./htg

Tai paaiškina problemą, o sprendimas yra paprastas.

Tiesą sakant, mes turime pasirinkimų. Galime ištrinti senąją versiją |_+_| katalogą arba perkelkite jį iš |_+_| iki |_+_|.

Stebėkite tuos rezultatus

Du rezultatai nebūtinai reiškia du dvejetainius failus.

Pažiūrėkime į pavyzdį, kuriame naudosime |_+_| komandą su |_+_| (visi) ir ieškokite |_+_| versijų programa:

/usr/bin

|_+_| praneša apie dvi vietas, kuriose yra |_+_| versija programa, bet ar tai tiesa? Būtų keista turėti dvi skirtingas versijas (arba tą pačią versiją keliose vietose) |_+_| įdiegta Linux kompiuteryje. Taigi, mes nepriimsime išvesties iš |_+_|. Vietoj to, pasigilinkime šiek tiek giliau.

Galime naudoti |_+_|, |_+_| (ilgas sąrašas) ir |_+_| (žmogaus skaitomos) parinktys, kad pamatytumėte, kas vyksta:

which

Skelbimas

Pranešama, kad failo dydis yra devyni baitai! Tai tikrai nėra visa |_+_| kopija.

Pirmasis sąrašo simbolis yra l. Įprasto failo pirmasis simbolis būtų brūkšnelis (-). L yra simbolis, reiškiantis simbolinė nuoroda . Jei praleidote šią detalę, |_+_| simbolis taip pat rodo, kad tai a simbolinė nuoroda , kurį galite įsivaizduoti kaip savotišką nuorodą. Tai rodo |_+_| kopiją į |_+_|.

Pabandykime dar kartą naudodami |_+_| versiją |_+_|:

which

Akivaizdu, kad šis įrašas yra tikras dvejetainis vykdomasis failas. Pirmasis sąrašo simbolis yra brūkšnelis (-), o tai reiškia, kad tai įprastas failas, o failo dydis yra 167 KB. Taigi, tik viena kopija |_+_| yra įdiegtas, tačiau yra simbolinė nuoroda į jį iš kito katalogo, kurį Bash taip pat randa ieškodamas kelio.

SUSIJĘS: Kaip naudoti ls komandą failų ir katalogų sąrašui Linux sistemoje

Tikrinamos kelios komandos vienu metu

Galite perduoti kelias programas ir komandas |_+_| ir ji patikrins jas eilės tvarka.

Pavyzdžiui, jei įvesite:

which

|_+_| veikia pagal pateiktų programų ir komandų sąrašą ir pateikia kiekvienos iš jų rezultatus.

kuris kuris yra kuris?

Jei esate taip linkęs, taip pat galite naudoti |_+_| apie save, įvesdami šiuos žodžius:

htgSkelbimas

Neskaitant „Linux“ failų sistemos iš smalsumo, |_+_| yra naudingiausia, kai iš komandos ar programos tikitės vienokio elgesio rinkinio, bet gaunate kitą.

Galite naudoti |_+_| tokiais atvejais norėdami patikrinti, ar Bash paleidžiama komanda yra ta, kurią norite naudoti.

Linux komandos
Failai deguto · pv · katė · tac · chmod · sukibimas · skirt · sed · Su · vyras · pastūmėtas · popd · fsck · testinis diskas · sek · fd · pandoc · CD · $PATH · awk · prisijungti · jq · sulankstyti · unikalus · Journalctl · uodega · valstybė · ls · fstab · išmetė · mažiau · chgrp · chown · rev · žiūrėk · stygos · tipo · pervadinti · užtrauktukas · išpakuokite · kalnas · umount · diegti · fdisk · mkfs · rm · rmdir · rsync · df · gpg · mes · nano · mkdir · · ln · pleistras · Paversti · rclone · susmulkinti · SRM
Procesai slapyvardis · ekranas · viršuje · malonu · renicija · progresas · trasa · sistema · tmux · chsh · istorija · adresu · partija · Laisvas · kurios · dmesg · usermod · ps · chroot · xargs · tty · rausvas · lsof · vmstat · laikas baigėsi · siena · taip · nužudyti · miegoti · sudo · jo · laikas · sugrupuoti · usermod · grupėse · lshw · išjungti · paleisti iš naujo · sustabdyti · išjungti · passwd · lscpu · crontab · data · bg · fg
Tinklo kūrimas netstat · ping · traceroute · ip · ss · Kas yra · fail2ban · bmon · tu · pirštu · nmap · ftp · garbanoti · wget · PSO · kas aš esu · Į · iptables · ssh-keygen · ufw

SUSIJĘS: Geriausi Linux nešiojamieji kompiuteriai kūrėjams ir entuziastams

SKAITYTI KITAS Dave Dave'as McKay'us
Dave'as McKay'us pirmą kartą naudojo kompiuterius, kai buvo madinga perforuoto popieriaus juosta, ir nuo tada jis programuoja. Daugiau nei 30 metų IT pramonėje jis dabar yra visą darbo dieną dirbantis technologijų žurnalistas. Per savo karjerą jis dirbo laisvai samdomu programuotoju, tarptautinės programinės įrangos kūrimo komandos vadovu, IT paslaugų projektų vadovu, o pastaruoju metu – duomenų apsaugos pareigūnu. Jo raštą paskelbė howtogeek.com, cloudsavvyit.com, itenterpriser.com ir opensource.com. Dave'as yra Linux evangelistas ir atvirojo kodo advokatas.
Skaityti visą biografiją

Įdomios Straipsniai