FÁJLOK, KÖNYVTÁRAK, JOGOK, STB



Hasonló dokumentumok
Operációs rendszerek 1.

II. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

Munka állományokkal. mv: áthelyezés (átnevezés) rm: törlés. rmdir: üres könyvtár törlése. -r, -R: rekurzív (könyvtár) -r, -R: rekurzív (könyvtár)

Az állományok kezelésére használt fontosabb parancsok

Operációs rendszerek. 3. gyakorlat. Jogosultságkezelés, linkelés, csővezeték UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Operációs rendszerek I. IIII. gyakorlat

Munka állományokkal. mv: áthelyezés (átnevezés) rmdir: üres könyvtár törlése rm: törlés. -r, -R: rekurzív (könyvtár) -r, -R: rekurzív (könyvtár)

Unix-Linux alapok I. gyakorlatvezető: Lutár Patrícia

Linux alapok. Parancsok általános alakja parancs kapcsolók paraméterek

4. Laborgyakorlat. A fájlokról ezeket az adatokat, a fájlrendszer tárolja. Számunkra az 1, 3, 4. oszlopok lesznek az érdekesek.

chmod umask chown, chgrp

I. Felzárkoztató Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

A legfontosabb DOS parancsok

Bevezetés az informatikába, második gyakorlat. Bevezetés Környezetváltozók és néhány egyszerű utasítás Jogosultságok Fájlkezelés

Unix/Linux alapok 2. Operációs rendszerek I. készítette: Kozlovszky Miklós, Bringye Zsolt Póserné Oláh Valéria, Windisch Gergely

LINUX PMB LINUXOS PARANCSOK ÉS HASZNÁLATUK - GRUB

Operációs rendszerek gyak.

Az fájlrendszer és a kapcsolódó parancsok

Nyíregyházi Egyetem Matematika és Informatika Intézete. Fájl rendszer

A L I N U X f e l é p í t é s e

Operációs rendszerek 1.

Operációs rendszerek gyakorlat

Operációs rendszerek gyakorlat

Linux parancsok összefoglaló.

Operációs rendszerek. 2. gyakorlat. Munka állományokkal UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Saját Subversion tároló üzemeltetése i. Saját Subversion tároló üzemeltetése

Operációs rendszerek. UNIX/Linux fájlrendszerek

Operációs rendszerek gyakorlat

Informatika szintmérő-érettségi tételek február

Operációs rendszerek 2 1. óra: Linux alapok Ismétlés. Windisch Gergely félév

Hálózati adminisztráció Linux (Ubuntu 8.04) 7. gyakorlat

Bevezetés jogosultságkezelés, csővezeték, átirányítások. BASH script programozás

A Linux helye az operációs rendszerek között

A UNIX állományrendszere és a kapcsolódó parancsok

1_Linux_bevezeto_bash

Programozás alapjai gyakorlat

18. témakör. Jogosultságok (Windows és Linux jogosultságok összehasonlítása, helyi és megosztási jogosultságok)

Operációs rendszerek. 4. gyakorlat. BASH bevezetés, script írása, futtatása UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Programozás alapjai óra. Morvai Flórián, 2010 Dr. Dévényi Károly előadásvázlata alapján

7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II.

Java-s Nyomtatványkitöltő Program Súgó

Operációs rendszerek gyakorlat

OE-NIK 2010/11 ősz OE-NIK ősz

Hardver és szoftver követelmények

Szkriptnyelvek. 1. UNIX shell

Az alábbiakban néhány Linux parancsra látunk példákat, feladatokat.

Operációs rendszerek. 2. gyakorlat. Munka állományokkal UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

1. Alapok. #!/bin/bash

Adóhátralék kezelés egyszerűen. Használati útmutató

2. modul - Operációs rendszerek

2016/06/09 13:15 1/108 Linux parancssor

O er e á r ci c ós ó s R en e d n sz s er e e r k e I. G akorlá l s

S z á m í t ó g é p e s a l a p i s m e r e t e k

7. Laboratóriumi gyakorlat, 1. rész : Vezérlési szerkezetek II.

Operációs Rendszerek. Windows Parancssor

Az operációs rendszer. Az operációs rendszer feladatai, részei, fajtái Az operációs rendszer beállítása

Tájékoztató. Használható segédeszköz: -

2. Készítsen awk szkriptet, amely kiírja az aktuális könyvtár összes alkönyvtárának nevét, amely februári keltezésű (bármely év).

Operációs Rendszerek példatár. Utolsó frissítés: február 10.

Számítógépes alapismeretek

BEKÉRT ADAT KÉPERNYŐRE ÍRÁSA KÖRNYEZETI VÁLTOZÓK FÁJL REDEZETT KIÍRÁSA KÖNYVTÁRBAN BEJEGYZÉSEK SZÁMA FÁJLBAN SZÁM NÖVELÉSE. #!

Munka a fájlokkal. Az általánosan használt fájltípusok. Programfájlok. Adatfájlok

Operációs Rendszerek II. labor. 2. alkalom

Bevezetés az informatikába 7. előadás. A UNIX operációs rendszer. Jellemzői. Védelem. A UNIX rendszer felépítése

Készítette: Csatlós István 2010-ben

Operációs rendszerek. UNIX fájlrendszer

A Windows az összetartozó adatokat (fájlokat) mappákban (könyvtárakban) tárolja. A mappák egymásba ágyazottak.

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

BASH SCRIPT SHELL JEGYZETEK

Linux kezelés alapjai

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 6.ELŐADÁS. Fájlkezelés PHP-ben

Unix/Linux alapok. Operációs rendszerek I. készítette: Bringye Zsolt, Kozlovszky Miklós, Póserné Oláh Valéria, Windisch Gergely

Számítógép Architektúrák. 4. Gyakorlat

Hálózati operációs rendszerek II. OES biztonsági rendszere

A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.

Adóhátralék kezelés egyszerűen. Telepítési útmutató. A program futtatásához Windows XP, Windows 7, 8 operációs rendszer szükséges.

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >>

Vectory telepítési útmutató

AWK programozás, minták, vezérlési szerkezetek

Telepítési útmutató a Solid Edge ST7-es verziójához Solid Edge

SZE INFORMATIKAI KÉPZÉS 1

1.2. NFS kliens telepítése és beállítása


Bevezetés jogosultságkezelés, csővezeték, átirányítások. BASH script programozás

8. Laboratóriumi gyakorlat: Bevezetés a reguláris kifejezések használatába

BASH script programozás II. Vezérlési szerkezetek

Operációs rendszerek. 10. gyakorlat. AWK - bevezetés UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Dropbox - online fájltárolás és megosztás

Szoftver alapfogalmak

Távolléti díj kezelése a Novitax programban

Laborgyakorlat: Partíció létrehozása Windows XP Professional operációs rendszerben

Linux alapok gyakorlat

TestLine - GINOP teszt Minta feladatsor

Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve. Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba

Infocentrum Számlázó hálózatos verzió + Firebird Adatbázismotor

ELSŐ LÉPÉSEK A SZÁMÍTÓGÉPEK RODALMÁBA AMIT A SZÁMÍTÓGÉPEKRŐL TUDNI ÉRDEMES

S z á m í t ó g é p e s a l a p i s m e r e t e k

AWK programozás Bevezetés

Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve. Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba

Feladat. Bemenő adatok. Bemenő adatfájlok elvárt formája. Berezvai Dániel 1. beadandó/4. feladat április 13. Például (bemenet/pelda.

Átírás:

FÁJLOK, KÖNYVTÁRAK, JOGOK, STB

Mi a fájl? A számítógépen lévő információ tárolási egysége a fájl (fájl). Egy fájl tartalma a gép szempontjából vagy adat, vagy program. Hagyományos értelemben véve bináris vagy szöveges adatot tartalmazó állományok. A bináris fájlok között találhatók a CPU által végrehajtható utasításokat tartalmazókat, amelyeket futtatható fájloknak is nevezhetünk. A szöveges fájlok között (minden platformon) létezik végrehajtható, ezek a szkriptek. (Windows alatt ezek a.bat kiterjesztésűek, míg az.exe és a.com a bináris változatuk.) A fájlban tárolt adat lehet szöveg, kép, hang stb. Az adatok formájára nézve nincs előírás, nagyon sokféle formátum létezik.

A fájlok alapvető jellemzői fájlnév: a név amin keresztül elérhetjük DOS esetén legalább 1, maximum 8 betű szóköz nélkül. Tartalmazhatja az angol ABC 26 betűjét, számjegyeket, kötőjelet és alulvonást. Windows 95... 10: legalább 1, max. 255 betű, szóköz, több pont és ékezet is megengedett. Linux: legalább 1, max. 255 betű, szóköz, több pont és ékezet is megengedett. kiterjesztés: nem kötelező (itt igazából nincs). Általában a fájl jellegére utal (ha van). méret: a fájl mérete bájtokban. dátum: Általában három különbözőt is számon tartunk: a fájl létrehozásának, utolsó módosításának és utolsó hozzáférésnek dátuma. idő: a fájl létrehozásának és utolsó módosításának idejét tárolják. Egyebek: fájlrendszer függő, hogy még milyen adatokat tárol. Pl: attribútumok, jogosultságkezelés, tömörítés, titkosítás, esetleg többszintű indexelés.

Mi a könyvtár? Speciális fájlok, amikben a többi fájlra vonatkozó adminisztratív információk vannak. A UNIX egyforma mechanizmussal kezeli a közönséges adatfájlokat és a könyvtárakat. A könyvtárak tartalmát a felhasználó nem tudja változtatni, azt a UNIX rendszer a fájlműveletekkel párhuzamosan úgy változtatja, hogy az minden pillanatban megfeleljen a fájlstruktúrának. A könyvtár tehát egy fájlrendszeren belüli speciális fájl, ami fájlok neveit és a fájlrendszertől függően a nevekhez tartozó további információkat tartalmaz.

Névadási konvenciók A fájlnevek karakterekből állnak, hosszuk rendszerenként változik, itt akár 255 karakter hosszúak is lehetnek. Bármilyen karaktert tartalmazhatnak kivéve: / és \0 (sztring végi null) karaktereket DE: Nem ajánlott használni speciális karaktereket (zavarhatják a feldolgozást). Ilyenek pl: amelyeknek a shell számára speciális jelentésük van: *?%$!@ A szóközt tartalmazó fájlneveket a parancssorban idézőjelek közé tesszük. Ajánlott karakterek: a betűk, számok, _ - A kis- és nagybetűk közti különbség számít. Nincs kiterjesztés (a pont a fájlnév egyik karaktere). A ponttal kezdődő nevek rejtett állományokat jelölnek

Fájlrendszer fogalma A fájlrendszer szűkebb értelemben nem más, mint a fájlok tárolására és rendszerezésére kialakított struktúra egy háttértároló eszközön (pl. floppy lemezen vagy merevlemezen vagy CD- ROM-on, stb), vagy annak egy részén (pl.: merevlemez egy partícióján). A Unix fájlrendszere hierarchikus, fa szerű struktúra, amely alapvetően két szerkezetből, a könyvtárakból illetve fájlokból épül fel. A könyvtárszerkezet egy gyökérnek nevezett könyvtárral indul amelynek a neve egy karakter, a / (a per jel karakter = slash, a gyökérkönyvtár neve: root directory). Ez a legfelsőbb szintű mappa, ami fizikai adathordozó esetén formázáskor kerül kialakításra, és aminél feljebb nem léphetünk. A fájlrendszer tehát egyetlen gyökérkönyvtárral rendelkezik. (DOS és Windows estén nem, mert ott meghajtónként van egy-egy). (Könyvtár és katalógus néven is használják)

i-node (index node): Egy fájlrendszerben a fájlok azonosítására szolgáló adatszerkezet. Minden egyes fájl vagy könyvtár egy inode-hoz van hozzárendelve. Az inode tartalmazza az adott fájlra vonatkozó összes fontos információt (az állomány méretét, típusát, tulajdonosát és csoportját, a hozzáférési jogokat, és az állományt alkotó lemezblokkok fizikai elhelyezkedését a lemezen). Az inode-ban NEM szerepel az állomány neve, ezt az információt a könyvtár(fájl) tartalmazza. A katalógusfájlban minden fájlhoz, ami az adott katalógusban szerepel, egy bejegyzés tartozik. Ez tartalmazza az állomány inode számát, és az állomány nevét. (lásd ls -ial / ) UNIX esetén további fájlrendszerek a meglévő struktúra tetszőleges könyvtárába csatolhatóak, ezt a folyamatot mountolásnak nevezzük. Általában a telepítés során, a merevlemez particionálásakor lehet kiválasztani, hogy az egyes partíciókra milyen fájlrendszer kerüljön. (a particionálásról kicsit később bővebben hallunk majd)

A gyökér alatt láthatjuk: fa-szerűen szervezett könyvtárak, illetve fájlok (ez a struktúra minden könyvtárnál ismételhető) minden könyvtárban található 2 speciális könyvtár, a. és a.. (az első önmagára, a második közvetlenül az aktuális feletti szintre mutató ún. szülőkönyvtár). A gyökérkönyvtár nem tartalmaz.. mutatót. (ha használjuk: a.. is a / -re mutat) A Linux tree parancsa a fájlrendszert úgy listázza, hogy a hierarchia látható.

Speciális jelek a könyvtárrendszerben / gyökér katalógus. aktuális könyvtár.. szülőkönyvtár ~ a felhasználó saját (HOME) mappája (= bejelentkezési könyvtár)

Milyen fájlok léteznek? Az ls -l kimenete az első oszlopban a fájl típusát tartalmazza. Az első oszlop első karaktere c egy karakteres eszközt - hagyományos fájt d könyvtárat l (szimbolikus) linket b blokk eszközt p Elnevezett csővezetéket s Domain Socket-et jelöl.

Blokkeszköz Blokk-típusú speciális fájl, amely olyan eszközre mutat, ami blokkokban értelmezi az adatokat (pl: floppy, merevlemez, stb). E speciális fájl segítségével egyszerű fájlkezelő programokkal is kezelni tudjuk ezeket a hardver eszközöket és a rajtuk tárolt adatokat. Karaktereszköz Karakter-típusú speciális fájl, amely olyan eszközre mutat, ami karakteresen értelmezi az adatokat (például: nyomtató, modem, konzol stb.).

Socket Processzek (folyamatok, programok) egymás közötti kommunikációjára használják. Ha egy processz egy másik gép processzéhez szeretne kapcsolódni, akkor azt hálózati port(ok) használatával teheti meg. Ha ugyanazon a számítógépen futó programmal kommunikál, akkor ahhoz socket fájlt is használhat, amit csak a kapcsolódó processzek olvashatnak és esetleg írhatnak.

Elnevezett csővezeték (Named pipe) Olyan átmeneti tároló fájl, ami FIFO (First In First Out = először be először ki) elven működik. (Amelyik adat először megy be rajta, az is jön ki először a másik oldalán.) Folyamatok közötti kommunikációra ad lehetőséget úgy, hogy az egyik alkalmazás kimenetét egy másik alkalmazás bemenetére köti. Segítségével az egyik program kimenetét átirányíthatjuk egy másik program bemenetére. A feladat végrehajtása így gyorsulhat, mert nem kell az előbbi program egész kimenetét megvárni, fájlba írni, majd a feladat befejeztével a másik programot elindítani a fájlba mentett adatokkal, hanem ahogy küldi az első program az adatokat a csővezetékbe, úgy dolgozza fel a másik oldalon a másik program az adatokat, így egyszerre futnak. A pipeokat egy p betű azonosítja.

Könyvtár A számítógépen elhelyezett adatok rendezett tárolása érdekében hozták létre. Tartalmazhatja az összes fájltípust. Szabványos fájl Minden más fájl, ami nem tartozik a többi csoportba, az szabványos fájl, jele a. (Szimbolikus) Hivatkozás A link egy mutató (hivatkozás) egy valamilyen adathordozón található fájlhoz, amit az eredeti fájl vagy könyvtár helyett használhatunk.

Speciális fájlok Unix alatt 4 féle ismert: 1. link l 2. nevesített csővezeték p 3. socket s 4. eszközfájlok: ezek a hardver elemeit reprezentálják a fájlrendszerben. Így hozzáférési jogokat adhatunk az egyes elemeknek, és utasításokban használhatjuk közvetlenül magát az eszközöket. (pl billentyűzet, terminál, merevlemez, memória stb.) Az eszközöket a c (karakteres elérésű) vagy a b (blokk elérésű eszköz) betű azonosítja listázáskor.

Elérési útvonal Az elérési utak két csoportba sorolhatóak: 1. abszolút elérési út: ez mindig / jellel kezdődik, és a gyökérkönyvtárból indulva minden mappát felsorolunk a célunkig, pl: /home/adatok/proba (Windows esetén ez az aktuális meghajtóra vonatkozik, amennyiben ettől eltérőre kívánunk hivatkozni, akkor az elérési út előtt meg kell adnunk a meghajtó nevét.) 2. relatív elérési út: már valamilyen mélységben vagyunk (lelépegettünk) a könyvtárrendszerben és kényelmesebb lenne ehhez viszonyítva hivatkozni, mint a gyökértől kezdve felsorolni újra. Ilyenkor az aktuális mappához viszonyítva adjuk meg a fájl helyét. Pl: a /home/adatok/ könyvtárban állunk és a proba -ra szeretnénk hivatkozni (relatívan):./proba

Kitüntetett könyvtárak A UNIX, ill. Linux operációs rendszer könyvtárstruktúrája is olyan mint egy fa, ami fejjel lefelé terebélyesedik. Számos könyvtárból áll. Ezeknek a tartalma egyes UNIX verziókban, ill. Linux disztribúciókban egymástól némiképp eltérhet. A felhasználó szempontjából kitüntetett könyvtárak: root directory - a gyökérkönyvtár home directory - a felhasználó saját, vagy home könyvtára, pl: /home/teszt current directory - az aktuális könyvtár working directory - a munkakönyvtár. Minden egyes futó folyamatnak van egy munkakönyvtára. Ebből olvas fájlokat, és ebbe ír. Ehhez a könyvtárhoz viszonyítjuk a relatív elérési utakat. Megváltoztatni a cd, lekérdezni a pwd paranccsal lehet.

A Linux alapvető könyvtárai a gyökérkönyvtárban (ABC sorrendben): /bin: Futtatható programokat tartalmazó könyvtár. Itt tárolódnak a standard parancsok és segédprogramok. /boot: A rendszer bootolásakor használt fájlokat tartalmazó könyvtár. Itt található meg általában Linux kernelt tartalmazó állomány is. (Előfordul, hogy ezt a könyvtárat külön partíción helyezik el, hogy tartalma a lemez elejére kerüljön.) /dev: Itt találhatók a különböző hardvereszközök kezeléséhez szükséges fájlok. /etc: Rendszerkonfigurációs fájlokat tartalmaz (a rendszer és az egyes alkalmazások alapvető beállításaival kapcsolatos fájlokat) /home: A felhasználók saját, bejelentkező (login) könyvtárai vannak benne. (Ezeket a könyvtárakat csak a tulajdonosa olvashatja.) Egy felhasználó minden adata (munkája során használt fájlok, programok (felhasználóra vonatkozó) beállításait tartalmazó fájlok) ebben a könyvtárban (pl. /home/teszt) található. /lib: A különböző programok függvénykönyvtárait tartalmazó fájlok helye.

/mnt : /proc : /root : /sbin: /tmp: A benne lévő könyvtárakat csatlakoztatási könyvtárnak használják (pl. /mnt/cdrom a Cd-rom csatlakoztatására). Tehát az alkalmilag felcsatolt fájlrendszereket (Pl a cserélhető eszközök vagy más operációs rendszerek által is használt partíciók fájlrendszereit, vagy a hálózati fájlrendszereket szokás ide felcsatolni. ) Ezt a könyvtárat csak az operációs rendszer használhatja. A processzek fájlrendszereinek könyvtára. Itt találhatók a kernel és a futó programok egyes adatai is. A rendszergazda bejelentkezési könyvtára, amely más számára nem olvasható. A rendszer indításához és karbantartásához használt rendszeradminisztrációs parancsokat tartalmazza. Az ideiglenes fájlok könyvtára, amelyet a programok használhatnak, ha szükségük van ilyen fájlokra működésükhöz. Ennek a könyvtárnak a tartalmát a rendszer indításakor az operációs rendszer kitörli. Ideiglenes állományok a /tmp, a /var/tmp vagy a felhasználó könyvtárában lévő tmp könyvtárba kerülhetnek.

/usr: /usr/src /usr/doc /usr/local/man A legtöbb program itt található. /usr/bin és /usr/sbin ben a futtatható programok, az /usr/lib -ben a bináris programok függvénykönyvtárai, /usr/share -ben a programok platformfüggetlen állományai. A programok forráskódjai (ha telepítve vannak). Dokumentációs fájlok Kézikönyv oldalak /var Az állandóan változó fájlok könyvtára (pl. log fájlok), amelyek nem kötődnek szorosan a felhasználóhoz. Pl /var/log ban: az egyes folyamatok naplóállományai vannak.

cd Könyvtárváltás (change directory) cd <útvonal> Az útvonal megadása lehet abszolút (a gyökérkönyvtártól írjuk le) és relatív (az aktuális könyvtártól írjuk le). Pl: cd.. cd../../tmp

mkdir Könyvtár létrehozása (make directory) mkdir <útvonal> Az útvonal végén az létrehozandó könyvtár neve áll. mkdir../install/valami A parancs létrehozza az aktuális könyvtár szülőkönyvtárából nyíló install könyvtárban a valami nevű könyvtárat. 22

rmdir Könyvtár törlése (remove directory) rmdir <útvonal> Az útvonal végén a törlendő könyvtár neve áll. Csak üres könyvtár törölhető így! Ha nem akarunk a tartalom törlésével foglalkozni, a megoldás az rm r parancs. 23

Példa a mkdir és a rmdir parancs használatára ls l mkdir newdir ls l rmdir newdir ls l 24

touch Fájl időbélyegének megváltoztatása. Létrehoz egy üres fájlt, vagy ha a fájl már létezik akkor pedig módosítja az utolsó hozzáférés és módosítás idejét egyidejűleg az aktuálisra. touch [-a -m] [állománynév(ek)] -a: csak a hozzáférési idő módosítása -m: csak a módosítási idő módosítása -c: Nem hozza létre a fájlokat, ha nem léteznek. 25

alias, unalias Másodnév létrehozása és eltávolítása. A létező másodneveket kiírja, ha paraméter nélkül adjuk ki a parancsot. Ezeket a.bashrc fájlban is megtaláljuk (ezt ki is írathatjuk pl). alias másodnév= amit helyettesítsen Pl: alias lista= ls -l unalias lista

Eszközök kezelése

Eszközök csatlakoztatása/leválasztása A különböző fizikai (vagy logikai) eszközök (pl. floppy, merevlemez partíciója, stb.) a könyvtárszerkezetből érhetők el a csatlakoztatási könyvtárukon (mount point) keresztül. Ezért automatikusan, vagy manuálisan csatlakoztatni kell a különböző eszközöket a könyvtárszerkezethez (mount parancs). Mivel itt nincsenek betűjelekkel megkülönböztetett meghajtók, egy fájl mindig ugyanott található meg. A különböző eszközökön különböző fájlrendszerek lehetnek. A különböző eszközöket eltávolítás előtt ill. az operációs rendszer leállítása előtt le kell választani a könyvtárszerkezetről (umount) (automatikusan vagy manuálisan) A /etc/fstab állományban megadható, hogy a gépen használható partíciók, lemezegységek csatolását milyen paraméterekkel kell elvégezni. Így ekkor elegendő a csatolási pontot megadni. Pl. mount /floppy (ha az fstab-ban előre rögzített csatolási pont a /floppy könyvtár)

/dev Itt az eszközfájlokat találjuk. Mindegyik eszközt a fájlrendszerben egy eszközfájl képviseli. Amikor egy eszközfájlba írunk akkor az adat a megfelelő eszközhöz megy illetve olvasáskor onnan jön. Tehát nem szükséges sem speciális program, sem programozási technika az eszközök elérésére. Eszközfajták: Kétféle típusa van az eszközöknek és az eszközfájloknak : karakteres és blokk. Blokkok például az egyes merevlemezeket vagy azok partícióit leképező eszközfájlok. Ezek a leképezett eszköz méretével megegyező méretű állományok, melyek tartalmához bármilyen programmal hozzáférhet a megfelelő jogosultsággal rendelkező felhasználó. Véletlen elérésűek. A karakteres eszközök egy input vagy output adatfolyamot képeznek le, ilyen például a számítógép soros vagy párhuzamos portja.

A lemezegységek állományai a leggyakrabban előforduló IDE csatolók esetén: /dev/hda /dev/hdb /dev/hdc /dev/hdd A lemezegységen belül a partíciókat sorszámokkal jelölik. Pl. /dev/hda1 Általában minden lehetséges eszközfájl létezik, még akkor is, ha az eszköz fizikailag nincs is beszerelve. (Pl ha a rendszeren van egy /dev/sda fájl, az nem jelenti, hogy valóban van SCSI merevlemezünk. ) A partíciók kialakítására az egyes disztribúciók eltérő programokat javasolnak. Minden disztribúció esetén használható particionáló program pl az fdisk.

Pl: hardvereszközök, partíciók jelölése

Fontosak, de fizikailag nem léteznek Eszközök, amik fizikailag nem léteznek: /dev/null Elfogad és elnyel minden bejövő adatot, kimenetként nem produkál semmit. Egy parancs kimenetének eltüntetésekor használható. /dev/random Változó hosszúságú, véletlenszerűen generált karaktersorozatokat állít elő. /dev/zero Csupa 0 karakterekből álló karaktersorozatot állít elő.

Linkek A fájlrendszerben ún. linkeket is használhatunk. A link egy mutató (hivatkozás) egy valamilyen adathordozón található fájlhoz, amit az eredeti fájl vagy könyvtár helyett használhatunk. A link arra jó, hogy egy fájlnak több neve legyen, esetleg külön könyvtárban.

1. Szimbolikus link (puha, soft) link Speciális állományok, amelyek egy másik állomány elérési útvonalát tartalmazzák, tehát a mappabejegyzés teljesen független a hivatkozott fájltól. Törlése nincs hatással az általa mutatott fájlra (szemben a hard link eltávolításával, amely törli a fájlt abban az esetben, ha nem mutat rá másik hard link). Soft linkkel lehet másik fájlrendszerben lévő objektumra is hivatkozni. Ha törlik vagy átnevezik vagy áthelyezik a célját, akkor a link törött lesz (broken link), mert egy már nem létező elemre fog mutatni. Ez a leggyakrabban használt linktípus.

2. Kemény (hard) link A legtöbb fájlrendszerben az elnevezett fájlok hard linkek. A fájl neve csak egy címke, amely az operációs rendszer számára egy adatra utal. Ennek megfelelően ugyanazt az adatot több néven is jelölhetjük. Amikor létezik egy sima fájl, akkor is egy kemény kötés hivatkozik a háttértárolón elhelyezkedő adatra. Amikor egy újabb kemény kötést rendelünk hozzá, a fájlra vonatkozó kemény kötések száma eggyel megnövekszik. Ugyanarra a tárterületre több néven helyezünk el hivatkozást a fájlrendszerben ezért ezek a típusú linkek egymástól teljesen megkülönböztethetetlenek. (ha az egyiket átírom, a másik is változik) Egyik fontos tulajdonsága, hogy csak egy fájlrendszeren belül lehet használni: nem lehet egy fájlrendszerben egy másik fájlrendszerbe mutató hard linket létrehozni, tehát nem hivatkozhatnak az egyik partícióról a másikra, csak egy fájlrendszeren belül. Csak fájlokra mutathatnak (speciális fájlokra nem és könyvtárra sem). A lényege, hogy ugyanarra a tárterületre több néven helyezünk el hivatkozást a fájlrendszerben. A fájl ténylegesen akkor törlődik, ha a linkszámláló értéke a törlést követően 0-ra csökkenha részletes listát kérünk, a linkszámláló (második oszlop) értéke fogja mutatni.

ln A linkek hozhatóak létre ezzel a paranccsal. Alapesetben hard linket készít. Az -s opció használatakor soft linket hoz létre. ln [opciók] célfájl [linknév] Pl: Hard link: ln egy ketto Soft link: ln -s egy ketto

A linkek törlése: a fájltörlés paranccsal (rm) történik. Ha letörlünk egy fájlt, amelyre link kapcsolatok mutattak, akkor a hard linkkel létrehozott új fájl továbbra is megmarad, és tartalma megegyezik a letörölt fájléval. a soft linkkel létrehozott fájlnév megmarad, de ha olvasni próbálunk a fájlból, akkor hibaüzenetet kapunk.

Jogosultságok a fájlrendszerben

A fájlokhoz tartozó jogok az ls l paranccsal láthatók. Minden sor egy objektum adatait tartalmazza. 1. Az első karakter mutatja meg, hogy milyen fájlról van szó. Pl: - közönséges fájl, d könyvtár, l szimbolikus link 2. A következő 9 karakter tartalmazza háromszor hármas bontásban az adott objektumhoz fűződő hozzáférési jogokat. (A létező jogot a betűje képviseli (rwx), míg a megvont jogot egy - karakter jelzi.) 3. a következő oszlopban a tulajdonosok, 4. a negyedik oszlopban a csoportok vannak megnevezve. De lássuk a konkrét példát a következő dián!

ls -l drwxr-xr-x 2 tanulo users 4096 2015-03-17 15:09 Proba d - directory / könyvtár Ha fájl akkor van d helyett. rwx - read, write, execute User /Felhasználó rwx - olvasaható, írható, végrehajtható Group /Csoport rwx - olvasaható, írható, végrehajtható Others /Mások később bővebben) 2 - könyvtár esetén a gyermekeinek száma fájl esetén a linkek száma. Ha 1, akkor 1 link mutat a fájlra, tehát egyetlen fájlnévvel lehet rá hivatkozni. A linkek típusairól később bővebben. Itt csak annyit erről, hogy csak a hardlinkek számát mutatja) - tulajdonos neve - csoport neve (felhasználó, rendszergazda) tanulo users 4096 - méret byte-ban 2015-03-17 - az utolsó módosítás dátuma 15:09 - a módosítás ideje Proba - fájl vagy könyvtár neve Szimbolikus linkeknél a fájlnév után egy -> nyíl áll, ami után az áll, hogy melyik másik fájlra mutat a szimbolikus link. 40

u, g, o, r, w, x A Linux olvasási írási futtatási (r ; a fájl vagy a könyvtár tartalmának olvasását jelenti), (w; ahhoz szükséges, hogy módosítani tudjuk a tartalmát vagy törölni tudjuk) (x; hogy egy végrehajtható kódot tartalmazó állományt a felhasználó el tudjon indítani, vagy egy könyvtárba beléphessen), és jogokat ismer, amiket a fájl tulajdonosához (u; egy felhasználó), a fájl csoportjához (g; egy felhasználói csoport tagjai) és a többi felhasználóhoz rendelve (o) tudunk meghatározni. A jogosultságok és a jogosultak kombinációiból kilenc egymástól függetlenül beállítható jog keletkezik.

Oktálok A jogok nem csak szimbolikus jelekkel de számokkal is meghatározhatóak. Számokkal.: 4-read, 2-write, 1-executable jog, összeadva, külön U,G,O-nak Pl 777 Tulajdonos r w x 4 2 1 [r=4; w=2; x=1 ; rwx=7... ] Csoport r w x 4 2 1 Többiek r w x 4 2 1 r w x r w x r w x 4 2 1 4 2 1 4 2 1 tulajdonos (u=user) csoport (g=group) mások (o=other)

Jogok hatásai Fájlok esetén: Olvasási jog: Megnyithatjuk, olvashatjuk a fájlt Írási jog: Új fájlt hozhatunk létre, vagy egy meglévőt módosíthatunk Végrehajtási (futtatási) jog: csak a futtatható fájloknál van jelentőségük (pl scriptek). Ha egy fájlra csak x jogunk van, akkor csak futtatni fogjuk tudni azt a fájlt, olvasni nem így nem fogjuk tudni lemásolni sem! Könyvtárak esetén: az olvasási jog azt jelenti, hogy elolvashatjuk (listázhatjuk) a fájlok neveit az adott könyvtárban, az írási jog jelenti, hogy a könyvtárban állományt, könyvtárat hozhatunk létre, átnevezhetünk, mozgathatunk a könyvtárban a futtatási jog megengedi a belépést a könyvtárba (így a könyvtárban való keresés joga is) és azt, hogy az adott könyvtárban alkönyvtárakat hozzunk létre

PL: ls l eredménye -rw-r--r-- 1 tanulo barbi 3184 dec 24 18.37.bashrc típus tulajdonos jogai csoport jogai mindenki más jogai - rw- r-- r--

Jogosultságok megváltoztatása Egy fájl tulajdonosi (hozzáférési) jogait csak a fájl tulajdonosa, vagy a rendszergazda tudja megváltoztatni. chmod [options] mode[,mode] file1 [file2...] A parancs használatakor meg kell határozni: Adunk vagy elveszünk jogot (+ : adunk, - : elveszünk) Kinek/kitől (saját, csoport, mások ) Milyen jogot adunk (r w x / 4 2 1 )

chmod A chmod paranccsal állíthatjuk a jogokat, ahol hivatkozunk a tulajdonosokra, csoportokra, illetve mindenki másra: tulajdonos User u csoport Group g mások Other o mindenki All a Van egy plusz jelölési lehetőség, amely mindenki nevet viseli. Ez tartalmazza mind az előző hármat együtt. A mindenki mind a három fajta felhasználót jelenti.

+ Hozzáad egy engedélyt. Elvesz egy engedélyt. = Beállítja az engedélyt. -R A fájlok jogosultságait az alkönyvtárban is módosítja (rekurzív módon).

Pl Oktálokkal: chmod 777 fájl : UGO-nak egyaránt minden jog. (4+2+1 4+2+1 4+2+1) chmod 751 fájl : U-nak minden, G-nek írási és futtatási, O-nak futtatási jog. Betűkkel: (kinek/kitől + mit) chmod u+rwx fájl : Tulajdonosnak r,w,x jog adása az adott fájlra. chmod g+rx fájl : Csoport felhasználónak r,x jog beállítása. chmod a-rwx : Mindenkitől elveszünk minden jogot. chmod go-rwx file1 : a tulajdonoson kívül senkinek semmi chmod +r file1 : olvasási jog mindenki számár (alapértelmezés az all )

chmod u+x alma.txt chmod go-rx alma.txt chmod a=r alma.txt chmod 444 alma.txt Futtatási jogosultságot ad a fájl tulajdonosának. Visszavonja az olvasási és futtatási jogosultságot a csoport tagjaitól és mindenki mástól. A fájl jogosultságait csak olvashatóra állítja minden felhasználó számára. A fájl jogosultságait csak olvashatóra állítja minden felhasználó számára.

chown Fájlok, könyvtárak tulajdonosának változtatása -R Rekurzívan változtatja meg a tulajdonos(oka)t -f Nem küld vissza hibaüzenetet a rendszer, ha valami nem sikerült --no-dereference Szimbolikus linkeknél a link jogosultságainak beállítása --dereference Szimbolikus linkeknél a fájl (amire a link mutat) jogok változtathatóak meg. -c Azon állományok nevét jeleníti meg, melyeknek a tulajdonosa megváltozott. -f Tiltja a hibaüzenetek megjelenítését. -R A fájlok tulajdonosát az alkönyvtárakban is módosítja. -v A módosításokról részletes listát készít.

Pl chown tanulo alma.txt chgrp felhasznalo alma.txt A fájl tanulo tulajdonába kerül. A fájl a felhasznalo csoportba kerül. Együtt: chown tanulo:felhasznalo alma.txt A fájl tanulo tulajdonába és a felhasznalo csoportba kerül.

chgrp Fájlok tulajdonosi csoportjának megváltoztatása -R : Rekurzívan változtatja meg a csoportokat -f : Nem kapunk vissza hibaüzenetet, ha valami nem sikerült -c : csak azokat a fájlokat írja ki, amelyeknek valóban megváltozott a csoportjuk

suid bit (Set User Identification) = s =2 A suid (Set User Identification) = a felhasználói azonosító megváltoztatása. (jele "s") Időnként szükség van arra, hogy egy egyszerű felhasználó egy privilegizált felhasználó jogaival rendelkezzen. A legegyszerűbb eset a jelszó megváltoztatása. Egy egyszerű felhasználó nem írhatja közvetlenül a rendszer jelszófájlját, de a saját jelszavát meg kell tudnia változtatni. Ehhez viszont írnia kell a jelszófájlba. Ezt az ellentmondást oldják fel úgy, hogy a programot ruházzák fel privilegizált jogokkal, a suid bit beállításával. A passwd parancs engedélyei a következők: -rwsr-xr-x 1 root root 28896 Sep 7 13:40 /usr/bin/passwd A suid bit be van kapcsolva, így futásának idejére az őt futtató felhasználó rendszergazdai jogkört kap, tehát a root jogosultságaival olvassa és írja a /etc/passwd fájlt, mivel a fájl a root tulajdonában van.

sgid bit (Set Group Identification) = 4 A sgid bit (Set Group Identification) a csoportazonosító megváltoztatása. Beállítása esetén a program annak a csoportnak a jogaival fog futni, akinek a fájl a birtokában van. A sgid bitet könyvtárak esetén is be lehet kapcsolni. Ha ekkor a könyvtárban bárki létrehoz egy fájlt (és a többi jog rendben van), akkor a fájl csoporttulajdonosa nem az a csoport lesz, amelyikbe a felhasználó tartozik, hanem az, akinek a könyvtár a birtokában van.

sticky bit = t =1 A sticky bit (ragadós bit) bekapcsolása fájlok esetén azt jelzi az operációs rendszernek, hogy a fájlt tartsa a memóriában a végrehajtás után is. (Ennek akkor van értelme, ha azt akarjuk, hogy egy program minél gyorsabban induljon el, és ne kelljen várni arra, hogy betöltődjön a memóriába.) Be lehet kapcsolni könyvtárak esetén is. Az ilyen bittel ellátott könyvtárban bárki írhat fájlokat (a többi jognak is rendben kell lennie), de mindenki csak a sajátját törölheti. Haszna: a mindenki által írható könyvtárakban (pl a /tmp) a felhasználók nem tudják a másik felhasználó által írt fájlokat módosítani, letörölni. Jele a t.

Alapértelmezett jogok Amikor egy fájlt létrehozunk, akkor az a jogosultságoknak egy alapértelmezett csoportjával fog rendelkezni. Pl: Létrehozunk egy üres fájlt, és már annak is leszek jogai. touch valami ls l valami rw-r--r

umask Meghatározza, hogy milyen jogosultságot kapjanak az újonnan létrehozott fájlok, mappák. Az újonnan létrehozott fájlok számára a héj kap a rendszertől egy beállítást, ami meghatározza milyen jogosultságokkal jön létre egy új fájl. A beállítást egy maszk tartalmazza (umask-nak nevezik) és azt tartalmazza, milyen jogosultságot ne állítson be a shell amikor létrehoz egy új fájlt. A maszk beállítása feltételezi, hogy a végrehajtási jogot amúgy sem kell beállítani, mert ezt mindig tudatosan állítja be egy program ha szükséges. A többi jogra egy oktál számokból álló maszkot ad meg. Ennek eredeti értéke 0002 vagy 0022 (a szám 4 jegyű, az rwx biteken kívül a kiegészítő biteket is tartalmazza). A 0002 jelentése a létrehozandó fájl ugo csoportjainak rwx bitjeire vonatkozik, és az egyetlen beállított bit azt jelenti, hogy egy újonnan létrehozott fájl nem lehet mások által írható (a 0022 esetében a csoport által sem).

pl umask 0002 touch alma.txt ls -l alma.txt -rw-rw-r-- 1 tanulo tanulo 0 Feb 5 15:28 alma.txt umask 0022 touch teszt.txt ls -l teszt.txt -rw-r--r-- 1 tanulo tanulo 0 Feb 53 15:28 teszt.txt

Fájlok attribútumai A fájlok és könyvtárak számra különböző attribútumokat állíthatunk be. (ext fájlrendszer esetén): Kar. A a c d i s S u Leírás A fájl módosításakor az atime bejegyzés (utolsó hozzáférés ideje) nem változik. A fájlhoz csak hozzáfűzni lehet. A kernel automatikusan tömöríti a lemezen. Nem lesz biztonsági mentésre kijelölve. A fájl nem módosítható, nem törölhető, nem átnevezhető, nem lehet hozzáfűzni. Csak a root adhatja, vagy veheti el ezt az attribútumot. Törléskor a blokkjai kinullázódnak a lemezen. Módosításkor a változások szinkronban lesznek a lemezen lévő adattal. A fájl törlésekor annak tartalma megőrződik. Ez lehetővé teszi, hogy később visszahozhassuk.

lsattr Fájlok, könyvtárak attribútumát mutatja meg -R : Rekurzívan mutatja meg az attribútumokat -a : minden fájlt kilistáz, beleértve a ponttal kezdődőeket is

chattr chattr +tulajdonság fájl Fájlok, könyvtárak attribútumát változtatja A + jellel hozzáadunk, a jellel elvesszük a jogot.

ACL (Access Control List) A SAMBA fájlmegosztásnál előtérbe kerül az a kérdés, hogy a Linux-jogosultság mellett, hogyan lehet ezeket a jogokat a Windowshoz hasonlóan több felhasználóra vagy csoportra kiterjeszteni. A Linux ezt az ACL csomaggal oldja meg, amit a POSIX szabványgyűjtemény ír le. Az ACL valósítja meg, hogy konkrét felhasználó vagy konkrét csoport is hozzá legyen rendelve fájlhoz, illetve könyvtárhoz. Itt a hozzárendeléseket bejegyzéseknek nevezzük. Ha egy fájlon ACL bejegyzés létezik, akkor azt az ls l listázásnál, a jogosultsági mezők végén, egy + jel jelzi.

bejegyzéstípusok Típus Kód Formátum tulajdonos ACL_USER_OBJ user::rwx konkrét felhasználó ACL_USER user:név:rwx tulajdonoscsoport ACL_GROUP_OBJ group::rwx konkrét csoport ACL_GROUP group:csop_név:rwx maszk ACL_MASK mask::rwx többiek ACL_OTHER other::rwx A bejegyzések állítására a setfacl,míg lekérdezésre a getfacl parancs szolgál.

Fontosabb parancsok

Általános fájlkezelő parancsok 67

cp Fájl másolása egy helyről egy másik helyre. cp [forrásfájl] [célfájl] Mappa másolásakor külön kell beállítani, hogy rekurzívan működjön. cp -r [i ] forrásmappa(k) célmappa(k) -i interaktívan fut (kérdez, ha felülírás esete áll fenn) -v verbose: kiírja amit végez -r rekurzívan másol egy könyvtárstruktúrát lefele -p a cél fájl felveszi a forrás jogait -l másolás helyett hivatkozást készít -f force: ha olyan fájlt talál, amire nem tud másolni, megpróbálja törölni és megismételni a műveletet 68

Pl fájlt fájlba: cp 1.txt 2.txt több állományt ugyanabba a könyvtárba: cp 1.txt 2.txt elso/ másolás jóváhagyással: cp -i 1.txt 2.txt Könyvtárakat a -r kapcsolóval másolhatunk, így a forráskönyvtárat és annak teljes tartalmát átmásolja: cp -r elso harmadik

rm Töröl egy vagy több fájlt. Mindent töröl, nem kérdez rá, ezért minden esetben -i kapcsolóval használjuk, így rákérdez minden egyes elemre törlés előtt. rm [kapcsoló(k)] fájlnév Kapcsolók: -i kérdez minden törlés előtt -v kiírja amit végez -f force: akkor is elvégzi a törlést ha az állomány írásvédett (de a felhasználóé) -r rekurzívan töröl: ilyenkor könyvtárakat is töröl Pl: több fájl törlése: egy könyvtár törlése tartalommal együtt: rm 1.txt 2.txt 3.txt rm -rf enmappam 70

mv Egy fájlt mozgat vagy egy fájlt átnevez. mv [-i] [forrásfájl] [célfájl] Ha a második argumentum fájlnév, akkor átnevezés történik, ha mappanév, akkor pedig átmozgatás. A forrásfájl lehet fájl is, és mappa is, a hatása ugyanaz. -i kérdez felülírás esetén -f nem jelzi, ha felülír egy állományt ami írásvédett -v verbose: kiírja amit végez Pl: az 1.txt átnevezése 10.txt-vé: mv 1.txt 10.txt minden jpg típusú fájl mozgatása a kepek könyvtár alá: $ mv *.jpg kepek/ 71

find Fájlokat keres egy könyvtárstruktúrában. A keresés nagyon erőforrás igényes és jelentősen leterheli a rendszert így mindig próbáljuk meg a keresési feltételeket leszűkíteni. find elérési_útvonal kifejezés [tevékenység] PL: find teszt -maxdepth 1 -type f csak az igazi fájlokat keresi (opció: -type f ) és csak egy könyvtárnyi mélységben (opció: -maxdepth 1): 72

Szimpla keresés Ha keresem a fonok.c fájlt, amely az aktuális könyvtár valamelyik alkönyvtárban van: find -name fonok.c Lehetséges eredmény:./c/fonok.c Keresés helye: find /usr -name abook 73

Keresés időbélyeg alapján A Linux háromféle időbélyeget tárol egy fájlról. mtime modify time A fájl módosítása atime access time A fájl olvasása ctime change time Az inode módosítása PL: Három napnál régebben olvasott fájlok: find. -atime +3 74

Kapcsolók Rengeteg kapcsolója van (bővebben a manual-ban) -name név: adott nevű fájlok keresése -type fájltípus : Adott fájltípusú fájlokat keres (pl: d - mappa) -mtime [+/-]szam : a legutolsó módosítás ideje napokban -atime [+/-]szam : a legutolsó hozzáférés ideje szintén napokban -user userid : melyik felhasználó tulajdonában van a fájl -group csoportid : melyik csoporté a fájl -perm jogosultság : hozzáférési jogosultság (3db oktális számjegy) -size [+/-]szam[c] : a megadott méretnél nagyobb vagy kisebb fájlok keresése (a méret blokkokban értendő, a c módosító esetén viszont bájtokban) -a : ÉS kapcsolat a keresési feltételek között -o : VAGY kapcsolat a keresési feltételek között 75

Pl find. -name test.c -print az aktuális könyvtártól lefelé megkeresi az összes test.c állományt, és a nevüket kiírja a képernyőre. Ha nem tudjuk a teljes nevet, csak azt hogy c-re végződik, akkor a find. -name '*c' -print parancsot használva a find az aktuális könyvtártól lefelé megkeresi az összes c végződésű állományt, és a nevüket kiírja a képernyőre. 76

További példák find. -type d find. -mtime +90 find ~ -perm 777 -a -size 400 könyvtárak keresése az aktuális mappában amelyek nem lettek módosítva az elmúlt 90 napban a home mappán belüli 400 blokknál nagyobb és mindenki által módosítható fájlok keresése 77

Könyvtárkezelő parancsok 78

pwd Kiírja az aktuális könyvtár abszolút elérési útját. 79

ls Kiírja a megadott (alapesetben aktuális) könyvtár által tartalmazott fájlokat. ls [kapcsolók] [fájlnév] 80

Használható kapcsolók pl -l : minden információ megjelenítése -a : megjeleníti azon állományokat is melyek neve ponttal kezdődik (rejtett fájlok kiírása) -d : az adott mappa információnak megjelenítése a tartalma helyett (csak mappán van értelme) -R : rekurzív listázás az adott mappától kezdve Továbbiak a gyakorlati feladatokban, ill. a man-ban. A kapcsolók kombinálhatók is. 81

Példa ls ls l ls la ls -l linkproba/ ls -lr linkproba/ 82

Átirányítás és csővezeték

Csővezeték (piping) Parancsok egymás után fűzésének eszköze. A pipe jele a (alt+w) csőkarakter, ami az egyik parancs outputját, a másik parancs inputjával köti össze azaz a második program az első által produkált eredményt tekinti bemenetként. (Ezt az építőjátékokhoz hasonlóan tovább is folytathatjuk. ) Ennek során egy ún. névtelen csővezeték jön létre, ami a folyamatok közötti kommunikációt hivatott lekezelni. Használata: program1 program2 program3 84

Példák Pl 1: ls -l > tmp sort tmp Egymás után fűzve: ls -l sort Pl 3: who wc l Az éppen aktív felhasználók számát adja meg. [1. who: kiírja az aktuális felhasználókat (soronként egyet), 2. a wc -l parancs megszámolja a sorok számát] Pl 2: cat szoveg.txt more 85

Átirányítás Minden egyes elindított folyamat esetén három alapértelmezett eszköz kerül hozzárendelésre a folyamathoz. stdin: a szabványos bemenet, ahonnan a program a futás során a beérkező adatokat olvassa, stdout: a szabványos kimenet, ahova a program ír és stderr: a szabványos hibakimenet, ahol a program a futás során fellépő hibákra adott hibaüzeneteit írja. Alapesetben a stdin a billentyűzet, az stdout és stderr pedig a képernyő. Mind a bemenet, mind pedig a kimenet átirányítható egy tetszőleges állományba.

< állomány : stdin átirányítása (a megadott állományból olvas) > állomány : stdout átirányítása (a megadott fájlba ír, létező állomány estén annak tartalma törlődik és felülíródik) >> állomány : stdout átirányítása (a megadott fájlba ír, létező állomány esetén annak végéhez hozzáfűzi) 2> állomány : stderr átirányítása (a megadott fájlba írja a hibaüzenetet) &> állomány 2>&1 1>&2 : stdout és stderr átirányítása ugyanabba a fájlba : a stderr-t ugyanoda irányítja, ahova a stdout irányítva lett : a stdout-ot ugyanoda irányítja, ahova a stderr irányítva lett

Példák Az átirányítás jelöléseit a program utolsó paramétere után kell feltüntetni. ls al > lista.txt a ls al átirányítása a lista.txt állományba - ha a fájl eddig nem létezett, létrehozza - ha létezett, felülírja ls >> lista.txt a ls átirányítása a lista.txt állományba - ha a fájl eddig nem létezett, létrehozza - ha létezett, a végéhez hozzáfűzi Több átirányítás esetén azok végrehajtása balról jobbra történik: sort < nevek.txt > lista.txt a nevek.txt rendezése a lista.txt állományba

2> állomány : a megadott fájlba írja a hibaüzenetet A sajat állomány tartalmának kiírása. Az esetlegesen megjelenő hibaüzeneteket (pl. ha sajat egy könyvtár lenne, vagy ha nem lenne rá olvasási jogunk) a hiba állományba irányítjuk. cat sajat 2> hiba A pelda nevű alkönyvtár létrehozása úgy, hogy ha már létezett ilyen nevű könyvtár, akkor ne jelenjen meg hibaüzenet a képernyőn. (a /dev/null speciális állomány minden bele írt adatot elnyel.) mkdir pelda 2> /dev/null

A kell és tanulnom könyvtárak listájának eltárolása a feladat állományba. Az esetlegesen keletkező hibaüzeneteket a hiba állományba irányítjuk. (Semmilyen látható kimenetet nem produkálunk.) ls kell tanulnom 2> hiba > feladat Ugyanaz mint az előbb (fent), de most a feladat állományba irányítjuk a hibaüzeneteket is. ls kell tanulnom &> feladat (&> állomány : stdout és stderr átirányítása ugyanabba a fájlba)

Pl (cső és átirányítás együtt) Feladat: olyan fájlt kell létrehozni, amiben egy létező (másik) állománybeli tartalom (gyümölcsnevek) alapján megmondjuk, hogy hány gyümölcs (=sor) van. Létrehozunk egy állományt, ami ismétlődéseket tartalmaz (vagy már létezik). Ezt az uniq paranccsal kezelni tudjuk, ám mivel az csak rendezett állománnyal képes dolgozni, így először rendeznünk kell a tartalmat. cat gyumolcsok.txt sort uniq Ha szeretnénk megszámoltatni a sorok számát: cat gyumolcsok.txt sort uniq wc -l Az eredményt fájlba irányíthatjuk: cat gyumolcsok.txt sort uniq wc -l > gyumolcsokszama.txt cat > gyumolcsok.txt körte szilva barack alma szilva<ctrl+d>

Feladat: A mostmivanbenne állományba írja bele az aktuális dátumot és időt, majd az aktuális könyvtár listáját is! date > mostmivanbenne ; ls >> mostmivanbenne (egy sorban több parancs: köztük pontosvessző van) Ugyanaz máshogyan (ha kihasználjuk, hogy csoportképzés után annak a kimenete is átirányítható) (date ; ls) > mostmivanbenne