RHCSA sorozat: Fájl- és címtárkezelés végrehajtása – 2. rész
Ebben a cikkben, az RHCSA 2. rész: Fájl- és címtárkezelés, áttekintünk néhány alapvető képességet, amelyekre a rendszergazdák mindennapi feladatai során szükség van.
Fájlok és könyvtárak létrehozása, törlése, másolása és áthelyezése
A fájl- és címtárkezelés kritikus kompetencia, amellyel minden rendszeradminisztrátornak rendelkeznie kell. Ez magában foglalja a szövegfájlok (az egyes programok konfigurációjának magja) és a könyvtárak (ahova a fájlok és egyéb könyvtárak rendszerezése) létrehozását/törlését, valamint a meglévő fájlok típusának megállapítását.
A touch paranccsal nem csak üres fájlok hozhatók létre, hanem a meglévő fájlok elérési és módosítási időpontjai is frissíthetők.
A fájl [fájlnév]
segítségével meghatározhatja a fájl típusát (ez hasznos lesz, mielőtt elindítaná a kívánt szövegszerkesztőt a szerkesztéshez).
és az rm [fájlnév]
elemet a törléshez.
Ami a könyvtárakat illeti, létrehozhat könyvtárakat a meglévő elérési utakon belül az mkdir [könyvtár]
paranccsal, vagy létrehozhat egy teljes elérési utat az mkdir -p [/teljes/útvonal/könyvtárba]
paranccsal.
Amikor a könyvtárak eltávolításáról van szó, az rmdir [könyvtár]
parancs kiadása előtt győződjön meg arról, hogy üresek, vagy használja az erősebb (körültekintően kezelendő) rm -rf parancsot. [könyvtár]
. Ez utóbbi opció rekurzív módon eltávolítja a [könyvtárat]
és annak teljes tartalmát – tehát saját felelősségére használja.
Bemeneti és kimeneti átirányítás és csővezeték
A parancssori környezet két nagyon hasznos funkcióval rendelkezik, amelyek lehetővé teszik a parancsok bemeneti és kimenetiének átirányítását fájlokból és fájlokhoz, valamint egy parancs kimenetének elküldését egy másik, ún. átirányítás, illetve csővezetékezés.
A két fontos fogalom megértéséhez először meg kell értenünk az I/O (bemeneti és kimeneti) karakterfolyamok (vagy sorozatok) három legfontosabb típusát, amelyek valójában speciális fájlok, a szó *nix értelmében.
- A Normál bemenet (más néven stdin) alapértelmezés szerint a billentyűzethez van csatlakoztatva. Más szóval, a billentyűzet a szabványos beviteli eszköz a parancsok parancssorba történő beviteléhez.
- A Standard kimenet (más néven stdout) alapértelmezés szerint a képernyőhöz van csatlakoztatva, az eszközhöz, amely „fogadja” a parancsok kimenetét, és megjeleníti azokat a képernyőn.
- A Normál hiba (más néven stderr) az a hely, ahová a parancsok állapotüzenetei alapértelmezés szerint elküldésre kerülnek, amely egyben a képernyő is.
A következő példában az ls /var
kimenete elküldésre kerül a stdout (a képernyő), valamint az ls /tecmint eredménye. . De az utóbbi esetben a stderr jelenik meg.
A speciális fájlok könnyebb azonosítása érdekében mindegyikhez hozzá kell rendelni egy fájlleírót, egy absztrakt reprezentációt, amelyet a hozzáférésükre használnak. Fontos megérteni, hogy ezek a fájlok, csakúgy, mint mások, átirányíthatók. Ez azt jelenti, hogy rögzítheti egy fájl vagy parancsfájl kimenetét, és elküldheti bemenetként egy másik fájlba, parancsba vagy szkriptbe. Ez lehetővé teszi, hogy lemezen tárolja például a parancsok kimenetét későbbi feldolgozás vagy elemzés céljából.
Az stdin (fd 0), stdout (fd 1) vagy stderr (fd 2) átirányításához a következő operátorok állnak rendelkezésre.
- Redirection Operator
Effektus
- >
Átirányítja a szabványos kimenetet egy szabványos kimenetet tartalmazó fájlra. Ha a célfájl létezik, a rendszer felülírja.
- >>
Hozzáfűzi a szabványos kimenetet egy fájlhoz.
- 2>
Átirányítja a szabványos hibát egy szabványos kimenetet tartalmazó fájlra. Ha a célfájl létezik, a rendszer felülírja.
- 2>>
Normál hibát fűz hozzá a meglévő fájlhoz.
- &>
A szabványos kimenetet és a szabványos hibát is átirányítja egy fájlba; ha a megadott fájl létezik, akkor felülírja.
- <
A megadott fájlt használja szabványos bemenetként.
- <>
-
A megadott fájl szabványos bemenetre és szabványos kimenetre is használható.
Az átirányítással ellentétben a folyamatot úgy hajtják végre, hogy egy függőleges (|)
sávot adnak hozzá egy parancs után és egy másik parancs elé.
Emlékezik:
- Az Átirányítás segítségével egy parancs kimenetét fájlba küldheti, vagy fájlt küldhet egy parancs bemeneteként.
- A Csővezetés arra szolgál, hogy egy parancs kimenetét egy másik parancshoz küldje bemenetként.
Példák átirányításra és vezetékezésre
1. példa: Parancs kimenetének átirányítása egy fájlba
Lesznek olyan esetek, amikor ismételgetnie kell a fájlok listáján. Ehhez először elmentheti a listát egy fájlba, majd soronként elolvashatja a fájlt. Bár igaz, hogy az ls kimenetén keresztül közvetlenül is iterálhat, ez a példa az átirányítás illusztrálására szolgál.
ls -1 /var/mail > mail.txt
2. példa: Az stdout és az stderr átirányítása a /dev/null könyvtárba
Abban az esetben, ha meg akarjuk akadályozni, hogy az stdout és az stderr is megjelenjen a képernyőn, mindkét fájlleírót átirányíthatjuk a /dev/null
címre. Figyelje meg, hogyan változik a kimenet, amikor az átirányítást ugyanarra a parancsra hajtják végre.
ls /var /tecmint
ls /var/ /tecmint &> /dev/null
3. példa: Fájl használata parancs bemeneteként
Míg a cat parancs klasszikus szintaxisa a következő.
cat [file(s)]
Fájlokat is küldhet bemenetként, a megfelelő átirányítási operátor használatával.
cat < mail.txt
4. példa: Egy parancs kimenetének elküldése bemenetként egy másiknak
Ha nagy könyvtár- vagy folyamatlistája van, és egy pillantással meg szeretne találni egy bizonyos fájlt vagy folyamatot, akkor a listát a grep-be kell helyeznie.
Vegye figyelembe, hogy a következő példában a csővezetékeket használjuk. Az első a szükséges kulcsszót keresi, míg a második kiküszöböli a tényleges grep parancsot
az eredmények közül. Ez a példa felsorolja az apache felhasználóhoz kapcsolódó összes folyamatot.
ps -ef | grep apache | grep -v grep