GUI: t ovat hienoja - emme halua elää ilman niitä. Mutta jos olet Mac- tai Linux-käyttäjä ja haluat saada kaiken irti käyttöjärjestelmästäsi (ja näppäinpainalluksistasi), olet sen velkaa itsellesi tutustua Unix-komentoriviin. Osoita ja napsauta on upeaa aina, kun joudut tekemään jotain kerran tai kahdesti. Mutta jos sinun on toistettava tämä tehtävä monta kertaa, komentorivi on pelastajasi.
Komentorivi on ikkuna tietokoneen täydelliseen ja mahtavaan tehoon. Jos kaipaat päästä irti graafisen käyttöliittymän rajoituksista tai luulet, että etäkoneiden ohjelmointi tai hallinta on tulevaisuutesi, Unix-komentorivin oppiminen on ehdottomasti sinulle.
Älä huoli, jos Unix-komennot näyttävät maagisilta loitsuilta tai järjestelmän salaperäiset sisäosat näyttävät käsittämättömiltä. Niitä ei ole niin vaikea oppia, ja tämä artikkeli antaa sinulle 10 välttämätöntä komentoa aloittaaksesi. Ennen pitkää nuo salaperäiset merkkijonot ovat toinen luonne.
Kuoren perusteet
Unix-komentorivin kuori vastaa suunnilleen Microsoft Windowsin komentoikkunaa (cmd tai PowerShell). Alla käydyt komennot toimivat kaikissa Unix-tyyppisissä järjestelmissä, mukaan lukien Linux, Darwin (MacOSin perusta), FreeBSD ja jopa Windows, jossa on jotain Git Bashia tai Windows 10: n uutta Bash-kuorta. Vaihtoehdot ja ulostulo vaihtelevat hieman, mutta sinun ei pitäisi olla vaikeuksia ymmärtää niitä.
Ensinnäkin sinun on avattava kuori, jota kutsutaan joskus pääteikkunaksi. Usein Unix-jakelut asettavat tämän Hallinta- tai Järjestelmä-valikkojen alle. MacOSissa pääte löytyy kohdasta Sovellukset> Apuohjelmat> Pääte. Kun käynnistät sen, näet jotain tällaista:
Tämä MacOS 10.11: n näyttö on tyypillinen useimmille käyttöliittymän kuoreille. Ikkunan yläosassa näemme kuorityypin, tässä tapauksessa Bash (Bourne Again Shell, joka on oletuskuori MacOS: ssa ja useimmissa Linux-jakeluissa), ja ikkunan koon. Ikkunan sisällä on kehote, joka on tässä tapauksessa määritetty näyttämään koneen nimi (Elohopea
), nykyisen työhakemiston nimi (tässä tilde, ~
, joka on lyhenne käyttäjän kotihakemistolle), käyttäjän nimi ja lopuksi kehotussymboli ( $
). Huomaa, että kehotteesi muuttuu, kun siirryt tiedostojärjestelmässä tai jos sinusta tulee eri käyttäjä koneellasi (kuten pääkäyttäjä tai pääkäyttäjä hallinnollisten komentojen suorittamiseksi). Kehote näyttää nämä tiedot, joten voit helposti kertoa missä ja kuka olet millä tahansa koneella.
On syytä tietää, että Unix-kuorella on kaksi päämausta: Bourne- ja C-kuori. Bourne ja yritys olivat peräisin alkuperäisestä AT&T Unixista, kun taas C-kuori kotoisin Kalifornian yliopistosta Berkeleyssä ja BSD Unixista. Yleensä Bourne- ja C-kuorijohdannaiset ovat hyviä vuorovaikutteiseen työhön terminaalissa. POSIX-vakiokuori, Korn-kuori, on se, jota haluat käyttää omien ohjelmien kirjoittamiseen komentotulkkiin, nimeltään komentosarjat. Käytämme Bash-kuorta tämän opetusohjelman esimerkeissä.
Kuoriympäristö
Yksi ensimmäisistä ymmärretyistä asioista Unix-komentorivillä työskentelyssä on, että kuori toimii omassa ympäristössään. Shell-ympäristön hallinnan ymmärtäminen on tärkeä osa tehokkuutta komentorivillä. Katsotaanpa ympäristöä käyttämällä env
komento:
Älä murehdi ymmärtää kaikkia ympäristömuuttujia nyt, mutta tiedä, että ne ovat siellä. Sinun tulisi tunnistaa muutama muuttuja jo. Esimerkiksi, KUORI = / bin / bash
kertoo meille, että käytämme Bash-kuorta. HOME = / Käyttäjät / nunez
määrittää käyttäjän kotihakemiston sijainnin. Voit muuttaa tai luoda ympäristömuuttujia, ja teet niin usein. Tässä on esimerkki kutsutun ympäristömuuttujan asettamisesta FOO
ja näytetään sen arvo:
Kuten näette, muuttujat laitetaan yleisesti isoilla kirjaimilla. Ota erityisesti huomioon, kuinka viittaamme ympäristömuuttujiin, kun käytämme niitä komennoissa, edellisen kanssa $
. $
käskee komentotulkin käyttämään muuttujan arvoa. Ilman $
, kaiku
yllä oleva komento yksinkertaisesti tulostaa muuttujan nimen, FOO
.
Unix-komennot
Riippumatta siitä, mitä komentotulkkia käytät, saat komentoriviin komenton, kun Unix-ohjelma suoritetaan. Unixin suunnittelufilosofiana on luoda ohjelmia, jotka tekevät yhden asian hyvin, ja ketjuttaa (tai "putkia") niitä yhdessä tekemään hyödyllistä työtä. Tarkastellaan yksinkertaista esimerkkiä tiedostojen määrän laskemiseksi / etc-hakemistossa (näemme, kuinka siirtyä / etc-hakemistoon myöhemmin):
Tämä komentosarja kuvaa kahta tärkeää käsitettä: putkisto ja vaihtoehdot. Ls
komento (vastaa ohj
komento Windowsissa) näyttää hakemiston sisällön ja WC
(sanamäärä) sanojen lukumäärä. Huomaa pystysuora palkki niiden välillä? Se on putkihahmo. Putki ottaa ensimmäisen komennon lähdön ja ohjaa sen toisen komennon tulona. Voit ketjuttaa minkä tahansa määrän komentoja yhteen Unixissa liittämällä ne toisiinsa putkilla.
Toinen huomattava asia on kullekin komennolle annetut vaihtoehdot. Unixissa vaihtoehdoissa on perinteisesti etuliite yhdellä viivamerkillä, -
. Nämä komentorivivalinnat muuttavat komennon käyttäytymistä. Tässä esimerkissä -
vaihtoehto Ls
tarkoittaa hakemiston sisällön tulostamista "pitkässä" muodossa, kun taas –L
vaihtoehto WC
tarkoittaa "rivien" laskemista sanojen sijaan. Englanniksi tämä komento voidaan lukea:
Luetteloi nykyisen hakemiston rivien määrä ja lähetä ne sitten sanamääräohjelmaan rivien määrän laskemiseksi.
Usein nämä komentorivivalinnat ohittavat ympäristössä asetetut oletusasetukset. Jos haluat muuttaa komennon pysyvää käyttäytymistä, voit asettaa ympäristömuuttujan automaattisesti sisäänkirjautumisen yhteydessä. Monien komentojen avulla voit yhdistää vaihtoehdot yhdeksi merkkijonoksi - esimerkiksi ls -la
- mutta toiset eivät. Voit oppia kaikista komennon vaihtoehdoista tarkistamalla sen käsikirjan tai "man sivut" (joista keskustelemme alla).
Komentorivivaihtoehtojen oppiminen ja käyttö on suuri osa tehokkuutta Unix-komentorivillä. Joillakin komennoilla on niin paljon vaihtoehtoja, että dokumentaatio kulkee kymmenille sivuille. Älä anna sen huolestuttaa sinua nyt. Tarvitset usein vain muutaman vaihtoehdon tietyn tehtävän suorittamiseen, ja monia vaihtoehtoja käytetään vain kirjoitettaessa ohjelmia shell-kielellä.
Opas
Kun ymmärrät komentorivin ja ympäristön perusteet, voimme alkaa sukeltaa syvemmälle järjestelmään. Ensinnäkin aloitetaan käsikirjan kanssa.
Yksi Unixin hienoista puolista on dokumentaation korkea laatu. Asiakirjoja on käyttäjille, järjestelmänvalvojille ja ohjelmistokehittäjille. Pääset dokumentaatioon mies
komento. Aloitetaan lukemalla käyttöoppaan käyttöopas (kirjoita mies mies
komentorivillä):
Oppaat on jaettu kahdeksaan osaan, jotka vaihtelevat hieman sen mukaan, onko käytössäsi BSD / Linux / Mac vai System V-tyyppinen Unix. On hyödyllistä aloittaa lukemalla kunkin osan johdanto, ja voit tehdä sen loitsulla, kuten mies -s 1 esittely
, mikä tarkoittaa etsimällä osiosta 1 manuaalinen sivu nimeltä "intro":
Jos et ole varma mitä komentoa etsit, voit kokeilla -f
ja -k
vaihtoehtoja. mies - f komento
kertoo komennon toiminnon, jos tiedät sen nimen mies –k
vihje
luetteloi merkityksellisten komentojen nimet yhden tai useamman avainsanan perusteella. Molemmat vaihtoehdot etsivät sisäänrakennettua tietokantaa (jos se on määritetty; sillä on yleensä) ja palauttavat kaikki ottelut. Esimerkiksi, mies –k bzer
näyttää merkkijonolla alkavat manuaaliset sivut bz
:
Tiedostojärjestelmä
Unix-tiedostojärjestelmään liittyy monia komentoja, koska se on käyttöjärjestelmän ydin. Näimme yhden heistä aiemmin: Ls
, jossa luetellaan tiedostot hakemistossa:
Ls
komento voi olla yleisimmin käytetty komento kaikista, ja sillä on monia vaihtoehtoja tuloksen säätämiseen. Yksi vaihtoehto, josta haluat tietää heti, on ls -a
(listaa kaikki). Tämä paljastaa "piste" -tiedostot (tiedostot tai hakemistot, joiden nimi alkaa pisteellä tai pisteellä), jotka ovat oletusarvoisesti piilotettuja. Nämä tiedostot tai hakemistot sisältävät yleensä kokoonpanotietoja tai lokitiedostoja Unix-järjestelmälle. Esimerkiksi .bash_history-tiedosto kirjaa kaikki komentoriville kirjoittamasi komennot.
Toinen komento, jota tarvitset heti, on CD
komento, jolla muutat hakemistoja. Tämä muistuttaa samaa komentoa Windowsissa, mutta sillä on tärkeä ero. Unixissa kaikki asemat (laitteet) näkyvät yhtenä asemana. Kun taas Windowsissa kuvat saattavat olla ulkoisella kiintolevyllä, joka näkyy nimellä E:, Unixissa kyseinen asema voi olla / home / user / pictures. Kaikkiin Unix-järjestelmän tiedostoihin pääsee polun kautta, joka alkaa / / (juurihakemisto), ja voit liittää erilaisia kiintolevyjä tiedostojärjestelmän eri kohtiin tarpeidesi mukaan.
Ennen kuin aloitat vaeltamisen tiedostojärjestelmässä, haluan esitellä toisen tarvitsemasi komennon: pwd
(tulosta työhakemisto). Koska kasvavassa tiedostojärjestelmässä on mahdollisesti paljon eksymispaikkoja, näiden komentojen avulla voit nopeasti selvittää sijaintisi. Vaihdetaan hakemistot sijaintiin, jossa järjestelmän kokoonpanotiedostot säilytetään, ja tarkistetaan sijaintimme
Huomaa, että voit käyttää CD
komento ilman argumentteja palata nopeasti kotihakemistoon. Toinen vinkki: ~
voidaan käyttää pikakuvakkeena viittaamaan kotihakemistoon sekä Bash- että C-kuoressa.
Tässä vaiheessa osaat liikkua tiedostojärjestelmässä ja luetteloida hakemistojen sisällön. Nyt tarvitaan tapa lukea niihin tallennetut tiedostot. Nykyään useimpien järjestelmien mukana tulee Vähemmän
komento tähän. Vähemmän
näyttää tiedoston sivukohtaisesti ja antaa sinun navigoida Vi-komennoilla (paina j
liikkua alas, k
siirtyä ylös, h
saada apua, ja q
poistuaksesi tiedostosta).
Katsotaanpa, mikä on tiedostossa / etc / passwd kirjoittamalla vähemmän / etc / passwd
:
Passwd-tiedostossa luetellaan Unix-järjestelmän käyttäjätilit sekä niiden käyttäjä- ja ryhmätunnusnumerot, kotihakemisto ja vastaavan komennon tai kuoren polku. MacOS: ssa kuitenkin passwd-tiedostossa on vain järjestelmätilitilit. Tämä johtuu siitä, että ihmiskäyttäjät on määritetty MacOS: n Järjestelmäasetusten Käyttäjät ja ryhmät -kohdassa.
Levytila
Levytilan loppuminen on asteittainen prosessi, joka voi viedä vuosia, mutta voi silti saada sinut turhaan. On kaksi komentoa, joita voit käyttää vapaan tilan tarkistamiseen ja määrittämään, mitkä tiedostot pitävät levyäsi: du
(levyn käyttö) ja df
(levytön). He molemmat ottavat a -h
vaihtoehto (ihmisen luettavissa). Käytä levyä, jotta saat käsityksen levyn täyttöasteesta df
komento:
Keskity toistaiseksi %käytin
ja asennettu
sarakkeita. Tämä osoittaa, että kotihakemistoni on 92 prosenttia täynnä, joten minun pitäisi todennäköisesti puhdistaa se. Mutta mistä tiedän missä tilaa käytetään? Se on mitä du
on:
Tässä esimerkissä käytin loitsua, joka rajoittaa ulostulon ensimmäisiin 10 riviin. Muuten du
listaa kaikki koneen hakemistot, joita voi helposti olla liian vaikea ymmärtää. Tästä luettelosta näet, kuinka paljon tilaa kukin hakemisto kuluttaa. Saatat myös nähdä, kuinka ketjuamalla muutama komento yhteen, voimme helposti koota komentosarjan, jossa luetellaan 10 parasta hakemistoa tilankäytön mukaan. Komento, jonka meidän on lajiteltava lähtö, on tietysti järjestellä
komento.
Koska MacOS: n versio järjestellä
ei voi käsitellä du
Ihmisen luettavana tulostena käytin -m
vaihtoehto du
näyttää levyn käyttö megatavuina (käytä -g
tai -k
gigatavuina tai kilotavuina). -n
ja -r
vaihtoehtoja järjestellä
lajittele tulosteet numeerisesti ja päinvastaisessa järjestyksessä, joten suurimmat hakemistot näkyvät luettelon yläosassa.
Pääkäyttäjät, su ja sudo
Useat komennot liittyvät järjestelmän hallintaan. Yritä kirjoittaa mies -s 8 esittely
heille esitettäväksi. Annan sinulle yhden järjestelmänhallinnan välttämättömän komennon: su
. Tämä tarkoittaa "superkäyttäjä" ja viittaa järjestelmänvalvojan käyttäjään tai juuritiliin. Kaikki järjestelmään kuuluvat tiedostot ovat tämän käyttäjän omistuksessa, ja sinun on oltava tämä käyttäjä, jotta voit suorittaa järjestelmänvalvonnan.
Aiheeseen liittyvä komento, sudo
, avulla voit tulla yhden käyttäjän pääkäyttäjäksi. Miksi käyttää sudo
sijasta su
? Koska paras käytäntö määrää, ettet juokse pääkäyttäjänä, sillä sinulla on valta vahingossa vahingoittaa vahingoittumattomasti. Haluat aina tehdä kaiken mahdollisen tavallisena käyttäjänä ja tulla superkäyttäjäksi vain silloin, kun tarvitset. Se, miten pääkäyttäjän käyttöoikeudet hankitaan, riippuu Unix-jakelustasi. Katsotaan miten su
toimii MacOS:
Huh? Olen varma, että kirjoitin salasanan oikein. Tässä on tapahtunut, että nykyinen käyttäjäni, nunez
, ei ole lupaa su
. Joillakin Unix-laitteilla tämä tarkoittaa, että käyttäjän on oltava pyörä
ryhmän ja muissa järjestelmissä (mukaan lukien MacOS) käyttäjän on oltava sudoers
tiedosto.
Lopetetaan lisäämällä nunez
että sudoers
, joka antaa sinulle maun tiedostojen muokkaamisesta komentorivillä. Tehokäyttäjät laulavat Emacs- ja Vi-toimittajien kehuja, ja kehotan teitä kokeilemaan niitä, mutta käytämme tässä nanoa. Nano on helppo oppia ja käyttää, ja MacOS ja monet Linux-distrot ovat mukana jo asennettuna.