<!doctype linuxdoc system>

<article>

<title>HOGYAN térjünk át DOS-ról/Windowsról Linuxra

<author>Írta Guido Gonzato, <url url="REMOVE_MEguido@ibogeo.df.unibo.it">
(Töröld a ``REMOVE_ME''-t)

<date>v1.3.2, 1999. február 22.


<abstract>

Ez a HOGYAN azoknak a (talán hamarosan csak volt) DOS és Windows felhasználóknak
szól, akik elhatározták, hogy áttérnek a Linuxra, az ingyenes UNIX klónra.
A dokumentum célja, hogy a DOS/Windows és Unix közötti hasonlóságokat 
kihasználva segítse az olvasót abban, hogy a DOS és Windows alatt megszerzett
tudását minél könnyebben Linuxos tudássá fordíthassa, valamint hogy tippeket
adjon a két operációs rendszer közötti fájl- és erőforráscserére.

</abstract>

<toc>


<sect> Bevezetés

<p>

<sect1> A Linux valóban megfelel neked?

<p>

DOS-ról (ez magában foglalja Windowst is) Linuxra akarsz váltani? Remek ötlet,
a Linux technológiai értelemben felülmúlja a DOS-t, a Windows 9x-et, sőt a
Windows NT-t is. De légy óvatos, ez nem jelenti azt, hogy számodra hasznosabb.
A főbb különbségek a DOS/Windows és a Linux között a következőek:

<itemize>

<item> A Windows alatt fut a Microsoft Office és rengeteg játék, általában könnyű
telepíteni és konfigurálni, szörnyen instabil, gyengén teljesít, gyakran lefagy.

<item> A Linux alatt fut a StarOffice, egy csomó technikai szoftver, de kevesebb
játék, nehezebb telepíteni és konfigurálni, stabilitása legendás, jól teljesít,
nagyon ritkán fagy le.

</itemize>

Csak te tudod eldönteni, hogy mi kell neked. A Linux hatalmat ad a gép
erőforrásai felett, de időbe telik, amíg megtanulsz élni vele. 
Ezért ha főleg kereskedelmi szoftverekre van szükséged, vagy nem szeretnél
új parancsokat és fogalmakat megismerni, akkor jobban teszed, ha máshol nézel körül. 
Jó ha tudod, hogy sok kezdő adja fel a kezdeti nehézségek miatt.

Sokan dolgoznak azon, hogy a Linuxot egyszerűbb legyen használni, de <em>
ne hidd azt, hogy profi leszel, ha nem olvasol el egy csomó dokumentációt, és nem 
használod legalább egy pár hónapig</em>. A Linux nem ad azonnal sikerélményt.
Ezen figyelmeztetések ellenére hadd
mondjam, hogy 100&percnt;-ig biztos vagyok abban, hogy ha te a megfelelő
felhasználótípusba tartozol, akkor a Linuxban megtalálod a számítógépes Nirvanát. 
Mellesleg Linux és a DOS/Windows képes ugyanazon a gépen egyidejűleg létezni.

Előfeltételek a dokumentumhoz: feltételezem, hogy

<itemize>

<item> ismered az alapvető DOS parancsokat és fogalmakat;

<item> a Linux és esetleg az X Window System (röviden X11) megfelelően van 
telepítve a  számítógépeden;

<item> <tt>bash</tt> a parancsértelmeződ (a <tt/COMMAND.COM/ Linuxos megfelelője).

</itemize>

Hacsak külön nem mondom, minden információ a jó öreg DOS-ra vonatkozik.
Van itt-ott a Windowsra is utalás, de ne feledd, hogy a Windows és a Linux
teljesen különböző, ellentétben a DOS-szal, ami halványan emlékeztet
egy UNIX-ra.

Fontos megemlíteni, hogy ez a munka se nem egy teljes bevezető, se
nem egy konfigurációs kézikönyv.

A dokumentum legfrissebb (angol) verziója megtalálható sokféle formátumban
az <url url="ftp://sunsite.unc.edu:/pub/Linux/docs/howto"> FTP-helyen.


<sect1> Igen, ez az! Mesélj még!


<p>

Installáltad a Linuxot a számítógépeden. Adtál magadnak egy azonosítót, (ha
nem ez a helyzet, akkor gépeld be <em>most</em>, hogy <tt>adduser</tt>) és a Linux fut a
gépeden. Éppen most ütötted be az azonosítódat és a jelszavadat, és most
nézed a képernyőt hogy: ``Na és most mi van?''

Ne ess kétségebe! Már majdnem kész vagy, hogy ugyanazokat a dolgokat
megtehesd, amiket annak idején a DOS-szal megtehettél, és még sokkal többet!
Ha DOS/Windows-t futtatnál Linux helyett akkor a következő dolgokat tehetnéd:


<itemize>

<item> programok futtatása, fájlok létrehozása, másolása, nézegetése, törlése,
nyomtatása, átnevezése;

<item> könyvtárak létrehozása, törlése, listázása és váltás közötük: MD, RD,
DIR, CD;

<item> lemezek formázása, fájlok másolása lemezekről és lemezekre;

<item> a rendszer testreszabása;

<item> barangolás az Interneten;

<item> .BAT fájlok és/vagy programok írása kedvenc programnyelveden;

<item> a fennmaradó 1&percnt;.

</itemize>

Örömmel veheted tudomásul, hogy ezek a feladatok megvalósíthatók Linuxban
is, méghozzá a DOS-hoz hasonló módon. A DOS alatt az átlagos felhasználó az
elérhető több, mint 100 parancsból igen keveset használ: ugyanez 
elmondható -- egy bizonyos pontig -- a Linuxra is.

<sect2> Bevezető fogalmak

<p>

A legjobb módja az új dolgok megtanulásának, hogy ha elkezdünk
kísérletezgetni. Bátran kipróbálhatunk akármit, játszogathatunk a 
Linuxszal, -- ha nem ``root''-ként jelentkeztünk be, -- semmit
nem ronthatunk el. Néhány szempont:

<itemize>

<item> Elsőként is, hogyan lépj ki a Linux-ból? Ha karakteres képernyőt látsz,
akkor nyomd le a &lt;CTRL-ALT-DEL&gt; billentyűket, majd várj addig, amíg a
rendszer rendbeteszi 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 &lt;CTRL-ALT-BACKSPACE&gt;, majd a &lt;CTRL-ALT-DEL&gt;
billentyűket nyomd le. <em>Soha</em> ne reseteld vagy kapcsolt ki a PC-t
közvetlenül Linux alatt, mivel megsérülhet a fájlrendszer!

<item> A DOS-tól és a Windowstól eltérően a Linux beépített védelmi
rendszerrel rendelkezik. A fájlokhoz és a könyvtárakhoz hozzáférési engedélyek
rendelhetők (lásd a <ref id="Permissions" name="Hozzáférési engedélyek"> 
fejezetet), és ezért néhányuk
el sem érhető a közönséges felhasználó számára. Ezzel szemben a DOS és a Windows
megengedi, hogy a merevlemezed egész tartalmát egy mozdulattal letöröld.

<item> Van egy különleges felhasználó, a ``root'', azaz a rendszergazda,
élet és halál ura a számítógépen. Ha a saját számítógépeden dolgozol,
te leszel a root is. Rootként dolgozni <em>veszélyes</em>, bármilyen
hiba végzetesen károsíthatja, vagy megsemmisítheti a rendszert, akárcsak
a DOS vagy Windows alatt. Ne dolgozz rootként, ha nem nagyon muszáj.

<item> A Linux bonyolultságát annak köszönheti, hogy nagyon jól konfigurálható.
Gyakorlatilag minden alkalmazás és sajátosság az egyéni igényekhez
igazítható egy vagy több konfigurációs fájl segítségével. Ha sok lehetőségnek
bonyolultság az ára.

<item> Az átirányítás és a csövek (pipe) a DOS-ban is meglévő sajátosságok,
de a Linux alatt hatékonyabbak, és a szerepük is sokkal fontosabb.
Több egyszerű parancs összefűzve egészen összetett feladatok megoldására is képes. 
Használd majd őket!

</itemize>


<sect2> Segítség

<p>

Sokféleképpen kaphatsz segítséget. A legfontosabbak:

<itemize>

<item> <em>Olvasd el a dokumentációt</em> -- komolyan mondom! Bár
ez a HOGYAN, amit most olvasol bevezethet a Linux használatába,
de van egy pár könyv, amit muszáj elolvasnod. Pl. Matt Welsh ``Linux
Installation and Getting Started'' (<url url="http://sunsite.unc.edu/mdw/LDP/gs/gs.html">),
Larry Greenfield ``Linux User Guide''
(<url url="ftp://sunsite.unc.edu/pub/Linux/docs/linux-doc-project/users-guide">), 
és a Linux FAQ 
(<url url="http://sunsite.unc.edu/mdw/FAQ/Linux-FAQ.html">).
Ne hagyjon nyugodni a lelkiismeret, amíg legalább az egyiket el nem
olvastad!

<item> A telepített csomagok dokumentációja általában az
<file>/usr/doc/</file> könyvtár alkönyvtáraiban van.

<item> A parancsértelmező ``belső parancsairól'' a <tt>help</tt>,
vagy még inkább a <tt/man bash/ vagy az <tt/info bash/ begépelésével
kaphatsz segítséget.

<item> Egy parancsról a <tt/man parancs/ begépelésével kaphatsz
segítséget, ez megmutatja a <tt/parancs/ kézikönyvoldalát. Meg lehet
még próbálni az <tt/info parancs/ begépelését is, ez megmutatja
a <tt/parancs/ info lapját, amennyiben az létezik. Az info egy 
hypertext alapú dokumentációs rendszer, kicsit szokatlan lehet elsőre.
Végül megpróbálhatod az <tt/apropos parancs/ és a <tt/whatis parancs/
beírását is. Mindegyik felsorolt programból a `q' gomb lenyomásával
lehet kilépni. 

<item> Legvégül ott az Internet, a Usenet megfelelő hely a segítség
megszerzésére, például nézd meg a <url url="news:comp.os.linux.setup">
hírcsoportot. Kérem, ne írj nekem segítségkérő levelet, mert nagyon
elfoglalt vagyok.

</itemize>


<sect1> Konvenciók

<p>

Ebben a munkában a példák gyakran fognak a következő formában szerepelni:
<tt/<...>/ egy kötelező argumentum, a <tt/[...]/ egy választható argumentum.
Például:

<tscreen><verb>
$ tar -tf <file.tar> [> redir_file]
</verb></tscreen>

A <tt>file.tar</tt>-t kötelező megadni, de az átirányítás a <tt/redir_file/-ba opcionális.

Az ``OEK'' azt jelenti, hogy ``további információkért Olvasd El a Kézikönyvoldalt''.
Nem tudom eléggé hangsúlyozni, milyen fontos a dokumentáció olvasása.
A ``DOSWin'' a ``DOS/Windows''-t rövidíti.

Amikor egy parancs példájában a prompt <tt>&num;</tt>, akkor azt csak a 
root hajthatja végre.


<sect> A türelmetleneknek

<p>

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

<!-- I'd like to make this an sgml table, but lynx wouldn't display it
correctly. I'll think it over. -->

<tscreen><verb>
DOS                     Linux                   Notes
------------------------------------------------------------------------------

ATTRIB (+-)attr file    chmod <mode> file       teljesen különböző
BACKUP                  tar -Mcvf device dir/   úgyszintén
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 teljesen ugyanaz a szintaxis
DIR file /S             find . -name file       teljesen különböző
EDIT file               vi file                 attól tartok, nem fog tetszeni
                        jstar file              hasonló, mint a DOS-os edit
EDLIN file              ed file                 felejtsd el
FORMAT                  fdformat,
                        mount, umount           eléggé eltérő szintaxis
HELP command            man command,            ugyanaz a filozófia
                        info command
MD dirname              mkdir dirname/          majdnem ugyanaz a szintaxis
MORE < file             less file               sokkal jobb
MOVE file1 file2        mv file1 file2          úgyszintén
NUL                     /dev/null               úgyszintén
PRINT file              lpr file                úgyszintén
PRN                     /dev/lp0,
                        /dev/lp1                úgyszintén
RD dirname              rmdir dirname/          majdnem ugyanaz a szintaxis
REN file1 file2         mv file1 file2          nem megy több fájlra
RESTORE                 tar -Mxpvf device       különböző szintaxis
TYPE file               less file               sokkal jobb
WIN                     startx                  ég és föld!
</verb></tscreen>

Ha többet szeretnél tudni a fenti táblázatnál, akkor olvasd el a következő
fejezeteket.


<sect> Ismerd meg a bash-t

<p>

Van egy jó hírem: a Linuxban sokkal kevesebbet kell gépelned a 
parancssorban, mert a <tt>bash</tt> parancsértelmező gépel 
helyetted, ahol csak lehet, és szuper sorszerkesztő képességekkel
rendelkezik. Először is a felfele-nyíl gomb felhozza az előző
parancssort, de ez csak a kezdet. A &lt;TAB&gt; lenyomása kiegészíti
a fájl- és könyvtárneveket, tehát ha beírod, hogy:

<tscreen><verb>
$ ls /uTABloTABbTAB
</verb></tscreen>

az megfelel az

<tscreen><verb>
$ ls /usr/local/bin
</verb></tscreen>

sor beírásának. Ha nem egyértelmű a helyzet, pl. a 

<tscreen><verb>
$ ls /uTABloTABiTAB
</verb></tscreen>

sor beírásánál, akkor a <tt>bash</tt> megáll, mert nem tudja, hogy az
<file>/usr/local/info</file> vagy az <file>/usr/local/include</file> könytárra 
gondoltál-e. Adj meg több betűt, és nyomd le ismét a &lt;TAB&gt; billentyűt.

Szintén hasznos billentyűkombinációk az &lt;ESC-BACKSPACE&gt;, ez a kurzor
bal oldalán álló szót törli, az &lt;ESC-D&gt; a jobb oldali szót törli, az
&lt;ESC-F&gt; a kurzort egy szóval jobbra mozgatja, az &lt;CTRL-E&gt; 
ugyanez, csak balra, a &lt;CTRL-A&gt; a sor elejére, és a &lt;CTRL-E&gt;
a sor végére. Az &lt;ALT&gt; billentyű ugyanúgy viselkedik, mint az &lt;ESC&gt;.

Egyelőre ennyi elég. Ha megszokod ezeket a gyorsbillentyűket, nagyon fog 
idegesíteni a DOS parancssora...


<sect> Fájlok és programok

<p>


<sect1> Fájlok: előzetes megjegyzések

<p>

A Linuxban a könyvtárak és a benne lévő fájlok struktúrája nagyon 
hasonló a DOSWin-ben megismerthez. 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 ill.
megenged. Sőt használhatsz dzsóker karaktereket, átirányítást, csöveket.
Csak néhány kisebb különbség van.

<itemize>

<item> DOS alatt a fájlneveknek úgynevezett 8.3 alakja van pl.: <tt>NOTENOUG.TXT</tt>.
Linux alatt ez jobban megoldott. Ha a Linuxot egy olyan fájlrendszerrel
(nem szükséges, hogy tudd pontosan, mi is ez most) telepíted, 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,
<tt>Ez.egy_IGEN.hosszú.Fájlnév</tt>. Kérlek, vedd észre, hogy kisbetűket és
nagybetűket is használtam. Valójában ...

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

<item> A Windows felhasználók vigyázzanak a linuxos hosszú fájlnevekkel.
Ha fájlnév tartalmaz szóközt (nem javasolt, de lehetséges), a fájlnevet
dupla idézőjelek közé kell tenni, ha hivatkozunk rá. Például:

<tscreen><verb>
$ # A következő parancs létrehozza a  "Régi fájljaim" könyvtárat.
$ mkdir "Régi fájljaim"
$ ls
Régi fájljaim    bin     tmp
</verb></tscreen>

Továbbá van néhány karakter, ami nem lehet a fájlnév része, pl. 
<tt/!*&dollar;&amp;&num;/.

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

<tscreen><verb>
$ ls -F
levél_Józsinak  Cindy.jpg  cjpg*  Ez_egy_könyvtár/  első_scriptem*  régi~
</verb></tscreen>

A <tt/cjpg*/ és az <tt/első_scriptem*/ fájlok végrehajthatóak -- ``programok''. DOS
alatt a .BAK végződés a biztonsági másolat (backup) fájlokat jelöli; a Linuxban
az ilyen típusú fájlok tilde `<tt/&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 <tt/.én.egy.rejtett.fájl.vagyok/ fájl nem fog
megjelenni az <tt/ls/ parancs után.

<item> A DOS alatt egy program kapcsolóit <tt>/kapcsoló</tt> formában 
kell megadni, míg a Linux alatt a <tt/-kapcsoló/ vagy a <tt/--kapcsoló/
használatos. Például a <tt>dir /s</tt>-nek az <tt/ls -R/ a megfelelője.
Megjegyzem sok DOS program -- mint a <tt/PKZIP/ vagy az <tt/ARJ/ -- Unix stílusú 
kapcsolókat használ.

</itemize>

Most már akár a <ref id="Files" name="DOS-os parancsok Linuxos megfelelői"> 
fejezetre ugorhatsz, de a helyedben én tovább olvasnék.


<sect1> Szimbolikus linkek

<p>

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.
Ez hasonló a Windows parancsikonjaihoz. Példa szimbolikus linkre az <tt>/usr/X11</tt>,
amely az <tt>/usr/X11R6</tt>-ra mutat, és a <tt>/dev/modem</tt>, amely vagy a 
<tt>/dev/ttyS0</tt>-ra vagy a <tt>/dev/ttyS1</tt>-re mutat.


Szimbolikus link létrehozása:

<tscreen><verb>
$ ln -s <fájl_vagy_könyvtár> <linknév>
</verb></tscreen>

Example:

<tscreen><verb>
$ ln -s /usr/doc/g77/DOC g77manual.txt
</verb></tscreen>

Mostantól <tt/g77manual.txt/-ként is hivatkozhatsz az <tt>/usr/doc/g77/DOC</tt> fájlra.
A linkek így jelennek meg a könyvtárlistában:

<tscreen><verb>
$ ls -F
g77manual.txt@
$ ls -l
(egy csomó dolog...)           g77manual.txt -> /usr/doc/g77/DOC
</verb></tscreen>


<sect1> Hozzáférési engedélyek és tulajdonjogok <label id="Permissions">

<p>

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 tárgyaljuk.

Unix alatt egy fájl rendelkezik hozzáférési engedélyekkel és tulajdonossal,
aki egy ``csoporthoz'' tartozik. Itt egy példa:

<tscreen><verb>
$ ls -l /bin/ls
-rwxr-xr-x  1  root  bin  27281 Aug 15 1995 /bin/ls*
</verb></tscreen>

Az első mező tartalmazz a <tt>/bin/ls</tt> fájl hozzáférési engedélyeit. 
Ez a fájlt a root felhasználóhoz és a bin csoporthoz tartozik.
A többi információtól eltekintve, jegyezd meg, hogy a <tt/-rwxr-xr-x/
a következőket jelenti (balról jobbra):

<tt/-/ a fájl típusa (<tt/-/ = közönséges fájl, <tt/d/ = könyvtár, 
<tt/l/ = link, stb.); <tt/rwx/ a fájl tulajdonosának a hozzáférési engedélyei 
(olvasható, írható, végrehajtható); <tt/r-x/ a fájltulajdonos csoportjának az 
engedélyei (olvasható, végrehajtható); (most nem részletezem a csoport fogalmát,
kezdőként egyelőre jól megleszel nélküle ;-) végül <tt/r-x/ az összes többi
felhasználó engedélyei (olvasható, végrehajtható). 

A <tt>/bin</tt> könyvtárnak szintén vannak hozzáférési engedélyei, olvasd
el a <ref id="Directories Permissions" name="Könyvtárak hozzáférési engedélyei">
fejezetet a részletekért. Emiatt nem törölheted az  <tt>/bin/ls</tt> fájlt,
hacsak nem te vagy a root, nincs írási jogot, hogy ezt megtedd. Egy fájl
hozzáfárési engedélyeinek megváltoztatása a következőképpen lehetséges:

<tscreen><verb>
$ chmod <kiXengedély> <fájl>
</verb></tscreen>

ahol a `ki' helyén <tt/u/ (user, azaz a tulajdonos), <tt/g/ 
(group, azaz a csoport) vagy <tt/o/ (other, azaz bárki más) állhat, az `X' vagy 
<tt/+/ vagy <tt/-/, az `engedély' lehet <tt/r/ (read, azaz olvasható), <tt/w/ (write, azaz írható) vagy <tt/x/
(execute, azaz végrehajtható). Általános példák a  <tt>chmod</tt> parancsra:

<tscreen><verb>
$ chmod +x file
</verb></tscreen>

Ez végrehajthatóvá teszi a <tt>file</tt>-t. A

<tscreen><verb>
$ chmod go-rw file
</verb></tscreen>

eltávolítja a fájlról az írási és a olvasási engedélyeket mindenki számára,
kivétel csupán a fájl a tulajdonosa. A

<tscreen><verb>
$ chmod ugo+rwx file
</verb></tscreen>

mindenkinek olvasási, írási és végrehajtási jogot ad. Végül, de nem utolsósorban a

<tscreen><verb>
# chmod +s file
</verb></tscreen>

paranccsal hozhatóak létre egy úgynevezett ``setuid'' vagy ``suid'' fájl,
azaz olyan fájl, amelyet mindenki végrehajthat a tulajdonos jogaival. 
Általában a root tulajdonában levő suid fájlokkal fogsz találkozni, 
ezek többnyire fontos rendszerfájlok, mint például az X szerver.  

Van egy rövidebb mód is az engedélyek megadására, ez számokkal történik.
Az <tt/rwxr-xr-x/ kifejezhető úgy, mint 755. Minden betűnek egy bit felel meg,
a <tt>---</tt> 0, a <tt>--x</tt>  1, a <tt/-w-/ 2, a <tt/-wx/ 3, és így tovább.
Bonyolultnak látszik, de egy kis gyakorlás után át fogod látni a koncepciót.
A root, azaz a rendszergazda, minden fájl hozzáférési engedélyeit megváltoztathatja.
OEK.


<sect1> DOS-os parancsok Linuxos megfelelői <label id="Files">

<p>

Bal oldalon vannak a DOS-os parancsok, jobb oldalon a linuxos megfelelői.

<tscreen><verb>
ATTRIB:         chmod
COPY:           cp
DEL:            rm
MOVE:           mv
REN:            mv
TYPE:           more, less, cat
</verb></tscreen>

Átirányítás és csőszervezés operátorok: <tt/ < > >> |/

Dzsóker karakterek: <tt/* ?/

<tt>nul:        /dev/null</tt>

<tt>prn, lpt1:  /dev/lp0 vagy /dev/lp1; lpr</tt>

<sect2> Példák

<p> 

<tscreen><verb>
DOS                                     Linux
---------------------------------------------------------------------

C:\GUIDO>ATTRIB +R FILE.TXT             $ chmod 400 file.txt
C:\GUIDO>COPY JOE.TXT JOE.DOC           $ cp joe.txt joe.doc
C:\GUIDO>COPY *.* TOTAL                 $ cat * > total
C:\GUIDO>COPY FRACTALS.DOC PRN          $ lpr fractals.doc
C:\GUIDO>DEL TEMP                       $ rm temp
C:\GUIDO>DEL *.BAK                      $ rm *~
C:\GUIDO>MOVE PAPER.TXT TMP\            $ mv paper.txt tmp/
C:\GUIDO>REN PAPER.TXT PAPER.ASC        $ mv paper.txt paper.asc
C:\GUIDO>PRINT LETTER.TXT               $ lpr letter.txt
C:\GUIDO>TYPE LETTER.TXT                $ more letter.txt
C:\GUIDO>TYPE LETTER.TXT                $ less letter.txt
C:\GUIDO>TYPE LETTER.TXT > NUL          $ cat letter.txt > /dev/null
        n/a                             $ more *.txt *.asc
        n/a                             $ cat section*.txt | less
</verb></tscreen>

Megjegyzések:

<itemize>

<item> A <tt/*/ karakter alkalmazása a Linux alatt elegánsabb. A <tt/*/ kifejezéshez
minden fájl illeszkedik kivéve a rejtett fájlokat. A rejtett fájlok a
<tt/.*/ kifejezéshez illeszkednek, de vigyázat, az aktuális könyvtár `<tt/./' és a 
szülőkönyvtár `<tt/../' is illeszkedik! A <tt/*.*/ kifejezéshez csak azok a fájlok
illeszkednek amelyeknek a közepén '<tt/./' található. A <tt/p*a/ kifejezésre mind
a papa, mind a pipa, míg a <tt/*g*/ kifejezésre mind a `régi' és mind a
`rugók' szavak illeszkednek.

<item> Ha a <tt/more/ programot használod, akkor a &lt;szóköz&gt; billentyűt használd a
lapozáshoz, és a 'q' billentyűt a kilépéshez. A <tt/less/
program sokkal jobban használható, s itt használhatod nyíl-billentyűket is.

<item> A Linuxban nincs <tt/UNDELETE/, tehát <em/jól gondold meg/ mielőtt bármit is 
kitörölsz.

<item> A DOS <tt/&lt; &gt; &gt;&gt;/ jelein túlmenően, a Linux ismeri a 
<tt/2&gt;/ jelet, amivel átirányítható szabványos hibakimenet (stderr),
továbbá a <tt/2&gt;&amp;1/  a szabványos hibakimenetet (stderr) a 
szabványos kimenetre (stdout), míg a <tt/1&gt;&amp;2/ a szabványos
kimenetet a szabványos hibakimenetre irányítja.

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

<item> Az <tt/lpr/ &lt;fájl&gt; kinyomtatja a fájlt a háttérben. 
A nyomtatási sor ellenőrzésére használd a <tt/lpq/ parancsot. Az 
<tt/lprm/ paranccsal kitörölheted a fájlt a nyomtatási sorból.

<item> Nincs olyan parancs mint a DOS alatti <tt/RENAME/, így a 
<tt/mv *.xxx *.yyy/ nem fog működni. Egy REN-hez hasonló parancs
letölthető az <url url="ftp://sunsite.unc.edu/pub/Linux/utils/file">
FTP-helyről.

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

</itemize>


<sect1> Programok futtatása: többfeladatúság

<p>
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 (<ref id="Directories" name="Könyvtárak használata"> fejezet),
amiben a programot eltároltad
megtalálható a PATH (<ref id="System Initialisation"
name="Rendszerinicializáló fájlok"> fejezet) 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.
Tipp: ilyen esetben, ha a programod <tt/prog/ akkor azt gépeld, hogy <tt>./prog</tt>.


Így néz ki egy tipikus parancssor:

<tscreen><verb>
$ parancs [-k1 [-k2] ... [-kn]] [par1 [par2] ... [parn]] [< bemenet] [> kimenet]
</verb></tscreen>

ahol a <tt>-k1</tt>, ..., <tt>-kn</tt> a program kapcsolói, és a  <tt/par1/,
 ..., <tt/parn/ a program paraméterei. Egy sorban több parancsot is begépelhetsz:

<tscreen><verb>
$ parancs1 ; parancs2 ; ... ; parancsn
</verb></tscreen>

Ennyit a programok futtatásáról, 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 többfeladatú operációs rendszer, azaz képes több program (ezentúl processzek)
párhuzamos (egyidejű) futtatására. Elindíthatsz processzeket a háttérben, és
amíg ezek futnak, 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!

<itemize>

<item> Az 1-től 6-ig terjedő virtuális terminálokra való átlépéshez nyomd le az
&lt;ALT-F1&gt; ... &lt;ALT-F6&gt; billentyűket.

<item> Egy új session indításához az aktuális virtuális terminálon add ki a 
<tt/su - &lt;loginname&gt;/ parancsot. Például: <tt/su - root/. Ez akkor hasznos,
ha egy olyan feladatot kell elvégezned, amit csak a root tehet meg.

<item> A sessiont az <tt/exit/ paranccsal lehet befejezni. Ha vannak leállított
munkáid (lásd később), akkor a rendszer figyelmeztet.

<item> Ha a háttérben szeretnél elindítani egy processzt, írj egy 
`&amp;' jelet a parancssor végére:

<tscreen><verb>
$ progname [-kapcsolók] [paraméterek] [< bemenet] [> kimenet] &
[1] 123
</verb></tscreen>

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

<item> Ha szeretnéd látni, hogy összesen hány processz fut, írd be azt, hogy 
<tt/ps ax/. Ez a parancs kilistázza az összes jelenleg futó processzt.

<item> Ha szeretnél lelőni (leállítani) egy processzt, használd a 
<tt/kill &lt;PID&gt;/ parancsot. 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 processz csak a <tt/kill -SIGKILL &lt;PID&gt;/ alkalmazásával lőhető le:

A burok megengedi, hogy megállíts egy processzt, időszakosan szüneteltesd
a futását, háttérbe küldjed, vagy a háttérből az előtérbe hozd vissza.
Ebben az összefüggésben a processzeket ``munká''-nak nevezik.

<item> Ha szeretnéd látni, hogy hány munka fut, írd be: 
<tt/jobs/. Itt a munkákat a munkaszámuk azonosítja, nem a PID-jük.

<item> Egy előtérben futó processz leállításához nyomd le a 
&lt;CTRL-C&gt;-t (nem mindig működik).

<item> Egy előtérben futó processz futása felfüggeszthető a 
&lt;CTRL-Z&gt; lenyomásával (szintén nem mindig működik).

<item> Egy futásában felfüggesztett processzt a <tt/bg &lt;%job&gt;/ paranccsal 
lehet a háttérbe küldeni (a processz munkává válik).

<item> A munka előtérbe hozására használd a <tt/fg &lt;%job&gt;/ 
parancsot. A legutoljára háttérbe küldött munka előtérbe hozásához elég kiadni a 
<tt/fg/ parancsot.

<item> Egy munka lelövéséhez a 
<tt/kill &lt;%job&gt;/ parancsot kell használni, ahol a &lt;job&gt; a burok által
a processzhez rendelt munkaszám:  1, 2, 3, ...  

</itemize>

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, programokat fordítani, é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 (ha ugyan le nem fagy közben)!


<sect1> Programok futtatása távoli gépeken

<p>

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-címét.


<tscreen><verb>
$ telnet tavoli.gep.hu
</verb></tscreen>

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, 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 <tt/tavoli.gep.hu/, míg a Te géped az <tt/sajat.gep.hu/. Egy a
távoli gépen levő X-es program futtatása az <tt/sajat.gep.hu/-n a
következőképpen lehetséges:

<itemize>

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

<tscreen><verb>
$ xhost +tavoli.gep.hu
$ telnet tavoli.gep.hu
</verb></tscreen>

<item> bejelentkezés után:

<tscreen><verb>
tavoli:$ DISPLAY=sajat.gep.hu:0.0
tavoli:$ program &
</verb></tscreen>

(A  <tt/DISPLAY.../ sor helyett, esetleg a <tt/setenv DISPLAY
local.linux.box:0.0/ sor kell beírnod. Ez a távoli gépen futó 
parancsértelmező buroktól függ.)

</itemize>

És láss csodát! A távoli gépen elindul a <tt/program/, ami majd a te képernyődön
fog megjelenni. Azonban modemes kapcsolat esetén nem érdemes ezzel próbálkozni, 
használhatatlanul lassú lesz. Ráadásul ez egy durva és nem biztonságos módszer,
az ``Remote X Apps mini-HOWTO'' <url url="http://sunsite.unc.edu/LDP/HOWTO/mini/Remote-X-Apps">
foglalkozik a témával részletesebben.

<sect> Könyvtárak használata <label id="Directories">

<p>

<sect1> Könyvtárak: előzetes megjegyzések

<p>

Láttuk már a különbséget a DOSWin és Linux alatti fájlok között. A könyvtárak 
esetén a DOSWin alatt a gyökérkönyvtár a <tt/&bsol;/, a Linux alatt a
<tt>/</tt>. Hasonlóképpen az egymásba ágyazott könyvtárak esetén az elválasztó
jel DOSWin alatt a <tt/&bsol;/, Linux alatt a <tt>/</tt>. Példa fájlnévre útvonallal
együtt:

<tscreen><verb>
DOS:    C:\PAPERS\GEOLOGY\MID_EOC.TEX
Linux:  /home/guido/papers/geology/middle_eocene.tex
</verb></tscreen>

Ahogy megszoktad, a <tt/../ a szülőkönyvtár, és a <tt/./ az aktuális könyvtár.
Ne feledd, hogy a rendszer nem enged bármelyik könyvtárba belépni (<tt/cd/),
akármelyik könyvtárat törölni (<tt/rmdir/), vagy akárhol egy új könyvtárat létrehozni
(<tt/mkdir/). Minden felhasználónak van egy saját könyvtára, amit a rendszergazda 
jelöl ki számára, és ahol a dolgait tarthatja. Például az én gépemen a saját könyvtáram 
a <tt>/home/guido</tt>. 


<sect1> Könyvtárak hozzáférési engedélyei <label id="Directories Permissions">

<p>

A könyvtárak szintén rendelkeznek hozzáférési engedélyekkel. Amit a <ref
id="Permissions" name="Hozzáférési engedélyek és tulajdonjogok"> című 
fejezetben láttunk, az itt is
érvényes: tulajdonos, csoport, mások (user, group és other). Egy könyvtárnál
a <tt>rx</tt> azt jelenti, hogy <tt/cd/-vel be tudsz lépni oda, míg ha a <tt/w/ is meg van
adva, akkor törölni is tudsz abban a könyvtárban (a törlendő fálj
engedélyeinek megfelelően természetesen), vagy akár magát a könyvtárat is törölheted.

Például annak megelőzésére, hogy mások és a csoportod tagjai a
<tt>/home/guido/text</tt> könyvtáradban nézelődjenek ezt a parancsot kell kiadnod:

<tscreen><verb>
$ chmod og-rwx /home/guido/text
</verb></tscreen>


<sect1> DOS-os parancsok Linuxos megfelelői <label id="Directories: Trans">

<p>

<tscreen><verb>
DIR:            ls, find, du
CD:             cd, pwd
MD:             mkdir
RD:             rmdir
DELTREE:        rm -rf
MOVE:           mv
</verb></tscreen>

<sect2> Példák

<p>

<tscreen><verb>
DOS                                     Linux
---------------------------------------------------------------------

C:\GUIDO>DIR                            $ ls
C:\GUIDO>DIR FILE.TXT                   $ ls file.txt
C:\GUIDO>DIR *.H *.C                    $ ls *.h *.c
C:\GUIDO>DIR/P                          $ ls | more
C:\GUIDO>DIR/A                          $ ls -l
C:\GUIDO>DIR *.TMP /S                   $ find / -name "*.tmp"
C:\GUIDO>CD                             $ pwd
        nincs - lásd a megjegyzést      $ cd
        úgyszintén                      $ cd ~
        úgyszintén                      $ cd ~/temp
C:\GUIDO>CD \OTHER                      $ cd /other
C:\GUIDO>CD ..\TEMP\TRASH               $ cd ../temp/trash
C:\GUIDO>MD NEWPROGS                    $ mkdir newprogs
C:\GUIDO>MOVE PROG ..                   $ mv prog ..
C:\GUIDO>MD \PROGS\TURBO                $ mkdir /progs/turbo
C:\GUIDO>DELTREE TEMP\TRASH             $ rm -rf temp/trash
C:\GUIDO>RD NEWPROGS                    $ rmdir newprogs
C:\GUIDO>RD \PROGS\TURBO                $ rmdir /progs/turbo
</verb></tscreen>

Megjegyzések: 

<itemize>

<item> Az <tt/rmdir/ használatakor, a törlendő könyvtárnak üresnek kell lennie. 
Egy könyvtár és teljes tartalmának törléséhez használd a <tt/rm -rf/ parancsot, 
(saját felelősségedre).

<item> A `<tt/&tilde;/' karakter a saját könyvtárad rövidítése. 
A <tt/cd/ vagy a <tt/cd ~/ parancsok a saját könyvtáradba visznek, bárhol
is legyél. Ennek megfelelően a <tt>cd ~/tmp</tt> parancs a 
<tt>/home/saját_könyvtárad/tmp</tt> könyvtárba juttat.

<item> A <tt/cd -/ ``visszacsinálja'' az utolsó <tt/cd/ parancsot.

</itemize>


<sect> Hajlékony lemezek, merevlemezek és társaik <label id="Floppies">

<p>

Linux alatt két módja van az eszközkezelésnek, a DOS-szerű és a UNIX-szerű.
Válassz!


<sect1> A DOS-szerű  eszközkezelés

<p>

A legtöbb Linux disztribúcióban megtalálható az Mtools csomag, egy parancskészlet,
amely teljesen megegyezik a DOS-os megfelelőjével, csak mindegyik neve `m' betűvel kezdődik,
pl. <tt/mformat/, <tt/mdir/, <tt/mdel/, <tt/mmd/, stb. Megőrzik a hosszú
fájlneveket is, de a hozzáférési engedélyeket nem. Az Mtools konfigurálása
után, amit a <file>/etc/mtools.conf</file> fájl szerkesztésével tehetsz meg (példafájl
található a disztribúcióban), elérheted a DOSWin partíciókat, a CD-ROM-ot és a 
Zip meghajtót. Egy új lemez megformázásához azonban nem elég az <tt/mformat/
parancs. Rootként ki kell adni előbb az <tt>fdformat /dev/fd0H1440</tt> parancsot.

A hajlékony lemezeken levő fájlokat nem tudod elérni egy ilyen paranccsal:
<tt>less a:file.txt</tt>! Ez a hátránya a DOS-szerű lemezkezelésnek.


<sect1> A UNIX-szerű eszközkezelés

<p>

A UNIX másképp kezeli az eszközöket, Nincsenek külön meghajtók, mint az A: vagy
a C:, minden lemez, legyen az egy hajlékony lemez vagy bármi, a helyi fájlrendszer részévé válik
a ``csatolás''-nak nevezett művelet segítségével. Miután befejezted a munkát a lemezzel,
mielőtt kiveszed a meghajtóból, le kell csatolni a fájlrendszerről.

Egy lemez fizikai formázása egy dolog, egy fájlrendszer létrehozása rajta egy másik.
A DOS <tt/FORMAT A:/ parancsa mindkettőt megcsinálja, de a Linux alatt erre két külön
parancsot kell használni. Egy hajlékony lemez formázására pár sorral feljebb volt egy példa, 
a fájlrendszer létrehozásához írjuk be:

<tscreen><verb>
# mkfs -t ext2 -c /dev/fd0H1440
</verb></tscreen>

Használhatjuk a <tt/dos/, a <tt/vfat/ (ajánlott) vagy más formátumokat is
az <tt/ext2/ helyett. Ha elkészült a lemez, csatoljuk a helyi fájlrendszerhez a

<tscreen><verb>
# mount -t ext2 /dev/fd0 /mnt
</verb></tscreen>

paranccsal. Ha nem az <tt/ext2/ fájlrendszert használjuk, akkor meg kell adnunk
a megfelelő típust. Ezután a hajlékony lemezen levő fájlokat a <tt>/mnt</tt>
könyvtárra való hivatkozással érheted el az A: vagy B: helyett.
Példák:

<tscreen><verb>
DOS                                     Linux
---------------------------------------------------------------------

C:\GUIDO>DIR A:                         $ ls /mnt
C:\GUIDO>COPY A:*.*                     $ cp /mnt/* .
C:\GUIDO>COPY *.ZIP A:                  $ cp *.zip /mnt
C:\GUIDO>EDIT A:FILE.TXT                $ jstar /mnt/file.txt
C:\GUIDO>A:                             $ cd /mnt
A:> _                                   /mnt/$ _
</verb></tscreen>

Miután végeztél a lemez használatával, mielőtt kiveszed a meghajtóból, 
<em/feltétlenül/ csatold le a 

<tscreen><verb>
# umount /mnt
</verb></tscreen>

paranccsal. Természetesen csak a formázatlan lemezekre kell használni 
az <tt/fdformat/ és a <tt/mkfs/ parancsokat, a már használatban lévőkre nem.
Ha  B: meghajtót szeretnéd használni, írj <tt/fd1H1440/-t és <tt/fd1/-t 
az <tt/fd0H1440/ és az <tt/fd0/ helyett a fenti példákban.

Felesleges mondani, hogy minden, ami a hajlékonylemezekre vonatkozik, az 
a többi eszközre is vonatkozik, például akarhatsz egy másik merevlemezt, vagy 
egy CD-ROM meghajtót is csatolni. A CD-ROM-ot így kell csatolni:

<tscreen><verb>
# mount -t iso9660 /dev/cdrom /mnt
</verb></tscreen>

Ez volt a ``hivatalos'' módja a lemezek csatolásának, de van egy trükk is.
Mivel egy kissé idegesítő, hogy csak a root csatolhatja a hajlékony lemezt és
a CD-ROM-ot, minden felhasználónak megengedhetjük ezt a következő módon:

<itemize>

<item> Rootként írjuk be:

<tscreen><verb>
# mkdir /mnt/floppy ; mkdir /mnt/cdrom
# chmod 777 /mnt/floppy /mnt/cd*
# # Ellenőrizzük, hogy a CD-ROM-nak tényleg ez az eszköz felel-e meg!
# chmod 666 /dev/hdb ; chmod 666 /dev/fd*
</verb></tscreen>

<item> Adjuk hozzá az <file>/etc/fstab</file> fájlhoz a következő sorokat:

<tscreen><verb>
/dev/cdrom      /mnt/cdrom  iso9660 ro,user,noauto          0       0
/dev/fd0        /mnt/floppy vfat    user,noauto             0       0
</verb></tscreen>

</itemize>

Ezután egy DOS-os hajlékony lemezt és egy CD-ROM-ot így lehet csatolni:

<tscreen><verb>
$ mount /mnt/floppy
$ mount /mnt/cdrom
</verb></tscreen>

Az <file>/mnt/floppy</file> és az <file>/mnt/cdrom</file> könyvtárakat
most már mindegyik felhasználó elérheti. Ne feledd, hogy ha mindenkinek megengeded,
hogy lemezeket csatoljon, azzal egy biztonsági rést ütsz a rendszeren.

Két hasznos parancsról szeretnék még szólni. A <tt/df/ információkat ad a
csatolt fájlrendszerekről, a <tt/du konyvtarnev/ kiírja, hogy mennyi helyet foglal
a könyvtár a lemezen.


<sect1> Biztonsági mentés <label id="Backing Up">

<p>

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 rootként):

<tscreen><verb>
# tar -M -cvf /dev/fd0H1440 mentendo_konyvtar/
</verb></tscreen>

Előtte bizonyosodj meg róla, hogy beraktál egy formázott lemezt a meghajtóba,
és rendelkezel kellő mennyiségű üressel is. A mentés
visszatöltéséhez helyezd be az első lemezt a meghajtóba, és írd a
parancssorba a következőket:

<tscreen><verb>
# tar -M -xpvf /dev/fd0H1440
</verb></tscreen>


<sect> Mi helyzet a Windows-zal?

<p>

A Windows ``megfelelője'' a grafikus X Window System. A Windows és Mac felülettel
ellentétben az X11-et nem úgy tervezték, hogy egyszerű legyen használni, vagy hogy jól nézzen ki.
A cél eredetileg csak annyi volt, hogy grafikus lehetőséggel ruházzák fel
a UNIX-os munkaállomásokat. A fő különbségek:

<itemize>

<item> Amíg a Windows ugyanúgy néz ki mindenhol a világon, az X11 nem ilyen,
sokkal jobban konfigurálható. Az X11 kinézetét egy fontos komponens, az 
``ablakkezelő'' program határozza meg. Ebből nagy a választék: az  
<tt/fvwm/, egyszerű, de szép és memóriatakarékos, <tt/fvwm2-95/,
<tt/Afterstep/, <tt/WindowMaker/, <tt/Enlightenment/, és sok más. 
Az ablakkezelőt általában az <tt/.xinitrc/-ből indítják.

<item> Az ablakkezelőd beállítható, hogy az ablakok úgy viselkedjenek, mint 
a Windows alatt: kattintásra előtérbe kerülnek. Egy másik lehetőség, hogy
akkor kerül az előtérbe, ha az egér átmegy felette. Az ablakok elhelyezése
a képernyőn lehet automatikus vagy interaktív: ha egy furcsa keret jelenik meg
a programod helyett, kattints a bal egérgombbal oda, ahol szeretnéd, hogy a 
program ablaka megjelenjen.

<item> A legtöbb tulajdonság igény szerint alakítható egy vagy több
konfigurációs fájl szerkesztésével. Olvasd el az ablakkezelőd dokumentációját.
A konfigurációs fájl neve lehet <tt/.fvwmrc/, <tt/.fvwm2rc95/, <tt/.steprc/, stb.
Egy példa kongigurációs fájl többnyire megtalálható 
<file>/etc/X11/ablakkezelő-név/system.ablakkezelő-név</file> néven.

<item> Az X11 alkalmazások speciális könyvtárakat -- ``widgetkészlet''-eket
használnak. Ezekből sokféle van, így aztán a alkalmazások kinézete különböző.
A legegyszerűbbek az Athena widgeteket használják (két dimenziós kinézet; 
<tt/xdvi/, <tt/xman/, <tt/xcalc/); mások a Motifot használják (<tt/netscape/);
megint mások a Tcl/Tk, XForms, Qt vagy Gtk widgetkészleteket használják. 
Majdnem mindegyik említett könyvtár közel hasonló kinézetet és érzést
biztosít, mint a Windows.

<item> Az érzés sajnos nem egységes. Például ha kiválasztasz egy sornyi
szöveget az egérrel, és megnyomod a &lt;BACKSPACE&gt; gombot, azt várod,
hogy a sor eltűnjön, igaz? Ez nem fog megtörténni az Athena alapú alkalmazásokkal,
de a többivel igen.

<item> A görgetősávok és a méretezés működése függ az ablakkezelőtől
és a widgetkészlettől. Tipp: ha a görgetősávok nem úgy működnek, ahogy
várod, a mozgatáshoz próbáld meg használni a középső egérgombot, 
vagy a két szélső gombot egyszerre.

<item> Az alkalmazásoknak nincs alapértelmezett ikonjuk, de lehet sokat
definiálni. A legtöbb ablakkezelőnek van egy menüje, amely előjön, ha
az asztalra (``root ablak'') kattintasz. Mondanom sem kell, ez a menü is
változtatható az igényeknek megfelelően. A root ablak megjelenése
az  <tt/xsetroot/ vagy az <tt/xloadimage/ parancsokkal változtatható.

<item> A vágólap csak szöveget tartalmazhat, és furcsán viselkedik.
Ha kiválasztottál egy szöveget, az már a vágólapon is van, menj máshova,
és kattints a középső egérgombbal a beillesztéshez. Van egy <tt/xclipboard/
nevű alkalmazás, amely több vágólapot kezel egyszerre.

<item> A fogd-és-vidd (drag-and-drop) opcionális, csak az olyan ablakkezelőkben és/vagy 
alkalmazásokban működik, amelyek támogatják.

</itemize>

Ha takarékoskodni szeretnél a memóriával, olyan alkalmazásokat
kell használnod, amelyek ugyanazokat a programkönyvtárakat
használják, bár ez a gyakorlatban nehéz lehet.

Vannak projektek, amelyek azt tűzték ki célul, hogy a Windowshoz
hasonló egységes felületet hozzanak létre X11 alatt. A Gnome, 
<url url="http://www.gnome.org">, és a KDE, <url url="http://www.kde.org">, 
nagyszerűek. Próbáld ki őket, nem fogod visszasírni a Windowst.


<sect> A rendszer konfigurálása

<p>

<sect1> Rendszerinicializáló fájlok <label id="System Initialisation">

<p>
A DOS alatt két fontos fájl van, az <tt/AUTOEXEC.BAT/ és a <tt/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:

<tscreen><verb>
FÁJLOK                                  MEGJEGYZÉSEK

/etc/inittab                            Most még ne piszkáld!
/etc/rc.d/*                             Ezt se!

</verb></tscreen>

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:

<tscreen><verb>
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/your_home/.bashrc                 a környezeted álneveit és függvényeit állítja
/home/your_home/.bash_profile   vagy
/home/your_home/.profile                mint fent + indítja a programjaid
</verb></tscreen>

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ő <tt/.bash_profile/ fájlt:

<code>
# Ez itt egy megjegyzés
echo Környezet:
printenv | less   # DOS alatti SET parancs megfelelője
alias d='ls -l'   # könnyű megérteni, mi az álnév
alias up='cd ..'  # az álnév nem más, mint egy rövidítés
echo "Figyelmeztetlek, 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 "burokfüggvény"
ctgz() # .tar.gz archív fájlok tartalmát listázza
{
  for file in $*
  do
    gzip -dc ${file} | tar tf -
  done
}         
# a .bash_profile fájl vége
</code>

Jól sejtetted, hogy a <tt/&dollar;PATH/ és a <tt/&dollar;LOGNAME/ környezeti változók.
Nagyon sok van még ezeken kívül, például OEK <tt/less/ vagy <tt/bash/.

Ha a következő sort berakod az <file>/etc/profile</file>-ba, az  nagyjából hasonló
dolgot eredményez, mint  a DOS-os <tt>PROMPT $P$G</tt>:

<tscreen><verb>
export PS1="\w\\$ "
</verb></tscreen>


<sect1> Programinicializáló fájlok

<p>

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 <tt/.programnévrc/ néven a saját könyvtáradban. Az elsők,
amiket valószínűleg változtatni akarsz majd:

<itemize>

<item> <tt/ .inputrc/: a <tt/bash/ használja billentyűkódok értelmezéséhez.

<item> <tt/ .xinitrc/: a <tt/startx/ ez alapján inicializálja az X Window-t.

<item> <tt/ .fvwmrc/: az <tt/fvwm/ ablakkezelő használja. 

<item> <tt/ .joerc, .jstarrc/: a <tt/joe/ szövegszerkesztő használja.

<item> <tt/ .jedrc/: a <tt/jed/ szövegszerkesztő használja.

<item> <tt/ .pinerc/: a <tt/pine/ levelezőprogram használja.

<item> <tt/ .Xdefault/: sok X program használja.

</itemize>

Ezek mindegyikével és a társaival előbb-utóbb találkozni fogsz, OEK!
Talán még a Configuration HOWTO <url url="http://sunsite.unc.edu/mdw/HOWTO/Config-HOWTO.html">
is érdekelni fog ezek után.

<sect> Hálózatos fogalmak

<p>

A Linux alatt nemcsak hogy létezik a ``Telefonos hálózat'', de sokkal gyorsabb
és stabilabb is. A dolog neve itt ``PPP'', ezt a protokollt használja
a modemen keresztüli internetkapcsolathoz. Szükséged van egy olyan kernelre,
amely támogatja a PPP-t, és egy tárcsázóprogramra.

Ha le szeretnéd tölteni a leveleidet az internetszolgáltatódtól, akkor egy
``levélkézbesítő'' segédprogramra van szükséged, ami a POP protokollt használja.
Miután a levél letöltődött, úgy fog kinézni, mintha közvetlenül a linuxos 
gépedre küldték volna. Ezután egy levélolvasó program segítségével kezelheted,
mint például a <tt>pine</tt>, a <tt>mutt</tt>, az <tt>elm</tt>, vagy más.

Windows alatt a tárcsázó automatikusan elindul, ha egy internetes
alkalmazást elindítasz. A Linux alatt ez nincs így, először kell 
tárcsázni, azután indítani az alkalmazást. A <tt>diald</tt> nevű
program a megszokott viselkedést hozza vissza. A telefonos hálózat
telepítése és konfigurálása valaha a legnehezebb dolgok közé tartozott
Linux alatt, de ennek vége: olvasd el a Configuration HOWTO-t.

Végül egy szót a ``Network neighborhood''-ról: megteheted, hogy a linuxos
géped úgy jelenjen meg egy windowsos hálózatban, mint egy Windows NT/9x!
A bűvös szó: SaMBa; ez nem a brazil tánc, hanem az SMB protokoll linuxos
implementációja. Nézd meg a
<url url="http://samba.anu.edu.au/samba"> weblapot!


<sect> Egy kis programozás

<p>


<sect1> Szkriptek: .BAT fájlok Linuxon <label id="Shell Scripts">

<p>
Ha a .BAT fájlokat hosszú programsorok rövidítésére használtad (én sokszor),
akkor ezt megvalósíthatod a megfelelő ``alias'' sorok alkalmazásával a
<tt/.profile/, és a <tt/.bash_profile/ fájlokban. De ha a .BAT fájljaid bonyolultabbak
voltak, akkor lefogadom, hogy egyszerűen imádni fogod a burok
programnyelvét: ez legalább olyan hatékony mint a Qbasic, ha nem
hatékonyabb. Változókat definiálhatsz, léteznek a while, for, case, if...
then... else struktúrák, és még számos lehetőséget nyújt. Jó alternatívája
lehet egy ``igazi'' programnyelvnek.

Ha egy szkriptet -- a DOS alatti .BAT fájl megfelelője -- akarsz írni,
egyszerűen egy olyan szabványos ASCII fájlt kell írnod, amely a parancsokat
tartalmazza, el kell mentened, és a következő paranccsal végrehajthatóvá
kell tenned: <tt>chmod +x &lt;szkriptfájl&gt;</tt>. A végrehajtáshoz egyszerűen csak a nevét
kell begépelned.

Előre figyelmeztetlek, hogy a rendszer alapértelmezett szövegszerkesztőjét, a <tt/vi/-t,
tapasztalatom szerint a kezdők nagyon nehéznek találják. Nem fogom most itt 
elmagyarázni a műkődését, olvasd el  Matt Welsh könyvében a megfelelő
fejezetet, vagy keress egy leírást a hálózaton. A <tt/vi/-ról álljon itt annyi, hogy:

<itemize>
<item> ha szöveget akarsz bevinni, üss egy <tt>i</tt>-t aztán vidd be a szöveget;
<item> egy karakter törléséhez üss egy &lt;ESC&gt;-et, utána egy <tt>x</tt>-et;
<item> ha ki akarsz lépni mentés nélkül, üss &lt;ESC&gt;-et, aztán <tt/:q!/-t;
<item> ha ki akarsz lépni mentéssel, üss &lt;ESC&gt;-et, aztán <tt/:wq/-t.
</itemize>

A <tt>joe</tt> kezdőknek ideális szövegszerkesztő, ha a <tt/jstar/
parancs begépelésével indítod, akkor ugyanazok lesznek  a billentyűparancsok,
mint egy DOSWin szövegszerkesztőben. A <tt>jed</tt> WordStar vagy IDE üzemmódja
még jobb. Nézd meg a <ref id="Programs" name="Hol vannak az alkalmazások?"> fejezetet,
ha nem tudod, honnan szerezheted meg ezeket a szövegszerkesztőket.

A linuxos szkriptek írásáról egy egész könyvet lehetne írni, így most nem
fogok a témában igazán elmélyedni, csak mutatok néhány remélhetőleg hasznos
példát, amiből aztán leszűrheted az alapvető szabályok egy részét.

<code>
#!/bin/sh
# sample.sh
# Ez egy megjegyzés
# Ne változtasd emg az első sort! Annak ott kell lennie!
echo "Ez a rendszer egy: `uname -a`" # a parancs kimenetét írja ki
echo "a program neve $0" # beépített változó
echo "A következő $# paramétert kaptam: "$*
echo "Az első paraméter: "$1
echo -n "Hogy hívnak? " ; read nev
echo Vedd észre a különbséget:  "Szia $nev" # az " használata idézőjelként
echo Vedd észre a különbséget:  'Szia $nev' # az ' használata idézőjelként
DIRS=0 ; FILES=0
for file in `ls .` ; do
  if [ -d ${file} ] ; then # ha a fájl könyvtár
    DIRS=`expr $DIRS + 1`  # DIRS = DIRS + 1
  elif [ -f ${file} ] ; then
    FILES=`expr $FILES + 1`
  fi
  case ${file} in
    *.gif|*.jpg) echo "${file}: grafikus fájl" ;;
    *.txt|*.tex) echo "${file}: szöveges fájl" ;;
    *.c|*.f|*.for) echo "${file}: forráskód" ;;
    *) echo "${file}: generic file" ;;
  esac
done
echo "Összesen ${DIRS} könyvtárat és ${FILES} fájlt találtam."
ls | grep "ZxY--!!!WKW"
if [ $? != 0 ] ; then az utolsó parancs kilépési kódja
  echo "Nem találtam a következő fájlt: ZxY--!!!WKW"
fi
echo "Na ebből elég... Írd be, hogy 'man bash', ha több információt szeretnél!"
</code>


<sect1> C 

<p>

A Unixok alatt a rendszer nyelve a C, akár szereted akár nem. Persze egy
csomó másik nyelv is elérhető (FORTRAN, Pascal, Lisp, Basic, Perl, awk,
...). 

Feltételezve, hogy ismered a C-t, álljon itt néhány segítő tanács
azoknak, akiket eddig a Turbo C++ vagy valamelyik DOS-os testvére
kényeztetett. A Linux C fordítóját <tt/gcc/-nek hívják, és alapértelmezésben
híján van minden villogó, fütyülő kütyünek, ami általában velejárója a
DOS-os hasonmásának: nincs Integrált Fejlesztői Környezet (IDE), on-line
help, beépített debugger, stb. A gcc egy parancssorból hívható fordító,
nagyon hatékony és erőteljes. Ha le szeretnéd fordítani a szokásos <tt/hello.c/
programodat, akkor a

<tscreen><verb>
$ gcc hello.c
</verb></tscreen>

sor a fordítás végeredményeképpen egy végrehajtható <tt/a.out/ nevű fájlt fog
készíteni. Ha ettől az elnevezéstől el akarsz térni, akkor a

<tscreen><verb>
$ gcc -o hello hello.c
</verb></tscreen>

sor a hello névre fogja elkeresztelni a futtatható fájlt. (Világos, hogy nem
célszerű az a.out fájlban hagyni a kész műved, mert a következő fordítás
alkalmával felülíródik). Ha szeretnél egy programkönyvtárat linkelni a programodhoz, 
akkor egy sor végi -l&lt;libnev&gt; kapcsoló oldja meg ezt a feladatot.
Például, ha a matematikai könyvtárral linkeled össze:

<tscreen><verb>
$ gcc -o mathprog mathprog.c -lm
</verb></tscreen>

(A <tt>-l&lt;libnev&gt;</tt> kapcsoló arra utasítja a <tt/gcc/-t, hogy az 
<tt>/usr/lib/lib&lt;libnev&gt;.so</tt>; könyvtárral linkelje a programot, 
tehát az <tt/-lm/ az <tt>/usr/lib/libm.so</tt>-t használja).

Ezek a parancsok elegendőek egy kis program esetén, de ha a programod számos
forrásból áll össze, akkor szükséged lesz a <tt/make/ segédprogramra. Tegyük fel,
hogy írtál egy kifejezéselemzőt: a forrásfájl <tt/parser.c/ és két &num;include
fájlja van, <tt/parser.h/ és <tt/xy.h/. Ezután szeretnéd egy <tt/calc.c/ nevű programban
használni a <tt/parser.c/ függvényeit, amely viszont includolja a <tt/parser.h/ fájlt.
Nos, mit kell ekkor tenned, ha a <tt/calc.c/ fájlt akarod fordítani?

Egy úgynevezett <tt/Makefile/-t kell írnod, amely leírja a fordító számára a
forrásfájlok közötti összefüggéseket. A példánkban ez a következőképpen néz
ki:

<code>
# Ez a Makefile a calc.c fordítását végzi
# Üss <TAB>-ot a megfelelő pozíciókban!

calc: calc.o parser.o
<TAB>gcc -o calc calc.o parser.o -lm
# calc két object fájltól függ: calc.o és parser.o

calc.o: calc.c parser.h
<TAB>gcc -c calc.c
# calc.o két forrásfájltól függ

parser.o:  parser.c parser.h xy.h
<TAB>gcc -c parser.c
# parser.o három forrásfájltól függ

# A Makefile vége
</code>

Ezt a fájlt <tt/Makefile/ néven mentsd ki, és futtatsd a <tt/make/ parancsot,
esetleg mentsd el <tt/calc.mak/ néven, és írd be azt, hogy <tt/make -f calc.mak/.
Természetesen OEK. Továbbá ne feledd, hogy bármikor leírást kaphatsz a C függgvényekről, a 
kézikönyvoldalak segítségével. Például:

<tscreen><verb>
$ man 3 printf
</verb></tscreen>

A programok hibakereséséhez használd a <tt>gdb</tt>-t. A használati utasításhoz 
írd be: <tt>info gdb</tt>.

Rengeteg programkönyvtár van, amit használhatsz. Valószínűleg az először
használandók között lesz az <tt/ncurses/ és az <tt/svgalib/, amik a szöveges
illetve a grafikus képernyő kezelését valósítják meg. Ha elég bátorságot érzel
az X alatti programozáshoz (nem olyan nehéz), akkor számos programkönyvtár
áll rendelkezésedre, amelyekkel egy szempillantás alatt működő 
alkalmazásokat lehet létrehozni. Nézd meg a 
<url url="http://www.xnet.com/~blatura/linapp6.html"> weblapot, és tartsd
észben, hogy a Gtk kezd a Linux szabvánnyá válni.

Sok szövegszerkesztő képes integrált fejlesztőkörnyezetként viselkedni, 
például az <tt/emacs/ és a <tt/jed/ képes a nyelv szintaktikai elemeinek kiemelésére, 
automatikus bekezdésekre, stb. Ezen kívül beszerezheted az <tt/rhide/ 
csomagot az <url url="ftp://sunsite.unc.edu:/pub/Linux/devel/debuggers/">
FTP-helyről. Ez a Borland integrált fejlesztőkörnyezetét koppintja, 
valószínűleg elnyeri majd a tetszésedet.


<sect> A fennmaradó 1&percnt;

<p>

Valójában sokkal több, mint 1&percnt;...


<sect1> A tar és gzip programok használata

<p>

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 <tt/tar/ program archiválja a fájlokat -- hasonlóan a 
<tt>PKZIP</tt>-hez vagy a <tt/WinZIP/-hez, de nem tömöríti, csak becsomagolja 
(Linux alatt a '-z' opcióval tömöríti is ;-). A

<tscreen><verb>
$ tar -cvf <archiv_nev.tar> <fajl> [fajl...]
</verb></tscreen>

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

<tscreen><verb>
$ tar -xpvf <archiv_nev.tar> [fajl...]
</verb></tscreen>

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

<tscreen><verb>
$ tar -tf <archive_name.tar> | less
</verb></tscreen>

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

<tscreen><verb>
$ compress <fajl>
$ gzip <fajl>
</verb></tscreen>

Ezek egy <tt/.Z/ (<tt/compress/) vagy <tt/.gz/ (<tt/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

<tscreen><verb>
$ compress -d <fajl.Z>
$ gzip -d <fajl.gz>
</verb></tscreen>

sorokat, és OEK.

Az <tt/unarj/, <tt/zip/ és <tt/unzip/ (PK??ZIP kompatíbilis) 
segédprogramok szintén elérhetőek. A <tt/.tar.gz/ vagy <tt/.tgz/ 
kiterjesztésű fájlok (<tt/tar/ programmal csomagolt, majd <tt/gzip/-pel tömörített) 
ugyanolyan gyakoriak a UNIX világában, mint a .ZIP fájlok DOS alatt.
A <tt/ .tar.gz/ tartalmát a következő módon nézheted meg:

<tscreen><verb>
$ tar -ztf <fajl.tar.gz> | less
</verb></tscreen>


<sect1> Programok telepítése <label id="Install">

<p>

Először is: a telepítés a root feladata. A legtöbb linuxos programot <tt/.tar.gz/ 
archívum formájában terjesztenek, ami általában egy könyvtárat tartalmaz, amit
úgy hívnak, mint a programot, és amiben fájlok és/vagy alkönyvtárak vannak.
Ezt a <tt>/usr/local</tt> könyvtárban kiadott

<tscreen><verb>
# tar -zxf <archive.tar.gz>
</verb></tscreen>

paranccsal érdemes kibontani, és utána elolvasni a README és INSTALL fájlokat.
A programokat többnyire forráskód alakjában terjesztik, amit le kell fordítanod,
általában a <tt/make/ és utána  <tt>make install</tt> parancsok kiadásával.
Ha a csomagban van <tt>configure</tt> szkript, akkor előbb azt futtasd.
Természetesen kell a <tt/gcc/ vagy a  <tt/g++/ fordítóprogram.

Más csomagokat a <file>/</file> könyvtárban kell kicsomagolni, ilyenek a
Slackware <tt/.tgz/ csomagjai. Megint más csomagok tartalmazzák a fájlokat, de
nem egy alkönyvtárban -- vigyázz, ne csinálj rendetleséget!. Mindig 
listázd ki az archív fájl tartalmát telepítés előtt.

A Debian és a Red Hat disztribúciók saját csomagformátummal rendelkeznek,
ezek a <tt/.deb/ és az <tt/.rpm/. Az utóbbi szélesebb körben elfogadott. 
Egy <tt/rpm/ csomag telepítéséhez add ki az

<tscreen><verb>
# rpm -i package.rpm
</verb></tscreen>

parancsot.

<sect1> Tippek amik nékül nem boldogulsz

<p>

<bf/Hátralapozás/: Nyomd le a &lt;SHIFT + PAGE UP&gt; billentyűkombinációt,
és ekkor egy pár oldal visszalapozhatsz a képernyőn, attól függően, hogy mennyi
a videomemóriád.

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

<bf/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 kattintás 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 <tt/xclipboard/ nevű program
is (sajnos csak szövegekre), de ne tévesszen meg a lassú válaszideje.

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

<bf/Üzenetek a kerneltől/: nézd meg root-ként a <tt>/var/adm/messages</tt> vagy a
<tt>/var/log/messages</tt> fájlt, hogy miket üzent a kernel, beleértve a
rendszerindulást is. A <tt/dmesg/ parancs is hasznos.


<sect1> Hol vannak az alkalmazások? <label id="Programs">

<p>

Ha gondolkozol, hogy lecserélheted-e a régi megbízható DOSWin alkalmazásodat
egy linuxosra, javaslom, hogy böngészd végig a legnagyobb linuxos szoftvergyűjteményeket:
<url url="ftp://sunsite.unc.edu/pub/Linux">,
<url url="ftp://tsx-11.mit.edu/pub/linux"> és 
<url url="ftp://ftp.funet.fi/pub/Linux">.
Egy másik jó kiindulópont a ``Linux Applications and Utilities Page''
<url url="http://www.xnet.com/~blatura/linapps.shtml">, és a
``hivatalos'' Linux honlap <url url="http://www.linux.org">.


<sect1> Egy pár dolog, amit eddig nem tudtál megcsinálni

<p>

A Linux alatt rengeteg dolgot meg lehet tenni, ami DOSWin alatt 
bonyolult, nehézkes vagy lehetetlen. Itt egy rövid lista étvágygerjesztőnek:

<itemize>

<item> Az <tt/at/ a megadott időben hajtja végre a kívánt programot.

<item> Az <tt/awk/ egy egyszerű és mégis sokat tudó programnyelv szöveges fájlok
     manipulására. Például legyen a <tt>data.dat</tt> egy több oszlopos adatfájl,
     ekkor a

<tscreen><verb>
$ awk '$2 ~ "abc" {print $1, "\t", $4}' data.dat
</verb></tscreen>

     kilistázza az 1. és a 4. mezőt minden olyan sorból, amelyekben a 2.
     mező tartalmazza az ``abc'' mintát.

<item> A <tt/cron/ adott időközönként, megadott időben végrehajtható feladatok végrahajtására jó.
Írd be: <tt/man 5 crontab/.

<item> A <tt/file &lt;fajlnev&gt;/ megmondja, hogy mi a fájl típusa 
(ASCII szöveg, végrehajtható, archív, stb.);

<item> A <tt/find/ (lásd még a <ref id="Directories: Trans" 
name="DOS-os parancsok Linuxos megfelelői"> fejezetben) az egyik leghasznosabb 
és legtöbbet tudó program. 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:

<tscreen><verb>
$ find <könyvtár> <kifejezés>
</verb></tscreen>

ahol a &lt;kifejezés&gt; magában foglalja a keresési feltételeket és a végrehajtandó műveleteket. Példák:

<tscreen><verb>
$ find . -type l -exec ls -l {} \;
</verb></tscreen>

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


<tscreen><verb>
$ find / -name "*.old" -ok rm {} \;
</verb></tscreen>

megkeresi azokat a fájlokat, amelyek illeszkednek a mintára, és törli őket,
de előbb megerősítést kér.

<tscreen><verb>
$ find . -perm +111
</verb></tscreen>

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

<tscreen><verb>
$ find . -user root
</verb></tscreen>

megkeresi a root fájljait. És még rengeteg lehetőség van -- OEK.

<item> A <tt/grep/ szövegmintákat keres a fájlokban. Például a 

<tscreen><verb>
$ grep -l "fizika" *.tex
</verb></tscreen>

parancs kilistázza az összes *.tex fájlt, amelyben szerepel a ``fizika'' szó. Egy változata, a
<tt/zgrep/, a <tt/gzip/-pel tömörített fájlokra működik. OEK.

<item> A <bf/reguláris kifejezések/ segítségével bonyolultan de nagyon hatékonyan
kereshetünk szövegekben. Például a <tt>^a[^a-m]X{4,}txt$</tt> kifejezés ráillik 
egy olyan sorra, amely `a'-val kezdődik, a következő karaktere bármi lehet az a-m 
intervallumon kívül, 4 vagy több `X' követi, és `txt' a vége. A reguláris kifejezéseket
a fejlettebb szövegszerkesztőkben, a <tt>less</tt>-ben, és még sok más programban használhatod.
Rövid bevezetésként olvasd el a <tt/grep/ kézikönyvoldalát (<tt/man grep/)!

<item> A <tt/script &lt;szkript_fajl&gt;/ a
<tt/szkript_fajl/ képernyőre kiírt üzeneteit elmenti egy fájlba, addig amíg nem
adsz ki egy <tt/exit/ parancsot. Hibakeresésnél hasznos.

<item> A <tt/sudo/ megengedi a felhasználóknak, hogy megcsinálják, amit
csak a root tehet meg (pl. lemezek formázása vagy csatolása a fájlrendszerhez, OEK).

<item> Az <tt/uname -a/ rendszerinformációkat ír ki.

<item> A <tt/zcat/ és a  <tt/zless/ segítségével <tt/gzip/-pel tömörített fájlokat
nézegethetsz, anélkül, hogy ki kellene tömöríteni. Például:

<tscreen><verb>
$ zless szovegfajl.gz
$ zcat szovegfajl.gz | lpr
</verb></tscreen>

<item> A következő parancsok sokszor jól jönnek: <tt>bc, cal, chsh, cmp,
cut, fmt, head, hexdump, nl, passwd, printf, sort, split, strings, tac,
tail, tee, touch, uniq, w, wall, wc, whereis, write, xargs, znew.</tt> OEK.

</itemize>


<sect1> UNIX használata DOSWin alatt

<p>

Hiszed vagy sem, vannak olyan programok, amelyek UNIX-szerű környezetet
hoznak létre DOSWin alatt! Az egyik a Djgpp csomag (<url
url="http://www.delorie.com/djgpp">) DOS alá, a másik a Cygnus (<url
url="http://www.cygnus.com">), egy sokkal bonyolultabb megvalósítás 
Win32 környzetben. Mindkettő ugyanazokat a GNU fejlesztőeszközöket és segédprogramokat tartalmazza, 
mint a Linux, bár nem fogod ugyanazt a teljesítményt és stabilitást megkapni.

Ha szeretnél belekóstolni a Linux használatába, próbáld ki a Djgpp-t. Töltsd le,
és telepítsd a következő fájlokat (az írás idején a legfrissebb verzió a 2.02):
<tt>djdev202.zip, bnu281b.zip, bsh1147b.zip, fil316b.zip, find41b.zip,
grep22b.zip, gwk303b.zip, lss332b.zip, shl112b.zip.</tt> A telepítési útmutató
mellékelve van, és a <url url="news:comp.os.msdos.djgpp"> hírcsoportban is 
kaphatsz segítséget.

DOSWin alatt különösen a <tt>bash</tt> használata jelent felüdülést. A megfelelő
konfiguráláshoz szerkeszd át a telepítésnek megfelelően a <tt>BOOT.BAT</tt>
fájlt, azután cseréld le ezeket a fájlokat a (Windows partíción levő) saját
könyvtáradban:

<tscreen><verb>
# ez a _bashrc

LS_OPTIONS="-F -s --color=yes"
alias cp='cp -i'
alias d='ls -l'
alias l=less
alias ls="ls $LS_OPTIONS"
alias mv='mv -i'
alias rm='rm -i'
alias u='cd ..'
</verb></tscreen>

<tscreen><verb>
# ez a _bprof
if [ -f ~/_bashrc ]; then
  . ~/_bashrc
fi
PS1='\w\$ '
PS2='> '
CDPATH="$CDPATH:~"
# a less(1) beállításai
LESS="-M-Q"                     # hosszú prompt, csendes
LESSEDIT="%E ?lt+%lt. %f"       # felső sor szerkesztése
VISUAL="jed"                    # szövegszerkesztő
LESSCHARSET=latin1              # ékezetes betűk megjelenítése
export PS1 PS2 CDPATH LS_OPTIONS LESS LESSEDIT LESSOPEN VISUAL LESSCHARSET
</verb></tscreen>


<sect1> Gyakori kiterjesztések és az ezekkel kapcsolatos programok

<p>

Valószínűleg már egy csomó fájlkiterjesztéssel találkoztál. Az egzotikus
fajtákon kívül (pl. font fájlok stb.) íme egy lista, hogy mi micsoda.

<itemize>

<item> <tt/1 ... 8/: kézikönyvoldalak. Így olvasd őket:
<tt>groff -Tlatin1 -man &lt;file.1&gt;</tt>.

<item> <tt/arj/: <tt/arj/-vel tömörített fájl.

<item> <tt/dvi/: a TeX (see below) által létrehozott fájl. <tt/xdvi/-al nézheted meg; 
<tt/dvips/-sel PostScript <tt/.ps/ fájllá alakíthatod.

<item> <tt/gz/: <tt/gzip/-pel tömörített fájl.

<item> <tt/info/: info fájl (hasonló a kézikönyvoldalhoz). Az <tt/info/ program használja. 

<item> <tt/lsm/: Linux Software Map fájl. Ez egy egyszerű ASCII fájl, ami a hozzá
     tartozó programcsomag leírását tartalmazza.

<item> <tt/ps/: PostScript fájl. A megjelenítéséhez kelleni fog a <tt/gs/, és 
vagy a <tt/ghostview/ vagy a <tt/gv/.

<item> <tt/rpm/: Red Hat csomag. Bármilyen rendszeren telepíthető az <tt/rpm/ csomagkezelővel.

<item> <tt/taz, tar.Z/:  <tt/tar/-ral készült csomag <tt/compress/-szel tömörítve.

<item> <tt/tgz, tar.gz/: <tt/tar/-ral készült csomag <tt/gzip/-pel tömörítve.

<item> <tt/tex/: szövegfájl, amit a rendkívül sokoldalú TeX tördelőprogram dolgoz fel.
Szerezd be a <tt/tex/ csomagot, sok disztribúció része!

<item> <tt/texi/: texinfo fájl, TeX és info fájlokat lehet csinálni belőle (lásd
<tt/info/). A <tt/texinfo/ program használja.

<item> <tt/xbm, xpm, xwd/: grafikus fájl.

<item> <tt/Z/: <tt/compress/-szel tömörített fájl.

</itemize>


<sect1> Fájlkonverziók

<p>

Ha szöveges fájlokat kell cserélned DOSWin és Linux között, figyelj a
``sorvég'' problémájára. DOS alatt a sor végét CR/LF jelöli (ASCII 13 + ASCII 10),
a Linux alatt csak LF. Ha DOS-os szövegfájlt szerkesztesz Linux alatt, a sorok
végén furcsán kinéző `M' karakterek lesznek olvashatóak, a linuxos szövegfájl
DOS alatt pedig egyetlen kilométeres sor lesz, bekezdések nélkül. Egy csomó
segédprogram áll rendelkezésre (pl. a <tt/dos2unix/ és a <tt/unix2dos/) 
az oda-vissza konvertálásra.

Ha a szövegfájlod ékezetes betűket is tartalmaz, győződj meg róla, hogy Windows alatt
csináltad és nem sima DOS alatt, máskülönben az összes ékezetes karakter elromlik.

A Word vagy WordPerfect fájlok egyszerű szöveggé alakítása egy kicsit
nehezebb, de lehetséges. Az egyik CTAN FTP-helyről (pl. <url url="ftp://ftp.tex.ac.uk">)
töltsd le a megfelelő segédprogramot. Szedd le a <tt/word2x/ programot a 
<file>/pub/tex/tools/</file> könyvtárból, vagy próbáld ki a
<file>/pub/tex/support/</file> könyvtárban található programok egyikét. 
A <tt>word2x</tt> a Word 6 fájlokat konvertálja, 
a  Word 97 fájlok konverziójához az <tt>mswordview</tt>-ra lesz szükséged
(<url url="http://www.csn.ul.ie/~caolan/docs/MSWordView.html">), ami HTML 
formátumúvá alakítja őket.


<sect1> Ingyenes irodai csomagok

<p>

Ha a fájlok konvertálása nem elégséges, van rá lehetőség,
hogy kipróbálj egy (ingyenes!) Microsoft Office-szerű irodai 
csomagot.

A StarOffice csomag magánfelhasználásra ingyenes (újabban üzleti célra is 
ingyenes -- <em/a ford./). Nagy, elég lassú, de amúgy nagyon jó: egy csomó funkcióval
rendelkezik, amivel a Microsoft Office nem. Képes elolvasni a Word és az Excel fájljait,
bár a konverzió nem mindig tökéletes. A honlap:
<url url="http://www.stardivision.com">.

Egy másik jó csomag a Corel WordPerfect, ennek is letölthető egy ingyenes
verziója. Kell többet mondanom? Gyerünk, szedd le!
<url url="http://www.corel.com">.


<sect> Vége, egyelőre <label id="The End">

<p>

Gratulálok! Megismerkedtél egy kicsit a UNIX-szal, és készen állsz már arra,
hogy érdemi munkát is végezz. Ne felejtsd, hogy a rendszerrel kapcsolatos
tudásod még elég korlátozott, és számíts arra, hogy csak nagyobb gyakorlat
megszerzése után érzed magad igazán otthon. De fogadok, hogy az itt leírtak
is elegendők ahhoz, hogy a kezdeti lépéseket megtedd.

Biztos vagyok abban, hogy élvezni fogod a Linux használatát, és egyre többet
fogsz majd tudni róla -- mindenki így van vele. Szintén fogadni mernék, hogy
soha nem térsz vissza a DOSWin-hoz! Remélem sikerült magam megértetni, és az itt
leírtak hasznára válnak a 3 vagy 4 olvasóm számára.

<sect1> Szerzői jogok

<p>

A Linux HOGYAN dokumentumok szerzői joga a megfelelő szerzőké, 
hacsak másképp nem rendelkeznek. A Linux HOGYAN dokumentumokat 
szabad részben vagy egészben másolni és terjeszteni bármilyen 
fizikai vagy elektronikus adathordozón, de ezt a szerzői jogokra 
vonatozó megjegyzést minden másolathoz mellékelni kell. Az üzleti 
célú terjesztés megengedett és bátorított, de a szerző szeretne 
tudomást szerezni minden ilyen terjesztésről.

Minden Linux HOGYAN-on alapuló fordítás, származtatott mű vagy 
összefoglaló munka ezen szerzői jogi kötelmek alá kell essen. 
Ez azt jelenti, hogy nem szabad olyan HOGYAN-on alapuló művet 
létrehozni, amely további megkötéseket tartalmaz a terjesztésre. 
Bizonyos feltételek esetén ezek a szabályok figyelmen kívül 
hagyhatóak, erről a Linux HOGYAN koorditátor ad 
felvilágosítást a lent olvasható címen.

Röviden megfogalmazva, szeretnénk, ha az információ elterjedne minél 
több csatornán, de szeretnénk megtartani a HOGYAN dokumentumok szerzői 
jogát, és szeretnénk értesülni bármilyen terjesztési tervről.

Kérdésekkel a Linux HOGYAN koordinátorát, Tim Bynumot lehet megkeresni a 
<url url="linux-howto@sunsite.unc.edu"> drótpostacímen.


<sect1> Jogi felelősség

<p>

A ``HOGYAN térjünk át DOS-ról/Windowsról Linuxra'' Guido Gonzato műve, 
<url url="REMOVE_MEguido@ibogeo.df.unibo.it">. (Töröld ki a ``REMOVE_ME''-t.)
Köszönettel tartozom Matt Welshnek, a ``Linux Installation and Getting
Started'' szerzőjének, Ian Jacksonnak, a ``Linux frequently asked questions
with answers'' szerzőjének, Giuseppe Zanettinek, a ``Linux'' szerzőjének, 
mindenkinek, aki javaslatokat írt nekem, és főleg Linus Torvaldsnak és a GNU-nak,
akik a Linuxot adták az emberiségnek.

Erre a dokumentumra nem vonatkozik semmilyen garancia. Nagyon igyekeztem, 
hogy hibátlan legyen, de mindenki csak a saját felelősségére használhatja 
az itt közölt információkat. Semmilyen esetben sem lehet engem felelőssé 
tenni az itt leírtak felhasználásából eredő károkért.

A visszajelzéseket örömmel veszem. Bármilyen kérdést, kérést, javaslatot 
szívesen meghallgatok. 

Élvezd a Linuxot és az életet!

Guido   <tt>=8-)</tt>

<sect1> Magyar fordítás

<p> Az első magyar fordítást Danyi András (<tt/danyiand@biocom.bio.u-szeged.hu/) 
készítette az 1.0-ás verzióról, ami angolul 1996-ban jelent meg. A jelenlegi 1.3.2-es
verzió fordítását Tímár András (<tt/atimar@itp.hu/) készítette, természetesen erősen
támaszkodva Danyi András meglévő fordítására.
</article>

