Informatika1-2021/Gyakorlat2

A MathWikiből
(Változatok közti eltérés)
143. sor: 143. sor:
 
man grep
 
man grep
 
</pre>
 
</pre>
 +
 +
 +
== Linux jogok ==
 +
* Jogosultsági körök
 +
** '''s'''per'''u'''ser (su) felhasználók, pl. rendszergazdák
 +
** '''owner''', egy adott fájl tulajdonosa, aki létrehozta, pl <tt>kispista</tt>
 +
** '''group''', felhasználóknak egy részhalmaza, amelybe az ''owner'' is beletartozik, pl. <tt>student</tt>
 +
** '''others''', mindenki más, nyilvános, guest vagy egyéb nem megbízható felhasználó
 +
* Jogosultsági típusok
 +
** '''w''': Write, írhatja, olvashatja a fájlt
 +
** '''r''': Read, olvashatja a fájl vagy könyvtár tartalmát
 +
** '''x''': eXecute, futtathatja a fájlt (programok, script-ek), vagy listázhatja a könyvtárat
 +
** '''-''': semmi
 +
 +
Ezekből a lehetőségekből válogathatunk, vagyis megadhatjuk, hogy egy adott kör, mely jogokkal rendelkezzen. Például
 +
* a tulajdonos írhatja, olvashatja, futtathatja
 +
* a csoportja olvashatja, futtathatja
 +
* mások semmit
 +
A superuser-ek (su) mindig mindent csinálhatnak, azt nem tudjuk korlátozni, su jogot csak su adhat vagy vehet el.
 +
 +
Ezekre van karakteres és numerikus kód, a tömörebb olvashatóság kedvéért:
 +
* '''u''': user, owner
 +
* '''g''': group
 +
* '''o''': others
 +
* '''a''': mindenki: a fájl tulajdonosa, annak csoportja és mindenki más is.
 +
* olvasás: '''r''' vagy '''4'''
 +
* írás: '''w''' vagy '''2'''
 +
* execute: '''x''' vagy '''1'''
 +
* semmi: '''-''' vagy '''0'''
 +
Az '''a''' nem ugyan az, mint az '''o''', mert elképzelhető, hogy a group-nak nem adok jogot valamire, de a csoporton kívüli embereknek igen.
 +
 +
Karakteresen a jogokat egy 10 karakterből álló sztring tartalmazza:
 +
{| class="wikitable"
 +
|-
 +
| 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10
 +
|-
 +
| rowspan="2" | típus || colspan="3" style="text-align: center;" | owner jogok || colspan="3" style="text-align: center;" | group jogok || colspan="3" style="text-align: center;" | others
 +
|-
 +
| read || write || execute || read || write || execute || read || write || execute
 +
|}
 +
 +
<PRE>
 +
$ ls -l ~
 +
drwxr-xr-x 8 borbely student 4096 Aug 30 23:24 Desktop
 +
drwxr-xr-x 2 borbely student 4096 Mar 27  2012 Downloads
 +
drwxr-xr-x 2 borbely student 4096 Oct 20  2009 Drives
 +
drwx------ 2 borbely student 4096 Apr 20 10:42 mail
 +
drwxr-xr-x 7 borbely student 4096 Sep  6 13:01 public_html
 +
$ _
 +
</PRE>
 +
A <tt>public_html</tt> mappámnak a tulajdonosa: <tt>borbely</tt>, csoportja <tt>student</tt>, azonosító: <tt>drwxr-xr-x</tt>, vagyis:
 +
* típusa '''d''': könyvtár
 +
* saját jogaim '''rwx''', vagyis minden (hál' Istennek)
 +
* diáktársaim jogai '''r-x''', vagyis írni nem írhatják, de minden mást szabad
 +
* mindenki másnak '''r-x''', vagyis más is olvashatja és futtathatja
 +
 +
Numerikusan egy 3 számból álló érték határozza meg a jogokat.
 +
Balról az első szám az owner jogok, aztán group majd others. A számok 4: olvasás, 2: írás, 1: execute.
 +
Ezek összeadódhatnak.
 +
Pl <tt>/home/student/borbely/public_html</tt> jogai: <tt>755</tt> azaz
 +
* owner (<tt>borbely</tt>) <tt>7=4+2+1</tt>: írás, olvasás és futtatás
 +
* group (<tt>student</tt>) <tt>5=4+1</tt>: olvasás és futtatás
 +
* other <tt>5=4+1</tt>: olvasás és futtatás
 +
 +
=== chmod ===
 +
A jogokat a <tt>chmod</tt> paranccsal változtathatjuk meg. Néhány példa:
 +
* <tt>chmod 700 ~/info_hazi</tt>: elrejtem az <tt>info_hazi</tt> mappámat rajtam kívül mindenki elől (nem tudnak belelépni, sem listázni a tartalmát), persze a superuser-ek láthatják.
 +
* <tt>chmod 750 ~/important_work</tt>: ebben a mappában egy group-al együtt dolgozok valamin, a group olvashatja és futtathatja, én írhatom is, senki más nem láthatja.
 +
* <tt>chmod 754 -R ~/public_html</tt>: az '''-R''' kapcsoló rekurzívan alkalmazza a beállításokat a mappa tartalmára.
 +
 +
=== Bővebben ===
 +
* <tt>man chmod</tt>
 +
* [http://www.comptechdoc.org/os/linux/usersguide/linux_ugfilesp.html leírás]
 +
  
  
 
[[Informatika1-2021/Gyakorlat1|Előző gyakorlat]] - [[Informatika1-2021#Gyakorlatok|Fel]] - [[Informatika1-2021/Gyakorlat3|Következő gyakorlat]]
 
[[Informatika1-2021/Gyakorlat1|Előző gyakorlat]] - [[Informatika1-2021#Gyakorlatok|Fel]] - [[Informatika1-2021/Gyakorlat3|Következő gyakorlat]]

A lap 2021. szeptember 22., 14:22-kori változata

Előző gyakorlat - Fel - Következő gyakorlat

Tartalomjegyzék

Alapvető parancsok (emlékeztetõ)

  • pwd: aktuális könyvtár kiíratása.
  • cd: könyvtárváltás. Ha paraméter nélkül hívjuk meg, akkor a saját mappánkba visz. Pl cd /mnt, cd, cd ..
  • ls: könyvtár tartalmának listázása. Pl: ls, ls -h, ls /dev, ls -h -l ~
  • mkdir: könyvtár létrehozása. mkdir NewFolder
  • cp: másolás. cp mit.txt hova.txt
  • mv: mozgatás/átnevezés (az eredeti nem marad meg). mv mit.txt hova.txt
  • rm: törlés, Pl: rm alma.txt, rekurzívan töröl minent a mappával együtt: rm -r NewFolder
  • quota: A felhasznált/megmaradt helyet írja ki. Ha a kvótánk betelik, akkor nem kapjuk meg a nekünk címzett leveleket és a grafikus terminálra sem tudunk belépni; ilyenkor a parancssoros terminálra belépve tudjuk kitakarítani a home-unkat.
  • df, du: lemezen szabad / felhasznált helyet írja ki. A -h kapcsolóval olvasható GB, MB, kB értékeket kapunk, de lehet fix byte-okban is kiírni. Pl: df -h ~
  • mc: midnight commander fájlböngésző.
  • segíts magadon
    • info <parancs>
    • man <parancs> az adott parancsról leírást ad. A leírásban navigálni a 'fel', illetve a 'le' billentyűkkel, továbbá a 'PageUp', 'PageDown'-nal lehet. Kereséshez '/' jel után kell beírni a kifejezést. Kilépés 'q'-val. man ls
    • <parancs> --help
    • help
  • history: parancs történet lekérdezése.
  • apropos: parancs/program nevek keresése. apropos math
  • top: futó alkalmazások.
  • kill, killall, xkill: folyamatok leállítása. Egy adott felhasználó összes folyamatának leállítása: killall -u username
  • cat: fájl tartalmának kiíratása. Pl: cat .forward
  • echo: kiírja az argumentumait, Pl: echo Hello World. Figyelem, beugratós: echo --help
  • grep: szöveg mintázatok keresése állományokban. grep "tű" szénakazal.txt
  • less: szöveges állományok megjelenítése, könnyebb olvashatóság nagy fájloknál, Pl less valami.txt
  • head (-n ), tail (-n ): fájl elejének és végének a kiiratása. head -n 100 valami.txt
  • sort (-g -k): szövegállomány rendezése.
  • wc (-l): byte/karakterek/sorok számolás adott fájlra.
  • ssh: távoli gépre való bejelentkezést teszi lehetővé. Linux-ról Windows-ról
  • scp: távoli gépre/gépről való másolás. Linux-ról Windows-ról
  • wget: file-ok letöltése internetről, HTTP, HTTPS és FTP használatával.
  • exit: kilépés terminálból (vagy ctrl+d).
  • sudo: programok futtatása superuserként. (Mat intézetben erre nem lesz lehetőségünk) Pl. sudo rm /home/someone_I_hate/important_file.txt
  • halt, reboot: kikapcsol, újraindít (Mat intézetben erre sem lesz lehetőségünk)

Feladatok

Másolás

A "cp" paranccsal tudunk file-okat másolni. Próbáljuk ezt ki: Legyünk a home mappánkban:

cd

Másoljunk ide egy file-t:

cp /home/student/kkovacs/share/week1/animals ./

Nézzük meg mi van a file-ban ("cat" vagy "less"):

cat animals

Most próbáljunk meg egy egész mappát másolni:

cp /home/student/kkovacs/share/week1 ./

Mappa másoláshoz rekurzívan kell másolni, mert a mappának van tartalma is. Ez tipikusan az "-r" kapcsoló:

cp -r /home/student/kkovacs/share/week1 ./

Nézzünk bele egy másik file-ba:

cat fruits

Ez jó nagy már, inkább "less"-el:

less fruits

File-ban keresés

Keressünk egy gyümölcsöt:

grep apple fruits

Nem találtuk meg a sima almát (apple)? Mert számít a kis és nagy betû:

grep Apple fruits

Ok de most meg az ananász hiányzik. Az "-i" kapcsoló "case insensitive" mode-ba kapcsolja a grep-et, azaz a kis és nagybetû nem fog számítani.

grep -i apple fruits

Kimenet átirányítása

Készítsünk egy új file-t, amiben az "almák" vannak csak:

grep -i apple fruits > apples

A ">" karakter átirányítja a balra levõ parancs kimenetét a jobbra levõ file-ba. Ha nem létezik a file létrehozza, ha létezik, akkor felülírja (minden kérdés nélkül, ez tipikusan igaz ezekre a parancsokra, nem kérdeznek vissza).

Pipe használata

Számoljuk meg hány gyümölcs van összesen:

wc -l fruits

Most próbáljuk meg megszámolni hány almaféle van:

grep -i apple fruits

Ok ez még szemmel is megy. De mi van ha a "berry" félékre vagyok kíváncs? (Többesszámban vannak, szóval "berri"-re keresek.)

grep -i berri fruits

Na ez már brainpowerbe kerül, hogy megszámoljuk. Nem lehetne valahogy kombinálni a "grep" és "wc" parancsokat? Erre való a pipe:

grep -i berri fruits | wc -l

A pipe az elõtte levõ parancs kimenetét (a megtalált "berry"-ket) átadja a következõ parancs bemeteként. Mivel a "wc -l" sorokat számol így azt számoljuk meg hogy hány találat volt a "grep"-ben.

Emacs

Nyissunk meg egy file-t:

emacs -nw vegetables

Legfontosabb parancs: CTRL + h t, azaz a CTRL-t lenyomva "h" aztán a "t" karakter. Ez felhoz egy tutorialt, amiben a nyilakkal lehet navigálni.

Második legfontosabb: CTRL + x CTRL + c, ez a kilépés.

Harmadik legfontosabb: CTRL + x CTRL + s, ez a file mentése.

Hasznos még: CTRL + x u, undo.

Önálló feladatok

Keresés

Melyek azok a gyümölcsök amikben az "a" és a "c" karakter is mind2 szerepel? Mennyi van belôlük? (A fruits file-ban.)

Állatkák

Az "animals" file-ban állatok és a kölykeik megnevezése található vesszõvel elválasztva. Elõször keressük meg azokat amikben a "ling" szerepel. Majd szûkítsük le a kimenetet csak a felnõtt állat (1. oszlop) megnevezésére. Ehhez egy új parancsot kell használni, a "cut"-ot. Keressünk rá a használatára, vagy használjuk a "man" parancsot.

Zöldség tisztítás

Készítsünk egy file-t amiben azok a sorok vannak a "vegetables" file-ból, amik csak 1 szóból állnak. (Ehhez nézzünk bele a grep használati utasításába, mert olyan kapcsolót kell használni amit eddig nem mutattam.)

man grep


Linux jogok

  • Jogosultsági körök
    • speruser (su) felhasználók, pl. rendszergazdák
    • owner, egy adott fájl tulajdonosa, aki létrehozta, pl kispista
    • group, felhasználóknak egy részhalmaza, amelybe az owner is beletartozik, pl. student
    • others, mindenki más, nyilvános, guest vagy egyéb nem megbízható felhasználó
  • Jogosultsági típusok
    • w: Write, írhatja, olvashatja a fájlt
    • r: Read, olvashatja a fájl vagy könyvtár tartalmát
    • x: eXecute, futtathatja a fájlt (programok, script-ek), vagy listázhatja a könyvtárat
    • -: semmi

Ezekből a lehetőségekből válogathatunk, vagyis megadhatjuk, hogy egy adott kör, mely jogokkal rendelkezzen. Például

  • a tulajdonos írhatja, olvashatja, futtathatja
  • a csoportja olvashatja, futtathatja
  • mások semmit

A superuser-ek (su) mindig mindent csinálhatnak, azt nem tudjuk korlátozni, su jogot csak su adhat vagy vehet el.

Ezekre van karakteres és numerikus kód, a tömörebb olvashatóság kedvéért:

  • u: user, owner
  • g: group
  • o: others
  • a: mindenki: a fájl tulajdonosa, annak csoportja és mindenki más is.
  • olvasás: r vagy 4
  • írás: w vagy 2
  • execute: x vagy 1
  • semmi: - vagy 0

Az a nem ugyan az, mint az o, mert elképzelhető, hogy a group-nak nem adok jogot valamire, de a csoporton kívüli embereknek igen.

Karakteresen a jogokat egy 10 karakterből álló sztring tartalmazza:

1 2 3 4 5 6 7 8 9 10
típus owner jogok group jogok others
read write execute read write execute read write execute
$ ls -l ~
drwxr-xr-x 8 borbely student 4096 Aug 30 23:24 Desktop
drwxr-xr-x 2 borbely student 4096 Mar 27  2012 Downloads
drwxr-xr-x 2 borbely student 4096 Oct 20  2009 Drives
drwx------ 2 borbely student 4096 Apr 20 10:42 mail
drwxr-xr-x 7 borbely student 4096 Sep  6 13:01 public_html
$ _

A public_html mappámnak a tulajdonosa: borbely, csoportja student, azonosító: drwxr-xr-x, vagyis:

  • típusa d: könyvtár
  • saját jogaim rwx, vagyis minden (hál' Istennek)
  • diáktársaim jogai r-x, vagyis írni nem írhatják, de minden mást szabad
  • mindenki másnak r-x, vagyis más is olvashatja és futtathatja

Numerikusan egy 3 számból álló érték határozza meg a jogokat. Balról az első szám az owner jogok, aztán group majd others. A számok 4: olvasás, 2: írás, 1: execute. Ezek összeadódhatnak. Pl /home/student/borbely/public_html jogai: 755 azaz

  • owner (borbely) 7=4+2+1: írás, olvasás és futtatás
  • group (student) 5=4+1: olvasás és futtatás
  • other 5=4+1: olvasás és futtatás

chmod

A jogokat a chmod paranccsal változtathatjuk meg. Néhány példa:

  • chmod 700 ~/info_hazi: elrejtem az info_hazi mappámat rajtam kívül mindenki elől (nem tudnak belelépni, sem listázni a tartalmát), persze a superuser-ek láthatják.
  • chmod 750 ~/important_work: ebben a mappában egy group-al együtt dolgozok valamin, a group olvashatja és futtathatja, én írhatom is, senki más nem láthatja.
  • chmod 754 -R ~/public_html: az -R kapcsoló rekurzívan alkalmazza a beállításokat a mappa tartalmára.

Bővebben


Előző gyakorlat - Fel - Következő gyakorlat

Személyes eszközök