Linux logo Mottó:"A Unix az az operációs rendszer, melyet buherátorok írtak saját maguknak és más buherátorok számára. Ennek megfelelően a Unix első számú alapelve: Az amatőrök dögöljenek meg!"

1. Bevezetés

Unix történelem
Linux történelem
A Unix felépítése
Linux-ot akarok
2. Fájlok, programok, könyvtárak 3. Hajlékony-, merevlemezek és további hasonlók 4. A rendszer konfigurálása   5. Egyebek  
6. Linux és a hálózat  

 

1. Bevezetés

DOS-ról Linuxra akarsz váltani? Vagy csak úgy gondolod, érdemes valamennyit tudni a Linux-ról is? Kitűnő ötlet, de légy tisztában azzal, hogy olyan nincs, hogy "a legjobb számítógép", vagy "a legjobb operációs rendszer": ezek a fogalmak mind attól függenek, hogy mit szeretnél csinálni. Ez az, amiért nem hiszem, hogy mindenkinek a legjobb megoldás a Linux, még akkor sem, ha technikailag jóval kiemelkedőbb több kereskedelemben kapható operációs rendszernél. Rendkívül hasznos lehet számodra, ha fejleszteni akarsz, Internetezni, s úgy általában tudományos szoftvereket szeretnél használni, de ha nem érzel nagyobb hajlandóságot tanulni, illetve szükségtől függően parancsokat gépelgetni, akkor jobban teszed, ha máshol nézel körül. A Linux alapja a Unix, ezért az elején Unix-ot írok, majd később Linux-ot.

Unix történelem

A Unix napjaink leginkább elterjedt operációs rendszere a munkaállomások és a munkacsoport-kiszolgálók kategóriájában, sőt egyre inkább terjeszkedik lefelé és felfelé is. Lefelé, a PC-kategóriában régi harcos a XENIX, erősen terjed az ingyenes Linux, és megjelent a Solaris/x86 és a Next is. A nagy adatbázis-kiszolgálók és a szuperszámítógépek piacán is egyre inkább hódítanak a Unix-alapú ún. nyitott rendszerek, és az új piacokon, mint az Internet-kiszolgálók vagy a nagyteljesítményű videó-animációs rendszerek, ugyancsak a Unix-alapú megoldások foglalják el a piacvezető pozíciókat.

Mi lehet az oka ennek a sikernek? Milyen lehet az az operációs-rendszer tervezési filozófia, ami egyaránt alkalmazható egy PC-n és egy szuperszámítógépen is?

A Unix első változata 1969-ben született a AT&T Bell Labs-nál egy kiselejtezett PDP-7-es számítógépen. Az alkotók ( Ken Thompson, Dennis Ritchie, Doug McIlroy, Joe Ossana és Rudd Canaday) célja egy kicsi, általános célú időosztásos rendszer létrehozása volt. Öt évvel később a rendszer az akadémiai közösség és az egyetemek általánosan használt rendszere volt.

A Unix által ekkoriban nyújtott előnyök:

Kicsi volt az akkori időosztásos rendszerekhez képest.

Rugalmasság - magas szintű nyelven elérhető volt a forrása.

Alacsony ár - az egyetemek lényegében ingyen kapták.

Azért voltak hátrányok is:

A támogatás teljes hiánya.

Tele volt apró hibákkal.

Nem volt semmi dokumentáció, csak a forrás.

A Berkeley (Kalifornia állami egyeteme) saját verzió fejlesztésébe kezdett a DARPA támogatásával. Innentől kezdve két helyen folyt a Unix fejlesztése.

A későbbi sikerek valószínű okai:

Flexibilis kezelői felület, sok hasznos segédprogrammal.

Moduláris tervezés, egyszerű bővíthetőség.

Többfelhasználós, többfeladatos működés.

Elérhetőség a legváltozatosabb platform4okon.

Szabványosított programozói felület.

 

Néhány fontosabb évszám a Unix történetéből:

1956 A trösztellenes törvény korlátozza az AT&T szoftverpiaci jelenlétét.

(AT&T Consent Decree)

1965 Az AT&T megkezdi a MULTICS fejlesztését a MIT-vel és a GE-vel közösen.

1969 A MULTICS helyett Ken Thompson elkészíti a Unix első verzióját.

A Consent Decree miatt az AT&T fejlesztheti a Unix-ot, de nem adhat el, nem reklámozhat, nem támogathat Unix-alapú termékeket. Csupán egyetemeknek adhat használati engedélyt.

1972 Dennis Ritchie kifejleszti a C nyelvet.

1973 A Unix-ot újraírják C-ben. Az egyetemekhez kerülnek az első rendszerek.

1975 Thompson munkát vállal a Berkeley-n. Elkezdődik az ottani fejlesztés.

1980 BSD 4.0 - virtuális memóriakezelés, job vezérlés,...

1981 /usr/group néven szabvány-előkészítő szervezet alakul.

1983 System V Release 1 (SVR1), támogatás, árcsökkenés az AT&T-nél.

BSD 4.2 - IPC, TCP/IP, gyors állományrendszer

1984 Eltörlik a Constent Decree-t, Az AT&T a piacra léphet termékével.

SVR2 - lapozás, osztott memória.

POSIX szabvány.

1985 SVID (System V Interface Definition).

SVVS (System V Verification Suite).

1986 BSD 4.3.

1987 SVR3 - folyamok, IPC, job vezérlés.

X/Open Portability Guide (XPG).

1988 OSF (Open Software Foundation) alapítása.

1989 SVR4 - ez a jelenleg használt verziók alapja.

 

Linux történelem

A Linux története ott kezdődött, hogy egy finn egyetemista - Linux Torvalds -, megunta az akkoriban oktatási célokra olcsón beszerezhető PC-s Unix, a Minix kötöttségeit, hibáit és elhatározta, hogy megpróbál egy olyan rendszert összehozni, ami saját magának egy jobb környezetet biztosít. Ez első verzió (0.01-es) valamikor 1991 augusztusában készült el. Ez a változat még nem sok mindenre volt jó (ejtsd semmire). Amikor Linus áttért a C nyelvre, a fejlesztés lényegesen gyorsabbá vált. 1991 október 5-én hirdette meg Linus az első "hivatalos", 0.02-es Linuxot az Interneten. Ekkor már néhány alapprogram futott a rendszeren (pl. gcc, azaz C nyelvű fordító, bash burokprogram), így már el le hetett kezdeni használni a rendszert. A cél ekkor a rendszermag fejlesztése volt.

Linus ekkora elhatározta, hogy az Interneten keresztül bevonja a fejlesztésbe a szabad kapacitással rendelkező programozókat. A 0.03-as verzió két-három hét alatt megszületett.

1991 december 19-től, a 0.11-es változat kibocsátásától számíthatjuk a Linux gyermekkorát. Ez volt az első önálló rendszer, tehát nem kellett hozzá Minix. A 0.12 egy elég stabil változat lett, ekkortól kezdődött el a Linux igazi hódítása. Ez már olyan részeket is tartalmazott, amelyet nem Linus Torvalds írt.

Hazánkban, 1993-ban kezdett igazán elterjedni., mert ekkora kötötték be a felsőoktatási intézmények nagy részét az Internet-be.

1994 márciusában megjelent az 1.0.0 sorszámú kernel. Ekkortól kezdve egy speciális sorszámozást vezetnek be a fejlesztők: a verziószámot három, ponttal elválasztott nem negatív egész jelzi. Az első a fő verziószám, ami csak a rendszermag lényegét érintő változtatásoknál vált eggyel nagyobbra. A második szám elég speciális jelentésű: ha páros, akkor stabil, tesztelt kernelről van szó, amit bárkinek ajánlanak használatra, míg a páratlan szám tesztváltozatot jelöl, amit inkább azoknak javasolnak, akik tesztelni, fejleszteni szeretnék a kernelt, és akiknek nem számít, ha a rendszer néha elszáll. A harmadik szám pedig kisebb módosításokkor ugrik egyet. A fejlesztés során a rendszermag egyre hatékonyabb lett, beleépítették a legújabb hardverek meghajtóit (CD-olvasók, PCI-buszok, újabb SCSI eszközök, stb.). Ebben az időben a Linux felhasználói programok száma nőt meg hihetetlenül. Ekkorra már nagy szoftvercégek is elkészítették p rogramjaik linuxos változatát. Ezek természetesen nem szabad terjesztésűek, és az, hogy megéri Linux-ra adaptálni őket, egyértelműen jelzi, hogy a Linux-felhasználók tábora világméretű piacot jelent. Ekkor tájt egyre több Linux disztribúció kezd megjelenni, azaz több cég olyan programcsomagot állít elő, amellyel a Linux felépítése, karbantartása sokkal könnyebb, mintha mindenki egyenként gyűjtené be a rendszer részeit.

1996 augusztusában jelent meg a 2.0.0 sorszámú rendszermag. Ennek fő újítása a modulok megjelenítése volt: a kernel bizonyos részei modulként is elkészíthetők, és ezek a modulok akár automatikusan, akár kézzel betölthetők a memóriába, ahonnét a rendszer kipakolja őket, ha régóta nem használjuk. Például nyomtató, floppy-vezérlő, nem linux-os file-rendszereket kezelő részeket célszerű modulba tenni, mert ekkor ezek csak addig foglalják a memóriát, amíg éppen használjuk őket, és ez többnyire a munkaidő jelentéktelen része.

A Unix operációs rendszer felépítése

A Unix név nem csak egy szimpla operációs rendszert jelent, hanem a hozzá kapcsolódó user interface-t (felhasználói felületet), programokat, segédprogramokat, amelyek együtt egy többfelhasználós (multiuser), többfeladatos (multi tasking) rendszer használatát teszik lehetővé. Míg a DOS egyfelhasználós, egyfeladatos rendszer, azaz egyszerre csak egy felhasználó egy programot futtathat rajta, addig Unix alatt egyszerre több felhasználó is dolgozhat, s mindegyikük több programot is futtathat egyidejűleg. A párhuzamosan futó programok prioritásuk alapján jutnak processzor időhöz. A többprocesszor os rendszereknél lehetséges, hogy az egyes processzorokon külön fussanak a programok. Ebből a szempontból a legegyszerűbben a szimmetrikus multiprocesszoros rendszerek működnek. Itt a processzorok közös memóriát és lemez területet használnak és a teherelosztás a prioritás alapján teljesen automatikus a processzorok között.

A Unix réteges felépítésű.

Segéd- és felhasználói programok (ls, vi, man, mail,..)

Burok (shell) azaz parancsértelmező (sh, csh, ksh)

Kernel, azaz operációsrendszer-mag

A számítógép hardware

A legbelső része a kernel, az operációs rendszer magja, amely a rendszer erőforrásainak szétosztását, és a futó folyamatok ütemezését végzi. A kernel köré épülnek a Unix különböző programjai. Ezek közé tartoznak a különböző segédprogramok (pl. ls, cat) és a felhasználó számára a legfontosabb az úgynevezett parancsértelmező (shell, "héj", "burok"). Ez az a program , amely egy felhasználó belépésekor elindul, kiírja a promptot, beolvassa és értelmezi a felhasználó által begépelt parancsokat, meghívja az elindítható programokat és még egy igen rugalmas programozási nyelvet is ad a felhasználó számára.

A Kernel

A kernel maga az operációs rendszer (OS). Felelős az erőforrások elosztásáért, a felhasználói igények kiszolgálásáért, a hardware kezeléséért. Tartalmazza minden hardware-eszközhöz a megfelelő kezelőprogramot. Az MS-DOS operációs rendszerben a megfelelői kb. az IO.SYS és az MSDOS.SYS rendszerállományok, noha jóval kevesebb feladatot látnak el, mint a kernel.

A burok (shell)

A burok alapvetően egy interaktív parancsértelmező. Beolvassa a felhasználó által adott parancsokat, értelmezi őket, és átadja a kernelnek a végrehajtandó feladatot. A DOS-ban leginkább a COMMAND.COM lehet a megfelelője. Fontos tudnivaló, hogy a kernel és a burok külön program (hiszen minden felhasználónak saját burokprogram fut) , és minden Unix rendszerhez több burokprogramot adnak, amelyek közül mindenki kiválaszthatja a neki megfelelőt.

Alapvetően három burok elérhető minden Unix rendszerben:

Bourne Shell (sh): Az eredeti AT&T shell, szolgáltatásai: parancsértelmezés, változók definiálása, behelyettesítése, elágazások, ciklusok.

C Shell (csh): Az sh-ból továbbfejlesztett BSD-féle shell. Plusz szolgáltatásai: parancsvisszahívás (history), alias-ok használata.

Korn Shell (ksh): A két világ egyesítése, benne van mindkét shell tudása.

Segédprogramok és alkalmazások

A Unix tervezési filozófiájának talán legerősebb pontja ez. A UNIX segédprogramjai egy-egy egyszerű feladatot végeznek el hatékonyan. A bonyolult problémák megoldása ezen egyszerű programok összekapcsolásával lehetséges. A shell pedig biztosítja a hatékony összekapcsolási lehetőségeket.

 Bejelentkezés, bejelentkezési nevek és kulcsszavak

A többfelhasználós működés alapja, hogy a gép bekapcsolásának és a felhasználó belépésének a folyamata szétválik. Mivel az egyes felhasználókat egy Unix-os gépen meg kell különböztetni, minden egyes felhasználónak úgynevezett bejelentkezési neve (login identifier, login id) van. Ez általában 8 karakternél nem hosszabb (sajnos a Picasso igen). A belépési név után a rendszer egy jelszót kér tőlünk. Ennek célja az egyes felhasználók adatainak védelme. A felhasználóknak a rendszergazda (superuser) adja meg a belépési nevet és a jelszót is ő állítja be. A felhasználónak azonban a passwd parancs használatával módja van a jelszó megváltoztatására. A rendszergazda kifejezés kapcsán szót kell ejteni egy rendszeren belül a normál és privilegizált felhasználók közti különbségről.

A Unix gépeken - mint általában minden nagyobb gépen igaz - , hogy a felhasználók közül egyesek speciális előjogokkal rendelkeznek más normál felhasználókkal szemben. Ők a privilegizált felhasználók. Feladatuk lehet például a rendszer kikapcsolása, új felhasználók adminisztrációja, programcsomagok installálása stb. A privilegizált felhasználók között is kiemelt szerepe van a rendszergazdának. Ő az, aki mindent megtehet, mert mindenre van jogosultsága. Minden Unix rendszeren kell, hogy legyen egy rendszergazda, aki a fent említett feladatokat elvégzi. Nagyobb rendszereken más-más személy végezheti ezeket a feladatokat.

A rendszergazda bejelentkezési neve hagyományosan root.

 Folyamatkezelés, előtér- háttérfolyamatok, démonok és job-ok

A Unix rendszernél a végzett többfelhasználós munka során két igen fontos, nem azonos fogalmat kell megemlíteni: a program és a folyamat (process) fogalmát. A program egy futtatható fájl, míg a folyamat a felhasználó által elindított programból keletkezik. Ez azt jelenti, hogy egyetlen programnak több felhasználó által történő elindításakor több folyamat keletkezik, vagy egyetlen felhasználó által ugyanazon program többszöri indítása során szintén több folyamat indul el.

A munka során a kiadott parancsok a DOS operációs rendszerhez hasonlóan szekvenciálisan kerülnek végrehajtásra. A DOS-szal ellentétben itt viszont mód van úgynevezett háttérfolyamatok elindítására, ahol a parancs kiadása után a p romptot azonnal visszakapjuk és az előzőleg kiadott parancs végrehajtása a háttérben folyik tovább.

A háttérfolyamat egy speciális fajtája a démon folyamat. Ezt a rendszer automatikusan indítja el és valamilyen felügyeleti szerepet lát el. Például gondoskodik a terminálvonalak figyeléséről, a nyomtatási kérelmek besorolásáról és végrehajtásáról.

A démonoknak végrehajtásra átadott nyomtatási és egyéb kérelmeket job-oknak nevezik, ezeket a démon sürgősségi és egyéb szempontok alapján sorba rendezi, és egyenként hajtja végre.

Linux-ot akarok

A Linuxot (jelenleg) nem olyan könnyű használni és konfigurálni, mint a Windows-t és a DOS-t. Így készülj fel arra, hogy szükséged lesz jó néhányszor "buherálni". Mielőtt installálnád, olvass el a telepítésről néhány leírást, feltéve ha megvan a program otthon. Ha nincs Linux-od, akkor találsz a CHIP magazin 1997. márciusi CD-jén. Itt Red Hat Linux van. (Persze választhatsz Debian, Slackware Caldera vagy más disztribúciót.) Jó hír, hogy már megjelent a Red Hat Linux 5.0, amit már nagyon egyszerű telepíteni és biztosan rajta lesz valamelyik 1998-as CHIP CD-n. Persze le is tölthető az ftp.redhat.com ftp-szerverről is.
Ha otthonra nem akarsz Linux-ot, akkor is megtanulhatod a használatát, csak be kell jelentkezned egy olyan gépre (például a suliban a Picasso), amelyen Linux (esetleg Unix) van. A bejelentkezéshez Win95 alatt szükséged lesz a telnet programra, Win3.11 alatt pedig a WINSOCK
könyvtárban lévő trmptel programra.

telnet picasso

trmptel picasso

 

után meg kell adni a login nevet, majd a jelszót és már is használhatod a Picasso-n (ez nem PC, hanem egy Sun Sparc 20-as szerver) a Linux-ot.

Ha otthonra akarsz Linux-ot, ne felejtsd el, hogy a Linux és a DOS/Windows képes ugyanazon a gépen egyidejűleg létezni. Ha installáltad a Linux-ot a számítógépeden, akkor adj magadnak egy azonosítót, (ha nem ez a helyzet, akkor gépeld be, hogy adduser) és a Linux fut a gépeden. Mielőtt belevágnánk a parancsokba, néhány alapdolog, amely akkor igaz, ha otthon, a gépeden van Linux

Elsőként is, hogyan lépj ki a Linux-ból? Ha karakteres képernyőt látsz, akkor nyomd le a CTRL-ALT-DEL billentyűket, majd várj addig, amíg a rendszer rendbe teszi a belső dolgait, és végül jelzi Neked, hogy minden rendben. Ekkor már nyugodtan kikapcsolhatod. Ha az X Window System alatt dolgozol, akkor elsőként CTRL-ALT-BACKSPACE, majd a CTRL-ALT-DEL billentyűket nyomd le. Soha ne reset- eld vagy kapcsolt ki a PC-t közvetlenül Linux alatt, mivel megsérülhet a fájlrendszer!

A DOS-tól eltérően a Linux beépített védelmi rendszerrel rendelkezik. Amikor bekapcsolod a gépet és elindítod a Linux-ot, akkor be kell jelentkezned, hogy a rendszer számára felismerhetővé tedd magad: mindez azért van, mert a Unix egy többfelhasználós rendszer. Az átlag felhasználó igazából nem birtokolja a rendszert: a bejelentkezése ideje alatt a rendszer feletti hatalmat az a felhasználó birtokolja, aki a "root" azonosítóval rendelkezik. (Ezek az emberek a rendszeradminisztrátorok. Ha a saját gépeden dolgozol, akkor Te vagy a "root".) A fájlokhoz és a könyvtárakra hozzáférési engedélyek rendelhetők (lásd a Hozzáférési engedélyek fejezetet) és ezért néhányuk el sem érhető az átlag felhasználó számára. Ezzel szemben a DOS megengedi, hogy a merevlemezed egész tartalmát egy mozdulattal letöröld.

Érezd magad felbátorítva, hogy kísérletezz, játssz, próbálkozz magad is, egészen biztos, hogy nem teszel kárt semmiben. Kaphatsz segítséget, ha a promt (általában a $ jel a prompt, illetve # a "root" promt-ja) mögé begépeled:

$ help  

(ez segítséget ad a bash-ról), vagy információt szerezhetsz egy-egy utasításról a

$ man utasítás

paranccsal, ami ha installáltad, akkor behívja a kézikönyv utasításhoz kapcsolódó oldalát. Próbálkozhatsz még az

 

$ apropos utasítás

$ whatis utasítás

parancsokkal is. Kilépéshez üss 'q'-t!

  

2. Fájlok, programok, könyvtárak

2.0. Türelmetleneknek

Gyorsan bele akarsz vágni a dolgok közepébe? Akkor nézd meg ezt a táblázatot!

DOS

Linux

Megjegyzés

BACKUP

tar -Mcvf device dir

Teljesen különböző.

CD dirname\

cd dirname/

Majdnem ugyanaz a szintaxis.

COPY file1 file2

cp file1 file2

Úgyszintén.

DEL file

rm file

Vigyázat, nincs undelete!

DELTREE dirname

rm -R dirname/

Úgyszintén.

DIR

ls

Nem egészen ugyanaz

EDIT file

vi file

Nem hiszem, hogy tetszeni fog. 8-)

 

emacs file

Ez jobb

 

joe file

WordStar alapú.

FORMAT

fdformat

 

HELP parancsnév

man parancsnév

Hasonló filozófia.

MD dirname

mkdir dirname

Majdnem ugyanaz a szintaxis.

MOVE file1 file2

mv file1 file2

Úgyszintén.

NUL

/dev/null

Úgyszintén.

PRN

/dev/lp0

 

RD dirname

rmdir dirname

Majdnem ugyanaz a szintaxis.

REN file1 file2

mv file1 file2

Nem megy több file-ra.

RESTORE

tar -Mxpvf device

Eltérő szintaxis.

TYPE file

less file

Sokkal jobb!

WIN

startx

Ég és föld! ;-)

 

Ha többre is kíváncsi vagy, akkor olvasd el a többi fejezetet is, vagy tanuld meg a man-t! 8-))

 

2.1 Parancsok általános szintaxisa

A Linux rengeteg parancsot és kisebb-nagyobb hasznos segédprogramot tartalmaz; ezek közös jellemzője, hogy nevük - jóllehet néha nehezen felderíthető módon - utal feladatukra, és valamennyit a Linux p arancssorába kell begépelni. (A parancssor elejét a prompt jelzi - ez rendszerint % vagy $ jel a sor elején, de bármi más is lehet, csak beállítás kérdése!)

A parancsokat úgy hajtjuk végre, hogy begépeljük a nevüket a parancssorba. A parancs neve után szóközökkel elválasztva kell megadni a paramétereket: ezek határozzák meg közelebbről, hogy a parancs mit is csináljon. A paraméterek közül azokat, amelyek mínuszjellel kezdődnek, ezentúl kapcsolóknak fogom hívni, mivel ezekkel lehet bekapcsolni egy parancs különféle üzemmódjait. A kapcsolókból rendszerint egyszerre több is megadható, ilyenkor általában elegendő egy mínuszjelet kiírni és felsorolni utána a kapcsolókat (ezt nem minden rendszer teszi lehetővé, de a Red Hat Linux igen!)

Például az

 ls -l -a -r

 parancs megadható így is:

 ls -alr

 Elsősorban PC-n nevelkedett felhasználóknak (ők lesznek többen) okozhat kellemetlen meglepetést a Linux szűkszavúsága. Mindig csak annyi üzenetet kapunk, amennyit a rendszer elengedhetetlenül szükségesnek tart. Ezért ne lepődj meg, ha egy parancs végrehajtása után semmi sem jelenik meg a képernyőn: ez azt jelenti, hogy a parancs hibátlanul végrehajtódott. A Linux programok sikeres végrehajtás esetén soha nem jeleznek vissza, csak hiba esetén.

 A Linux törekszik az egységességre, ennek szellemében minden interaktív parancsból ugyanúgy kell kilépni. (Interaktívnak nevezzük azokat a parancsokat, amelyek futás közben elvárjak, hogy begépeljünk nekik valamit.) Te hát ha ki akarsz lepni egy ilyen programból, üsd le a Ctrl+D (ha nem menne, akkor a CTRL-C-t billentyű-kombinációt. Csak vigyázz arra, hogy így a shellből is kiléphetsz, aztán kezdheted újból a bejelentkezést! Ez összhangban van az előző alapelvvel, mert amikor be vagyunk jelentkezve, valójában egy programot futtatunk (ez a parancsértelmező, amit shell-nek vagy buroknak hívnak): kijelentkezéskor ebből a programból lépünk ki.

2.2 Fájlok 

 A Linux legfontosabb alapfogalma a fájl. Nem csak programokat és adatokat tárolunk a file-okban, de a parancsok is futtatható fájlok, sőt még a terminálokra is ugyanúgy írunk ,mint egy közönséges adatfájlba. Röviden: a Linux-ban minden file. 

Minden fájlnak adott szabályokhoz illeszkedő neve van, a fájlokat könyvtárakban tárolják, néhányuk végrehajtható, néhányuk speciális kapcsolókat is igényel, illetve megenged. Sőt használhatsz wildcard (joker) karaktereket, átirányítást, csöveket. Csak néhány kisebb különbség van.

DOS alatt a fájlneveknek úgynevezett 8.3 alakja van, pl.: LINUX.TXT. Linux alatt ez jobban megoldott. Ha a Linux-ot egy olyan fájlrendszerrel (nem szükséges, hogy tudd pontosan mi is ez most) installálod, mint az ext2, vagy az umsdos, akkor hosszabb neveket is használhatsz (egészen 255 karakterig), több ponttal a névben. Például: Ez.egy_IGEN.hosszú.Fájlnév. Kérlek, vedd észre, hogy mind kisbetűket és mind nagybetűket is használtam. Valójában:

A kis-, és nagybetűket megkülönböztetjük a nevekben. Így a FÁJLNÉV.tar.gz és a fájlnév.tar.gz nevek két különböző fájlt jelölnek. Ugyanez igaz a parancsokkal kapcsolatban is. Ha az ls parancsot kiadod (ez ugyan az mint a DOS-ban a DIR ) akkor könyvtáradban található fájlok listáját kapod, míg ha az LS parancsot adod ki, akkor egy hibaüzenetet.

Nincs olyan kötelező kiterjesztés a parancs ill. program fájloknak, mint a .COM és a .EXE , vagy a .BAT a batch-fájloknak. A végrehajtható fájlokat egy * különbözteti meg a fájlnév végén, ha az ls -F paranccsal listáztattad ki. Például:

 $ ls -F

levél_Józsinak

Cindy.jpg

cjpg*

Ez_egy_dir

első_scriptem*

A cjpg* és az első_scriptem* fájlok végrehajthatók - "programok". DOS alatt a .BAK végződés a másolat (/FONTbackup) fájlokat jelölik; a Linux-ban az ilyen típusú fájlok tilde (~) karakterre végződnek.

 

Továbbá, ha egy fájlnevet ponttal kezdesz, akkor ez a fájl rejtett fájlként lesz nyilvántartva. Például: az .én.egy.rejtett.fájl.vagyok fájl nem fog megjelenni az ls parancs után.

 

A DOS alatt a program opciókat /opció formában adhatók meg, míg Linux-ban a megfelelő forma a -opció. Például: a

dir /s parancs megfelelője

ls -R

Megjegyzem sok DOS program - mint a PKZIP vagy az ARJ - Unix stílusú opciókat használ.

2.3. Listázás

Az ls (list) parancs megmutatja az aktuális könyvtárban található fájlok neveit. (Az aktuális alkönyvtárunk bejelentkezés után a munkakönyvtár, az ún. "home directory". Ide tehetjük a saját dolgainkat, például leveleinket, programjainkat, adatainkat, stb. Ez az egyetlen könyvtár (általában), ahová írási jogod van. A lista alapértelmezés szerint ábécé sorrendben sorolja fel a neveket, de alkalmas kapcsolók segítségével más sorrendet is előírhatunk. Például az  

ls -t

 parancs az utolsó módosítás dátuma szerint rendezve listázza ki a fájlok neveit úgy, hogy az utoljára módosított fájl lesz az első a listán.

A -l kapcsoló ún. hosszú (long) listát ad:  

ls -l

 -rw-r--r-- 1 owner user 14649 Sep 6 09:54 nevek.gz

 

A dátum és az idő megadja hogy a nevek.gz nevű fájl mikor volt utoljára módosítva. Az 14649-as szám a fájlban található karakterek számát jelenti. A user a csoport neve, amelyikbe a felhasználó tartozik. Az owner a fájl "tulajdonosát", vagyis annak a felhasználónak az username-jét (bejelentkezési nevét), aki a fájlt létrehozta. A "-rw-r--r--" kódsorozat a fájl elérési jogát mutatja: ezt a fájlt bárki elolvashatja, de csak a tulajdonos (owner) írhatja. Az elérési jogokról részletesen a következő részekben olvashatsz.

A kapcsolókból egyszerre több is megadható:

például az

ls -al

parancs kilistázza valamennyi fájlt (all) beleértve azokat is, amelyek neve ponttal kezdődik, hosszú (long) formában. Azt is előírhatjuk, hogy csak bizonyos fájlokat listázzon, például az  

ls -l *c

kilistázza valamennyi "c" betűre végződő nevű fájlt. (A * karakter jelentése: "ezen a helyen bármilyen karakter(ek) állhat(nak), tetszőleges számban; ez a szám akár nulla is lehet"). Jegyezd meg, hogy mindig a kapcsolókat (-l) kell első helyen megadni, és a fájlnevet a másodikon!

 A csillaghoz hasonló metakarakter (wildcard) a kérdőjel, jelentése "ezen a helyen bármilyen karakter állhat". Így tehát az

 ls a???

parancs az összes "a" betűvel kezdődő, négy karakter hosszúságú fájlt fogja kilistázni.

Az ls parancs alapértelmezésben nem mutatja meg azokat a fájlokat, amelyeknek ponttal (.) kezdődik a nevük. Ha ezeket is látni szeretnéd, használd a "-a" kapcsolót:

 ls -a

 

2.4. Másolás, törlés és átnevezés

Az mv parancs átnevez (move = mozgat) egy fájlt egy másik névre. Tehát az

mv regi_nev uj_nev

parancs megszünteti a "regi_nev" fájlt, és létrehoz helyette egy "uj_nev" nevűt. Ha az "uj_nev " nevű fájl már létezik, akkor felülírja azt a "regi_nev" fájl tartalmával, rendszerint anélkül, hogy megkérdezne minket; komolyan felül akarjuk-e írni az "uj_nev" fájlt.

 Ha másolatot akarsz készíteni egy fájlról, akkor ezt a cp paranccsal teheted meg meg.

 cp eredeti masolat

Ekkor létrejön egy másolat nevű fájl, amely méretben és tartalomban megegyezik az eredeti fájllal. Ha egy fájlra mar nincs szükségünk, letörölhetjük az rm (remove) paranccsal.

rm fajl1 fajl2 fajl3

Ez a parancs letörli a fajl1, fajl2 és fajl3 nevű fájlokat az aktuális alkönyvtárból

FONTOS! Ha egy fájlt letörölsz vagy felülírsz, akkor az megsemmisül és semmilyen eszközzel sem lehet visszaállítani!

 

2.5 Könyvtárak

 A UNIX hierarchikus felépítésű, ami azt jelenti, hogy a fájlokat könyvtárakban tárolja. Egy könyvtárból alkönyvtárak nyílhatnak, amelyek ugyancsak tartalmazhatnak további fájlokat és alkönyvtárakat, és így tovább. Mindig van egy aktuális könyvtár, ahol éppen dolgozunk (working directory, munkakönyvtár) - ez azt jelenti, hogy a fájlokra vonatkozó parancsok (ls, cp, mv, cat , stb.) az aktuális könyvtárban levő fájlokra fognak vonatkozni. 

Bejelentkezéskor a saját könyvtáradba kerülsz (home directory), de szabadon mozogtsz az ebből nyíló alkönyvtárakba, sőt, esetenként még más felhasználok alkönyvtáraiba is átmehetsz. J Alkönyvtárat az mkdir paranccsal tudsz létrehozni, belelépni pedig egy könyvtárba a cd paranccsal tudsz. Tehát az alábbi két parancs

mkdir alkonyvtar

cd alkonyvtar

 

létrehoz egy, az aktuális könyvtárból nyíló alkönyvtárat, és bele is lép. Ha paraméterek nélkül adod ki a cd parancsot, akkor visszajutsz a home könyvtárba. Ha most kiadod az ls -l parancsot, a fájlok listájában az imént létrehozott alkönyvtár is szerepel:

 drwxr-xr-x 2 owner group 32 Nov 22 24:32 alkonyvtar

A sor elején szereplő "d" betű jelzi, hogy alkönyvtárról van szó. A paraméterek nélküli ls parancs által előállított listáról sajnos nem tudjuk megállapítani, hogy melyik név jelent alkönyvtárat és melyik jelent fájlt.

 Az

rmdir

parancs kitöröl egy alkönyvtárat, ha az üres. Ha a törölni kívánt alkönyvtárban fájlok vannak, azokat az

rm

paranccsal törölheted le. Az

rm -r konyvtar_nev

parancs nemcsak a megadott könyvtárat törli le, hanem a belőle nyíló valamennyi könyvtárat és alkönyvtárat is. Így egy mozdulattal eltakaríthatod egy egész könyvtárstruktúrát, ezért légy óvatos!  

A gyökér könyvtárnak nincs neve és szülő könyvtára. A "/" jel jelenti a gyökeret (root), alkönyvtárai pedig az usr, home, stb. a /usr, /home /stb . hivatkozással érhetők el. Ezt a hivatkozást elérési útvonalnak (pathname) hívják. Ez független attól az alkönyvtártól, amelyikben éppen tartózkodsz. A /usr alkönyvtárnak további alkönyvtárai vannak, például bin, etc, stb. Ezek elerési útvonala /usr/bin, /usr/etc és így tovább. Ha egy fájlt az aktuális könyvtárból egy másik könyvtárba akarsz másolni vagy mozgatni, meg kell adnod a cél könyvtár nevet is. Ha a művelet tárgyát képző fájl nincs az aktuális alkönyvtárban, akkor arról is meg kell adni, hogy melyik könyvtárban találjuk meg. Az alábbi parancs az aktuális könyvtárban lévő "leve1" fájlt átmásolja az (aktuális könyvtárból nyíló) mail könyvtárba:

cp level mail

 A következő példa feltételezi, hogy éppen nem tudod, melyik könyvtárban vagy, és a gyökérből nyíló public/news alkönyvtárból szeretnéd "hazamásolni" (a "home directory"-dba) a last-news nevű fájlt. Íme:

 cp /public/news/last-news $HOME

 

A $HOME jel a munkakönyvtárunk rövid neve, így nem kell kiírni az általában tekintélyes hosszúságú (/home/tanulok/11c1/geza) munkakönyvtár nevet. Egyes rendszerekben (az ún. csh-ban) a $HOME jelnek van egy még rövidebb neve is: a "~" jel (tilde). Az aktuális könyvtárnak is van egy rövidített neve, mégpedig a pont ".".

A következő parancs a /usr/news/legujabb nevű fájlt másolja át oda, ahol éppen tartózkodunk, vagyis az aktuális alkönyvtárba.

 

cp /usr/news/legujabb

 

Végül két hasznos parancs: ha elfelejtetted, hogy éppen melyik alkönyvtárban vagy, akkor a

 

pwd (print working directory)

 

paranccsal megtudakolhatod, a paraméterek nélküli cd parancs pedig hazavisz Téged a munkakönyvtáradba (home directory).

 

DOS parancsok Linux megfelelői:

DIR

ls, find, du

CD

cd, pwd

MD

mkdir

RD

rmdir

DELTREE

rm -R

MOVE

mv

 

Példák:

 

DIR

ls

DIR file.txt

ls file.txt

DIR *.h

ls *.h

DIR /P

ls | more

DIR /A

ls -l

DIR *.tmp /s

find / -name "*.tmp"

Nem megy

cd pwd

Nem megy

cd ~

CD \other

cd /other

CD ..\tmp\log

cd ../tmp/log

MD newprogs

mkdir newprogs

MD \progs\turbo

mkdir /progs/turbo

RD newprogs

rmdir newprogs

DELTREE tmp\log

rm -R temp/trash

Megjegyzések:

Az "rmdir" használatakor a törlendő könyvtárnak üresnek kell lennie. Egy könyvtár és a teljes tartalmának a törléséhez használd az 'rm -R' parancsot (saját felelőségre!).

A '~' karakter a "home" (otthon) könyvtárad rövidítése. A 'cd' vagy a 'cd ~' parancsok a home könyvtáradba visznek bárhol is legyél. Ennek megfelelően a 'cd ~/tmp' pedig a /home/home_könyvtárad/tmp könyvtárba juttat.

'cd -' úgymond "visszacsinálja'' az utolsó 'cd' parancsot (azaz a korábbi könyvtárba lép vissza).

 

2.6. Műveletek szövegfájlokkal

 A legegyszerűbb dolog, amit egy szövegfájllal csinálni lehet, hogy tartalmat megjeleníted a képernyőn. Ezt a cat paranccsal érheted el.

cat fajl_nev

Erre a fájl tartalma megjelenik a képernyőn. A cat parancsnak több fájlnevet is átadhatsz, ilyenkor egymás után jeleníti meg a fájlok tartalmát. Ha a szöveg több, mint amennyi egy képernyőn elfér, akkor leszalad a képről. Ilyenkor használgatod a more parancsot.

more fajl_nev

A szövegből most egy képernyőnyi rész jelenik meg, a szóköz (space) billentyű lenyomására megmutatja a következő oldalt. Ha nem akarod végignézni az egész fájlt, üsd le a "q " betűt vagy a Ctrl+C-t.

Egy fájl első sorait a head programmal lehet megjeleníteni:

head -15 fajl_nev

 A fájl első tizenöt sorát listázza ki. Időnként megeshet, hogy nem a fájl elejére, hanem a végére vagy kíváncsi. Ezt a tail paranccsal teheted meg. Ez a példa a szövegfájl utolsó három sorát mutatja meg:

tail -3 fajl_nev

 A wc (word count) parancs megszámolja a szövegfájl sorainak, szavainak és karaktereinek számát: eredményül e három számot írja ki a képernyőre.

wc fajl_nev

A "-l" kapcsolót megadva csak a sorok számát írja ki, "-w" esetén csak a szavak számát, "-c"-re pedig csak a karakterek számát.

Már csak a lényeg maradt ki, azaz hogyan lehet szöveges fájlt létrehozni. A parancs neve touch és után a file nevét kell megadnod. Példa:

touch fájlocska

 

A vi editor

 

A Unix szabványos editora a vi, melynek előnye, hogy minden rendszeren megtalálható, így Linux-on is. Az előnyök felsorolását ezzel be is fejeztem - a mai szemmel a vi rettenetesen elavult. A Word-ön nevelkedett felhasználónak a vi editortól olyan érzése támad, mintha késsel és villával próbálna megenni egy tál levest. Ha csak lehet kerüld a vi-t, bár ha megtanultad, akkor már könnyű. (Én is ezt használom!) Ezen segíthet, ha kipróbálod az alábbi parancsokat!
A vi-nak két üzemmódja van: szöveges mód és parancs mód. A parancs módban begépelt karaktereket parancsként értelmezi. Szöveges módban bevitt karakterek bekerülnek a kurzor aktuális pozíciójába. A parancsmódból úgy tudsz szöveges módbaváltani, hogy kiadod a C,i,o,O, vagy R parancsok valamelyikét (az i-t javaslom). Szöveges módból parancsmódba az ESC bill-vel juthatsz. Persze a képernyőn nem utal semmi arra, hogy melyik módban vagy. Viszont ha sokszor nyomod az ESC-t, akkor sípol a géped (gépe válogatja), és tudod, hogy parancsmódban vagy. Egy parancsot semmiképpen ne felejts el: q!

 

Mozgás a szövegben

CTRL u, CTRL d A kurzort a szövegben felfelé (up) vagy levelé (down) viszi 12 sorral.

e a kurzort a következő szó elejére viszi

b a kurzort az előző szó elejére viszi

CTRL g Lekérdezi a kurzort tartalmazó sor sorzsámát

G A szerkesztett file végére ugrik.

n G A file n-edik sorára ugrik

/keresett_szó A keresett_szó első előfordulási helyére ugrik

 

Szöveg beszúrása

i A begépelt szöveget beszúrja a kurzor pozíciójához.

a A begépelt szöveget a kurzor pozíciójától kezdve hozzáfűzi a szerkesztett dokumentumhoz.

o Egy üres sort hoz létre az aktuális sor alatt.

O Egy üres sort hoz létre az aktuális sor felett.

 

Szöveg módosítása

x Kitörli a kurzor pozícióján álló karakter.

R Felülírásos üzemmódba kapcsol.

dd Kitörli az aktuális sort.

u Visszacsinálja az utolsó műveletet.

 

Kilépés a vi-ból

:w Elmenti a szöveget.

:q Kilép, ha nem változtattunk a szövegen.

:q! Mindenképpen kilép.

 

2.7. Szimbolikus linkek

 Van olyan eset, amikor az ls -l parancs igencsak furcsa dolgot ír ki, például:

lrwxrwxrwx 1 root 18 Dec 14 02:27 LocalApps -> /HD/NextStuff/Apps/@

A lényeg itt a" ->" és az elején az "l" betű, azaz a link. A Unix rendelkezik egy fájltípussal, ami nem létezik DOS alatt: ez a szimbolikus link. Tekinthetjük ezt úgy, mint egy fájlra vagy könyvtárra mutató pointert és használhatjuk őket az eredeti fájl vagy könyvtár helyett. A link arra jó, hogy egy fájlnak több neve legyen, esetenként külön könyvtárban. A fenti példában azt, hogy a fájl (esetünkben könyvtár) link, onnan tudható, hogy a nevében egy kis nyíl van és utána a hely, ahol a valódi fájl található. Tehát a LocalApps a /HD/NextStuff/Apps alteregója. Ezt a fajta linket szimbolikus (symbolic vagy soft ) linknek nevezzük. (Ha az ls paranccsal nem hosszú listát kérsz, akkor csak a LocalApps nevet fogod látni).

 A link másik fajtája a hard link, aminek bár funkciója ugyanaz, az operációs rendszer másképp kezeli. Ennél a fajtájú linknél nem lehet kideríteni (illetve nagyon nehezen) azt, hogy melyik fájlra mutat, és az eredeti fájl tulajdonosa lesz az új fájl tulajdonosa is.

Linkeket az ln paranccsal hozhatsz létre (a forrás- és célnév természetesen könyvtár is lehet):

 

ln [ -s ] forrasnev celnev

 

Az ln s kapcsoló nélkül hard linket készít, ha pedig megadjuk a "-s" kapcsolót, akkor szimbolikus linket.

Például:

Például: hard link készítése: 

/home/ks > ls -l egy

-rw-r--r-- 1 ks tanarok 12 Aug 5 14:20 egy

/home/ks> ln egy ketto

/home/ks> ls -lg egy ketto

-rw-r--r-- 2 ks tanarok 12 Aug 514:20 egy

-rw-r--r-- 2 ks tanarok 12 Aug 5 14:21 ketto

 

(Most mar azt is elárulom: a második mező jelenti a fájlra mutató hard linkek számát.)

 Most az "egy" és a "kettő" ugyanaz a fájl - tehát, ha az egyiket módosítod a másik is módosul, mivel csak a név más, a fájl ugyanaz. Úgy is felfoghatjuk, hogy egy fájlnak egyszerre két neve is van.

 

Soft, avagy szimbolikus link készítése:

 

/home/ks> ln -s egy ketto

/home/ks> ls -lg ketto

lrwxrwxrwx 1 ks tanarok 12 Aug 5 14:25 ketto -> egy@

 

Vedd észre, hogy a fájlelérési jogok kezdő "-" jele most l betűre változott. Innen (is) látszik, hogy szimbolikus linkről van szó. A linkek törlése természetesen a szokásos fájltörlés paranccsal (rm) végezhető. Törlés szempontjából döntő különbség van a hard linkek és a soft linkek között. Ha letörölsz egy fájlt, amelyre link kapcsolatok mutattak, akko ra 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 ugyan megmarad, de ha olvasni próbálsz a fájlból, akkor hibaüzenetet kapsz.

Mire jók a linkek? Például, ha azt szeretnéd, hogy ugyanaz a fájl egyszerre több helyen is látható legyen, de mégse kelljen belőle annyi darab másolatot készíteni, ahány helyen szükség van rá.

 

2.8. Hozzáférési engedélyek és tulajdonjogok

A DOS-os fájlok és könyvtárak a következő tulajdonságokkal (attribútumokkal) rendelkezhetnek: A (archív), H (rejtett), R (csak olvasható ), és S (rendszer fájl). Csupán a H-nak és az R-nek van értelme Linux alatt. A rejtett fájlok egy ponttal kezdődnek, míg az R megfelelőjét a lentiekben olvashatod.  A Linux fontos tulajdonsága, hogy többfelhasználós (multiuser), tehát biztosítania kell, hogy a felhasználók egymás fájljaihoz ne nyúlhassanak hozzá. Ennek elérése érdekében találtak ki a Unix alkotói a fájlelérési jogokat (file permisson). Ennek az a lényege, hogy a tulajdonos (user vagy owner) kontrollálja azt, hogy ki férhet hozzá az általa a gépen elhelyezett fájlokhoz, könyvtárakhoz. A Linux lehetőséget biztosít arra is, felhasználói csoportok tagjai fájlokat megosszanak egymás között, és a közös fájlok lehetnek a csoport (és nem egyetlen felhasználó) tulajdonában. Három féle fájlelérési jog létezik: olvasási (read), írási (write) és futtatás (execute).

 Ezeket a jogokat három osztályba osztva adhatjuk meg: magunkra (user, owner), a csoportunkra (group) és mindenki másra (world, others) nézve.

 Az olvasási jog lehetővé teszi, hogy a felhasználó a fájl tartalmát megnézhesse, könyvtárak esetén pedig, hogy azt kilistázhassa ( ls parancs).

Az írási jog a felhasználó számára engedélyezi a fájlok írását, módosítását, könyvtárak esetében pedig új fájlok létrehozását és a régiek törlését.

Végül a futtatási jog lehetővé teszi a programok, burokprogramok (shell script-ek - amennyiben a fájl egy program) - futtatását; könyvtárak esetén az oda való belépést (cd parancs).

Itt egy példa:

ls -l /bin/ls

-rwxr-xr-x 1 root bin 27281 Aug 15 1995 /bin/ls*

Az első mező (Mezőkön egymástól szóközökkel elválasztott karaktersorozatokat értünk.) tartalmazza a /bin/ls fájl hozzáférési engedélyeit, amely a root-hoz illetve a bin csoporthoz tartozik. A többi információtól most eltekintve, jegyezd meg, hogy a -rwxr-xr-x a következőket jelenti (balról jobbra):

- a fájl típusa (- = közönséges fájl, d = könyvtár, l = link, stb);

rwx a fájl tulajdonosának a hozzáférési engedélyei (r- olvasható,w- írható,x- futtatható);

r-x a fájl tulajdonos csoportjának az engedélyei (olvasható, futtatható);

r-x az összes többi felhasználó hozzáférési engedélyei (olvasható, futtatható).

Emiatt nem törölheted a /bin/ls fájlt, hacsak nem Te vagy a root: nincs írási jogod, hogy ezt megtedd.

Még egy példa:

/home/tanarok/ks> ls -l

-rw-r--r-- 1 ks tanarok 6242 Aug 28 1997 netscape

 

A legelső mező mutatja a fájlelérési jogokat. A harmadik a fájl tulajdonosát, a negyedik pedig azt, hogy a felhasználó milyen csoportba tartozik. Az utolsó mező pedig a fájlnév. Tehát a fájl tulajdonosa egy ks nevű felhasználó, aki a tanarok csoportba tartozik, a "-rw-r--r--" pedig a jogokat jelenti a tulajdonos, a csoport, végül pedig mindenki más számára.  Az első karakter ("-") a fájl típusát jelöli. A "-" azt jelenti, hogy ez egy "sima" fájl (nem könyvtár, stb.). A következő három "rw-" jelentése, hogy a tulajdonos (jelen esetben ks) olvashatja és írhatja a fájlt, de nem futtathatja. Ez így van jól, mivel ez a fájl nem program, így nincs is nagyon értelme futtatni. A következő három karakter, "r--", a csoportra vonatkozó jogokat definiálja. E szerint a tanarok csoportba tartozó felhasználok olvashatják a fájlt, amint ezt a kis "r" betű mutatja. Az utolsó három karakter "r--" jelentése pedig az, hogy az előbbiekben felsoroltakon (owner, group) kívül esők is olvashatják a fájlt. Fontos itt megjegyezni, hogy az egyes fájlelérési jogok függnek annak a könyvtárnak az elérési jogától is, amelyben megtalálhatóak. Például, ha egy fájl elérési joga -rwxrwxrwx (tehát mindenki mindent csinálhat vele), mások nem férhetnek hozzá, ha a könyvtár amiben van, tiltja az olvasási és futtatási jogokat. Tehát a legegyszerűbb módja annak, hogy fájljaidat mások számára hozzáférhetetlenné tedd az, hogy a munkakönyvtárad hozzáférési jogait "-rwx------"-ra állítod: így senkinek sem lesz hozzáférése se a munkakönyvtáradhoz, se pedig ahhoz, ami benne van.

Az elérési jogok megváltoztatása

Az elérési jogok megváltoztatása a chmod paranccsal lehetséges a tulajdonos számára. Szintaxisa pedig:

 chmod [augo][+-][rwx] fajlnev...

Lássuk, hogyan kell értelmezni egy ilyen szintaxis leírást! Az első szó (chmod) nyílván a parancs neve. Utána következnek a kapcsolók. A szintaxisban egyszerre felsorolják az összes lehetséges kapcsolót; a zárójelben lévő kapcsolók közül meg lehet adni egyszerre egyet vagy többet is. A fájlnév utáni három pont azt jelenti, hogy egy sorban több fájlnevet is megadhatsz,ilyenkor a Linux mindegyik megadott fájlra végrehajtja a parancsot. Az [augo] kapcsolókkal írod elő, hogy kinek adod a jogot. Adhatsz jogokat a tulajdonosnak (u - user), a csoportnak (g - group), másoknak (o- others) vagy pedig mindenkinek egyszerre (a - all). A [+-] azt jelenti, hogy adhatsz (+) vagy elvehetsz (-) jogokat. Végül pedig, hogy olvasási (r - Read), írási (w - Write) vagy futtatási (eXecute) jogot adsz. Példák:

chmod a+r winnie.pooh - olvasási jog mindenki számára

chmod +r winnie.pooh - ugyanaz, mivel az alapértelmezés az "all"

chmod go-rwx winnie.pooh - a tulajdonoson kívül senkinek semmi

 

Természetesen egy igazi Linux fundamentalista nem így változtatja meg az elérési jogokat, hanem egy szám megadásával. Például:

chmod 644 cindy.c

Ennek a parancsnak a hatására a cindy.c nevű fájl elérési joga "-rw-r--r--"-ra változik. Ne hidd, hogy ez a megadási mód bonyolult: az olvasási jog száma 4, az írásé 2, a futtatásé pedig 1. Ha ezeket összeadod, akkor megkapod a számot, amit be kell írni. Természetesen ez csak egyetlen szám, a jogokat pedig a parancsnak ennek a változatában mindhárom osztály szamara be kell állítani. Tehát "rw-" a tulajdonosnak az 4+2 = 6, "r--" a csoportnak az 4 és "r--" mindenki másnak az 4; együtt 644. Szerintem ez sokkal könnyebb, mint az előző.

Újabb példák:

 chmod ugo+rwx fajl

mindenkinek olvasási, írási és futtatási jogot ad.  

chmod +s fajl

parancs "setuid' vagyis "suid'-ossá teszi a fájlt, ami azt jelenti, hogy mindenki a fájl tulajdonosának a privilégiumával futtathatja a fájlt.

 

2.9 Mennyi helyet foglalunk a lemezen?

 Nagyon hasznos dolog, ha tudod, hogy mennyi a fájljaid által elfoglalt diszkterület. (Különösen akkor, ha a home könyvtáradban csak 4 Mbyte-tal gazdálkodhatsz.) A Linux-ban természetesen mindenre van parancs, ez esetünkben a

du

Szintaxisa:

du [ -a ] [ -s ] konyvtarnev

Példa:

/home/tanarok/ks> du $HOME

10 /home/tanarok/ks/winnie

2 /home/tanarok/ks/pooh

1 /home/tanarok/ks/maci

6400 /home/tanarok/ks/cindypictures

6799 /home/tanarok/ks

Az eredmény szerint "ks" felhasználó elég sok helyet foglal: 6799 kilobájtot (a du kilobájtban adja az eredményt) azaz majdnem 7 megabájtot. Ennek nagy részét azonban a cindypictures alkönyvtárban található állományok teszik ki. Az "a" kapcsolóval azt lehet beállítani, hogy a du minden fájlról adjon információt, ne csak a könyvtárakról. Az "s" kapcsoló pedig arra való, hogy a du csak egyetlen számot írjon ki, a teljes helyfoglalást.

/home/tanarok/ks> du -s $HOME

6799

 

2.10. DOS-os parancsok Linux-os megfelelői

 A baloldalon a DOS parancsok láthatók, míg jobboldalon a Linux-os megfelelői.

COPY

cp

DEL

rm

MOVE

mv

TYPE

more, less, cat

Meta karakterek: *, ?

*, ? csak más jelentéssel

Nul

/dev/null

Prn. Lpt1

/dev/lp0 vagy /dev/lp1; lpr

Átirányító és csőszervező karakterek: >

>, <, >>

 

Példák 

COPY joe.txt joe.doc

cp joe.txt joe.doc

COPY *.* total

cat * > total

COPY fractals.doc prn

lpr fractals.doc

DEL temp

rm temp

DEL *.bak

rm *~

MOVE paper.txt tmp\

mv paper.txt tmp/

REN paper.txt paper.asc

mv paper.txt paper.asc

PRINT letter.txt

lpr letter.txt

TYPE letter.txt

more letter.txt

TYPE letter.txt

less letter.txt

TYPE letter.txt > nul

cat letter.txt > /dev/null

Nem megy

more *.txt *.asc

Nem megy

cat section*.txt | less

 Megjegyzések:

 A "*" karakter alkalmazása a Linux alatt elegánsabb. A "*" kifejezéshez minden fájl illeszkedik kivéve a rejtett fájlokat. A rejtett fájlok a ".*" kifejezéshez illeszkednek. A *.* kifejezéshez csak azok a fájlok illeszkednek, amelyeknek a közepén "." található. A "p*a" kifejezésre mind a papa, mind a pipa, míg a *g* kifejezésre mind a "régi" és mind a "rugók" szavak illeszkednek.

Ha a more programot használod, akkor a <szóköz> billentyűt használd a lapozáshoz, és a 'q' vagy a CTRL-C billentyűt a kilépéshez. A less program sokkal jobban használható, s itt használhatod nyíl-billentyűket is, valamint a "h" leütésére előjön egy segítő képernyő.

Linux-ban alapértelmezésben nincs UNDELETE, vagyis a kitörölt fájlokat nem tudod visszaállítani, így jól gondold meg mielőtt bármit is kitörölnél (bár erről már írtam).

A Linux rendelkezik még egy wildcard karakterrel a "[]" jellel. Használata: [abc]* kifejezés azokhoz a fájlnevekhez illeszkedik, amelyek a , b vagy c betűvel kezdődnek. A *[I-N,1,2,3] kifejezés azokhoz a fájlnevekhez illeszkedik, amelyek I, J, K, L, M, N, 1, 2, 3 karakterrel végződnek.

Nincs olyan parancs mint a DOS alatti RENAME, így a mv *.xxx *.yyy nem fog működni.

Használj cp -i-t és mv-t, ha azt szeretnéd, hogy a rendszer szóljon, ha valamit felül készül írni!

 

2.11. Programok futtatása: többfeladatúság

Ha futtatni akarsz egy programot, akkor a DOS-hoz hasonlóan itt is a program nevét kell begépelned. Ha a könyvtár, amiben a programot eltároltad megtalálható a PATH környezeti változóban, a program el fog indulni. Kivétel: a DOS-tól eltérően a Linux alatt az aktuális könyvtárban lévő program is csak akkor fog elindulni, ha a könyvtár benne van a PATH-ban! (Ezt jól jegyezd meg!) Tipp: ilyen esetben, ha a programod neve "prog", akkor azt gépeld, hogy ./prog

Így néz ki egy tipikus parancssor:

parancs -op1 -op2 ... -opn par1 par2 ... parn < input > output

ahol -op1, -op2, ..., -opn a parancs opciói, par1, ..., parn pedig a paraméterei. Egy sorban több parancsot is begépelhetsz:

command1 ; command2 ; ... ; commandn

Ennyit a programok futtatásáról (ráadásul már volt korábban errőlszó), bár könnyű a következő lépés megtétele is. Az egyik legfontosabb indok ami a Linux használata mellett szól, hogy a Linux képes a multitasking-ra, azaz több program (ezentúl processzek) párhuzamos (egyidejű) futtatására. Elindíthatsz processz eket a háttérben, és amíg ezek futnak, Te tovább folytathatod a munkádat. Sőt, a Linux lehetővé teszi, hogy egyidejűleg többször bejelentkezve különböző virtuális terminálokon is dolgozz: ez olyan, mintha több számítógéped lenne egyszerre, amin dolgozhatsz! (Ez inkább az otthoni Linux-odra lehet igaz!)

 

Az 1-től 6-ig terjedő virtuális terminálokra való átlépés (a dollár jel a promptot jelenti):

 $ ALT-F1 ... ALT-F6

 

Egy új session indítása az aktuális virtuális terminálon:

 

$ su - <loginname>

 

Például:

$ su - root

Ez igen hasznos, ha például mount-olni akarsz egy floppy-t, mivel alapértelmezésben ezt csak a root teheti meg.

 

A session befejezése:

$ exit

 

Ha lennének leállított 'job'-jaid (lásd később), akkor előbb kapsz egy figyelmeztető üzenetet.

 

Egy program előtérben indítása:

 

$ program [-opciók] [paraméterek] [< input] [> output]

 

A háttérben indítás egy sorvégi "&" jellel lehetséges:

 

$ program [-opciók] [paraméterek] [< input] [> output] &

[1] 123

 

A burok (shell) a processzt egy munka számmal (például ez fent [1];) és a processz azonosítójával (PID) azonosítja (példánkban ez 123).

Megnézheted, hány processz fut összesen a rendszerben:

 

$ ps -a

 

Processz lelövése:

 

$ kill <PID>

 

Elképzelhető, hogy le kell lőnöd egy processzt, ha nem tudod, hogyan kell leállítani, kilépni belőle... ;-). Néha, a processzt a következők egyikével lőheted le:

 

$ kill -15 <PID>

$ kill -9 <PID>

 

Egy processzt neve alapján nem egyértelmű lelőni, mert több is futhat belőle, különböző PID-ek alatt. De ha csak egy fut vagy valóban mindet ki akarod lőni, akkor így is megteheted:

 

$ kill all processznév

 

Az eddigieken kívül a burok program lehetővé teszi, hogy a processzeket megállítsd, vagy ideiglenesen megszakítsd, a háttérbe irányítsd, vagy éppen egy háttérben futó programot tégy előtérben futó programmá. Ebben a környezetben a processzeket "job"-okként emlegetik.

Megnézheted, hány 'job'-od fut:

 

$ jobs

 

Itt a 'job'-ok a shell által meghatározott számokkal vannak azonosítva, nem pedig a PID számmal.

 

Előtérben futó processz megállítása (nem mindig lehetséges, mert letiltható):

 

$ CTRL-C

 

Előtérben futó processz felfüggesztése:

 

$ CTRL-Z

 

Egy felfüggesztett processz háttérbe küldése ('job' lesz belőle):

 

$ bg <job>

 

Egy 'job' előtérbe hozása:

 

$ fg <job>

 

Job lelövése:

 

$ kill <%job>

 

,ahol <job> a shell által a processzhez rendelt szám; 1, 2, 3, ...Ezeknek az utasításoknak a használatával egyszerre tudsz egy lemezt megformázni, fájlok egy csoportját tömöríteni, kitömöríteni archivált fájlokat, és még mindig rendelkezésedre áll egy prompt, tovább dolgozhatsz zavartalanul! Próbáld ugyanezt megtenni DOS alatt! És próbáld ki ugyanezt Windows alatt is, csak hogy lásd a teljesítménybeli különbséget a két megvalósítás között!

 

2.12. Programok futtatása távoli gépeken

 

Egy távoli gépen történő programfuttatáshoz elsőként be kell jelentkezned oda, s ehhez tudnod kell a gép nevét vagy IP számát. 

 

telnet tavoli.gep.hu

 

Ne tévesszen meg, hogy az iskolában a Picasso-ra is telnet-tel jelentkeztél be. (telnet vagy trmptel) A Picasso-ról tovább "telnetelhetsz" egy másik gépre, vagy akár újra a Picasso-ra. Bejelentkezés után elindíthatod kedvenc programod. Gondolom szükségtelen megemlítenem, hogy a másik gépen is kell rendelkezned felhasználói azonosítóval. Ha van X Window rendszered (az iskolában nem valószínű), akkor akár X-es alkalmazásokat is futtathatsz a távoli gépen oly módon, hogy az a Te képernyődön jelenik meg. Legyen például a távoli gép a tavoli.gep.hu, míg a Te géped az itteni.linux.hu. Egy a távoli gépen levő X-es program futtatása az itteni.linux.hu-n a következőképpen lehetséges:

 

indítsd el az X-et (startx), majd azon belül egy xterm-et, vagy egy azzal ekvivalens terminál emulátort (rxvt, color-xterm, nxterm, ...), majd gépeld be:

 

$ xhost +tavoli.gep.hu

$ telnet tavoli.gep.hu

 

a bejelentkezés után:

 remote:$ DISPLAY=itteni.linux.hu:0.0

remote:$ program &

 

(A DISPLAY ... sor helyett lehet, hogy a következőt kell begépelned: setenv DISPLAY itteni.linux.hu:0.0. Ez a távoli gépen lévő buroktól (shell-től) függ. És láss csodát! A távoli gépen elindul a program, ami majd a Te képernyődön fog megjelenni. Azonban ne nagyon próbáld ezt PPP alatt, mivel meglehetősen lassú lesz (a vonal sávszélességétől függ).

 

3. Hajlékony-, merevlemezek és további hasonlók

 3.1. Eszközmeghajtók használata

 Bár valószínűleg még soha nem gondolkoztál el rajta de a DOS FORMAT A: parancsa sokkal több munkát végez el mint ami előszörre tűnik. Valójában, ha kiadsz egy FORMAT parancsot, akkor az a következőket végzi el: fizikailag formázza a lemezt, létrehozza az A:\ könyvtárat (vagyis létrehoz egy fájlrendszert), elérhetővé teszi a felhasználó részére a lemezt ('mount'-olja a lemezt). Ez a három lépés Linux alatt elkülönítve jelenik meg. Lehetséges hajlékonylemezeket DOS-os formátumban is használni, bár más és jobb formátumok is elérhetők -- például a DOS formátum nem enged meg hosszú fájlneveket. Íme álljon itt , hogyan kell egy lemezt előkészíteni (szükséged lesz root-ként ténykedned, azaz majd otthon próbálkozz):

 

Egy szabványos 1,44 Mb-os hajlékonylemez formázása (A: meghajtón):

 

fdformat /dev/fd0H1440

 

Fájlrendszer létrehozása:

 

mkfs -t ext2 -c /dev/fd0H1440

 

vagy

 

mformat a:

 

amely egy MS-DOS fájlrendszert hoz létre. Használat előtt elérhetővé kell tenned a lemezt:

 

A hajlékonylemez 'mount'-olása:

 

mount -t ext2 /dev/fd0 /mnt

 

vagy

 

mount -t msdos /dev/fd0 /mnt

 

Most már használhatod a lemezen lévő fájlokat, dolgozhatsz velük. Mikor befejezted a munkát, mielőtt kivennéd a lemezt a meghajtóból, el kell engedned (unmount). FONTOS! NE FELEJTSD EL.

A lemez elengedése:

 

umount /mnt

 

Most már kiveheted a lemezt a meghajtóból. Természetesen az fdformat, és mkfs parancsokat csak a formázatlan lemezekre kell kiadni, a már korábban használtakra nem. Ha a B: meghajtót akarod használni, akkor az fd1H1440 és az fd1 formákat kell használnod a példában szereplő fd01440 és fd0 formák helyett.  Minden amit eddig használtál az A: és B: meghajtóval kapcsolatban azt most a /mnt-tal használhatod.

Példák:

DIR a:

ls /mnt

COPY a:*.*

cp /mnt/* /docs/temp

COPY *.zip a:

cp *.zip /mnt/zip

A:

cd /mnt

A:>

/mnt/$ _

 

Szükségtelen mondani, hogy ami érvényes a lemezekre érvényes bármely meghajtóra is, amit csak el tudsz képzelni; például ha egy másik merevlemezt, vagy esetleg egy CD0ROM meghajtót akarsz elérni. Vess egy pillantást a meghajtók listájára a /dev könyvtárban. Álljon itt, hogyan kell egy CD-ROM-ot elérni:

 

mount -t iso9660 /dev/cdrom /mnt

 

Ez volt a "hivatalos" módja, hogy egy lemezt elérhetővé tegyünk. (Persze csak root-ként megy) Kérlek jól jegyezd meg, hogy ha bárki 'mount'-olhatja a lemezeket, az egy nagyobb biztonsági lyuk.

 

3.2 Mentések

 Most, hogy már tudod, hogy kell a floppy-t és az egyéb eszközöket kezelni, lássuk, hogyan készíthetsz mentéseket. Több szoftver is létezik, amelyek segítik ezt megvalósítani, de a legegyszerűbb módja annak, hogy egy többkötetes mentést végezz a következő (persze root-ként):

 

tar -M -cvf /dev/fd0H1440 /mentendo_konyvtar

 

Előtte bizonyosodj meg arról, hogy a hajlékonylemezek már meg vannak formázva és rendelkezel kellő mennyiségű üres lemezzel. A mentés visszatöltéséhez helyezd be az első floppy-t a meghajtóba és írd a parancs sorba a következőket:

 

tar -M -xpvf /dev/fd0H1440

 

4. A rendszer konfigurálása

 4.1 Rendszer-inicializáló fájlok

 A DOS alatt két fontos fájl van, az AUTOEXEC.BAT és a CONFIG.SYS amelyeket az operációs rendszer a bootolás ideje alatt a rendszer inicializálására, és olyan rendszerváltozók beállítására használ mint például a PATH és a FILES, illetve ahonnan további programokat vagy batch fájlokat is indíthat. Linux alatt számos inicializáló fájl létezik, és ezek között van néhány amelyeket jobb ha nem bütykölgetsz amíg nem tudod, hogy pontosan mit is csinálsz. Egyébként a legfontosabbakat el fogom mondani:

Fájlok, megjegyzések 

/etc/inittab Most még ne piszkáld!

/etc/rc.d/* Ezt se!

 

Ha csak arra van szükséged, hogy a PATH vagy más környezeti változót beállítsd, vagy meg akarod változtatni a login után megjelenő üzeneteket, vagy automatikusan el akarsz indítani egy programot a bejelentkezés után, akkor a következő fájlokat ajánlom a figyelmedbe:

Fájlok, megjegyzések 

/etc/issue beállítja a bejelentkezés előtti üzeneteket

/etc/motd beállítja a bejelentkezés utáni üzeneteket

/etc/profile beállítja a PATH és egyéb változókat, stb.

/etc/bashrc álneveket és függvényeket állít be (lásd lent)

/home/tanulok/osztaly/neved/.bashrc a környezeted álneveit és függvényeit állítja

/home/ tanulok/osztaly/neved/.bash_profile mint fent + indítja a programjaid

 

Ha az utóbbi fájl létezik (megjegyzem, egy rejtett fájl), akkor a bejelentkezés után a benne szereplő utasításokat végrehajtja a rendszer.  

Például nézzük meg a következő .bash_profile fájlt:

 

# Ez itt egy megjegyzés, azért van a hesmárk

echo Környezet:

printenv | less # DOS alatti SET parancs megfelelője

alias d='ls -l' # talán ezekből könnyebb lesz az alias megértése

alias up='cd ..' # ami nem más mint egy rövidítés

echo "Figyelmeztetnélek, hogy a PATH változó: "$PATH

echo "A mai dátum: `date`" # a 'date' parancs kimenetét írja ki

echo "Jó munkát kedves "$LOGNAME

# Az alábbi egy burok függvény

ctgz() # .tar.gz archív fájlok tartalmát listázza

{

for file in $*

do

gzip -dc ${file} | tar tf -

done

}

# a .profile fájl vége

 

Jól sejtetted, hogy a PATH és a LOGNAME környezeti változók. Nagyon sok van még ezeken kívül (például a legtöbb programnak vannak saját környezeti változói is), amelyekkel el lehet bíbelődni.

 

4.2. Program-inicializáló fájlok

 A Linux alatt gyakorlatilag mindent, amire csak szükséged lehet a kedvedre alakíthatsz. A legtöbb programnak van egy vagy több inicializáló fájlja amit állítgathatsz, gyakran .programnévrc néven a home könyvtára dban. Az elsők, amiket valószínűleg változtatni akarsz majd:

 

.inputrc: a bash használja billentyűkódok értelmezéséhez.

 .xinitrc: a startx ez alapján inicializálja az X Window-t.

 .fvwmrc: az fvwm ablakkezelő használja. Az alapértelmezett beállítás /usr/lib/X11/fvwm/system.fvwmrc néven található meg.

 .Xdefault: bármely X-es program használhatja.

 

Ezek mindegyikével és a társaival előbb-utóbb találkozni fogsz!

 

5. Egyebek 

5.1 Virtuális Memória

 

Annak ellenére, hogy a Linux már 1 megabájt RAM-mal is képes futni, minél több memóriád van annál jobb. Az X Window System például nem fog a gépeden futni, ha nincs legalább 8 mega memóriád. Ha például további virtuális memóriát szeretnél definiálni, akkor root-ként begépelve a  

# dd if=/dev/zero of=/swapfile bs=1024 count=8192

# mkswap /swapfile 8192

# sync

# swapon /swapfile

 

sorok további 8 mega virtuális memóriát bocsátanak rendelkezésedre. Az utolsó sort szerkeszd be az /etc/rc.d/rc.local fájlba is hogy a swapfájl a következő belépéskor is elérhető legyen, vagy pedig tedd a lenti sort az /etc/fstab fájlba.

 /swapfile swap swap defaults

 

5.2 A tar és gzip programok használata

 A Unix alatt van néhány széles körben használt program fájlok tömörítésére és archiválására. A tar program archiválja a fájlokat de nem tömöríti (Linux alatt a '-z' opcióval tömöríti is ;-). A  

tar -cvf <archive_name.tar> <file> [file...]

 

sor egy új archív fájlt készít. Ha egy archív fájlt szeretnénk kicsomagolni, a

 

tar -xpvf <archive_name.tar> [file...]

 

sorral teheted meg. Ha az archív fájl tartalmára vagy kíváncsi, akkor a  

 

tar -tf <archive_name.tar> | less

 

sorral nézegetheted. Ha tömöríteni szeretnél, akkor a compress és gzip programok állnak rendelkezésedre, bár a compress elavult, és jobb, ha nem használod. A megfelelő parancsok

 

compress <file>

gzip <file>

 

egy .Z (compress) vagy .gz (gzip) kiterjesztésű tömörített fájlt készítenek. Ezek a programok egyszerre csak egy fájlt képesek tömöríteni. A kitömörítéshez használd a

 

compress -d <file.Z>

gzip -d <file.gz>

 

sorokat. Ha nem elég, nézd meg a man-t!

 Az arj, zip és unzip segédprogramok szintén elérhetők. A .tar.gz vagy .tgz (tar programmal archivált, majd gzip-pel tömörített fájl) ugyanolyan gyakoriak a Unix világban mint a .ZIP fájlok a DOS alatt. A .tar.gz tartalmát a következő sorral nézheted meg:

 

gzip -dc <file.tar.gz> | tar tf - | less

 

5.3 Néhány hasznos tipp 

Parancs kiegészítés: ha a parancs gépelése közben megnyomod a <TAB> billentyűt akkor az automatikusan kiegészül. Például ha van egy igen_hosszú_fájlneved amit le akarsz fordítani, akkor elegendő begépelni mondjuk, hogy gcc igenthi<TAB>, a fájlnév kiegészül. Ha több olyan fájlod van ami hasonlóan kezdődik, akkor eleg

Lapozás: Nyomj SHIFT + Page Up billentyűket és ekkor a képernyőn tudsz visszafelé lapozni néhány oldalt, amennyit a video memóriád enged.

 Képernyőfrissítés (reset): Előfordulhat hogy egy bináris fájl cat vagy more paranccsal való megjelenítése során tele lesz a képernyő mindenféle szeméttel. Gépeld be vakon a reset parancsot ami rendbe teszi a dolgokat, vagy a következő karaktersorozat is segít: echo CTRL-V ESC c RETURN.

 Szöveg másolása: konzolon lásd alább, X alatt a jobb egérgombbal kijelölheted a szöveget (továbbá pl. általában 2 klikk a szót, három a teljes sort kijelöli), majd a középső (vagy a 2 szélső) egérgombbal átmásolhatod oda, ahova akarod. Valamint létezik egy xclipboard nevű program is (csak szövegekre), de ne tévesszen meg a lassú válaszideje.  

Egér használata: telepítsd a gpm programot, ami egy egér meghajtó konzolhoz. Hasonlóan használhatod, mint fent, s akár a virtuális konzolok között is használhatod.

 

5.4. Hasznos programok és parancsok

 Néhány hasznos program:

  at: a megadott időben hajtja végre a kívánt programot.

df: információkat szolgáltat a merevlemezről.

dosemu: segítségével futtathatsz számos DOS-os programot, köztük a Windows 3.x-et is.

file <filename>: megmondja hogy mi a fájl típusa: ASCII szöveg, végrehajtható, archív, stb.

find: (lásd még a Könyvtárak rész példáiban az egyik leghasznosabb parancs. Használható különböző feltételeknek megfelelő fájlok megkeresésére és ezeken valamely eljárás végrehajtására. Az általános használata:

find <könyvtár> <kifejezés>

,ahol <kifejezés> valamilyen keresési feltételt és eljárást tartalmaz.

Példák:

 

find . -type l -exec ls -l {} \

 

megkeresi azokat a fájlokat, amelyek szimbolikus linkeket jelölnek, és kiírja, hogy mire mutatnak.

 

find / -name "*.old" -ok rm {} \

 

megkeresi azokat a fájlokat, amelyek illeszkednek a mintára és törli őket, miután először megerősítést kér a művelet végrehajtása előtt.  

 

find . -perm +111

 

megkeresi azokat a fájlokat, melyek engedélye 111 (futtatható).  

 

find . -user root

 

megkeresi a root fájljait. És még rengeteg lehetőség van, lásd man.

 

grep: adott mintára illeszkedő szavakat keres meg fájlokban. Például:

 

grep -l "geology" *.text

 

azokat a .text fájlokat listázza, amelyek tartalmazzák a "kukac" szót. A zgrep változata gzip-el tömörített fájlokon dolgozik, lásd man.

gzexe: végrehajtható fájlokat tömörít olyan módon, hogy azok végrehajthatók maradnak.

joe: egy remek editor. Elindíthatod a jstar parnccsal, és ekkor ugyanazokat a billentyűkombinációkat használhatod mint a WordStar-ban, és leszármazottjaiban beleértve a DOS editort is.

less : valószínűleg a legjobb szöveg megjelenítő. Használata is egyszerű: less filenév

lpr: <fájl>: kinyomtatja a fájlt a háttérben. A nyomtatási sor státuszának ellenőrzésére használd a lpq parancsot, míg ebből fájlokat az lprm paranccsal tudsz törölni.

mc: egy igen hasznos és sokoldalú fájlkezelő, Midnight Commander a neve. Olyan, mint a Norton Commander, csak terminál esetén nem a funkcióbilletyűk működnek, hanem az ESCszám, azaz pl. az F4 helyett az ESC4 -et nyomkodd!

pine: egy remek levelező program. Ha nem indulna, gépeld be a TERM=vt100 szöveget és próbáld újra. Részletesebben lásd az Internet alapok részben.

 

6. Linux és a hálózat

 

Szerintem éppen a hálózatban nagyszerű a Linux. Nem csak munkaállomásként, hanem szerverként is nagyszerű. Mint Internetes kiszolgáló tartalmaz web-szervert, ftp-szervert,mail-szervert, proyx-t, news-szervert, hogy csak a legfontosabbakat említsem. (Ráadásul ez mind ingyen, így nem is lehet csodálkozni, ha az egyetemeken, főiskolákon a leggyakoribb operációs rendszer a szervereken.) Természetesen munkaállomásként is használható másik Linux vagy bármely Unix rendszerhez, csatlakozni lehet vele Netware és Windows kiszolgálókhoz. Itt jegyzem meg, hogy mivel a Picasso-n (Sparc Server 20) is Linux van, így természetesen működnek a szerverek. Amikor a levelező programot állítod be, akkor a POP3, SMTP kiszolgálónak a Picasso-t adod meg, mivel rajta működik a mail-szerver. Működik a web-szerver is, címe:

 

http://picasso.nejanet.hu

 

Mivel a Picasso-n megy az ftp-szerver is leírom a címét, hátha találsz valami érdekeset rajta!

 

ftp://picasso.nejanet.hu

 

Itt említem, meg, hogy ha szeretnél saját hómpédzset, akkor csináld meg, és tedd fel ("ftp-zd fel) a Picasso-ra. Fontos, hogy szólj nekem is a tényről (bár úgy is észreveszem, de akkor is szólj)! Ha nem tudod felrakni, akkor is szólj nyugodtan. A lényeg az, hogy hozz létre a home-könyvtáradban egy public_html könyvtárat, majd ide másold fel a kész anyagot. Ha készen vagy, akkor a chmod paranccsal adj "x" jogot a könyvtáradra a többieknek (a külvilágnak, hogy a böngésző elérje a public_html könyvtárat), majd adj olvasási jogot a külvilágnak a public_html könyvtárra. Ez után már csak annyit kell tenned, hogy a kezdőlapot nevezd át index.html-re! Ez után, ha cidy_c a login neved (meglepne), akkor a web-lapod "http://picasso.nejanet.hu/~cindy_c" címen érhető el!

Persze nem csak Internet szerverként remek a Linux, hanem egyszerű hálózati operációs rendszerként is. Ha bejelentkezel a Picasso-ra (telnet), akkor fontos tudnod, hogyan változtathatod a jelszavadat. A parancs neve:

passwd

és a begépelése után kéri először a régi jelszavadat, majd kétszer az újat. Ha menet közben jössz rá, hogy nem akarsz változtatni, akkor használd a CTRL-C, mivel (ezt már elvileg tudnod kellene) ezzel léphetsz ki a passwd programból. Ha túl egyszerű a jelszó, túl rövid, vagy túl sok egyforma karakter van benne, akkor erre figyelmeztetni fog a rendszer. Ha mégis átírta a Linux a jelszót, akkor rád van bízva, hogy így hagyod-e.

Ha azt szeretnéd tudni, hogy kik vannak bejelentkezve a Picasso-ra, és mit csinálnak használd a

w

 

parancsot. Ha üzenni szeretnél valakinek, a write parancsot kell használnod. Előtte azonban nézd meg, hogy nem levelet ír-e éppen az illető, mert ilyenkor nem illik zavarni (ráadásul a pine átalában úgy van beállítva, hogy letiltja az üzenetek fogadását).

write név

Ez után be kell gépelned a szöveget, és a CTRL-C megadására küldi el a rendszer az üzenetet. Ha nem akarsz üzenetet kapni, akkor

mesg n

parancsot kell begépelned. Ha nem elég az üzenet, beszélgethetsz is a kiválasztott felhasználóval. Használat:

talk név

A felső részen az látható amit Te gépelsz, alul a partneré. Ha meguntad, a CTR-C kell megint!

Ha többet szeretnél megtudni egy felhasználóról, használd a

finger username

parancsot!

Ha egy másik gépre - esetleg megint a Picasso-ra - szeretnél bejelentkezni, a

telnet másik_gép_címe

parancsra lesz szükséged. Ha le akarsz tölteni valamit egy másik gépről, használd az

ftp másik_gép_címe

parancsot. Az ftp parancsokat az Internet alapok részben találod. Ha nem megy, használd az mc programot, ott (ESC9, vagy F9) találsz FTP link menüpontot.

Ha már unod, hogy mindig letörölgetik (:-) a mirc-et, használd a Linux irc programját!

irc szervernév

A szervernév lehet például irc.bme.hu. Ha elindítottad a programot, az alsó sorban adhatsz ki parancsokat. Például a /help paranccsal kérhetsz leírást a programról. A /join csatorna megadásával csatlakozhatsz egy csatornához (például /join #linux). Ha meguntad, a CTRL-C segít kilépni. A /query használatával tudsz párbeszédet kezdeményezni valakivel, a /msg becenév üzenet használatával tudsz egy célszemélynek (csak neki) üzenetet küldeni.

 

Ne feledd, ha egy parancs nem működik, használd a man-t!

Észrevételeket az alábbi címre írhatod: