UNIX 10. rész

A beállítások mentése visszaállítani őket, a következő alkalommal shellparancsot

Testreszabhatja a héj (shell) UNIX módját, hogy megmentse az időt, energiát, és alkalmazkodjon a stílus a munka. Files shell indító menteni és visszaállítani a környezet, a régi shell ülésen ismét, még egy másik számítógépen.

Ha dolgozni minden program elég hosszú, akkor mindent megtudhat, mi ez. Sőt, a programozó használni, mint egy virtuóz - egy hangszer.

Remélem, hogy a készségek az olvasó e cikksorozat már közelít a szint UNIX guru, ő fordul a mindentudó oracle ember több tudás, tudja, hogy a mágikus kombinációja parancsok elvégzésére egy igazán alkímiai adatok átalakítása. A munka a parancssor könnyű és héj kényelmes és ismerős neki.

A következő szint a kiválóság - a mesteri használatát shellparancsot.

Nagy és hatalmas kagyló

Azt már megtanultuk, hogy sok szempontból shell környezet beállításait:

  • Kiválaszthatja a UNIX shell, ami jobban tetszik. Bourne héj (bash) rendelkezik teljesítmény; mások, mint a Z shell, új termékek és kényelmes fejlesztéseket, hogy egyes felhasználók megtalálják rendkívül hasznos.

Ahhoz, hogy megtudja, milyen kagyló a számítógépre telepített, meg kell futtatni a cat / etc / kagyló parancsot. Megváltoztatni az aktuális parancs shell bármelyik lista, hívja a parancsot chsh. Íme egy példa a shell változások / bin / zsh - Z shell. (A felhasználó beírja a szöveget félkövér.)

  • Hozhat létre rövid álneveket a gyakran használt parancsok hosszú.
  • Környezeti változók. mint például a PATH (tartalmazó útjait a program) és TZ (ami meghatározza az időzóna) megtartják a beállításokat, és befolyásolják az összes folyamatot futtatni.

    PATH különösen hasznos. Például, ha meg kell futtatni egy helyi változata a Perl, akkor módosíthatja a PATH futtatásához Perl / usr / local / bin / perl helyett általában a / usr / bin / perl standard változat Perl.

    UNIX-alkalmazások is gyakran használják a környezeti változók. Például, ha a terminál (vagy terminál emulátort) ezt a képességet, akkor lehet, hogy az ls (amely kiküszöböli a könyvtár tartalmát) jelöli a különböző színek különböző típusú fájlok segítségével a környezeti változók és CLICOLOR LSCOLORS.

  • Akkor újra futtatni a parancsot a mester a shell parancsok közt. Command Történelem megtartja a korábban tárcsázott hívások, amely lehetővé teszi, hogy újra futtatni a korábbi parancsokat. Sok kagyló is lehetővé teszi, hogy módosítsa a korábbi parancsokat létrehozni ezek alapján az újakat. Például Bash shell a szimbólumot használja „fedél” (^), hogy végre egy csere a csapatban:
  • Írhatsz héjprogramok végre komplex műveletek, ha a meglévő UNIX közművek és shell beépített parancsok nem tud megbirkózni a feladatokkal, amelyeket rendszeresen el kell végezni.
  • Persze, annyi lehetőséget, hogy hozzanak létre egy parancs shell, jó lenne, hogy képes legyen megmenteni a módosításokat, és újra használja őket egy másik alkalommal, egy másik munkamenet (befejezése után egy alkalommal, és az elején egy új), és még a többi munkaállomás (feltételezve, hogy használja ugyanazt a parancsot shell egy másik számítógépen).

    Scripts shell indításkor biztosítja ezt a képességet. Amikor a shell elindul, és amikor elkészült, a héj fut több forgatókönyvet kiosztását és eltávolítását a környezet, ill. Néhány indítószkriptekkel joguk rendszer (a rendszergazda beállíthatja őket), míg mások nyitva változtatni a hétköznapi felhasználók számára.

    Indítószkriptekkel nem hasonló Microsoft® Windows® INI-fájlok. Amint világossá kell tenni, a nevét, a script shell indító - a teljes shell szkriptek, mint kis programok végre valami munkát. Ezek a szkriptek futnak, mikor az elindult vagy befejeződött shell, és elő a megfelelő környezetben, beállításokkal.

    Kezdje el!

    Jellemzően minden egyes héjat többféle indítószkriptekkel, és van boot sorrendben ezeket a forgatókönyveket. Legalább van egy rendszer és egy felhasználói (egy felhasználó) shell indító fájlt. Tekintsük belső konzisztenciája shell script indításakor szakasz: a hatása a dob több (esetleg) szkripteket tároljuk, és törölheti vagy módosíthatja a beállított paraméterek az egyik szkript fut előtt.

    Például egy rendszergazda beállíthatja a héj kiegészítő paraméterek az egész rendszer - ami tartalmazza a felhasználó nevét, a munka jelenlegi könyvtárat és az intézkedések száma tárolt parancselőzmények - a rendszerben indítószkriptekkel. Azonban, akkor felülírják ezeket a beállításokat állítja be őket egy startup script, mint szükséges a felhasználó számára. Azonban, ha nem módosítja a rendszer beállításait, akkor tükröződik csak a futó héj és környékén.

    Általában az első végrehajtható rendszer forgatókönyveket, mint a / etc / profile, és a rendszergazda képes kezelni. Rendszer indítószkriptekkel célja, hogy megkönnyítse a források felhasználását, amelyek egy-egy konkrét rendszert. Például, ha a rendszergazda inkább újabb verzióját használja a Secure Shell segédprogram (SSH), mert le van zárva ismert biztonsági szabályok megsértése, akkor meg az inicializálás a PATH környezeti változót a / usr / local / bin: / bin: / usr / bin, amelyben így kiemelt keresési útvonalát a futtatható fájlokat a / usr / local / bin. (Ha a parancs nem található a / usr / local / bin, a héj továbbra is keresse meg a / usr / bin). A rendszer indításakor fájlokat is lehet beállítani a nyomtató nevét, és intelligens felhasználói shell beállításait.

    Miután a rendszer működött forgatókönyv, a parancs shell fut egyéni indítófájljait. Startup egyedi script - ez a legmegfelelőbb hely, hogy tárolja kedvenc parancsálnevek, környezeti beállítások és egyéb szükséges beállításokat.

    Tervezés a nagy Bash

    Száma és neve a indítószkriptekkel a különböző kagylók és más. Nézzük meg a sorozat indító szkriptek a Bash shell, a / bin / bash. Bash megtalálható szinte minden UNIX és Linux rendszereken ez általában a standard shell új telepített rendszerek és az új felhasználók számára. Az is elég tipikus képviselője kagyló, amely alapul szolgálhat egy jó platform, hogy bemutassa a munkát. (Ha másik shell a teljes dokumentációval és az ember oldalakon megtalálja azokat a neveket, és a sorozat indító szkriptet.)

    Bash hat indítószkriptekkel, de nem mindegyik fog indítani. Még ha mind a hat forgatókönyv létezik, és elérhető, Bash elvégzi csak néhány közülük.

    Bash első elindítja a script / etc / profile, ha létezik, és elérhető a felhasználó számára, hogy olvassa el. Futtatása után ez a script, Bash keresi a szkriptek

    /.bashrc - ebben a sorrendben - hol

    - Alapértelmezett becenév a felhasználó saját könyvtárát (szintén elérhető a változó $ HOME). A következtetés Bash, a héj keres egy fájlt

    Az ókorban, a UNIX (egy kicsit kevesebb, mint két évtizeddel ezelőtt), a felhasználók általában férhetnek hozzá a UNIX-gép a terminálon keresztül. Úgy nyert a felhasználói azonosítót és jelszót a parancssorba, és a rendszer létrehoz egy új folyamat a parancs shell indul a felhasználói munkamenetet. Ebben a környezetben, a héj bejelentkezési különbözik a többi esetben a héj (például a kezdő szkriptek) neve: a neve a folyamat, minden egyes shell indult, amikor bejelentkezik, előtte egy kötőjelet, például -bash. Ez egy különleges nevet - egy ősi ereklyét a UNIX - mondja a héját, hogy szükség van egy speciális, konfiguráció bemenet.

    Mi egy interaktív shell magyarázni valamivel egyszerűbb: a héj interaktív, ha megkapja a bemenő adatok (standard input), és kiadja az eredményt (a standard kimenetre). Most az X-terminálok helyébe szöveget, de egyezmények és paradigmák módok kagyló maradt. Jellemzően X-terminál indul Bash nevű -bash. amely beszél, hogy meg kell kezdeni a boot sorrendet bejelentkezési szkriptek.

    Abban az esetben, interaktív parancsot Bash login shell fut a script / etc / profile, ha létezik. (Nem interaktív shell is fut a / etc / profile, ha az úgynevezett Bash bash -login parancsot.) Ezután egy interaktív shell keres egy fájlt

    /.bash_profile és végrehajtja a szkript, ha létezik, és elérhető a felhasználó számára, hogy olvassa el. Ellenkező esetben a héj továbbra próbál

    /.bash_login. Ha ez a fájl nem létezik vagy nem olvasható, a Bash, végül próbál futtatni a fájlt

    /.profile. Bash indul csak egy felhasználó indító szkriptet: végző startup script véget ér azonnal használhat egyéni script. Ha a shell futása, fut a fájl

    Ha Bash interaktív, de nem fut be a rendszer, akkor megpróbálja olvasni a fájlt

    /.bashrc. Nincs más script nem fut. Ha Bash nem interaktív, arra utal, hogy a változó BASH_ENV és végrehajtja a megadott fájl létezik.

    Persze, meg lehet változtatni ezt a sorozatot, ami a saját fájlokat a szokásos forgatókönyv. Különleges alias shell. (Vagy annak szinonimája forrás) végrehajtja egy másik shell script. Például, ha azt szeretnénk, hogy telepíteni

    /.bashrc végezni minden olyan interaktív shell, írja be a következő parancsot:

    /.bash_profile. Ha a héj utasítást. (Point), akkor végrehajtja a szkript a megadott név után azonnal az üzemeltető.

    Szemét a shell

    A legjobb módja annak, hogy megtanulják a sorozat indító szkriptek a héj -, hogy hozzon létre egy egyszerű indítási parancsfájlt. Például, ha SSH közüzemi elindít egy távoli parancs bejelentkezési shell farfaraway név indítási ssh farfaraway ls parancs. Vagy talán fut egy egyszerű interaktív shell? Derítsük ki.

    Listák 1. 2. 3. és 4. ábra példát mutat az / etc / profile,

    1. listában ad példát a script / etc / profile. Ez az első fájl fut a héj (ha létezik, és elérhető az olvasás a felhasználó).

    1. lista Példa egy fájl / etc / profile

    A script az 1. listában megjelenik egy üzenet, és meghatározza a minimális érték a PATH változó. Mint már említettük, ez a szkript lefut, ha a héj egy interaktív parancs bejelentkezési shell. Például, akkor egy üzenet jelenik meg, ha elkezd egy új X-terminál ::

    Jó! Láttuk a megjósolt szekvenciáját rendszerindító szkriptek elindított egy új shell jelentkezned hogy az X-terminál. Vegyük észre, hogy meg van írva a parancssorba: megjeleníti a felhasználó nevét, rövidített nevét, a számítógép és a parancs számát.

    Ha beírja a parancsot logout vagy exit. akkor a következő üzenetet kapja:

    Mint korábban említettük, interaktív parancs login shell elindul

    A 2. lista mutat példát egy fájl

    /.bash_profile. Ez a fájl - az egyik lehetséges módja beállítása shell indításkor.

    2. listán Mintafájlból

    Most nézzük meg, mi történik, amikor elkezd egy új példány a héj a parancssorból. Az új shell interaktív, de nem ez a parancs a login shell. Ennek megfelelően,

    /.bashrc - Csak fájlt kell futtatni.

    És valóban, ez indult csak fájl

    /.bashrc. Bizonyíték megtalálható a parancssorban, az utolsó sor - ez egy közös felhívást Bash, ahelyett, hogy mi határozza meg a

    A teszt a kijárat forgatókönyv shellparancsot beírjuk exit (nem lehet exit keresztül logout parancsot. Mivel nem login shell). Ez teszi közzé:

    Amikor egy interaktív shell befejezi munkáját, végrehajtja a script

    /.bash_logout. Akkor használja ezt a funkciót, hogy távolítsa el az ideiglenes fájlokat, hát fontos fájlt egyszerű mentési módszer, vagy akár a segédprogram futtatásához Másolni más számítógépek minden változás történt a legújabb ülésén.

    A 3. lista egy példát mutat egy script

    /.bashrc. Ez a forgatókönyv - inicializáló fájl egy nem interaktív változatát Bash shell.

    3. lista példa

    Most egy másik kísérlet: milyen rendszer van burka, amikor csatlakoztatja SSH-n keresztül? Nézzük meg a két lehetőség. (Csak használata SSH kapcsolódni a helyi gépen, akkor ugyanúgy működik, mintha futni SSH távoli számítógépről.) Először is fogjuk használni SSH, hogy jelentkezzen be a távoli számítógépen:

    Ahogy az várható volt, a dob SSH hozzáférést a távoli számítógép kezdeményezi a dob egy új parancs-login shell. Most mi történik, ha fut át ​​SSH minden csapat? Itt a válasz:

    Parancsok futtatását távolról SSH-n át kezdeményez indít egy interaktív héj, amely nem egy parancs-login shell. Miért interaktív? Mivel a szabványos be- és kimenetét egy távoli számítógéphez csatlakoztatva a billentyűzet és a képernyő, bár SSH-n át.

    A 4. lista egy példát mutat egy fájl

    /.bash_logout. Ez a forgatókönyv akkor aktiválódik, ha a héj kilép.

    A 4. lista: Egy példa fájlt

    Tippek egy indító fájl

    Minél többet használja a héj, annál több a felhasználó időt és erőt miatt a felvételi beállításokat a indítófájljait. Tovább fog adni néhány hasznos technikákat és tippeket szervező Bash parancsértelmező. (Lehet használni egy hasonló stratégia vonatkozásában a másik héj.)

    • Ha a használni kívánt néhány beállítást (például a PATH) minden példányát a héj (függetlenül mód), hogy ezeket a beállításokat

    /.bashrc és használja a forrás. futtatni parancsfájlok

    /.bash_profile.
  • Ha vannak számlák több számítógépen (és a saját könyvtárat másolja át Network File System [NFS]), majd használja rsync tartani indítófájljait shell hálózat által használt összes számítógépen.
  • „Ha a héj beállítást kell függenie a számítógépet, például egy különleges PATH értéket olyan rendszer, amely speciális alkalmazások - menteni ezeket a beállításokat egy külön fájlban, és a forrás parancs betölteni ezt a fájlt, ha a fájl menedzsment segítségével történik rsync zárja ki a speciális célú számítógép .. az említett lista másolata.

    Természetesen akkor is létrehozhat egy globális forgatókönyv és használja ellenőrzi a globális változó HOSTNAME válassza ki a megfelelő beállításokat. (Hostname automatikusan beállítja a héj, és tartalmaz egy teljes számítógép nevét). Példaként az alábbiakban egy módja annak, hogy a beállításokat, attól függően, hogy a számítógép neve:

    Ez a példa egy switch utasítást, hogy kiválassza a változó $ HOSTNAME négy lehetséges érték: lab.area51.org, alien.area51.org, sablon, amely illeszkedik bármely kezdődő név húr csészealj * (számítógép neve: például csészealj Mars kielégítik ezt a mintát, és sauce.tomato.org neve - nem), és minden más neveken. Itt, abban az esetben a Bash shell, a csillaggal (*) értelmezi a shell szereplő, nem az üzemeltető a reguláris kifejezés. Amikor a választás történik mellett az egyik a fenti kiviteli alakok környezeti változókat inicializáljuk, a kiválasztott kiviteli alak. Ezzel szemben a switch nyilatkozatok néhány más nyelven a Bash programozás elvégezhető csak a szereplők egyik felsorolt ​​lehetőségek esetén.

    Végül, nézd indítófájljait más felhasználók által létrehozott szerezni ihletet, és megőrzi a hatalmukat. (Vannak, akik nem biztosít hozzáférést ezekhez a fájlokhoz és hazai könyvtárak, de aki megakadályozza, hogy a csekket?). Talán Joe talált hűvös és hasznos parancssor? Megtanulják, hogyan kell tenni. Talán Jeannette meghatározott további „forró” gombok, vagy van egy jó gyűjteménye környezeti változókat, amelyek segítenek, hogy kihasználják a sajátosságai, amit néhány dologra? Keresse neki a recepteket. A legjobb forrása az ötletek és a kód származik tapasztalt szakemberek a parancssor.

    Beállítás parancs shell

    A létrehozásának lehetőségét shell szokatlanul széles, és ha menteni őket a startup fájlt, akkor lehet újra használni. Az rsync vagy valami hasonló eszközt átadni beállításokat más gépek.

    Ebben a leckében vége.

    Kapcsolódó cikkek