4. gyakorlat
Bemeneti és kimeneti eszközök
- 0 (
stdin)- bemenet (billentyűzet)
- 1 (
stdout)- Kimenet (monitor)
- 2 (
stderr)- Hiba-Kimenet (monitor)
Hivatkozás célként
&egységszám
/dev/null-> "kuka"
Hibaüzenetek (stderr) és a kimenet (stdout) is ugyan arra a terminálra megy, megkülönböztethetetlen kinézetileg. DE átírányítással szétszedhető.
Kimenet átirányítása
Példák
Nem látszik a hibaüzenet. Bele lett irányítva az
err.txtfájlba.
CSAK a hibaüzenet látszik. A program kimenete (stdout) az out.txt fájlba került.
Bizonyos parancsok esetén, ha nem adunk meg forrás fájlnevet, akkor a standard inputról várja a bemenetet
Pl.
- head
- tail
- cat
Az adatbevitelt a ctrl+d billentyűkombinációval fejezhetük be.
Input-output átirányítás
| Jelölés | Magyarázat |
|---|---|
>cél |
A kimenetet a célba irányítja. Ha a fájl nem létezik, akkor létrehozza |
>>cél |
A kimenetet hozzáfűzi a megadott állományhoz |
<forrás |
Az állományt irányítja a bemenetre (stdin) |
<<keyword |
Bemenetről olvas sorokat, keyword-ig |
Here
Find
find [útvonal] [kapcsolók] [kifejezések]
A megadott kifejezéseknek megfelelő könyvtárbejegyzések rekurzív keresése.
- A kapcsolók a viselkedést változtatják
- A kifejezések a keresési kritériumokat változtatja
Kapcsolók
-maxdepth {szint}keresési mélység
Kifejezések
-name "{minta}"a mintának megfelelő bejegyzések. Kis- és nagybetűket megkülönbözteti-iname "{minta}"a mintának megfelelő bejegyzések. Kis- és nagybetűket NEM különböztetni meg-emptyüres fájlok-exec {parancs} \;minden találat esetén végrehajtja a parancsot úgy, hogy annak egyik paramétere a találat.- parancs: bármilyen parancs lehet, amit shell-be írhatunk
- Ahová a parancsba a találatot szeretnénk illeszteni oda {} jelet kell írni
- pl:
find -empty -exec cp {} uresek \;- üres fájlokat bemásolja az "üresek" nevű könyvtárba
-size {méret}a méretnek megfelelő fájlok- méret: [{előjel}] {mennyiség} [{mértékegység}]
- "It's a trap! Or it can be." Figyeljünk a mértékegységre!
- előjel:
+(nagyobb, mint)-(kisebb, mint)
- mértékegység:
- c (byte)
- k (kilobyte)
- M (Megabyte)
- G (Gigabyte)
-type {típus}a típusnek megfelelő bejegyzések- típusok:
f- szabályos fájld- könyvtárl- szimbolikus link
- típusok:
-mtime [{előjel}] {nap}az adott napon módosult bejegyzéseknap: aktuális időponttól számított 24 óra (nem naptári napra nézi)- Előjel:
- Ha nincs megadva, akkor több mint nap*24 órája történt, kevesebb, mint (nap+1)*24 órája
+
Logikai kapcsolatok
A kritériumok mindig éssel kapcsolódnak, ha nem másképp adom meg
-okét kifejezés között: vagy kapcsolat- pl:
find -type f -o -type d- könyvtár VAGY fájl
- pl:
-nottagadás, a következő kifejezést megfordítja
Szűrők
Csővezeték (pipe)
parancs 1 | parancs 2
A parancs 1 kimenete a parancs 2 bemenete
Pl.: Írjuk ki a szotar.txt 5.-től 7. elemét
vagy
echo
echo [kapcsolók] szöveg
Kapcsolók:
-nne írjon sorvége jelet a szöveg után-eescape szekvenciák használata
escape szekvenciák
\n- sorvége (new line)\r- kurzor vissza a sor elejére (carriage return)\t- tabulátor\acsengő
Sorok manipulációja
sort
sort [kapcsolók] <fájlok>
Kapcsolók:
-rfordított sorrend (most nem rekurzió)-uismétlődő sorokat csak egyszer
wc
wc [kapcsolók] [fájl]
-lsorok száma-mkarakterek száma-wszavak száma
tr
tr [kapcsolók] halmaz1 [halmaz2]
- forrás halmaz pl.: 'abc'
- cél halmaz pl.: 'xyz'
Karaktereket cserél, töröl, vagy tömörít a bemenet soraiban.
-dtörlés-stömörítés (egyet meghagy)