A shell-programozás alapjai

DevOps | Shell
Nehézség: Közép
Tanfolyam hossza: 3 nap

Shell és alapvető parancsok, fájlkezelés, jogosultságok, processzkezelés, gyakori segédprogramok (grep, sort stb.), szkriptek készítése

CÉLOK
A parancssor ijesztő lehet ugyan a benne nem járatos felhasználók számára, kellő rutinnal s
azonban igen erőteljes eszközzé válik. A parancssoros eszközökkel rengeteg összetett feladatot tudunk egyszerűen elvégezni, sokkal gyorsabban, mint egy grafikus felhasználói felület segítségével. Manapság a DevOps trend erősödésével elengedhetetlen, hogy a fejlesztők parancssoros környezetben is feltalálják magukat, és képesek legyenek egyszerű scripteket készíteni. Ráadásul már nemcsak Linuxra, hanem Windowsra is elérhetőek a klasszikus linuxos eszközök portjai, így a Windowst használóknak is nagy előny lehet ezek ismerete. A tanfolyamon az alapoktól kezdve ismerjük meg a shell-programozás eszközeit, így nem szükséges hozzájuk programozási vagy üzemeltetői előképzettség.

TEMATIKA

• A parancssor szerepe és lehetőségei
– A prompt
– A shellek típusai
– Alapvető segédprogramok: pwd, ls, cd, mkdir, rmdir, rm, cat, cp, echo, printf
– Környezeti változók
– A PATH változó
– Az env és a printenv
– Kódkiegészítés és history
– A szabványos streamek és átirányításuk
– A script segédprogram
– Csővezetékek
– Lapozás a more és less programokkal
– Processzindítás előtérben és háttérben, nohup
– Elágazások a && és || jelölésekkel
– Glob helyettesítőkarakterek, idézőjelezés
– A man oldalak használata
– A környezeti változók
– Távoli shell használata (ssh)

• Fájl- és processzkezelés
– Patch generálása
– Fájlok patchelése
– Tömörítés (tar, gzip, bzip2, xz)
– Felhasználók és csoportok
– Az aktuális felhasználó lekérdezése
– Jelszóváltás (passwd)
– Felhasználóváltás (su, sudo)
– Csoportváltás (chgrp)
– Tárhelyhasználat kiszámítása (du)
– Fájlrendszer-jogosultságok
– Fájlrendszer-jogosultságok beállítása
– Futtatható fájlok kezelése
– A setuid, setgid és sticky bitek
– A touch parancs
– Futó processzek listázása (top, ps)
– Prioritás megadása a nice segédprogrammal
– Szignálok
– Szignál küldése futó processznek (kill)
– Megosztott könyvtárak kezelése

• Gyakran használt segédprogramok
– Input generálása csővezetékekhez (yes, jot)
– A parancssoros számológép (bc, dc)
– Reguláris kifejezések
– Fájlok listázása a find segédprogrammal
– Fájllisták feldolgozása az xargs segédprogrammal
– Keresés a grep segédprogrammal
– Egyszerű szerkesztés a sed segédprogrammal
– Dátum és idő kezelése (date, time)
– Útvonalak feldolgozása (basename, dirname)
– Tokenizálás (cut)
– A kimenet rendezése (sort)
– Sorok számlálása (wc)
– Duplikátumok kiszűrése (uniq)
– A kimenet sorainak limitálása (head, tail)
– Feladatok ütemezése konkrét időpontra (at)
– Periodikus feladatok ütemezése (cron)
– Weblapok letöltése (curl, wget)

• Szkriptek készítése
– A szkriptek formátuma
– Paraméterek átvétele
– Változók használata, variable expansions
– A getopt segédprogram
– Elágazások a programban (if, case)
– Ciklusok (for, while)
– Dinamikusan összeállított parancs kiértékelése
– Parancs kimenetének behelyettesítése
– A visszatérési érték kezelése, a test parancs
– A true és a false parancsok
– Hibakeresés szkriptekben