Dokumentáció/CLP10/Alapok/5.fejezet

Fájlok és könyvtárak

A parancsértelmező hatékony használatához szükség van a Linux rendszer fájl- és könyvtárszerkezetének bizonyos fokú ismeretére. A könyvtárak tekinthetők a fájlokat, programokat és alkönyvtárakat tároló elektronikus mappáknak. A könyvtárhierarchia csúcsán a gyökérkönyvtár található, amelyet / szimbólum jelöl. Innen érhető el az összes többi könyvtár.

A /home könyvtárban találhatók az egyes felhasználók személyes fájljait tartalmazó könyvtárak. A Részlet egy szokásos könyvtárfából bemutatja a Linux-könyvtárfája szokásos felépítését, az yxz, a linux és a tux felhasználók saját könyvtáraival. A Linux könyvtárfájának szerkezete a Filesystem Hierarchy Standard (fájlrendszer-hierarchia) szabványt követi. Az alábbi lista röviden bemutatja a Linux szokásos könyvtárait.

Részlet egy szokásos könyvtárfából
/
gyökérkönyvtár, a könyvtárfa kiindulópontja
/home
felhasználók (saját) könyvtárai
/dev
a hardverkomponenseket ábrázoló eszközfájlok
/etc
a rendszerkonfiguráció fájljai
/etc/init.d
parancsfájlok a rendszer betöltéséhez
/usr/bin
általánosan elérhető programok
/bin
a rendszerbetöltés korai szakaszában szükséges programok
/usr/sbin
a rendszergazda számára fenntartott programok
/sbin
a rendszergazda számára fenntartott, a rendszerbetöltéshez szükséges programok
/usr/include
a C fordító header fájljai
/usr/include/g++
a C++ fordító header fájljai
/usr/share/doc
különféle dokumentumfájlok
/usr/share/man
rendszerkézikönyv (man) oldalak
/usr/src
a rendszerszoftver forráskódja
/usr/src/linux
kernel-forráskód
/tmp, /var/tmp
ideiglenes fájlok
/usr
az összes alkalmazás
/var
konfigurációs fájlok (például az /usr könyvtárból hivatkozva)
/var/log
a rendszer naplófájljai
/var/adm
rendszeradminisztrációs adatok
/lib
megosztott könyvtárak (dinamikusan összeszerkesztett programok számára)
/proc
folyamat-fájlrendszer
/sys
»rendszer« fájlrendszer, amelyben a kernel számára összegyűjtött eszközinformáció található
/usr/local
helyi, disztribúciófüggetlen bővítések
/opt
külön telepíthető szoftverek, nagyobb kiegészítő programcsomagok (példálul KDE, GNOME, Netscape)


Konfigurációs fájlok

Ez a rész áttekintést nyújt a hálózati konfigurációs fájlokról, és bemutatja céljukat, valamint az általuk használt formátumot.

/etc/syconfig/hardware/hwcfg-*

Ezek a fájlok tartalmazzák a hálózati kártyák és egyéb eszközök hardverkonfigurációját. Tartalmazzák a szükséges paramétereket, mint például a kernelmodul, indítási mód és a parancsfájl-hozzárendelések. Részletes információt a hwup kézikönyvoldal (man) tartalmaz. A hwcfg-static-* konfigurációk a meglévő hardvertől függetlenül alkalmazásra kerülnek a coldplug elindításakor.

/etc/sysconfig/network/ifcfg-*

Ezek a fájlok tartalmazzák a hálózati csatoló beállításait. Olyan adatokat tartalmaznak, mint például az indítási mód és az IP-cím. A lehetséges paramétereket az ifup kézikönyvoldala (man) tartalmazza. Ezen felül a dhcp, wireless és config fájlok változói használhatók az ifcfg-* fájlokban, ha egy általános beállítást kell használni egyetlen csatolóhoz.

Icon-hardver.png IBM S/390, zSeries

Az IBM S/390 és zSeries nem támogatja az USB-t. A csatolófájlok neve és a hálózati álnevek S/390-specifikus elemeket tartalmaznak, mint például a qeth.

/etc/sysconfig/network/config, dhcp, wireless

A config fájl az ifup, ifdown és ifstatus viselkedésének általános beállításait tartalmazza. A dhcp a DHCP, a wireless pedig a vezeték nélküli LAN kártyák beállításait tartalmazza. A három konfigurációs fájlban lévő változók megjegyzésekkel vannak ellátva és az ifcfg-* fájlokban is használhatók, amelyben nagyobb prioritást kapnak.

/etc/sysconfig/network/routes,ifroute-*

A TCP/IP-csomagok statikus útválasztása itt kerül megadásra. A különböző rendszerek által igényelt statikus utak az /etc/sysconfig/network/routes fájlban adhatók meg: a gép felé menő utak, a gép felé átjárón keresztül menő utak és a hálózat felé menő utak. Minden egyedi útválasztást igénylő csatolóhoz adjon meg egy további konfigurációs fájlt: /etc/sysconfig/network/ifroute-*. A * helyére írja be a csatoló nevét. Az útválasztási konfigurációs fájlok bejegyzései az alábbi módon néznek ki:
DESTINATION           GATEWAY NETMASK   INTERFACE [ TYPE ] [ OPTIONS ]
DESTINATION           GATEWAY PREFIXLEN INTERFACE [ TYPE ] [ OPTIONS ]
DESTINATION/PREFIXLEN GATEWAY -         INTERFACE [ TYPE ] [ OPTIONS ]

Ha a GATEWAY, NETMASK, PREFIXLEN vagy INTERFACE bejegyzést elhagyja, írjon helyette - jelet. A TYPE és OPTIONS bejegyzések egyszerűen elhagyhatók.

Az út célját az első oszlop tartalmazza. Ez az oszlop tartalmazhatja egy hálózat vagy gép IP-címét, illetve elérhető névszerverek esetén a teljes képzésű hálózati vagy gépnevet.

A második oszlop az alapértelmezett átjárót tartalmazza, vagy egy olyan átjárót, amelyen keresztül egy gép vagy hálózat elérhető. A harmadik oszlop egy átjáró mögötti hálózatok vagy gépek hálózati maszkját tartalmazza. Egy átjáró mögötti gép maszkja például 255.255.255.255 lehet.

A utolsó oszlop a helyi géphez csatlakozott hálózatok számára fontos, mint amilyen a loopback, Ethernet, ISDN, PPP és dummy eszköz. Itt meg kell adni az eszköz nevét.

/etc/resolv.conf

Ebben a fájlban van megadva a domain, amelyhez a gép tartozik (search kulcsszó). Több domainnév is megadható. Egy nem teljes képzésű név feloldásakor kísérlet történik egy ilyen név létrehozására az egyes search bejegyzések csatolásával. Az elérendő névszerver címét is tartalmazza (nameserver kulcsszó). Több névszerver több sor használatával adható meg, amelyek mindegyike a nameserver kulcsszóval kezdődik. A megjegyzések elé tegyen # jeleket. A YaST beírja a megadott névszervert ebbe a fájlba. A /etc/resolv.conf bemutatja, hogyan nézhet ki egy /etc/resolv.conf fájl.


Icon-example.png Példa: /etc/resolv.conf

# Our domain
search example.com
#
# We use sun (192.168.0.20) as nameserver
nameserver 192.168.0.20
Néhány szolgáltatás, mint például a pppd (wvdial), ipppd (isdn), dhcp (dhcpcd és dhclient), pcmcia és hotplug, módosítja az /etc/resolv.conf fájlt a modify_resolvconf parancsfájllal. Ha az /etc/resolv.conf fájlt a parancsfájl ideiglenesen módosította, akkor egy előre megadott megjegyzést is elhelyezhet benne, amely a módosító szolgáltatással kapcsolatos információt tartalmazza, az eredeti fájl biztonsági mentésének helyét, és az automatikus módosítási mechanizmus kikapcsolásának módját tartalmazza. Ha az /etc/resolv.conf fájl többször módosításra került, akkor a fájl a módosításokat beágyazott formában tartalmazza. Ezek tisztán eltávolíthatók még abban az esetben is, ha az eltávolítás sorrendje eltér a módosításokétól. A szolgáltatások, amelyeknek szükségük van erre a rugalmasságra: isdn, pcmcia és hotplug.

Ha egy szolgáltatás nem normál, tiszta módon áll le, a modify_resolvconf segítségével visszaállítható az eredeti fájl. Rendszerindításkor ellenőrzésre kerül, hogy maradt-e nem eltávolított, módosított resolv.conf, például rendszerösszeomlás után, és ez esetben az eredeti (nem módosított) resolv.conf visszaállításra kerül.

A YaST a modify_resolvconfcheck parancs segítségével ellenőrzi, hogy a resolv.conf módosítva lett-e, majd figyelmezteti a felhasználót, hogy ezek a módosítások a fájl visszaállítása után elvesznek. Ettől eltekintve a YaST nem használja a modify_resolvconf fájlt, amely azt jelenti, hogy a resolv.conf YaST segítségével történő módosításának hatása megegyezik a kézi módosításéval. Mindkét esetben a módosítások hatása állandó. Az említett szolgáltatások által igényelt módosítások csak ideiglenesek.

/etc/hosts

Ebben a fájlban ( /etc/hosts ) az IP-címek gépnevekhez vannak rendelve. Ha nincs névszerver, akkor minden gépet, amelyen be van állítva IP-kapcsolat, fel kell itt tüntetni. A fájlban minden géphez adjon meg egy sort, amely az IP-címet, a teljes képzésű gépnevet és a gépnevet tartalmazza. Az IP-címnek a sor elején kell lennie és a bejegyzéseket üres helyek és tabulátorok tagolják. A megjegyzések előtt mindig # jel található.


Icon-example.png Példa: /etc/hosts

127.0.0.1 localhost
192.168.0.20 sun.example.com sun
192.168.0.1 earth.example.com earth

/etc/networks

A hálózati nevek itt átalakításra kerülnek hálózati címekké. A formátum a hosts fájlhoz hasonló azzal a kivétellel, hogy a hálózati nevek megelőzik a címeket.


Icon-example.png Példa: /etc/networks

loopback     127.0.0.0
localnet     192.168.0.0

/etc/host.conf

A névfeloldást – a gép- és hálózati nevek lefordítását a resolver könyvtáron keresztül – ez a fájl vezérli. Ezt a fájlt csak a libc4 vagy libc5 függvénytárhoz csatolt programok használják. Az aktuális glibc programok esetén tekintse meg az /etc/nsswitch.conf beállításait. A paraméternek mindig egyedül kell állnia a saját sorában. A megjegyzéseket # jel előzi meg. A Az /etc/host.conf paraméterei a használható paramétereket jeleníti meg.


Táblázat: Az /etc/host.conf paraméterei
order hosts, bind Meghatározza, hogy a szolgáltatások milyen sorrendben érik el a névfeloldást. A használható argumentumok: (üres hellyel vagy vesszőkkel elválasztva):
hosts: Az /etc/hosts fájlt keresi
bind: Hozzáfér egy névszerverhez
nis: NIS-t használ
multi on/off Azt határozza meg, hogy az /etc/hosts fájlban megadott gép rendelkezhet-e több IP-címmel.
nospoof on spoofalert on/off Ezek a paraméterek hatással vannak a névszerver hamisítására, de ettől eltekintve nem befolyásolják a hálózati konfigurációt.
trim tartománynév A gépnévfeloldás után a megadott tartománynév le van választva a gépnévtől (feltéve, hogy a gépnév tartalmazta a tartománynevet). Ez az opció akkor hasznos, ha csak a helyi tartomány nevei vannak az /etc/hosts fájlban, de a csatolt tartományneveket továbbra is fel kell ismerni.


Icon-example.png Példa: /etc/host.conf

# We have named running
order hosts bind
# Allow multiple addrs
multi on

/etc/nsswitch.conf

A GNU C Library 2.0 bevezetése együtt jár a Name Service Switch (NSS) bevezetésével. Részletes információt a man 5 nsswitch.conf és a The GNU C Library Reference Manual tartalmaz.

A lekérdezések sorrendje az /etc/nsswitch.conf fájlban van megadva. A /etc/nsswitch.conf egy minta nsswitch.conf fájlt jelenít meg. A megjegyzéseket a # jel vezeti be. Ebben a példában a hosts adatbázis alatti bejegyzések azt jelentik, hogy kérés került elküldésre DNS-en keresztül az /etc/hosts (fájlok) fájlhoz (A DNS (tartománynévrendszer, Domain Name Rendszer)).


Icon-example.png Példa: /etc/nsswitch.conf

passwd:     compat
group:      compat

hosts:      files dns
networks:   files dns

services:   db files
protocols:  db files

netgroup:   files
automount:  files nis

Az NSS-en keresztül elérhető »adatbázisok« listája: Az /etc/nsswitch.conf fájlon keresztül elérhető adatbázisok. Ezen felül az automount, bootparams, netmasks és publickey várható a közeli jövőben. Az NSS adatbázisok konfigurációs beállításait tekinti át a NSS-adatbázisok beállítási lehetőségei.


Táblázat: Az /etc/nsswitch.conf fájlon keresztül elérhető adatbázisok
aliases A sendmail által megvalósított levél aliasok; lásd man 5 aliases.
ethers Ethernet-címek.
group Felhasználói csoportok, a getgrent használja. Lásd még a group kézikönyvoldalát (man).
hosts: Gépnevek és IP-címek, a gethostbyname és hasonló funkciók használják.
netgroup: Érvényes gép- és felhasználói listák a hálózatban a hozzáférési jogosultságok vezérléséhez; lásd man 5 netgroup.
networks A getnetent által használt hálózatnevek és címek.
passwd A getpwent által használt felhasználói jelszavak; lásd man 5 passwd.
protocols A getprotoent által használt hálózati protokollok; lásd man 5 protocols.
rpc A getrpcbyname és hasonló funkciók által használt távoli eljáráshívásnevek és címek.
services A getservent által használt hálózati szolgáltatások.
shadow A getspnam által használt shadow-jelszavak és felhasználók; lásd man 5 shadow.


Táblázat: NSS-beállítási lehetőségei
files fájlok, például az /etc/aliases közvetlen elérése
db elérés adatbázison keresztül
nis, nisplus NIS, lásd még
dns csak a hosts és networks kiterjesztéseként használható
compat csak a passwd, shadow és group kiterjesztéseként használható

/etc/nscd.conf

Ez a fájl állítja be az nscd-t (name service cache daemon, névszervergyorsítótár-démon). Lásd man 8 nscd és man 5 nscd.conf. Alapértelmezés szerint a passwd és groups rendszerbejegyzéseit az nscd ideiglenesen tárolja. Ez a címtárszolgáltatások – például NIS és LDAP – teljesítménye miatt fontos, mivel ellenkező esetben a hálózati kapcsolatot kell használni a nevek és csoportok eléréséhez. A hosts alapértelmezés szerint nem kerül ideiglenesen tárolásra, mivel az nscd-nek a gépeket ideiglenesen tároló mechanizmusa miatt a helyi rendszer nem tud megbízni a normál és visszirányú ellenőrzésekben. Ahelyett, hogy az nscd tároltatná ideiglenesen a neveket, állítson be egy ideiglenes tárolást végző DNS-szervert.

Ha a passwd ideiglenes tárolása aktív, akkor általában tizenöt másodpercig tart az újonnan hozzáadott helyi felhasználó felismerése. A várakozási idő lecsökkenthető, ha az nscd-t az rcnscd restart parancs segítségével újraindítja.

/etc/HOSTNAME

Ez a gépnevet tartalmazza a csatolt tartománynév nélkül. Ezt a fájlt számos parancsfájl olvassa a gép indulása során. Elképezlhető, hogy csak egy sort tartalmaz, amelyben a gépnév van beállítva.
Icon-console.png A grafikus felhasználói felületek egyre fontosabbakká válnak a Linuxban, de az egér használata nem mindig a legjobb módszer a napi feladatok ellátására. A parancssor nagyfokú rugalmasságot és hatékonyságot kínál. E fejezet első részében megismerkedünk a Bash parancsértelmezővel, majd a felhasználói jogosultságok alapelveinek magyarázata, és a legfontosabb parancsok listája következik. A fejezet végén a vi szövegszerkesztő leírása található.A szöveges alkalmazások különösen a régebbi számítógépek használatakor fontosak, ahol nincs elegendő kapacitás a nagy erőforrásigényű megjelenítőrendszerek használatához.
Ez esetben virtuális konzolt használunk, ezekből hat érhető el szöveges módban. Nyomja meg az Alt-F1 -- Alt-F6 billentyűkombinációk valamelyikét. A hetedik konzol az X számára van fenntartva.

A Bash bemutatása

A KDE tálcán található egy ikon, amely egy monitort és egy kagylót ábrázol. Amikor erre az ikonra kattint, megjelenik egy parancsok bevitelére használható konzolablak. A konzol általában a Bash (Bourne again shell) programot futtatja, amelyet a GNU projekt részeként fejlesztettek ki. A parancsértelmező megnyitása után az első sorban a parancssor látható. A parancssor általában a felhasználói nevet, a gép nevét és a jelenlegi elérési útvonalat tartalmazza, azonban másképp is beállítható. Amikor a kurzor a parancssor mögött áll, közvetlenül a rendszernek adhat parancsokat.

Parancsok

Egy parancs több elemből áll. Az első elem mindig maga a parancs, amelyet paraméterek és opciók követnek. A parancsok az Enter billentyű lenyomásakor kerülnek végrehajtásra. Ennek megtörténte előtt nyugodtan szerkesztheti a parancssort, törölhet, illetve hozzáadhat paramétereket, vagy kijavíthatja a gépelési hibákat. Az egyik leggyakrabban használt parancs az ls, amely önmagában és különféle argumentumokkal együtt is használható. Ha az ls parancsot argumentumok nélkül írja be a konzolba, akkor az aktuális könyvtár tartalma jelenik meg.

A paraméterek előtt egy kötőjel (mínusz jel) áll. Az ls-l parancs például a könyvtár tartalmát teljes részletességgel mutatja meg. Minden egyes fájlnév mellett megtalálható a létrehozás dátuma, bájtban megadott mérete, és más, később tárgyalt adatok. A legtöbb parancs esetében használható a --help paraméter. Az ls --help parancs megjeleníti az ls parancs valamennyi lehetséges paraméterét.

Az ls paranccsal más könyvtárak tartalma is megtekinthető. Ehhez a megtekintendő könyvtárat paraméterként kell megadni. A Desktop könyvtár tartalma például az ls -l Desktop paranccsal jeleníthető meg.


A Bash funkciói

A parancsértelmező két fontos funkciója jelentősen megkönnyítheti a munkát:
Előzmények
Egy, már beírt parancs megismétléséhez nyomja meg (ha kell, többször) a billentyűt, amíg a korábbi parancs megjelenik a parancssorban. A korábban begépelt parancsok listájában a billentyű lenyomásával haladhat előre. A parancssor szerkesztéséhez a nyilak segítségével vigye a kurzort a kívánt helyre, és gépelje be a kívánt szöveget. Az előzményekben a Ctrl-R billentyűkombinációval végezhet keresést.
Kiegészítés
Első betűi beírása után teljes hosszára kiegészíthet egy fájlnevet, amennyiben az egyértelműen azonosítható. Ehhez írja be az első betűket, majd nyomja meg a Tab billentyűt. Ha több fájlnév is ugyanezekkel a betűkkel kezdődik, akkor a Tab billentyű kétszeri megnyomásával megkaphatja ezek listáját.

Első példa: Fájlkezelés

Most, hogy megismerte a parancsok szerkezetét, tudja, hogy milyen könyvtárakkal rendelkezik a SUSE LINUX és hogy a Bash használata során hogyan gyorsíthatja fel a munkát, ezt a tudást egy kis feladat segítségével próbálja meg átültetni a gyakorlatba is.

  1. Nyisson meg egy konzolt a KDE munkaasztalról a parancsértelmező ikonjára kattintva.
  2. A saját könyvtár tartalmának megtekintéséhez írja be az ls parancsot.
  3. Az mkdir (az angol make directory rövidítése) parancs segítségével hozzon létre egy új, teszt nevű könyvtárat (mkdir teszt).
  4. Most nyomja meg az Alt-F2 billentyűkombinációt, és írja be a kate parancsot a beviteli mezőbe a Kate szerkesztő elindításához. Írjon be néhány betűt a szerkesztőbe, majd mentse el a saját könyvtárába Tesztfajl néven (magyar nyelven telepített rendszer használata esetén az ékezetes fájlnevek sem jelenthetenek gondot, más nyelvű rendszerek esetén viszont igen, főleg az ő és ű betűk, menjünk tehát biztosra). A Linux különbséget tesz kis- és nagybetűk között. A fájlnév első betűje a jelen példában legyen nagy T.
  5. Ismét tekintse meg a saját könyvtár tartalmát. Az ls parancs újbóli beírása helyett nyomja meg kétszer a billentyűt, és az ls parancs megjelenik a parancssorban. Az Enter billentyű lenyomásával ismét kiadhatja a parancsot. Az újonnan létrehozott teszt könyvtár kék színnel, a Tesztfajl pedig feketével jelenik meg. A konzolban így lehet könnyen megkülönböztetni a fájlokat és a könyvtárakat.
  6. Az mv paranccsal helyezze át a Tesztfajl nevű fájlt a teszt alkönyvtárba. Ezt leggyorsabban a kiegészítés funkció segítségével teheti meg: csak annyit írjon be, hogy mv T, majd nyomja meg a Tab billentyűt. Ha a könyvtár nem tartalmaz más, ezzel a betűvel kezdődő fájlt, akkor a parancsértelmező kiegészíti a fájlnevet az esztfajl karaktersorozattal. Ellenkező esetben írjon hozzá még egy-két betűt, és ellenőrizze a Tab lenyomásával, hogy a parancsértelmező ki tudja-e egészíteni a nevet. Végül, írjon be egy szóközt és a teszt szót a kiegészített fájlnév után, majd a parancs végrehajtásához nyomja le az Enter billentyűt.
  7. Ha mindent pontosan csinált, a Tesztfajl eltűnt a könyvtárból. Írja be újra az ls parancsot ennek ellenőrzéséhez.
  8. Ha meg szeretne győződni róla, hogy a fájl áthelyezése sikeres volt, akkor a cd teszt paranccsal váltson át a teszt könyvtárba. Most újra adja ki az ls parancsot. Láthatja, hogy a Tesztfajl szerepel a felsorolásban. A paraméter nélkül beírt cd paranccsal bármikor visszaléphet a saját könyvtárba.
  9. Ha másolatot kíván készíteni egy fájlról, akkor használja a cp parancsot. Írja be például a cp Tesztfajl Tesztmentes parancsot, ha a Tesztfajl fájlról Tesztmentes néven szeretne másolatot készíteni. Az ls paranccsal ellenőrizheti, hogy a könyvtár mindkét fájlt tartalmazza-e.

Elérési út megadása

A fájlokkal, vagy könyvtárakkal végzett munka során fontos a megfelelő elérési utak megadása. Azonban nincs szükség a teljes (abszolút), a gyökérkönyvtárból az adott fájlra mutató elérési út megadására. Elindulhat az aktuális könyvtárból is. A saját könyvtárra a ~ jellel hivatkozhat. Ez azt jelenti, hogy a teszt könyvtárban található Tesztfajl kilistázására kétféle lehetőség van: relatív elérési út megadása az ls teszt paranccsal, vagy abszolút elérési út megadása az ls ~/teszt paranccsal.

Más felhasználók saját könyvtárának kilistázásához írja be az ls ~felhasználónév parancsot. A feljebb bemutatott könyvtárfában az egyik példafelhasználó neve tux. Ebben az esetben az ls ~tux parancs tux saját könyvtárának tartalmát jeleníti meg.

Az aktuális könyvtárra egyetlen pont beírásával lehet hivatkozni, a fa eggyel magasabb szintjére pedig két ponttal. Az ls .. parancs tehát az aktuális könyvtár szülőkönyvtárának tartalmát jeleníti meg. Az ls ../.. parancs pedig a két szinttel magasabban levő könyvtár tartalmát jeleníti meg.

Második példa: Elérési utak kezelése

Íme egy újabb a példa a SUSE LINUX rendszer könyvtárai közti navigáció szemléltetésére.
  1. A cd paranccsal váltson át saját könyvtárába. Ezután az mkdir teszt2 paranccsal hozzon létre benne egy teszt2 nevű könyvtárat.
  2. A cd teszt2 paranccsal váltson az új könyvtárba, majd abban hozzon létre egy alkönyvtárat alkönyvtár névvel. Ha át akar váltani erre a könyvtárra, használja a kiegészítés funkciót: írja be, hogy cd al, majd nyomja meg a Tab billentyűt. A parancsértelmező kiegészíti a könyvtárnevet.
  3. Most próbálja meg az előzőekben létrehozott Tesztmentes fájlt könyvtárváltás nélkül áthelyezni az aktuális könyvtárba (alkönyvtár). Ehhez meg kell adni a fájlhoz vezető relatív elérési utat: mv ../../teszt/Tesztmentes .. A parancs végén található pont azt közli a parancsértelmezővel, hogy az áthelyezés célja az aktuális könyvtár. Ebben a példában a ../../ a saját könyvtárra hivatkozik.

Helyettesítő karakterek

A parancsértelmező kényelmi szolgáltatásai közé tartozik a helyettesítő karakterek használata is. A Bash négyféle helyettesítő karaktert ismer:
?
Pontosan egy tetszőleges karaktert helyettesít
*
Tetszőleges számú karaktert helyettesít
[aeiou]
Egyetlen karaktert helyettesít, amely a szögletes zárójelek között található karakterek bármelyike lehet, vagyis ebben az esetben ez a aeiou karaktersorozat bármelyik karaktere
[!aeiou]
Egyetlen, a szögletes zárójelek között levő karakterek (aeiou) mindegyikétől eltérő karaktert helyettesítAmennyiben a teszt könyvtár a Tesztfajl, Tesztfajl1, Tesztfajl2 és adatfajl nevű fájlokat tartalmazza, akkor az ls Tesztfajl? parancs a Tesztfajl1 és Tesztfajl2 fájlokat fogja kilistázni. Az ls Teszt* parancs esetében már a Tesztfajl is szerepelni fog a listán. Az ls *faj* parancs valamennyi példafájlt megjeleníti. Végül, a halmaz helyettesítővel az összes számra végződő fájl megadható: ls Tesztfajl[1-9].

A négy helyettesítő közül a csillag a leghatékonyabb. Ennek segítségével egyetlen parancs elegendő egy könyvtár összes fájljának másolásához, vagy törléséhez. Az rm *faj* parancs például az összes, a nevében a faj karaktersorozatot tartalmazó fájlt törli az aktuális könyvtárban.

A less és a more parancsok

A Linux két kis programmal teszi lehetővé szöveges fájlok megtekintését közvetlenül a parancsértelmezőben. Egy Olvassel.txt fájl megtekintéséhez például nem kell külön szövegszerkesztőt elindítani, elég begépelni a less Olvassel.txt parancsot, hogy a szöveg megjelenjen a konzolablakban. A szóköz billentyű segítségével lapozhat előre egy oldalt. A Page Up és a Page Down billentyűkkel mozoghat előre és hátra a szövegben. A less programból való kilépéshez a Q billentyűt kell megnyomni.

A less helyett a régebbi more program is használható. Ez azonban kevésbé kényelmes, mivel nem teszi lehetővé a visszafelé lapozást.

A less program, amelynek neve onnan származik, hogy a kevesebb több (less is more, vagyis a less program több [mint a more]), egy parancs kimenetének kényelmes megjelenítésére is alkalmas. Ennek működéséről további információ: Átirányítások.

Átirányítások

A parancsértelmező szabványos kimenete a képernyő vagy a konzolablak, szabványos bemenete pedig a billentyűzet. Ha viszont egy parancs kimenetét egy alkalmazásnak, például a less programnak szeretné továbbítani, akkor egy átirányítás használatára lesz szükség.

A teszt könyvtárban található fájlok megtekintéséhez írja be az ls teszt parancsot. Ekkor a less jeleníti meg a teszt könyvtár tartalmát. Ennek persze főleg akkor van értelme, ha az ls parancs alapértelmezett kimenete túl hosszú lenne. Ha például a dev könyvtár tartalmát próbálja megjeleníteni az ls /dev paranccsal, akkor csak a kimenet egy kis része fér el az ablakban. A teljes lista kényelmesen az ls /dev paranccsal tekinthető meg.

A parancsok kimenete fájlokba is menthető. Az ls teszt > Tartalom parancs létrehoz egy új fájlt Tartalom néven, amely a teszt könyvtárban található fájlok és alkönyvtárak listáját tartalmazza. A fájl a less Tartalom paranccsal tekinthető meg.

Fájlok a parancsok bemeneteként is használhatók. A Tesztfajl szöveges sorainak rendezését például a sort < Tesztfajl paranccsal végezheti el. A sort parancs kimenete a képernyőre kerül. A szöveg rendezése az egyes sorok kezdőbetűje alapján történt.

Ha a rendezett listát egy új fájlba szeretné íratni, irányítsa a sort parancs kimenetét egy fájlba. Ennek kipróbálásához egy szerkesztővel hozzon létre egy rendezetlen névlistát, majd mentse el a teszt könyvtárba lista néven. Ezután váltson át a teszt könyvtárba, és írja be a sort < lista > rendezettlista parancsot. A rendezett lista megint csak a less paranccsal jeleníthető meg kényelmesen.

A szabványos kimenethez hasonlóan a szabványos hibakimenet is a konzolra kerül. Ha a szabványos hibakimenetet egy hibak nevű fájlba szeretné irányítani, akkor a parancsot egészítse ki a 2> hibak paraméterrel. Az &> osszeskimenet paraméter használata esetén mind a szabványos kimenet, mind a hibakimenet az osszeskimenet nevű fájlba kerül mentésre. Ha a kimenetet egy már létező fájlhoz kívánja hozzáfűzni, akkor a paraméterben egyetlen > helyett >> kell, hogy szerepeljen.

Archívumok és adattömörítés

Most, hogy már létrehozott egy sor fájlt és könyvtárat, érdemes egy kicsit foglalkozni az archívumok és az adattömörítés témakörével. Tegyük fel, hogy a teljes teszt könyvtárat egyetlen fájlba szeretné csomagolni, amely biztonsági másolatként például hajlékonylemezre menthető, vagy e-mailben elküldhető. Erre a tar (angolul tape archiver, szalagos archiváló) parancs használható. A tar használható paraméterei a tar --help paranccsal jeleníthetők meg. A legfontosabb paramétereket alább bemutatjuk:
-c
(create) Új archívum létrehozása.
-t
(table) Archívum tartalmának megjelenítése.
-x
(eXtract) Archívum kicsomagolása.
-v
(verbose) Az archívum létrehozása során az összes fájl megjelenítése a képernyőn.
-f
(file) Az archívumfájl nevének megadása. Archívum létrehozásakor ezt a beállítást mindig utolsóként kell megadni.Ha a teszt könyvtárat és annak összes fájlját, illetve alkönyvtárát szeretné a tesztarchivum.tar fájlba csomagolni, akkor használja a -c és a -f paramétereket. Ellenőrzési célból hozzáadhatja a -v paramétert is, hogy az archiválás folyamatát nyomon követhesse, bár ez nem kötelező. Miután a cd paranccsal a teszt könyvtárat tartalmazó saját könyvtárába lépett, adja ki a tar -cvf tesztarchivum.tar teszt parancsot. Ezután az archívum tartalma a tar -tf tesztarchivum.tar paranccsal jeleníthető meg. A teszt könyvtár és annak valamennyi fájlja és alkönyvtára változatlanul megtalálható a merevlemezen. Az archívum a tar -xvf tesztarchivum.tar paranccsal csomagolható ki (ezt egyelőre még ne tegye meg).

Fájltömörítéshez Linux alatt a népszerű gzip program a kézenfekvő választás. Írja be, hogy gzip tesztarchivum.tar. Az ls parancs megmutatja, hogy a tesztarchivum.tar fájl már nem létezik, viszont helyette létrehozásra került egy tesztarchivum.tar.gz elnevezésű fájl. Ez a fájl sokkal kisebb, így sokkal könnyebben küldhető el e-mailben, illetve tárolható bárhol, például hajlékonylemezen.

Most csomagolja ki ezt a fájlt a korábban létrehozott teszt2 könyvtárba. Ehhez a cp tesztarchivum.tar.gz teszt2 paranccsal másolja a fájlt a teszt2 könyvtárba. A cd teszt2 paranccsal váltson át a teszt2 könyvtárba. A .tar.gz kiterjesztésű tömörített archívumok a gunzip paranccsal csomagolhatók ki. Beírva a gunzip tesztarchivum.tar.gz parancsot , eredményül a tesztarchivum.tar fájlt kapja, amit ezután a tar parancs használatával lehet kibontani. Írja be tehát, hogy tar -xvf tesztarchivum.tar. Egy tömörített archívum egy lépésben is kicsomagolható és kibontható a -z opció hozzáadásával. A teljes parancs ebben az esetben: tar -xzvf tesztarchivum.tar.gz. Az ls parancs megmutatja, hogy egy új teszt könyvtár jött létre, amelynek tartalma megegyezik a saját könyvtárban található teszt könyvtáréval.

mtools

Az mtools egy parancsgyűjtemény MS-DOS fájlrendszerek kezeléséhez. Az mtools segítségével az elsődleges hajlékonylemez-meghajtóra az MS-DOS alatt megszokott módon a: használatával hivatkozhat, és a parancsok elnevezései is lényegében megegyeznek az MS-DOS alatt használt parancsokéval, csupán egy m betűt kell eléjük írni:
mdir a:
megjeleníti az a: meghajtóban található hajlékonylemez tartalmát
mcopy Tesztfajl a:
a Tesztfajl nevű fájlt a hajlékonylemezre másolja
mdel a:Tesztfajl
törli a Tesztfajl nevű fájlt az a: meghajtóban található lemezről
mformat a:
MS-DOS formátumúra formázza a hajlékonylemezt (az fdformat parancs segítségével)
mcd a:
az a: lesz az aktuális könyvtár
mmd a:teszt
teszt néven alkönyvtárat hoz létre a hajlékonylemezen
mrd a:teszt
törli a hajlékonylemezről a teszt nevű alkönyvtárat

Takarítás

Reméljük, e rövid ismertető után tisztában van a Linux parancsértelmező és a parancssor alapfogalmaival. A saját könyvtár kitakarításához használja az rm és az rmdir parancsokat, ezekkel lehet törölni a különböző tesztfájlokat, illetve a tesztkönyvtárakat. A fejezet végén megtalálja a legfontosabb parancsokat és rövid leírásukat.

Felhasználók és hozzáférési jogosultságok

A kilencvenes évek elején történt bemutatkozása óta a Linuxot többfelhasználós rendszerként fejlesztették. Egyidejűleg bármennyi felhasználó használhatja. A felhasználóknak bejelentkezési nevükkel és a hozzá tartozó jelszóval munkafolyamat indítása előtt be kell jelentkezniük a rendszerbe. A felhasználók ezen megkülönböztetése garantálja, hogy jogosulatlan személyek nem láthatnak olyan fájlokat, amelyre nincs engedélyük. A rendszer nagyobb módosításai (például új programok telepítése) gyakran szintén lehetetlenek vagy korlátozott mértékben hajthatók végre a normál felhasználók számára. Csak a root, vagy super user rendelkezik korlátlan lehetőségekkel a rendszer módosítására, és csak neki van minden fájlhoz hozzáférése. Azok, akik bölcsen használják ezt az alapelvet, csak akkor jelentkeznek be teljes root jogosultsággal, ha szükséges, ezzel csökkentve a véletlen adatvesztés kockázatát. Mivel normál körülmények között csak a rendszergazda törölhet rendszerfájlokat a merevlemezről, a trójai faló effektus vagy a véletlenül beírt romboló parancsok veszélye jelentősen csökkenthető.

Fájlrendszer-jogosultságok

A Linux-fájlrendszerben alapvetően minden fájl egy felhasználóhoz és egy csoporthoz tartozik. A tulajdonosok és mások írási, olvasási vagy végrehajtási jogosultsággal rendelkezhetnek a fájlokra vonatkozóan.

Egy csoport ebben az esetben a kapcsolatban álló felhasználók halmazaként definiálható, akik rendelkeznek bizonyos közös jogokkal. Adjuk például egy adott projekten dolgozó csoportnak a project3 nevet. Minden Linux-rendszeren dolgozó felhasználó tagja legalább egy tulajdonosi csoportnak, amely általában a users. A rendszeren annyi csoport létezhet, amennyire csak szükség van, de csak a root vehet fel csoportokat. A groups paranccsal minden felhasználó megtudhatja, hogy melyik csoportnak tagja.

Fájlhozzáférés
A fájlrendszer jogosultságainak szerveződése eltér a fájlok és a könyvtárak esetében. A fájljogosultságokkal kapcsolatos adatok az ls -l paranccsal jeleníthetők meg. A kimenet valahogy így fog kinézni:

Example: Minta kimenet a fájljogosultságok bemutatására

-rw-r----- 1 tux project3 14197 Jun 21  15:03 Roadmap
Amint az a harmadik oszlopban látható, ez a fájl a tux nevű felhasználóhoz tartozik és a project3 csoporthoz van hozzárendelve. A Roadmap fájl felhasználói jogoultságainak megállapításához az első oszlopot közelebbről is meg kell vizsgálni.
Az oszlop egy bevezető karakterrel kezdődik, amelyet háromszor három karakter követ. A tíz karakter közül az első a fájlrendszer-komponens típusát jelöli. A kötőjel () azt mutatja, hogy ez egy fájl. Lehet még könyvtár (d), hivatkozás (l), blokkeszköz (b) vagy karakteres eszköz (c).
A következő három blokk egy szabványos mintát követ. Az első karakterek jelzik, hogy a fájl olvasható-e (r), vagy nem (). A középső w azt jelzi, hogy a vonatkozó objektum szerkeszthető, a kötőjel () pedig azt, hogy nem módosítható. A harmadik pozicióban található x azt mutatja, hogy az objektum végrehajtható. Mivel a példában szereplő fájl egy szöveges állomány, és nem olyan, amit végre lehetne hajtani, ennek az adott fájlnak a végrehajtási jogosultsága felesleges.
A példában a tux felhasználónak a Roadmap, fájl tulajdonosaként olvasási (r) és írási (w) jogosultsága van hozzá, de nem hajthatja végre (x). A project3 csoport tagjai olvashatják a fájlt, de nem módosíthatják és nem hajthatják végre. A többi felhasználó semmilyen jogosultsággal nem rendelkezik a fájlhoz. Más jogosultságok az ACL-ek (hozzáférés-vezérlési listák) segítségével rendelhetők hozzá. Részletes információ: Hozzáférés-vezérlési listák; további háttéradatok találhatók még az Adminisztrátori kézikönyv megfelelő fejezetében.
Könyvtár-jogosultságok
A könyvtárak hozzáférési jogosultságának a típusa d. Könyvtárak esetében az egyedi jogosultságoknak egy kicsit eltérő a jelentése.


Example: Minta kimenet a könyvtár-jogosultságok bemutatására

drwxrwxr-x 1 tux project3 35 Jun 21 15:15  ProjectData
A példában könnyű felismerni a ProjectData könyvtár tulajdonosát (tux) és tulajdonos csoportját (project3). A fájlhozzáférési jogosultságoktól eltérően a beállított olvasási jogosultság (r) azt jelenti, hogy a könyvtár tartalma megjeleníthető. Az írási (w) jogosultság azt jeleni, hogy új fájlokat lehet létrehozni. A végrehajtható jogosultság (x) azt jelenti, hogy a felhasználó beléphet a könyvtárba. A fenti példában ez azt jelenti, hogy a tux felhasználó, valamint a project3 csoport tagjai egyaránt beléphetnek aProjectData könyvtárba, (x), láthatják a tartalmát (r), és fájlokat adhatnak hozzá vagy törölhetnek (w) onnan. A többi felhasználónak azonban kevesebb jogot biztosít. Beléphetnek a könyvtárba (x), böngészhetnek benne (r), de nem helyezhetnek el új fájlokat (w).

A fájljogosultságok módosítása

Hozzáférési jogosultságok módosítása
Fájl vagy könyvtár hozzáférési jogosultságait a tulajdonos, valamint a root módosíthatja achmod parancssal, jogosultságokat módosító paraméterekkel, valamint egy vagy több fájlnévvel. A paraméterek különféle kategóriákba sorolhatók:
  1. felhasználókra vonatkozók
    • u (user)–a fájl tulajdonosa
    • g (group)–a fájlt birtokló csoport
    • o (others)–a további felhasználók (ha nincs megadva paraméter, a változások az összes kategóriára vonatkozni fognak)
  2. egy karakter a törléshez (), a beállításhoz (=) vagy a beszúráshoz (+)
  3. a rövidítések
    • rread (olvasás)
    • wwrite (írás)
    • xexecute (végrehajtás)
  4. fájlnév vagy fájlnevek szóközökkel elválasztva
Ha például a tux felhasználó írási (w) jogosultságot is szeretne adni a többi felhasználónak a ProjectData könyvtárhoz, akkor ezt a chmod o+w ProjectData parancs segítsésével teheti meg.
Ha viszont (a sajátján kívül) minden más felhasználó írási jogosultságát le szeretné tiltani, akkor a következő parancsot kell megadnia: chmod go-w ProjectData. Ha minden felhasználó számára meg szeretné tiltani, hogy új fájlt adjanak hozzá a ProjectData mappához, akkor adja ki a chmod -w ProjectData parancsot. Mostantól senki más (még a tulajdonos sem) írhatja a fájlokat, amíg az írási jogosultság visszaállításra nem kerül.
A tulajdonosi jogosultságok módosítása
A fájlrendszer-összetevők tulajdonjogának és jogosultságainak vezérlésére szolgáló egyéb fontos parancsok a chown (change owner) és a chgrp (change group). A chown a tulajdonjog egy másik felhasználónak történő átadására szolgál, ilyen változás azonban csak root jogosultsággal lehetséges.
Tegyük fel, hogy a Roadmap fájlnak már nem a tux felhasználóhoz, hanem a geeko felhasználóhoz kell tartoznia. A root felhasználónak a következőt kell beírnia: chown geeko Roadmap.
A chgrp módosítja a fájlt birtokló csoportot. A fájl tulajdonosának azonban szerepelnie kell az új csoportban. Ezen a módon a tux felhasználó átállíthatja a ProjectData fájlt birtokló csoportot a project4 értékre a chgrp project4 ProjectData parancs használatával, feltéve, hogy ő is tagja az új csoportnak.

A setuid bit

Bizonyos helyzetekben a hozzáférési jogosultságok túlságosan korlátozók lehetnek. A Linuxnak emiatt vannak olyan további beállításai, amelyek lehetővé teszik az aktuális felhasználó és csoport-azonosság ideiglenes megváltoztatását egy adott művelet erejéig. A passwd programnak általában root jogosultságokra van szüksége az /etc/passwd fájl eléréséhez. Ez a fájl fontos adatokat tárol, például a felhasználók saját könyvtáráról, vagy a felhasználói és csoportazonosítókról. Egy normál felhasználó éppen ezért nem módosíthatja a passwd fájlt, mivel túl veszélyes lenne közvetlen elérést biztosítani minden felhasználónak ehhez az állományhoz. A probléma egyik lehetséges megoldása a setuid mechanizmus. A setuid (set user ID) egy speciális fájlattribútum, amely arra utasítja a rendszert, hogy bizonyos, megfelelően megjelölt programokat egy adott felhasználói azonosító nevében hajtson végre. Figyeljük meg a passwd parancsot:

-rwsr-xr-x  1 root shadow 80036 2004-10-02 11:08 /usr/bin/passwd

Látható, hogy beállításra került az s bit a felhasználói jogosultságokhoz. A setuid bit használatával minden felhasználó elindíthatja a passwd parancsot, és root jogosultságokkal hajthatja végre.

A setgid bit

A setuid attribútum felhasználókra érvényes. Van azonban egy ehhez hasonló tulajdonság csoportokra is: a setgid attribútum. Az a program, amelyhez ezt az attribútumot megadják, azzal a csoportazonosítóval fog futni, amellyel elmentésre került, mindegy, melyik felhasználó indítja el. Emiatt egy setgid bittel rendelkező könyvtárban minden újonnan létrehozott fájl és alkönyvtár ahhoz a csoporthoz fog tartozni, amelyhez a könyvtár is tartozik. Nézzük a következő példa könyvtárat:

drwxrws---   2 tux archive   48 Nov 19 17:12 backup

Látható, hogy beállításra került az s bit a csoportjogosultságoknál. A könyvtár tulajdonosa és az archive csoport tagjai elérhetik ezt a könyvtárat. A csoporthoz nem tartozó felhasználók »leképezésre« kerülnek a megfelelő csoportba; az összes megírt fájl hatályos csoportazonosítója az archive lesz. Egy mentőprogram például, amely az archive csoportazonosítóval fut, képes lesz ennek a könyvtárnak az elérésére anélkül, hogy root jogosultságokkal rendelkezne.

A ragadós (sticky) bit

Létezik még az úgynevezett ragadós (sticky) bit. Ez mást jelent, ha egy végrehajtható programhoz és mást, ha egy könyvtárhoz tartozik. Ha programhoz tartozik, akkor az ezzel jelölt fájl betöltésre kerül a RAM-ba, hogy ne kelljen minden alkalommal a merevlemezről beolvasni, amikor szükség van rá. Ezt az attribútumot ritkán használják, mivel a modern merevlemezek már elég gyorsak. Ha az attribútum egy könyvtárhoz tartozik, akkor megelőzi, hogy a felhasználók letörölhessék egymás fájljait. Tipikus példa a /tmp és /var/tmp könyvtár:

drwxrwxrwt   2 root  root   1160 2002-11-19 17:15 /tmp

Hozzáférés-vezérlési listák

A Linux fájlrendszer-objektumok (például a fájlok vagy könyvtárak) hagyományos elérési alapelvei kibővíthetők ACL-ek (hozzáférés-vezérlési listák) segítségével. Ezek lehetőséget adnak egyedi felhasználók vagy csoportok jogosultságainak hozzárandelésére a fájlrendszeri objektum eredeti tulajdonosán vagy birtokosi csoportján kívül is.

A kiterjesztett hozzáférési jogosultságokat hordozó fájlok vagy könyvtárak egy egyszerű ls -l paranccsal felismerhetők:

-rw-r--r--+ 1 tux project3 14197 Jun 21  15:03 Roadmap

Az ls kimenete nem sok változást mutat egy ACL nélküli fájl ls kimenetéhez képest. A Roadmap fájl tulajdonosa tux, aki a project3 csoportba tartozik. tux mind írási, mind olvasási jogosultsággal rendelkezik a fájlhoz, mindenki másnak pedig olvasási jogosultsága van. A fájlt egyetlen dolog különbözteti meg az ACL nélküli fájloktól: az első oszlopban található, engedélybiteket hordozó + jel.

Az ACL-ről részletes információkat kaphat a getfacl Roadmap végrehajtásával:

# file: Roadmap
# owner: tux
# group: project3
user::rw-
user:jane:rw-       effective: r--
group::r--
group:djungle:rw-   effective: r--
mask::r--
other::---

A kimenet első három sora nem tartalmaz az ls -l paranccsal el nem érhető adatokat. Ezek csak a fájlnevet, a tulajdonost és a birtokos csoportot jelzik. A 4-9. sorok tartalmazzák az ACL-bejegyzéseket. A hagyományos hozzáférési jogosultságok csak egy részhalmaza azoknak, amelyeket az ACL-lel be lehet állítani. A példa ACL írási és olvasási jogosultságokat ad a fájl tulajdonosának, valamint jane felhasználónak (4.-5. sor). A hagyományos alapelvek egy újabb felhasználó hozzáférésének engedélyezésével is bővültek. Ugyanez vonatkozik a csoportelérésre. A birtokos csoport olvasási jogosultsággal rendelkezik (6. sor), a djungle csoport írási és olvasási jogosultsággal. A 8. sor mask bejegyzése olvasási jogosultságra mérsékli jane felhasználó és a djungle csoport hatályos jogosultságait. A többi felhasználó és csoport semmilyen hozzáférést nem kap a fájlhoz (9. sor).

Itt csak a legalapvetőbb ismereteket tekintettük át. Ha többre is kíváncsi, olvassa el az Adminisztrátori kézikönyv ACL-ről szóló részeit.

Fontos Linux-parancsok

Ez a fejezet a SUSE LINUX rendszer legfontosabb parancsait tekinti át. Az egyes parancsok mellett megtalálható a paraméterek felsorolása, illetve, ahol lehet, egy jellemző alkalmazási példa. A parancsokról további információ a kézikönyv- (man) oldalakon található. Ezek úgy érhetők el, ha a beírja a man parancsot és a lekérdezni kívánt parancs nevét, azaz például man ls.

A kézikönyvoldalakon belül a PgUp és a PgDn billentyűkkel lapozhat előre, illetve hátra. A dokumentum elejére, vagy végére a Home, illetve az End billentyűkkel lehet ugrani. A megtekintési módból a Q megnyomásával léphet ki. A man parancsról magáról is kérhető információ: írja be, hogy man man.

A jelen fejezetben felsoroltaknál sokkal több parancs létezik. Részletesebb, illetve további parancsokat lefedő leírás például az O'Reilly Linux in a Nutshell című kiadványában található. Az alábbi áttekintésben az egyes parancselemek különböző betűképpel szerepelnek.

Maga a parancs, és annak kötelező paraméterei parancs paraméter formában vannak megadva. Az elhagyható meghatározások és paraméterek [szögletes zárójelbe] kerültek.

A paramétereket a saját igényeinek megfelelően használja. Az ls fajl parancsnak semmi értelme, ha nincsenek fajl elnevezésű fájlok. A paraméterek általában egybe is írhatók, azaz például az ls -la parancs ugyanazt jelenti, mint az ls -l -a.

Fájlparancsok

Az alábbi fejezet felsorolja a fájlkezelés legfontosabb parancsait, az általános fájlkezeléstől egészen a fájlrendszer hozzáférésvezérlési listáig.

Fájlkezelés

ls[paraméter(ek)][fájl(ok)]
Az ls program paraméterek nélkül futtatva az aktuális könyvtár tartalmát listázza ki rövid formában.
-l
Részletes lista
-a
Rejtett fájlok megjelenítése
cp[paraméter(ek)]forrás cél
A forrás fájlt a cél fájlba másolja.
-i
Már létező cél felülírása előtt megerősítésre vár
-r
Rekurzívan (az alkönyvtárakkal együtt) másol
mv[paraméter(ek)]forrás cél
A forrás fájlt a cél fájlba másolja, majd törli az eredeti forrás fájlt.
-b
Az áthelyezést megelőzően biztonsági másolatot készít a forrás fájlról
-i
Már létező cél felülírása előtt megerősítésre vár
rm[paraméter(ek)]fájl(ok)
A megadott fájlokat eltávolítja a fájlrendszerből. Könyvtárakat az rm parancs nem távolít el, csak a -r paraméter megadása esetén.
-r
Törli a létező alkönyvtárakat
-i
Minden egyes fájl törlése előtt megerősítést kér.
ln[paraméter(ek)]forráscél
A forrás nevére mutató belső hivatkozást hoz létre cél néven. Általában egy ilyen hivatkozás közvetlenül a forrás nevére mutat ugyanabban a fájlrendszerben. Ha azonban az ln parancsban az -s paramétert is megadja, akkor egy úgynevezett szimbolikus link jön létre, amely csupán a forrást tartalmazó könyvtárra mutat. Ez lehetővé teszi a különálló fájlrendszerek közötti hivatkozást is.
-s
Szimbolikus hivatkozás létrehozása
cd[paraméter(ek)][könyvtár]
Megváltoztatja az aktuális könyvtárat. A paraméterek nélkül beírt cd parancs a felhasználó saját könyvtárára vált.
mkdir[paraméter(ek)]könyvtárnév
Új könyvtár létrehozása.
rmdir[paraméter(ek)]könyvtárnév
Törli a megadott könyvtárat, amennyiben az már üres.
chown[paraméter(ek)] felhasználónév[:[csoport]]fájl(ok)
Egy fájl tulajdonjogát a felhasználói név által meghatározott felhasználóhoz rendeli.
-R
Az alkönyvtárakban található fájlok és könyvtárak tulajdonjogát is módosítja.
chgrp[paraméter(ek)]csoportnévfájl(ok)
Egy adott fájl csoport-tulajdonjogát a megadott csoportnévhez tartozó csoportnak adja. A fájl tulajdonosa csak akkor változtathatja meg a csoport-tulajdonjogot, ha mind a jelenlegi, mind az új csoportnak tagja.
chmod[beállítások]módfájl(ok)
Módosítja a hozzáférési jogosultságokat.
A mód paraméter három részből áll: csoport, operátor, és hozzáférés típusa. A csoport részben az alábbi karakterek használhatók:
u
felhasználó
g
csoport
o
mások
A hozzáférés a + jellel engedélyezhető és a - jellel tiltható le, valamint az = jellel definiálhatjuk az új hozzáférési jogosultságot.
A hozzáférés típusa a következő beállításokkal adható meg:
r
olvasás
w
írás
x
futtatás – fájlok futtatása, illetve könyvtár esetén belépés a könyvtárba
s
Set uid bit – az alkalmazás, vagy program úgy indul, mintha a fájl tulajdonosa futtatná
Másik lehetőségként oktális kód használatára is lehetőség van a fentebb leírt mód helyett. A kód négy számjegyből áll. A kód négy számjegye a 4, 2 és 1 értékek összegéből áll. Bármely számjegy elhagyása a szám elejéről nulla számjeggyel egyenértékű.
Az első számjegy a set user ID (SUID) (4), a set group ID (2), és a sticky (1) kapcsolókat állítja be. A második számjegy a fájl tulajdonosának jogosultságait adja meg. A harmadik a csoporttagok jogosultságait, az utolsó számjegy pedig az összes többi felhasználó jogosultságait határozza meg.
Az olvasási jogosultság értéke 4, az írási jogosultságé 2, a fájl futtatására vonatkozó jogosultságé pedig 1.
gzip[paraméterek]fájl(ok)
Ez a program különféle matematikai algoritmusok segítségével veszteségmentesen összetömöríti a megadott fájlok tartalmát. Az ilyen módon tömörített fájlok egy .gz kiterjesztésű fájlba kerülnek. Újbóli használatukhoz ki kell őket csomagolni. Több fájl, vagy akár teljes könyvtárak tömörítésére a tar parancs használható.
-d
Kicsomagolja az összetömörített gzip fájlokat, így azok újra eredeti méretűek és a megszokott módon felhasználhatók lesznek (ugyanaz, mint a gunzip parancs)
tar beállítások archívumfájl(ok)
A tar egybefüggő archívumot készít fájlokból. A tömörítés nem kötelező. A tar meglehetősen összetett, számos beállítási lehetőséggel rendelkező parancs. A leggyakrabban használt paraméterek:
-f
A kimenetet egy fájlba írja, és nem a képernyőre, ahogy az általában szokásos
-c
Új tar archívumot hoz létre
-r
Fájlok hozzáadása meglévő archívumhoz
-t
Kiírja egy archívum tartalmát
-u
Akkor veszi fel a fájlokat az archívumba, ha azok újabbak, mint az archívumban találhatók
-x
Fájlokat csomagol ki egy archívumból (az angol eXtraction szóból)
-z
A gzip programmal tömöríti az eredményül kapott archívumot
-j
A bzip2 programmal tömöríti az eredményül kapott archívumot
-v
Kilistázza a feldolgozott fájlokat:A tar által létrehozott archívumfájlok .tar kiterjesztésre végződnek. Ha a tar archívum a gzip programmal tömörítésre kerül, akkor a kiterjesztése .tgz, vagy .tar.gz lesz. Ha a tömörítést a bzip2 program végezte, akkor a kiterjesztés .tar.bz2 lesz. Alkalmazási példák az alábbi helyen találhatók: Archívumok és adattömörítés.
locateminta(/minták)
Ez a parancs csak akkor áll rendelkezésre, ha a findutils-locate csomag telepítésre került. A locate parancs megmutatja, hogy a megadott fájl melyik könyvtárban található. A fájlnevek megadásához igény szerint helyettesítő karakterek is használhatók. A program rendkívül gyors, mivel egy erre a célra létrehozott adatbázist használ (nem pedig a teljes fájlrendszert vizsgálja át). Ennek azonban egy jelentős hátránya is van: a locate nem talál meg adatbázisának legutóbbi frissítése óta létrehozott fájlokat. Az adatbázist a root felhasználó hozhatja létre az updatedb paranccsal.
updatedb[paraméter(ek)]
Ez a parancs a locate parancs által használt adatbázist frissíti. Valamennyi könyvtár fájljainak felvételéhez a programot root felhasználóként kell elindítani. Jó ötlet egy & karakter hozzáfűzésével a háttérben futtatni, így a parancssori munka azonnal folytatható (updatedb &). A parancs általában naponta végrehajtott ütemezett feladatként fut (lásd a cron.daily fájlt).
find[paraméter(ek)]
A find parancs egy megadott könyvtárban keres egy fájlt. Az első paraméter a keresés helyéül szolgáló könyvtár. A -name paramétert egy kulcsszónak kell követnie, amely helyettesítő karaktereket is tartalmazhat. A locate paranccsal szemben, amely saját adatbázist használ a kereséshez, a find parancs a tényleges könyvtárat nézi végig.

Fájlok tartalmát megjelenítő parancsok

cat[paraméter(ek)]fájl(ok)
A cat parancs egy fájl tartalmát jeleníti meg úgy, hogy azt megszakítás nélkül kiírja a képernyőre (pontosabban a standard kimenetre).
-n
A bal oldalon megszámozza a kimenetet
less[paraméter(ek)]fájl(ok)
A parancs lehetővé teszi egy adott fájl tartalmának kényelmes átolvasását. A PgUp és PgDn billentyűkkel egy fél oldalt lapozhat hátra, illetve előre, a Szóköz billentyűvel pedig egy teljes oldalt lapozhat előre. A Home és End billentyűkkel a fájl elejére, illetve végére ugorhat. A programból a Q billentyű lenyomásával léphet ki.
grep[paraméter(ek)]kulcsszófájlnevek
A grep parancs egy adott kulcsszót keres a megadott fájl(ok)ban. Ha a keresés sikeres, akkor a parancs megjeleníti a fájlnevet, és azt a sort, amelyben a kulcsszó előfordul.
-i
Kis- és nagybetűk közti különbség figyelmen kívül hagyása
-H
Csak a megfelelő fájlok nevét adja meg, a tényleges szövegsorokat nem
-n
Megadja azon sorok számát is, amelyekben a kulcsszó előfordul
-l
Csak azokat a fájlokat sorolja fel, amelyekben a kulcsszó nem található meg
diff[paraméter(ek)]fájl1fájl2
A diff parancs két tetszőleges fájl tartalmát hasonlítja össze. A program kimenete az eltérő sorokat sorolja fel. Ezt gyakran használják programozók, akiknek csak egy program módosításait kell elküldeniük, nem a teljes forráskódot.
-q
Csak azt közli, hogy a két fájl különbözik-e.
-u
A parancs kimenete »egységes«, így olvashatóbb lesz

Fájlrendszerek

mount[paraméter(ek)][eszköz]csatolási pont
Ezzel a paranccsal tetszőleges adathordozót, például merevlemezt, CD-ROM meghajtót, vagy más meghajtókat csatolhatunk a Linux fájlrendszer megadott alkönyvtárához.
-r
csak olvasható csatolás
-t fájlrendszer
Megadja a fájlrendszert, amely általában ext2 Linux merevlemezek, msdos MS-DOS adathordozók, vfat Windows fájlrendszerek és iso9660 CD-k esetében:Az /etc/fstab fájlban nem meghatározott merevlemezek esetében az eszköz típusát is meg kell adni. Ebben az esetben csak a root felhasználó csatolhatja a meghajtót. Ha a fájlrendszer csatolására más felhasználónak is képesnek kell lennie, akkor írja be a user beállítást az /etc/fstab fájl megfelelő sorába (vesszővel elválasztva), majd mentse el a módosításokat. További információ a mount(1) kézikönyvoldalon olvasható.
umount[paraméter(ek)]csatolási pont
Ez a parancs leválaszt egy csatolt meghajtót a fájlrendszerről. Az adatvesztés megakadályozása érdekében hajtsa végre ezt a parancsot, mielőtt egy cserélhető adathordozót eltávolít a meghajtóból. Általában csak a root felhasználó futtathatja a mount és umount parancsokat. Ha más felhasználók számára is lehetővé kívánja tenni e parancsok használatát, akkor módosítsa a /etc/fstab fájlt, és adja meg a user opciót az adott meghajtóhoz.

Rendszerparancsok

Az alábbi részben a rendszerinformáció lekérdezésére, és a folyamat-, illetve hálózatvezérlésre használt legfontosabb parancsok felsorolása következik.

Rendszerinformáció

df[paraméter(ek)][könyvtár]
A df (angolul disk free) parancs beállítások nélküli futtatása információt jelenít meg a teljes lemezterületről, a jelenleg használatban levő lemezterületről és az összes csatolt meghajtón levő szabad területről. Egy könyvtár megadása esetén csak a könyvtárat tartalmazó meghajtóra vonatkozó adatok kerülnek megjelenítésre.
-h
A foglalt blokkok számát mutatja meg gigabájtban, megabájtban vagy kilobájtban – könnyen olvasható formátumban
-T
A fájlrendszer típusa (ext2, nfs stb.)
du[paraméter(ek)][elérési út]
Paraméterek nélkül futtatva a jelenlegi könyvtárban található fájlok és alkönyvtárak által lefoglalt teljes lemezterületet jeleníti meg.
-a
Minden egyes fájl méretét megjeleníti
-h
A kimenet könnyen olvasható formátumú lesz
-s
Csak a kiszámított teljes méretet jeleníti meg
free[paraméter(ek)]
A free parancs a RAM és a lapozóterület használatáról jelenít meg tájékoztatást, megmutatva a teljes és a használatban levő terület méretét mindkét kategóriában.
-b
Kijelzés bájtban
-k
Kijelzés kilobájtban
-m
Kijelzés megabájtban
date[paraméter(ek)]
Ez az egyszerű program az aktuális rendszeridőt jeleníti meg. Ha a root felhasználó indítja, akkor a rendszeridő megváltoztatására is használható. A programról további részletek a man date(1) paranccsal jeleníthetők meg.

Folyamatok

top[paraméter(ek)]
A top parancs a jelenleg futó folyamatokról nyújt gyors áttekintést. A H billentyű megnyomására a program testreszabásának fő lehetőségeit röviden bemutató oldal nyílik meg.
ps[paraméter(ek)][folyamatazonosító]
Paraméterek nélkül futtatva a parancs megjeleníti az összes saját programot vagy folyamatot – azokat, amelyeket Ön indított el. E parancs paramétereit kötőjel nélkül kell megadni.
aux
Valamennyi folyamatot megjeleníti, tulajdonosaiktól függetlenül
kill[paraméter(ek)]folyamatazonosító
Sajnos a programok néha nem zárhatók be a szokásos módon. A legtöbb esetben azonban az ilyen programok leállíthatók a kill parancs futtatásával, és az megfelelő folyamatazonosítók megadásával (lásd a top és ps parancsokat). A kill parancs egy TERM szignált küld, amely a programot leállásra utasítja. Ha ez nem segít, a következő paraméter használható:
-9
TERM helyett KILL szignált küld, ami majdnem minden esetben leállítja a a megadott folyamatot
killall[paraméter(ek)]folyamatnév
Hasonlít a kill parancshoz, azonban argumentumként a folyamat nevét (nem pedig a folyamatazonosítót) használja, és az összes e néven futó folyamatot leállítja.

Hálózat

ping[paraméter(ek)] gépnév
A ping parancs a TCP/IP-hálózatok alapvető működőképességének ellenőrzéséhez használt általános eszköz. Azonnali választ kérve kisméretű adatcsomagot küld a címzett gépnek. Ha ez sikerült, a ping megjelenít egy üzenetet, ami jelzi, hogy a hálózati összeköttetés alapvető funkciói működnek.
-c
szám Az elküldendő csomagok számát adja meg; ennyi csomag elküldése után leáll a program (alapértelmezésben nincs korlátozás)
-f
ping elárasztás: annyi adatcsomagot küld, amennyit csak képes; kedvelt eszköz a hálózatok ellenőrzésére, de csak a root felhasználó adhatja ki ezt a parancsot
-i
érték Megadja a két adatcsomag elküldése közti időtartamot másodpercben (alapértelmezés: egy másodperc)
nslookup
A tartománynév-rendszer (DNS) a tartományneveket IP-címekké alakítja át. Segítségével lekérdezhetők az információs kiszolgálók (DNS-kiszolgálók).
telnet[paraméter(ek)] gépnév vagy IP-cím[Port]
A telnet egy internetes protokoll, amely lehetővé teszi a munkát egy hálózat távoli gépein. Egyúttal a telnet a neve a Linux azon programjának is, amely e protokoll segítségével lehetővé teszi a távoli számítógépeken műveletek elvégzését.
Icon-Caution.png Figyelmeztetés!

Ne használja a telnet programot olyan hálózaton, amelyet lehallgathatnak. Különösen az interneten tanácsos titkosított adatátviteli módszerek - például az ssh - használata a jelszavak rosszhiszemű felhasználásának elkerülésére.

Egyéb

passwd[paraméter(ek)][felhasználónév]
A felhasználók e parancs segítségével bármikor megváltoztathatják jelszavukat. A rendszergazda (root) a rendszer bármely felhasználójának jelszavát megváltoztathatja.
su[paraméter(ek)][felhasználónév]
A su parancs lehetővé teszi a bejelentkezést más felhasználói néven anélkül, hogy ez megszakítaná a jelenlegi munkamenetet. Egy adott felhasználó környezetének használatához meg kell adni a hozzá tartozó felhasználói nevet és jelszót. A root felhasználónak joga van bármely felhasználó azonosságát felvenni, így nem kell jelszót megadnia. Ha felhasználói név megadása nélkül adja ki a parancsot, akkor a rendszer a root felhasználó jelszavát kéri, és átvált a rendszergazda (root) felhasználóra.
halt[paraméter(ek)]
Az adatvesztés elkerülése végett célszerű ezzel a programmal leállítani a rendszert.
reboot[paraméter(ek)]
Ugyanúgy működik, mint a halt parancs, azonban a rendszer azonnal újraindul.
clear
A parancs törli a konzol látható területét. Nincsenek további paraméterei.