Linux.

Slides:



Advertisements
Hasonló előadás
Bevezetés az informatikába 5. előadás
Advertisements

Operációs Rendszerek I.
Operációs Rendszerek I.
BIOS A BIOS mozaikszó, a Basic Input/Output System rövidítése, magyar fordításban alapvető ki- és bemeneti rendszerként szokták emlegetni.
Készítette: Pető László
Tóth Dániel, Szatmári Zoltán
Hága Péter ELTE Komplex Rendszerek Fizikája tanszék
LINUX/UNIX PARANCSOK.
Sztringek.
(Bevezetés az informatikába)
7. előadás (2005. április 12.) Láncolt lista File kezelés 1.
Operációs Rendszerek Példák
Bevezetés az informatikába 7. előadás
Programozás II. 3. Gyakorlat C++ alapok.
A CLIPS keretrendszer CLIPS "C" Language Integration Production System.
Ember László Damn Small Linux Microsoft VPC környezetben.
Linux A UNIX története – 3. dia
Microsoft Windows A Windows fejlődése, általános jellemzése – 2. dia
UNIX Összefoglaló az alapokról a ta65 tárgyhoz ( )
WEB Technológiák Dr. Pance Miklós – Kolcza Gábor Miskolci Egyetem.
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
Operációs rendszerek gyakorlat
Jogosultságkezelés.
Operációs rendszerek gyakorlat Fájlműveletek.
Számítógép architektúrák I. gyakorlat Linux telepítő gyakorlat
Operációs rendszerek GNU/Linux
Linux felhasználói ismeretek
Module 1: A Microsoft Windows XP Professional telepítése
Felhasználói felületek
1 Operációs rendszerek A UNIX védelmi rendszere. 2 Illetéktelen hozzáférés megakadályozása: az egyes felhasználók adataihoz, az operációs rendszer adataihoz,
Operációs rendszerek gyakorlat 4. Gyakorlat Vakulya Gergely.
Operációs rendszerek gyakorlat 2. Gyakorlat Vakulya Gergely.
Operációs rendszerek gyakorlat 3. Gyakorlat Vakulya Gergely.
PHP III. Fájlok, űrlapok.
PHP VII Sütik, munkamenetek. Sütik Mi az a süti? A süti (cookie) állapotot tárol a felhasználó böngészőjében. Pl. ha egy oldalon beállítható, hogy milyen.
Operációs rendszerek gyakorlat 1. Bevezetés Vakulya Gergely.
Linux/UNIX tanfolyam UNIX shell scriptek (½ rész)
Állomány és lemezműveletek
Bemutatkozás Név: Vespi Gábor Kelt: december 27.
Felhasználók és jogosultságok
Operációs Rendszerek 1 Felhasználókezelés Windisch Gergely
1 Operációs rendszerek I, 3. gyakorlat Windisch Gergely
PARANCSOK HASZNÁLATA WINDOWS-BAN ÉS LINUXBAN II. Balaton Marcell Balázs.
3. előadás.  Apache szerver tudnivalók  Az index.php .htaccess – web-szerverünk beállításai  Konfigurációs állományok  Adatbázis kapcsolódás beállítása.
Visual Basic 2008 Express Edition
Rodek Lajos munkája alapján (Szegedi Tudományegyetem)
Linux nemcsak a 13.ht-számára.
Bevezetés az informatikába 4. előadás
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Scriptelés alapok Tóth Dániel, Szatmári Zoltán Intelligens.
Webprogramozó tanfolyam
OPERÁCIÓS RENDSZEREK LINUX – PARANCSSOR.
RAD Studio XE5: menük felépítése
Power Lutár Patrícia Pellek Krisztián.  -ltLess than  -leLess than or equal to  -gtGreater than  -geGreater than or equal to  -eqEqual to  -neNot.
Fontos tudnivalók A MATLAB egy fajta objektummal dolgozik (Mátrix)
Linux kezelés MIN1U1 3. gyakorlat.
Bevezetés az informatikába 5. előadás
Bevezetés az informatikába 3. előadás Software alapismeretek II Operációs rendszerek 1. A DOS operációs rendszer.
Az 5,6,7 laborok VBA anyagának összefoglalása
Programozás alapjai 1.gyakorlat
Ismétlés:grafikus felületek Felső panel Indítópanel Asztal Indikátorok Kuka.
Készítette: Rummel Szabolcs Elérhet ő ség: Linux kezelése.
OPERÁCIÓS RENDSZEREK LINUX – PARANCSSOR.
Total commander.
Unix Linux GNU Copyright kriptográfia
Operációs rendszerek I.
A CLIPS keretrendszer
Ubuntu – ismerkedés Fájlok és könyvtárak
Adatmozgatás az MTA Cloudon Data Avenue segítségével MTA Cloud workshop november 21. Nagy Enikő MTA Cloud csapattag Szoftverfejlesztő.
Hálózati architektúrák
Számítógépes alapismeretek 2-3. gyakorlat Unix/Linux alapismeretek
Előadás másolata:

Linux

Linux kernel JZsCs 2007

JZsCs 2007

JZsCs 2007

JZsCs 2007

JZsCs 2007

JZsCs 2007

JZsCs 2007

Root felhasználó Kell egy olyan szerep, amely mindenhez hozzáfér, mindent beállíthat - rendszergazda Unix-ban ez egy kitüntetett felhasználó, teljhatalommal (root) Nem lehet több rendszergazdai felhasználó, ami nem valós, illetve a feladatok sem oszthatók szét (részleges jogok) Több megoldás (pl. sudo), aktuális: RBAC (de ez még nem igazán terjedt el) JZsCs 2007

Indítás, bejelentkezés VirtualPC Debian (X nélküli) Azonosító: root / nik119 JZsCs 2007 10

Útvonal "." aktuális könyvtár ".." szülő könyvtár "/" gyökér könyvtár JZsCs 2007

Standard fa /bin rendszerprogramok /usr/bin közérdekű felhasználói programok /etc a rendszer működéséhez és karbantartásához szükséges állományok és programok /etc/passwd felhasználók azonosításához szükséges adatok egy része /tmp ideiglenes állományok elhelyezése /dev speciális állományok /home felhasználói könyvtárak JZsCs 2007

/dev/fd* hajlékonylemezes egység neve /dev/tty* a terminálok nevei, a „* ” helyén bármely karakter állhat a gép kiépítettségétől függően /dev/hd* merevlemez neve, a „* ” helyén alfanumerikus karakterek, elsősorban számok állnak /dev/fd* hajlékonylemezes egység neve /dev/mem állományként elérhető memória neve /dev/null különleges rendeltetésű állomány, ha olvasunk belőle, akkor azonnal az állomány végét érzékeljük, ha pedig írunk bele, akkor korlátlanul elnyel mindent anélkül, hogy bárhol is tárolná JZsCs 2007

Memória Szerencsére nincs felosztva, teljesen egyben kezeli. Virtuális memória külön partíción (swap partíció) JZsCs 2007

Könyvtár- és állománykezelés pwd az aktuális munkakönyvtár elérési úttal ellátott nevének kiírása ls [-altrR] könyvtár egy könyvtár tartalmának kilistázása ABC sorrendben -r a rendezés iránya fordított -R alkönyvtárak is rekurzívan -a a rejtett állományok is -l kiegészítő információk drwxrwxrwx ln user group size date time name -t módosítási idő szerinti rendezés JZsCs 2007

cd [elérési_út/]könyvtár könyvtárváltás ln -s állománynév linknév mkdir [elérési_út/]könyvtár egy új könyvtár létrehozása mkdir –p ./elso/masodik létrehozza az elso könyvtárat is cd [elérési_út/]könyvtár könyvtárváltás ln -s állománynév linknév link létrehozása -s szimbolikus link cat állomány1 [...állományN] állományok összefűzése: cat állomány1 állomány2 > állomány3 állomány kiíratása: cat állomány új állomány létrehozása: cat > állomány <CTRL>+<D> JZsCs 2007

rm kapcsolók állománynév állomány törlése -f nincs figyelmeztető üzenet -r könyvtárak törlése rekurzívan rmdir könyvtárnév üres könyvtár törlése !kitörölt állomány nem állítható vissza wc kapcsolók állománynév állomány jellemzőinek számlálása -c bájtok -l sorok -w szavak cp kapcsolók forrás cél állományok másolása -r rekurzív -s szimbolikus linket hoz létre másolás helyett (csak akkor működik, ha az aktuális könyvtárba másolunk) -f nincs figyelmeztető üzenet JZsCs 2007

- name minta név szerint - user név tulajdonos szerint find kezdőpont kifejezés állomány keresése a könyvtárrendszerben kezdőponttól lefelé - name minta név szerint - user név tulajdonos szerint grep kapcsoló minta állománynév minta előfordulását keresi állományokban -c csak a mintát tartalmazó sorok száma -i kis és nagy betű azonos -l csak állománynevek -n sorszám + sor -v mindent ami nem tartalmazza a mintát JZsCs 2007

mv kapcsolók forrás cél állományok átnevezése és/vagy mozgatása -f létezőt kérdés nélkül felülír -b mozgatás előtt biztonsági másolatot készít cél állomány vagy könyvtár more kapcsolók állomány... állomány tartalmának oldalakra tördelt megjelenítése a képernyőn -p nem görget, hanem lapoz -s több üres sorból egyet cmp kapcsolók áll1 áll2 állományok összehasonlítása -c a különböző bájtokat karakterként írja ki JZsCs 2007

sort kapcsolók állománynév állomány sorainak rendezése -b beveztő szóközt kihagy -c rendezettséget vizsgál -o állomány állományba írja az eredményt -r fordított sorrend JZsCs 2007

-c becsomagolás (újat létrehoz) -r becsomagolás (hozzáfűz) tar kapcsolók újnév állományok állományok/könyvtárak összecsomagolása és kibontása -t lista (teszt) -f lemezes álomány -x kibont -c becsomagolás (újat létrehoz) -r becsomagolás (hozzáfűz) -A hozzámásol tar állományt --delete töröl -W ellenőriz -v kiírja az állományneveket a képernyőre JZsCs 2007

Tar tar –cvf ujnev.tar allomanyok tar –xvf ujnev.tar tar –tvf ujnev.tar JZsCs 2007

File file fájlnév megadja az állomány típusát a magic fájl alapján JZsCs 2007

LESS Fájl tartalmának a megtekintése úgy, hogy abban közlekedni is lehet. JZsCs 2007

Állományrendszerek beiktatása és leválasztása felcsatolás az állományrendszer valamely könyvtára helyére általában rendszergazdai jogosultság szükséges felcsatolás mount lecsatolás umount JZsCs 2007

Ext2 FS inode táblák ... ... ... ... inode 1 ... 2 ... 3 4 ... 5 6 7 8 9 10 11 12 ... 13 ... ... ... JZsCs 2007

Háttértárak /dev könyvtár eszközfájljain keresztül érhetők el. /dev/fd0 floppy lemez (DOS-ban A:) /dev/fd1 floppy lemez (DOS-ban B:) IDE winchesterek, IDE CD meghajtók /dev/hda 1. csatorna master /dev/hdb 1. csatorna slave /dev/hdc 2. csatorna master /dev/hdd 2. csatorna slave Partíciók: /dev/hdc3 a 2. csatorna master lemezének 3. partíciója JZsCs 2007

PORTOK /dev/ttyS0 a DOS alatti COM1 soros port. /dev/lpt0 a DOS alatti LPT1 párhuzamos port. /dev/psaux A PS/2 port JZsCs 2007

Mount /dev/hda1 /dev/hda2 JZsCs 2007

Fájl rendszerek hozzáépítése (mount) Minden egyetlen gyökérkönyvtárból érhető el: merevlemezen levő fő könyvtárfa Az egyes tároló eszközök (floppy, CD, stb.) fájljai 1-1 fájlrendszerbe vannak szervezve, melyek mindaddig elkülönülnek a könyvtárfától, míg nem csatoljuk őket ahhoz, ekkor részfává válnak Hozzáépítés (mount-olás): mount eszközhozzáépítési -pont # mount /dev/fd0 /mnt/floppy floppy hozzáépítése # mount /dev/hda4 /mnt merevlemez partíciók hozzáépítése JZsCs 2007

A df parancs Eszköznevek megadásával kilistázza az összes fájl-rendszert az összes partíciót a szabad hely méretét az egyes fájlrendszerekben a hozzáépítési pontot az egyes fájlrendszerekben $df Filesystem 1024-blocks Used Available Capacity Mounted on /dev/hda3 297635 169499 112764 60% / /dev/hda1 205380 182320 23060 89% /mnt/dos /dev/hdc 637986 637986 0 100% /mnt/cdrom JZsCs 2007

Leválasztás (unmount) umount eszközhozzáépítési –pont Nem a meghajtó, hanem maga az adathordozó kerül mount-olásra, unmount-olásra !!! A floppy-t, cd-t sem lehet csak úgy kivenni! Kilépéskor minden automatikusan leválasztásra kerül # umount /dev/fd0 /mnt/floppy floppy leválasztása # umount /dev/cdrom /dev/mnt cd leválasztása JZsCs 2007

A védelmi rendszer uid - user identifier gid - group identifier /etc/passwd uid és alap gid /etc/group felhasználó-csoport összerendelések Felhasználói körök: tulajdonos csoporttárs többiek su - superuser (uid=0) JZsCs 2007

Jogok olvasás - állomány tartalmának megtekintése, könyvtár esetén a tartalom kilistázása írás - állomány bővítése, kicserélése, megváltoztatása, ill. könyvtár esetén bejegyzés létrehozása, törlése végrehajtás - állomány futtatás, könyvtárban keresés, belépés az adott könyvtárba cd-vel, és informálódás az ls utasítás segítségével egy konkrét könyvtár vagy állomány meglétéről és tulajdonságairól JZsCs 2007

Védelmi kódsor trwxrwxrwx t - bejegyzés típusa b blokkorientált speciális állomány (pl. /dev/hda1) c karakterorientált speciális áll. (pl. /dev/stty4) d alkönyvtár-bejegyzés l szimbolikus keresztkapcsolat - egyszerű állomány tulajdonos csoporttárs bárki JZsCs 2007

Jogadás Futtatási időre setgid bit setuid bit Állandó chmod chown chgrp JZsCs 2007

Jogosultságok - fájl d könyvtár l link R olvasható(4) Gazda jogai w írható(2) x futtatható(1) Gazda jogai Csoport jogai Többi felhasználó jogai JZsCs 2007

chown újtulajdonos állománynév állomány tulajdonosának megváltoztatása chgrp újcsoport állománynév állomány csoportjának megváltoztatása chmod kapcsoló[kinek] op jogok [op jogok] jogok beállítása - adása kinek : u az aktuális felhasználónak g a csoportnak o a többieknek op + jogokat adunk hozzá - jogokat veszünk el = pontosan JZsCs 2007

jogok a következő betűk kombinációi lehetnek: r olvasási jog w írási jog x végrehajtási jog X végrehajtási jog, ha az állomány könyvtár vagy ha már van másik x bitje; s setuid vagy setgid mód chmod g-w állomány chmod +x állomány chmod 622 állomány JZsCs 2007

Jogosultság – Speciális flagek sticky bit: chmod +t fnev Fájloknál már nem használt (memóriában tartás) Könyvtárra beállítva: a könyvárban levő fájlokat csak a tulajdonos törölheti (rendszerfüggő) példa erre a /tmp, közös ftp könyvtárak suid (set user id): chmod +s fnev Futtatható fájloknál a futtató felhasználó a fájl tulajdonosával lesz azonos (jogosultság szempontjából) pl: másolás root által írható helyre veszélyes! shell scriptnél különösen sgid: Mint a suid, csak csoporttal JZsCs 2007 40

Alapértelmezett bitek umask maszk az umask környezeti változó értékét maszk&0777-re állítja az open() használja az újonnan létrehozott állományok jogainak meghatározására az open() mode paramétere pl. umask 022 mode 0666 az új állomány jogai: 0666&~022=110 110 110&111 101 101 110 100 100 rw-r--r-- JZsCs 2007

Folyamatok JZsCs 2007

ps –A információk folyamatokról kill kapcsolók PID jel küldése folyamathoz kill -9 PID (folyamat leállítása) -s szám jel küldése -l jel lista date dátum és idő kiírása utasítás& utasítás a háttérben fut JZsCs 2007

Háttér – előtér időzítés programnév& program futtatás a háttérben fg háttérben futó folyamat előhozása JZsCs 2007

Átirányítás Standard input more < help.txt Standard output ls -la > lista.txt Standard hibakimenet find / -name *.html 2> hibák JZsCs 2007

Parancs csatolás Az első parancs standard kimenete lesz a második parancs standard bemenete. ls -la *.tar | wc -l A képernyőn megjelenik az aktuális könyvtárban található tar kiterjesztésű állományok száma JZsCs 2007

Helyettesítő karakterek * 0 vagy több tetszőleges karakter ? egy darab tetszőleges karakter [afu] a vagy f vagy u [135] 1 vagy 3 vagy 5 [a-g] a-tól g-ig terjedő intervallumból egy karakter [1-6] 1-től 6-ig terjedő intervallumból [a-g1-6] az a-tól g-ig vagy az 1-től 6-ig terjedő intervallumból egy karakter JZsCs 2007

Semlegesítő karakterek1 \ a mögötte álló karaktert védi cat > ab\*c '..' shell behelyettesítéstől védi a közrefogott szöveget find / -name *.c 2>hibák | grep -l 'int len' megkeresi azokat a c kiterjesztésű állományokat, amelyek tartalmazzák az idézőjelek között megadott szöveget JZsCs 2007

Semlegesítő karakterek2 ".." shell behelyettesítéstől védi a közrefogott szöveget, de a környezeti változókat behelyettesíti ls "${HOME}/ab*c" megnézi, hogy van-e a saját könyvtárunkban ab*c nevű állomány `..` kiértékeli a közrefogott parancsot, és annak értékét helyettesíti az idézőjeles kifejezés helyére echo Ebben a könyvtárban `ls | wc -l` darab bejegyzés található JZsCs 2007

Példa ls /dev/t*[3-8] ls /dev/*[0-9]* | wc -l JZsCs 2007

Felhasználókezelés who név, terminál, bejelentkezés dátuma, ideje whoami saját felhasználói név w rendszerindítás ideje, bejelentkezett felhasználók száma, terhelés, felhasználók, terminálok, honnan jelentkeztek be, mikor, mit csinálnak JZsCs 2007

Felhasználókezelés /etc/passwd : felhasználói információk (nyílt szöveg) /etc/shadow : jelszavak (kódolt) /etc/group : csoportok adatai groupadd : csoportot hozhatunk létre vele useradd: felhasználót adhatunk a rendszerhez /home/usernev -en belül lesznek a felhasználók alaphelyzetben nem jön létre /etc/default/useradd /etc/skel - ez a könyvtár lesz a home tartalma User létrehozása Unix alatt csak néhány konfigurációs állomány módosításából áll. JZsCs 2007 52

/etc/shadow username:password:last_change:may_change:must_change:warn_days:expire_date:disable:reserved username: The username of the account as specified in the /etc/passwd file password: The password is in encrypted hash format, meaning that it has been hashed using a salt as the seed. The rest of the post is on this very topic. last_change: The number of days, since January 1, 1970, when the password was last changed. may_change: The number of days since the last password change before a new password change is allowed. must_change: The number of days since the last password change when a new password change is required. warn_days: The number of days before must_change when the user begins receiving warning about changing their password. expire_date: The number of days after the password expires when the account is disabled. disable: The number of days since January 1, 1970, when the account will be disabled. reserved: A reserved field for the system. JZsCs 2007

Csoport létrehozása groupadd gname groupadd -g GID (group ID) megadása - 1000 fölött a tipikus JZsCs 2007 54

Felhasználó hozzáadás useradd user1 létrehoz egy felhasználót (beállítások nélkül) useradd -D : kiírja az alapértékeket useradd -g csoport1 user3 elsődleges csoport useradd -g csoport1 -G csop2,csop3,csop4 user4 másodlagos csoportok is useradd -m user5 home könyvtár automatikus létrehozása useradd -p kod user6 megadhatunk egy jelszót JZsCs 2007 55

Példa useradd -gusers -Gmgmt -s/bin/shell -pxxxx -d/home/roger -m roger Options: -d home directory -s starting program (shell) -p password -g (primary group assigned to the users) -G (Other groups the user belongs to) -m (Create the user's home directory JZsCs 2007

Rendrakás passwd passwd usernev groupdel csoportnev userdel usernev saját jelszavunk megváltoztatása passwd usernev másik felhasználó jelszavának megadása groupdel csoportnev userdel usernev JZsCs 2007 57

BASH (Bourne-Again Shell) Bourne shell – (sh) (Stephen Bourne) – az első nagy, majdnem standard a UNIX rendszereken a bash – (bash) az sh kibővítése visszafele kompatibilis az sh-val #!/bin/sh – ez a script első sora JZsCs 2007

BASH (Bourne-Again Shell) milyen parancshélyt használunk? echo $SHELL segítség a parancsokról: date --help man date JZsCs 2007

Parancsok sort <állomány> tail <állomány> -r - fordított sorrendben tail <állomány> +n első n sor megjelenítése -n utolsó n sor megjelenítése -f folyamatos megjelenítés JZsCs 2007

Aritmetika expr 1 + 3 $ expr 2 - 1 $ expr 10 / 2 $ expr 20 % 3 $ expr 10 \* 3 $ echo `expr 6 + 3` JZsCs 2007

Idézőjelek ” (2) karaktersor, nem értelmezi a speciális karaktereket (kivétel $ és \ ) echo -e ”a\tb\n\ax\a\naaaaaa\rbbb” ‘ (1) karaktersor, változatlanul marad ` (7) parancsként értelmezi, végrehajtja echo ”A mai dátum: `date`” JZsCs 2007

Idézőjelek % echo 'What the *heck* is a $ doing here???' % echo "Is your home directory $HOME?" Is your home directory /home/kreskin/u0/barnett? % echo "Your current directory is `pwd`" Your current directory is /home/kreskin/u0/barnett JZsCs 2007

Néhány környezeti változó Felhasználó által definiált változók $HOME $USERNAME $PWD $PATH $BASH_VERSION $SHELL Felhasználó által definiált változók n=10 helyes (Bourne Shell) set n=10 helyes (C Shell) n = 10 helytelen n= 10 helytelen n =10 helytelen echo $n Változók törlése unset n JZsCs 2007

Hivatkozás változókra ${VALTOZO_NEVE} $ VALTOZO_NEVE Példa: $ PATH=${PATH}:${XYZ_DIR} JZsCs 2007

Script paraméterek $# parancssori argumentumok száma $0 a script neve $1 első paraméter $2 második $* az összes argumentum JZsCs 2007

Exit státusz $? a hibakódot tárolja (0 – OK) (!=0 Error) a következő utasítás felülírja date echo $? rosszparancs JZsCs 2007

Értek beolvasása read változónév Példa: echo "Your first name please:„ read fname echo "Hello $fname, Lets be friend!" JZsCs 2007

Parancsok összefűzése Több parancs végrehajtása parancs1;parancs2;parancs3 Példa: date;who JZsCs 2007

Feltétel if feltétel then parancs1; else parancs2; fi JZsCs 2007

Összehasonlítások 5 > 2 a < b c > 5 c > 5 + 30 -1 JZsCs 2007

Feltétel 0 - igaz 1,2,… - hamis -eq egyenlő if test 5 -eq 6 JZsCs 2007

-le kissebb vagy egyenlő -gt nagyobb -ge nagyobb vagy egyenlő -ne nem egyenlő -lt kissebb -le kissebb vagy egyenlő -gt nagyobb -ge nagyobb vagy egyenlő JZsCs 2007

Állományok -s nem üres -f létező állomány -d létező könyvtár -w írható állomány -r olvasható állomány -x futtatható If [ -f „$1” ] then echo „$1 létezik” fi JZsCs 2007

Ciklus while feltétel do parancsok done JZsCs 2007

While n=0 while [ num –lt 10 ] do echo $num num=$((num+1)) done JZsCs 2007

for For változó in lista do parancs; done JZsCs 2007

for for valtozo in alma szilva korte do echo $valtozo done JZsCs 2007

for ciklus for ((  i = 0 ;  i <= 5;  i++  )) do   echo $i done JZsCs 2007

Ciklus ellenőrzés Continue – megszakítja az aktuális iterációt, folytatja a következővel Break – megszakítja a teljes ciklust JZsCs 2007

Ciklus ellenőrzés a=0 while [ "$a" -le "$LIMIT" ] do a=$(($a+1)) if [ "$a" -gt 2 ] then break fi echo -n "$a „ done echo; exit 0 JZsCs 2007

case Case „$változó” in „feltétel1” ) parancs;; „feltétel2” ) esac JZsCs 2007

#. /bin/sh case $2 in p) chmod 777 $1;; [1-4a-b][. a-b] #!/bin/sh case $2 in p) chmod 777 $1;; [1-4a-b][!a-b]?) ls -l;; x|X) ps -ew) who;; esac JZsCs 2007

proc) cat /proc/cpuinfo;; mem) cat /proc/meminfo;; #!/bin/sh case $1 in proc) cat /proc/cpuinfo;; mem) cat /proc/meminfo;; hdd) if [ -d /proc/ide/hda ]; then echo Model: `cat /proc/ide/hda/model`; echo Cache size: `cat /proc/ide/hda/cache`; fi;; mnt) cat /proc/mounts;; esac JZsCs 2007

echo „Elérhető shellek: „ echo "`cat /etc/shells`" fi if [ -f /etc/shells ] then echo „Elérhető shellek: „ echo "`cat /etc/shells`" fi JZsCs 2007

Példa for fis in `find $1 -perm -u=rx -type f` do echo $fis # kiírjuk az állomány nevét head -$2 $fis # kiírjuk az első $2 sort az állományból done JZsCs 2007

Példa if [ ! $# -eq 2 ] then echo usage: shell1 dir nr exit 1 fi JZsCs 2007

Példa #!/bin/sh n=0 for i in * do if [ -f $i ]; then n=`expr $n + 1` done echo $n allomany van a katalogusban JZsCs 2007

Cut parancs grep "user" /etc/passwd | cut -d: -f5 | cut -d, -f1 for x in `ps -e | grep "sleep" | cut -c1-5` do kill $x 2>/dev/null done JZsCs 2007

Folyamatok listázása felhasználók szerint ps -u ps U pkill –KILL –u user // felhasználó kill pgrep –u root sshd // az sshd nevezetű és root tulajdonosú folyamatok listázása JZsCs 2007

Példa Egy napnál régebben készült fájlok törlése for i in $(find "$1" -type f -atime +1); do echo $i rm $i done JZsCs 2007

Megosztott mappa mountolása mount -t cifs //192.168.1.120/Linux -o username=myntaccount,password=mypassword /mnt/ntfs The CIFS VFS is a virtual file system for Linux to allow access to servers and storage appliances compliant with the SNIA CIFS Specification version 1.0 or later.    Popular servers such as Samba, Windows 2000, Windows XP and many others support CIFS by default.   The CIFS VFS provides some support for older servers based on the more primitive SMB (Server Message Block) protocol (you also can use the Linux file system smbfs as an alternative for accessing these).   CIFS VFS is designed to take advantage of advanced network file system features such as locking, Unicode (advanced internationalization), hardlinks, dfs (hierarchical, replicated name space), distributed caching and uses native TCP names (rather than RFC1001, Netbios names).  Unlike some other network file systems all key network function including authentication is provided in kernel (and changes to mount and/or a mount helper file are not required in order to enable the CIFS VFS). With the addition of upcoming improvements to the mount helper (mount.cifs) the CIFS VFS will be able to take advantage of the new CIFS URL specification though.   The TODO list includes some of the other features being planned for future releases.   The CIFS VFS has been tested with Linux 2.4.14 and later as well as regular testing on Linux 2.6 (and has been in the kernel source starting with Linux kernel 2.5.42. Testing has been done on various hardware architectures including x86 and even big endian zSeries hardware.   The cifs and smbfs file systems can coexist on the same system and do not conflict. JZsCs 2007

Regularis kifejezések "[xyz]" matches any one of the characters x, y, or z. "[c-n]" matches any one of the characters in the range c to n. "[B-Pk-y]" matches any one of the characters in the ranges B to P and k to y. "[a-z0-9]" matches any single lowercase letter or any digit. "[!b-d]" matches any character except those in the range b to d. JZsCs 2007

Tömbök array=(red green blue yellow magenta) len=${#array[*]} echo "The array has $len members. They are:" i=0 while [ $i -lt $len ]; do echo "$i: ${array[$i]}" let i++ done JZsCs 2007

Példa Ftp-re #!/bin/sh HOST='ftp.users.qwest.net' USER='yourid' PASSWD='yourpw' FILE='file.txt' ftp -n $HOST <<END_SCRIPT quote USER $USER quote PASS $PASSWD put $FILE quit END_SCRIPT exit 0 JZsCs 2007