A Bash furcsán hangzik egy parancssori felületnek, amely üdvözli a Linux disztribúcióba bejelentkező felhasználókat. Pontosan mi is az a Bash? Mire használhatod? Nézzük meg.
Míg a Bash rendszerint a Linuxhoz kapcsolódik, a használja Windowson lehetőséget is megteheti. A macOS már tartalmazza a Bash-t, bár az alapértelmezett shellt Zsh-re változtatta – ez a Bash fejlett verziója néhány további funkcióval.
Mi az a Shell?
A Bash shell kifejezést gyakran használják, de mi is az a shell? Miért van rá szükség? És miért tűnik úgy, hogy Bash az egyetlen shell?
A modern operációs rendszerek intuitív grafikus felhasználói felületükkel egyszerűvé tették a számítógép használatát. De a számítógépek korai idejében nem volt olyan egyszerű megmondani a rendszernek, hogy mit tegyen.
A programozóknak ismerniük kellett a rendszer alacsony szintű részleteit, amelyre kódoltak, és manuálisan kellett utasítaniuk minden hardvert. Az operációs rendszereket úgy tervezték, hogy áthidalják ezt a szakadékot, de hogyan utasítaná magát az operációs rendszert?
Lépjen be a Shellbe. Az operációs rendszer legkülső rétegét interaktív környezetnek tervezték, amely a számítógép összes funkcióját egy egyszerű felületen tárja fel. Ez a shell volt a legmesszebb, amibe a számítógép felhasználójának bele kellett mennie, mivel ez tartalmazza a rendszer működtetéséhez szükséges összes parancsot.
Bourne Again: Hogyan jött létre Bash
Gyakori tévhit az, hogy a Bash-t Linus Torvalds készítette Linux operációs rendszerhez. Valójában a Bash-t csak Linuxra portolták, és már az elődjében, a Unixban is használták.
Sok szempontból a Unix az, ahol minden kezdődött a modern operációs rendszerek számára. Megszüntette a bonyolult bonyolultság nagy részét, amely az operációs rendszer korai megvalósításait sújtotta, és egy viszonylag egyszerű szöveges felületen mutatja be a számítógép funkcióit.
Természetesen maga a Unix a legtöbb ötletet a Multicstól kölcsönözte, beleértve a shell koncepcióját is. De valójában a Unix népszerűsítette a technikát, a Thompson Shell első verziójával pedig megjelent.
A funkcionalitása azonban meglehetősen korlátozott volt, és sok programozó végül módosította a shellt, hogy szkriptbarátabb legyen. A Bourne Shell a Unix shell hivatalos cseréje volt, amely támogatja a shell szkripteket..
A Bourne Again Shell jóval később jelent meg, és további fejlesztést kínált a szkriptelési képességeiben, és egy ingyenes, nyílt forráskódú GNU-licenceshellgé változtatta, amelyet bármely operációs rendszer használhat. A Linux pedig gyorsan átvette, és a különféle disztribúciók alapértelmezett shelljévé vált.
De mit tehet Bash?
A Bash alapvetően egy teljes értékű parancsfájl-környezet, teljes hozzáféréssel a Linux rendszerhez. A fájlok kezelésétől az alkalmazások futtatásáig minden számítási feladatot elvégezhet a Bash parancsokkal.
A legtöbb Linux-felhasználó számára ez csak kézi shell-parancsokat jelent. Végül is a Bash fő célja, hogy interfészként szolgáljon az operációs rendszerhez.
És jó néhány ilyen beépített parancs létezik. A fájlok tulajdonjogát az chown segítségével kezelheti, a hálózati beállításokat a ifconfig gombbal konfigurálhatja, a könyvtárakat pedig a megtalálja gombbal keresheti meg – a lista folytatódik.
A Bash azonban nem létezne, ha a felhasználókat csak a Linux parancsok érdekelnék. Nem, a Linux shell valódi ereje a szkriptekben rejlik.
A szkriptek fontossága
A parancsfájl-parancsok ötlete egyszerű. Ahelyett, hogy manuálisan adná meg a rendszer által végrehajtandó összes parancsot egyenként, a parancsokat egy szöveges fájlba menti, amely igény szerint futtatható.
Ez a héjfelületet egyfajta programozási nyelvvé változtatja, amely lehetővé teszi a felhasználók számára, hogy bármilyen műveletet újrafelhasználható parancsfájllá automatizáljanak. Nyilvánvalóan ennél is tovább megy, mivel minden programozási nyelvnek szüksége van a kódmentés képességén kívül változókra és függvényekre is.
És a Bash rendelkezik mindezekkel a funkciókkal. Ez az oka annak, hogy a shell – és bizonyos mértékig a Linux általában – olyan népszerű szerverek és kereskedelmi rendszerek kezelésére.
Az otthoni felhasználó elérheti, ha egy csomó gombra kattint, de a rendszergazdának képesnek kell lennie bármilyen művelet végrehajtására nagyszámú számítógépen távolról. A Bash szkriptek teszik lehetővé ezt a fajta automatizált rendszerkezelést.
Vegyük például a következőt: útmutatónk a fájlok és mappák átnevezéséről Linux rendszeren. Az útmutató mindkét módszert szemlélteti – a grafikus felhasználói felületet és a szkriptet. Amint láthatja, a szkriptelési módszer sokkal jobban méretezhető, ha nagyszámú fájlról van szó.
A Bash használatának megkezdése.
A Bashban az a jó, hogy nem korlátozódik kizárólag a Linuxra. Mostantól telepítse a Linuxot Windowsra a Windows alrendszeren keresztül Linuxhoz (WSL), amely alapértelmezés szerint a Bashhoz tartozik.
Ez azt jelenti, hogy anélkül kezdheti meg a Bash kísérletezését, hogy teljesen át kellene váltania Linuxra. Még akkor is, ha Ön egy hétköznapi felhasználó, aki nem kíván Linux szerverekkel dolgozni, a Bash shell érdekes képességei hasznosak lehetnek az Ön számára.
Nem mintha a Bash lenne az egyetlen lehetőség a számítási feladatok automatizálására. A PowerShell egy hasonló felület, amely a Windows rendszerrel is működik – eltekintve persze attól, amit a 7-telkezelhet.