2019/01/07 23:42 1/128 Linux parancssor
|
|
- Teréz Szalai
- 6 évvel ezelőtt
- Látták:
Átírás
1 2019/01/07 23:42 1/128 Linux parancssor < Linux Linux parancssor Szerző: Sallai András Copyright Sallai András, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 Licenc: GNU Free Documentation License 1.3 Web: Bevezetés Az alábbi leírás a Linux parancssori használatát mutatja be. A leírás elolvasása nem elég az anyag elsajátításához. Minden parancsot folyamatosan ki kell próbálni. Ez az írás a Linux alapú számítógépes operációs rendszerek parancssori lehetőségeinek bemutatásával foglalkozik. Az ismertetésre kerülő parancsok nagy része, bármely unix alapú rendszeren használható. A parancsokat Debian GNU/Linuxon mutatom be. A gyakorláshoz szükséged lesz egy Linuxra. Néhány Linuxot megtalálsz az alábbi helyeken online futtatva, de egyik sem Debian. Van köztük egyszerű parancssoros felület, ami tulajdonképpen csak egy Unix parancssor, és van köztük grafikus felület Ez a Linux egy JavaScriptben írt számítógép-emulátoron fut. Előrelépést jelenthet, ha letöltesz egy Live CD/Live DVD képfájlt. Ehhez a Knoppix vagy a Linux Mint rendszert ajánlom. Ki kell írnod egy DVD-re a letöltött képfájlt, majd indítsd a rendszert a DVD-ről. A DVD-ről induló rendszert amely telepítés nélkül használható Live rendszernek nevezzük. A Live rendszer nem bántja a merevlemezre telepített rendszered. A Live rendszeren mentett állományaid viszont nem maradnak meg, hacsaknem pendrivera mentesz. A harmadik lehetőség, hogy telepítesz egy Linuxot. Ha számítógépen, ahova telepíteni szeretnéd a Linuxot már van egy rendszer, akkor ajánlom, hogy először egy virtuális számítógépre telepíts Linuxot. Ide már mehet például a Debian GNU/Linux Ha már nem okoz gondot a particionálás a telepítőben, vagy egy üres merevlemez áll rendelkezésedre, vagy az adatok nem számítanak az adott gépen, telepítsd fel saját Linuxodat. A leírásokban nem használok fájlkezelő programot, csak tisztán parancssort. Fájlkezelő ugyan van, de előbb tanuljunk meg dolgozni fájlkezelő nélkül. Így bármely unixon és Linuxon boldogulni fogunk. Gyakorolj! Ha már gyakoroltál, akkor még jöhet egy kis gyakorlás. SzitWiki -
2 Last update: 2019/01/05 22:20 oktatas:linux:parancssor Azonosítás Belépés A Linux indulása után várja, hogy bejelentkezzünk. Ehhez egy várakozási jelet jelenít meg: login: A login után kell beírnunk a felhasználónevünket. login: joska Ha a rendszerben a felhasználónevünk joska, akkor azt a login: után beírjuk. Egy <Enter> leütésével tudatjuk a rendszerrel, hogy végeztünk a bevitellel. A felhasználónév beírása után a password: várakozási jelet látjuk, amely a jelszavunk beírásra szólít fel: password: A jelszó gépelésénél a képernyőn nem jelenek meg a begépelt karakterek. Jelszó megváltoztatása Ha kapunk egy rendszerhez hozzáférést, akkor az első dolgunk szokott lenni a jelszó megváltoztatása. Ezt a passwd parancs kiadásával tudjuk megtenni: passwd A felhasználó a passwd paranccsal megváltoztathatja saját jelszavát. A parancs először bekéri a jelenlegi jelszót, majd kétszer az új jelszót. Rendszergazdaként, azaz a root felhasználóval mások jelszavát is megváltoztathatjuk. Ehhez adjuk meg a kívánt felhasználónevet a passwd parancs paramétereként. A Linuxos rendszer úgy van összeállítva, hogy a rendszergazda nem tudja megmondani számodra a jelszavadat, ha már megváltoztattad. Ha elveszett, akkor legfeljebb újat tud adni. A joska felhasználó jelszavának megváltoztatása Ha te magad is rendszergazda vagy a Linuxban, mert mondjuk most telepítetted, akkor például a joska felhasználónak a következő módon tudod megváltoztatni a jelszavát: passwd joska Ez a parancs persze csak rendszergazdaként belépve fog sikerülni, vagy ha te vagy a joska felhasználó. Printed on 2019/01/07 23:42
3 2019/01/07 23:42 3/128 Linux parancssor Kijelentkezés Ha valahova bejelentkeztünk, akkor ki is kell tudnunk jönni onnan. Nézzük, hogyan lehet szabályosan kijelentkezni a rendszerből. A rendszerből kijelentkezni a logout paranccsal lehetséges: logout A kijelentkezés további parancsokkal is lehetséges. Az egyik az exit parancs, a másik egy billentyűkombináció: Ctrl+D. Az exit és logout között az a különbség, ha vannak félretett munkák (jobok), akkor az exit nem lép ki. A logout mindenképpen kilép. A linuxos rendszerekben a Ctrl+D billentyűkombináció fájlvége jel küldésére is használatos néhány parancs illetve, program esetén. Ha ilyen programmal dolgozunk, előfordulhat, hogy csak fájlvége jelet akartunk küldeni, de véletlenül kétszer nyomtuk meg a Ctrl-D billentyűkombinációt, így azonnal ki is jelentkeztünk. Egy Linuxos rendszeren ha grafikus felületet is telepítettünk, akkor lehetőség van a grafikus bejelentkezésre is, de mi most csak parancssorral foglalkozunk ebben a részben. Megjegyzés Ha valaki feltelepítette a grafikus felületet és szeretne parancssorra átkapcsolni, a következőket kell tudnia. Egy linuxos rendszer alapértelmezetten 6 azaz hat darab karakteres (vagy konzolos) felületen ad belépési lehetőségeket. Ezeket terminálnak hívjuk. Vagyis van hat darab terminálunk. Indulás után az 1-s terminálon vagyunk. A többi terminált az F2, F3, stb. funkcióbillentyűkkel érhetjük el, egészen F6-ig, a lenyomott Alt billentyű mellett. A második terminál tehát ezzel a billentyűkombinációval érhető el: Alt+F2. A harmadik: Alt+F3, stb. A Linuxos rendszerek lehetővé teszik ugyancsak hat darab grafikus felülete elindítását is. A grafikus felület és egy XDM, KDM vagy GDM telepítése után a hat grafikus felületből egy automatikusan elindul. Ha karakteres terminálban vagyunk ezt az Alt+F7 billentyűkombinációval érhetjük el. Grafikus felületről karakteresre kapcsolás esetén kell a Ctrl billentyű is. Egyes karakteres terminálra grafikus felületről tehát így kapcsolunk: Ctrl+Alt+F1. Ugyanígy érjük el a többit is. Persze ha már karakteres felületen vagyunk, akkor elég az Alt billentyű. Grafikus felületen egy kis ablakban is indíthatók úgynevezett virtuális terminálok. Ebből végtelen sokat indíthatunk. Ha GNOME grafikus környezetet telepítettünk, akkor a virtuális terminálunk lehet rendszergazdai és felhasználói. Elérésük: Alkalmazások Kellékek Terminál Alkalmazások Kellékek Rendszergazda terminál Gyakorlat Mit vár a rendszer, ha a következőt írja: login: Milyen paranccsal tudjuk megváltoztatni a jelszavunkat? Milyen utasításokkal léphetünk ki a rendszerből? SzitWiki -
4 Last update: 2019/01/05 22:20 oktatas:linux:parancssor Ha van grafikus felület telepítve, hogyan tudunk konzolos felületre váltani? Milyen grafikus bejelentkezési felületek vannak? Hogyan tudunk egy újabb felületen bejelentkezni konzolt használva? A linuxos rendszergazda ki tudja deríteni a felhasználók jelszavát? Hány darab konzolos terminál áll rendelkezésre? Töltsön le egy linuxos Live CD-ét Például Knoppix Derítse ki, milyen felhasználónévvel lehet belépni a rendszerbe Várakozási jel A várakozási jelről A sikeres felhasználói azonosítás után a Linux parancsot vár. Ezt egy várakozási jellel adja értésünkre. A várakozási jel felhasználók és rendszergazdák számára is más. A felhasználók számára egy dollárjelet ($) jelenít meg a rendszer, a rendszergazdának pedig egy kettős-keresztet (#). A várakozási jel ki van bővítve némi információval. Tartalmazza a bejelentkezett felhasználónevet, a gép nevét és az aktuális könyvtárat. joska@iskolazo:~$ Felhasználó várakozási jele joska@iskolazo:~$ Ez a fajta várakozási jel a Debian GNU/Linuxra jellemző, de általában hasonló a többi linuxos rendszerben is. A felhasználónevet egy szeparátor követi (@). A gépnevet szintén, amely egy kettőspont (:). A kettőspont után egy tilde karakter (~) látható, amely a felhasználó saját könyvtárát jelképezi. A joska felhasználó esetében ez a /home/joska. A parancsokat a Bash nevű parancsértelmező várja, amelyre a dollárjel is utal. Root felhasználó promptja A root felhasználónak az alapértelmezett várakozási jele eltérő. A várakozási jelben az utolsó karakter egy kettős kereszt ( # ). root@iskolazo:~# A rendszergazda, azaz root felhasználó is a bash parancsértelmezőt használja, viszont ő a rendszer teljes jogú felhasználója. Éppen ezért ne használjuk felhasználói feladatokra. Csak akkor használjuk ezt a hozzáférést, ha valóban szükség van a rendszergazdai jogokra. A PS1 Printed on 2019/01/07 23:42
5 2019/01/07 23:42 5/128 Linux parancssor Minden operációs rendszer úgynevezett változókban tárol információkat a programok számára. Mivel ezek a változók a programok környezetéből elérhetők, környezeti változóknak is hívjuk őket. A PS1 is egy ilyen környezeti változó. Bármely környezeti változónak a tartalmát megtekinthetjük az echo parancs segítségével. Ilyenkor a környezeti változó neve elé egy dollárjelet kell írni: $PS1. Az echo paranccsal ekkor így jeleníthetjük meg: echo $PS1 Gyakorlat Mit jelent a várakozási jel? Debian GNU/Linux rendszeren mi a felhasználók alapértelmezett várakozási jele? Mit jelent a várakozási jelben a ~ karakter? A Debian GNU/Linux rendszerben mi a root felhasználó alapértelmezett várakozási jele? Milyen környezeti változó tartalmazza a várakozási jel beállításait? Hogyan épül fel a Debian GNU/Linux felhasználói várakozási jel? Gyorsbillentyűk Tab Tegyük fel, hogy van olyan fájlom, amelynek neve elég hosszú: touch kedvenc_valmilyen_fajlom.txt Szeretném a tartalmát megjeleníteni a cat paranccsal. Ekkor begépelem cat m karaktereket, majd megnyomom a Tab billentyűt. De mi van akkor, ha több azonos módon kezdődő fájlunk is van: touch valmilyen_kedvenc_fajlom_1.txt touch valmilyen_kedvenc_fajlom_2.txt touch valmilyen_kedvenc_fajlom_3.txt touch valmilyen_kedvenc_fajlom_4.txt A fenti fájloknál begépelem cat v, majd megnyomom a Tab billentyűt, melyiket fogja beírni. A rendszer ilyenkor addig jeleníti meg a fájlnevet, amíg azok egyeznek. Esetünkben így egészíti ki: cat valmilyen_kedvenc_fajlom_ Ezek után nekünk kell beírni hogyan kell folytatódjon. Beírjuk például a 3 -as számot, akkor és újabb Tab billentyűt nyomunk, ekkor kiegészíti a maradék részt is. Le, fel nyíl A le és a fel billentyűvel lapozhatunk a kiadott parancsok között. A fel billentyűvel visszafele lapozunk, SzitWiki -
6 Last update: 2019/01/05 22:20 oktatas:linux:parancssor a le billentyűvel előre. Ctrl+R A Ctrl+R billentyűkombináció arra való, hogy az előző parancsokban keressünk. Nyomjuk meg a Ctrl+R billentyűkombinációt, majd írjuk be a keresett parancs részletét. <Ctrl>+<R> export A gépelés közben máris megjelennek az egyezést mutató régebbi parancsok. Alapértelmezetten csak egy találat jelenik meg. Több eredmény megjelenítéshez nyomjuk meg újra a Ctrl+R billentyűt. Tulajdonképpen lapozhatunk a parancsokban. A keresést a Ctrl+C billentyűkombinációval szakíthatjuk meg, egy Enter lenyomásával újra aktiválhatjuk. Ctrl+S A Ctlr+S megállítja, megfagyasztja a terminált. Olyankor jöhet jól ha valamilyen parancs adatokat ír a képernyőre, ami nem fér el, ezért folyamatosan továbbítja azt, mi pedig szeretnénk beleolvasni, így megállítanánk. A képernyő továbbítása folytatható a Ctrl+Q billentyűkombinációval. Mozgás soron belül A sor elejére a <Home> vagy a <Ctrl>+<a> billentyűvel mozoghatunk. A sor végére az <End> vagy a <Ctrl>+<e> billentyűvel mozoghatunk. Az előző argumentum felhasználása Egy parancs kiadása után ha megnyomjuk az <Alt>+<.> billentyűkombinációt, az utoljára beírt argumentum a parancssorba íródik. Ctrl+Z Az aktuális folyamatot a háttérbe teszi. A háttérbe tett folyamat a fg és bg parancsokkal szabályozhatók. Printed on 2019/01/07 23:42
7 2019/01/07 23:42 7/128 Linux parancssor Ctrl+C Az aktuális folyamatot megszakítja. Ctrl+L A képernyőtörlése. Ctrl+U A kurzor előtti részt egy speciális vágólapra helyezi. Ctrl+K A kurzor utáni részt egy speciális vágólapra helyezi. Ctrl+Y A speciális vágólapról beilleszti a tartalmat, amely a Ctrl+U vagy Ctrl+K billentyűparanccsal került oda. Ctrl+W A kurzortól balra törli a szót. Ctrl+T A kurzor alatti és kurzor előtti két karakter cseréje. Ctrl+D Kilép a terminálból. Gyakorlat Mire jó a Tab billentyű? Mi történik, ha parancskiegészítést kérek, de hasonló kezdetű állomány több is létezik? Mire használható a Ctrl+D karakter? Mire való a Ctrl+A billentyűkombinációt? Mire való a Ctrl+E billentyűkombinációt? SzitWiki -
8 Last update: 2019/01/05 22:20 oktatas:linux:parancssor Mire való a Ctrl+U billentyűkombinációt? Mire való a Ctrl+K billentyűkombinációt? Mi a különbség a Ctrl+U és a Ctrl+K billentyű között? Környezeti változók Minden operációs rendszerben léteznek úgynevezett környezeti változók. Ezek az operációs rendszerről vagy programjainkról tárolnak információkat. A környezeti változók a rendszer indulása után automatikusan beállításra kerülnek. A környezeti változók megtekintése: printenv Paraméter nélkül az összes környezeti változót kiírja, amelynek van értéke. Megadhatjuk melyik változót szeretnénk: printenv PATH vagy printenv HOME vagy printenv SHELL A set paranccsal vigyáznunk kell, mert Shellenként másként viselkedik. Ráadásul az alapértelmezetten futó Bash parancsértelmezőben egészen mást csinál paraméterezve, minta mondjuk a csh, vagy ksh környezetben. A set parancs önmagában kiadva, mindenesetre kiírja a környezeti változókat, de a különféle parancsértelmezők esetén más, más kimenetet kapunk: set A kimenet általában túl fut a képernyőn. A kimenetet képernyőoldalakra tördelhetjük a less paranccsal: set less A grep parancs segítségével, megmondhatjuk, hogy csak azokat a sorokat szeretném látni, ahol szerepel, például a PATH szó: set grep PATH Beállítható saját változó is: Printed on 2019/01/07 23:42
9 2019/01/07 23:42 9/128 Linux parancssor export TEST_VAR=hello Nézzük meg az eredményt: set grep TEST_VAR vagy: printenv A változó megszüntetése: unset TEST_VAR Érdekes, hogy a Bash esetén a set másként működik a többi parancsértelmezővel szemben, az unset viszont ugyanazt csinálja. Az unset bármely paraméterként megadott változót megszüntet. Próbáljuk ki a fenti parancsokat. Egy változót beállíthatunk az export parancs nélkül is. Így is beállítható a TEST_VAR változó: TEST_VAR=hello Akkor mi a különbség? Ha használom az export parancsot, akkor az aktuális parancssorból indított folyamatok is látni fogják a TEST_VAR változót. Ha nem használom az export parancsot, akkor ezek a folyamatok nem látják. Próbáljuk ki: BARAT_VAR=Feri Ellenőrizzük, hogy létezik-e a változó: echo $BARAT_VAR Létezik, műküdik. Most indítsunk egy másik terminált. Lehet xterm vagy mate-termianl, vagy ami rendelkezésünkre áll: xterm Nézzük meg ebben a terminálban a BARAT_VAR változó tartalmát: echo $BARAT_VAR Semmi. Most lépjünk ki az új terminálból, majd futtassuk a parancsot újra, de most az export paranccsal: export BARAT_VAR=Feri Indítsunk egy xterm terminált: SzitWiki -
10 Last update: 2019/01/05 22:20 oktatas:linux:parancssor xterm Majd ebben a terminálban nézzük meg a változónkat: echo $BARAT_VAR Itt is látszik a tartalma. Saját rendszer szintű környezeti változók bevezetése a /etc/environment állományban lehetséges. Az állomány alapértelmezetten üres. Vegyük fel a következő sorokat: Z1=első Z2=második Egy sor egy változó. Indítsuk újra a rendszert, majd a set paranccsal írassuk ki az összes változót: set Az /etc/environment fájlban létrehozott változók még grafikus felületen is érvényesek. A PATH változó esetén, ügyelni kell arra, hogy felülírja a változót. A PATH változó egész tartalmát itt meg kell adni: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin Néhány leírás szerint a setenv parancs is használható a változók beállítására, de ez csak a csh parancsértelmezőben áll rendelkezésre. env Az env parancsot arra használhatjuk, hogy egy parancsot módosított környezetben futtassunk. Paraméter nélkül kiírja a környezeti változókat. env A Bash set parancsa Mint fentebb már írtam a set parancs másként viselkedik a különböző parancsértelmezők esetén. A Bash set parancsa a Bash számára állít be pozíció szerinti paramétereket, úgy mint $1, $2, $3 Legyen a GYUMOLCS változó, értéke alma: set GYUMOLCS=alma Printed on 2019/01/07 23:42
11 2019/01/07 23:42 11/128 Linux parancssor Értékét így tudjuk kiolvasni: echo $1 Ha több paramétert is szeretnénk megadni: set alma körte barack echo $1 alma echo $2 körte echo $3 barack A pozíciónális paraméterekből bármikor lekérhetők az értékek. A PS1 környezeti változó tartalma echo A PS1 környezeti változó megismerése előtt nézzük meg az echo parancs használatát. Az echo egy szöveget ír a képernyőre. echo "Helló Világ!" Az echo a szöveg végén egy sortörést is a képernyőre küld, amiről lebeszélhető a -n kapcsolóval. echo -n "Helló Világ!" Különleges karakterek is engedélyezhetők a -e kapcsolóval: echo -e "Helló\nVilág!" Vegyük észre ez utóbbi példánkban a \n különleges karaktereket. Ez például sortörést jelet küld a képernyőre. Különleges karakterek táblázata: Karakter Jelentés \a csengőhang konzolos felületen \b egy karakter törlése visszafele \n sortörés \r kocsi vissza \c nem ír ki újsor karaktert SzitWiki -
12 Last update: 2019/01/05 22:20 oktatas:linux:parancssor Karakter Jelentés \t vízszintes tabulátor \v függőleges tabulátor \\ backslash \nnn a karakter ASCII kódja nnn (oktálisan) Az echo parancsot úgy is használhatjuk, mint egy ls. Az összes.txt kiterjesztésű állomány megjelenítése: echo *.txt Az echo parancsnak két változatát használhatjuk. Az egyik: a parancsértelmező beépített parancsa külső parancs Figyeljük meg a type echo kimenetét: $ type echo echo egy beépített parancs Alapból tehát ezt használjuk. Ha mégis a külső parancsot szeretnénk hasznáni meg kell adnunk a teljes útvonalat: /bin/echo A PS1 tartalma Fentebb már láttuk, hogy a PS1 környezeti változó tartalmát így tudjuk megnézni: echo $PS1 Azt is láttuk, hogy a várakozási jel ki van egészítve felhasználó- és gépnévvel, azt követően pedig az aktuális könyvtárral. A PS1 környezeti változóban van leírva ez a forma. Ha megnézzük a fenti parancs eredményét, akkor ehhez hasonlót kell látnunk Debian GNU/Linux 6, 7 és 8 verzió esetén: Konzolon: ${debian_chroot:+($debian_chroot)}\u@\h:\w\$ Ha grafikus felületen indítottunk egy virtuális terminált, akkor ez egy kicsit másként néz ki: \[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$ Ezek a beállítások biztosítják a várakozási jel fentiek szerinti megjelenítését. Printed on 2019/01/07 23:42
13 2019/01/07 23:42 13/128 Linux parancssor X terminál színezése Természetesen megadhatunk más beállításokat is. A környezeti változókat mindig az export paranccsal szokás beállítani, mert ez teszi lehetővé, hogy más folyamatok indítása után is érvényes legyen a beállítás. Az alábbi beállítás a terminál színezését mutatja be: export PS1='${debian_chroot:+($debian_chroot)}\[\033[01;34m\]\u@\h\[\033[00m\]:\w\$ ' Vegyük észre, hogy az export parancs után írt PS1 környezeti változó elé nem írtunk $ karaktert. Fentebb említettük, hogy erre csak akkor van szükség ha hivatkozunk rá, tehát példának okárét kiíratjuk azt. Egyszerű prompt A fenti prompt nagyon hosszú tud lenni ha van egy nagyon hosszú könyvtárútvonalunk. Ilyenkor beállíthatunk egy egyszerű várakozási jelet, amely csak egy dollárjelet meg egy szóközt jelenít meg: export PS1="$ " Akkor használjuk, ha az útvonal nagyon hosszú szeretnénk egy egyszerű várakozási jelet. Ezek a beállítások persze nem véglegesek, újraindítás vagy ki-, és bejelentkezés után a környezeti változó tartalma eredetire visszaáll. Ez a várakozás jel újraindítás után azonban nem érvényes. Ha újraindítás után is szeretnék látni, akkor a /home/joska/.bashrc állomány végére írhatjuk a következő sort export PS1='$ ' Ez is szép megoldás: export PS1="Irj be egy parancsot: " Prompt beállítások \u Felhasználónév \h Hostnév \w Aktuális könyvtár Prompt a felhasználónév, dollárjel és egy szóköz: export PS1="\u\$ " Prompt a hostnév, dollárjel és egy szóköz: export PS1="\h\$ " SzitWiki -
14 Last update: 2019/01/05 22:20 oktatas:linux:parancssor Prompt az aktuális könyvtár, dollárjel és egy szóköz: export PS1="\w\$ " De keverhetjük: export PS1="\u\h\$ " Így viszont nincs elválasztó kettő között. Szokásos szeparátor karakter. export PS1="\u@\h\$ " Gyakorlat Mire való az echo parancs? Milyen különleges karaktereket használhatunk az echo paranccsal? Hogyan állíthatjuk be, hogy a várakozási jel a felhasználónévből és egy dollárjelből álljon? Hogyan állíthatjuk be, hogy a várakozási jel a számítógép nevéből és egy dollárjelből álljon? Mit jelent az útvonalban a ~ karakter? Készítsen egy ilyen várakozási jelet: C:\> Felhasználókról Magamról Ha várakozási jel nem tájékoztat arról, milyen néven léptünk be, akkor használjuk a whoami parancsot. Ki vagyok én? whoami Esetleg így: who am i Ez a parancs kiírja a felhasználónevünket. Például: joska Mit lehet rólam tudni? Néha azt is szeretnénk tudni, milyen csoportokban van benne a felhasználónk. Ebben segít az id parancs. id A kimenet ehhez hasonló lehet: Printed on 2019/01/07 23:42
15 2019/01/07 23:42 15/128 Linux parancssor uid=1000(joska) gid=1000(joska) csoportok=1000(joska), 4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),108(lpadmin), 125(sambashare),126(vboxusers),1002(teachers) Jóval több információt ad. Megmondja milyen csoportokba tartozunk felhasználóként. Az id parancs az -un kapcsolóval úgy viselkedik mint a whoami parancs: id -un Mi történt a rendszerben Általában szeretnénk tudni ki volt utoljára bejelentkezve, vagy mikor használták utoljára a hozzáférésünket (használata-e illetéktelen). Ebben segít a last parancs: last A last parancs kimenete persze túl fut a képernyőn, ha már sokszor használtuk a Linuxot. Ezt tördelhetjük a more paranccsal így: last more Használhatjuk ebből a célból a less parancsot is: last less A less parancs felületéből egy billentyűvel tudunk kilépni: Q Csak a jelenlegi kapcsolatok: last -ap now Kik vannak bent? Van amikor csak egyszerűen arra vagyunk kíváncsiak ki van bejelentkezve: users Ha azt is szeretnénk látni honnan léptek be, akkor a következő parancsot használjuk: who who -u A legtöbb információt azonban a következő parancs adja: SzitWiki -
16 Last update: 2019/01/05 22:20 oktatas:linux:parancssor w Ez a parancs azt is kiírja, a bejelentkezett felhasználók mit csinálnak. Ezért ügyelnünk kell arra, hogy ha olyan parancsot használunk, amely paraméterként jelszót vár, azt ne futtassuk parancssorból önmagában. Hagyjuk, hogy a programunk kérje azt be. Belépések listázása: lslogins Csak valódi felhasználók: lslogins -u A finger parancs A finger parancs alapértelmezetten nem érhető el. A telepítéshez rendszergazdai jogok szükségesek: apt install finger A használathoz egyszerűen beírhatjuk a finger parancsot: finger De egy felhasználó megadható paraméterként. Így több információt jelenít meg, a kívánt felhasználóról: finger janos Gyakorlat Mi a különbség a who és a w parancs között? Írja bent.txt fájlba kik vannak éppen a rendszerbe bejelentkezve. Mire való az users parancs? Hogyan nézhetjük, meg mikor volt utoljára újraindítva a rendszer? Hogyan nézhetjük, meg kik voltak bejelentkezve a rendszerbe? Hogyan kérdezzük le az aktuális dátumot? Mire való a whoami program? Mit csinál a id -un parancs? A rendszer lekérdezése Printed on 2019/01/07 23:42
17 2019/01/07 23:42 17/128 Linux parancssor date Az aktuális dátumot a date paranccsal lehet lekérdezni: date jan. 8., kedd, CET A dátum és időbeállításokról később bővebben is lesz szó. A lekérdezések formája beállítható, ahogy azt az alábbiakban látjuk. Csak az óra lekérdezése: date +%H Óra perc: date +%H:%M Évszám: date +%Y Évszám, hónappal és nappal date +%Y-%m-%d A dátum kiíratható unix formátumban is: $ date +%s $ date dec. 6., szombat, 01:52:03 CET $ cal A cal megmutatja az aktuális hónapot és évet. Az aktuális hónap minden napját külön is megjeleníti, naptárszerűen. A cal ma már csak egy szimbolikus link a ncal programra. Ha az ncal nézetben, hétfővel kezdődő naptárat szeretnénk, használjuk az ncal -b parancsot: ncal -b uptime SzitWiki -
18 Last update: 2019/01/05 22:20 oktatas:linux:parancssor Kiírja mennyi ideje fut a rendszer, milyen terhelésnek van kitéve. uptime uname Az uname a kernelről ad információt: uname Kapcsoló nélkül csak annyit mond, hogy Linux. Ez az információ jelenik meg a -s hatására is. A -m kapcsoló kiírja milyen hardvert használunk: uname -m Vagy: uname --machine A válasz például: x86_64 A -r megadja a kernel verziószámát: uname -r amd64 Az összes információt a -a kapcsolóval írja a képernyőre: uname -a A CPU és a memória A processzor adatai: cat /proc/cpuinfo A memória adatai: cat /proc/meminfo Használt és szabad memória, cserehellyel együtt: free Printed on 2019/01/07 23:42
19 2019/01/07 23:42 19/128 Linux parancssor Lemezhasználat df -h du Könyvtárkezelés Aktuális könyvtár A felhasználók alapértelmezésben, belépés után a saját könyvtárukba kerülnek, amelynek a jele ~. Alapértelmezés az is, hogy az aktuális könyvtár megjelenik a várakozási-jelben. Ha változtattunk várakozási-jelen és már nem az alapértelmezett könyvtárban állunk, szeretnénk tudni az aktuális könyvtár nevét, útvonalastól együtt. Ezt a pwd parancs begépelésével tehetjük meg. A pwd a present work directory vagy a print working directory rövidítése. pwd A joska nevű felhasználó például ezt láthatja, ha a saját könyvtárában áll: /home/joska A könyvtár tartalmának listázása Általában szeretnénk a könyvtár tartalmát listázni. Szeretnénk látni milyen újabb könyvtárakat és fájlokat tartalmaz. Erre a célra az ls parancsot használhatjuk. ls alapok ls Az ls kapcsolók nélkül kiadva az aktuális könyvtár tartalmát mutatja. Ha először lépünk be egy linuxos hozzáférésünkre, akkor valószínűleg nem találunk a saját könyvtárunkban állományt. A rejtett állományok abban különböznek a többitől, hogy ponttal (.) kezdődnek. Ha először lépünk be egy hozzáférésünkre valószínűleg már vannak rejtett fájlok, csak nem látjuk őket. A -a kapcsolóval megtekinthetők a rejtett fájlok is: ls -a Egy következő kapcsoló a fájlokról a lehető legtöbb információt adja számunkra, ez a -l. Long azaz hosszú kimenet kapunk a kapcsolóval: ls -l SzitWiki -
20 Last update: 2019/01/05 22:20 oktatas:linux:parancssor Ha még nincs más könyvtárunk használjuk az a kapcsolót is: ls -la Az eredmény valami ilyesmi lehet: összesen 28 drwxr-xr-x 3 joska joska 4096 febr drwxr-xr-x 4 root root 4096 dec rw joska joska 92 febr bash_history -rw-r--r-- 1 joska joska 220 dec bash_logout -rw-r--r-- 1 joska joska 3184 dec bashrc drwx joska joska 4096 febr mc -rw-r--r-- 1 joska joska 675 dec profile Az ls parancsnak megadható, hogy melyik könyvtárat listázza számunkra. A gyökér könyvtár listázása a következő módon történhet: ls / Vagy a /bin könyvtár listázása: ls /bin Az ls hosszú kimenete Fentebb már láttuk a -l kapcsoló hatását (-a -val együtt): összesen 28 drwxr-xr-x 3 joska joska 4096 febr drwxr-xr-x 4 root root 4096 dec rw joska joska 92 febr bash_history -rw-r--r-- 1 joska joska 220 dec bash_logout -rw-r--r-- 1 joska joska 3184 dec bashrc drwx joska joska 4096 febr mc -rw-r--r-- 1 joska joska 675 dec profile A kimenet első elemének a neve egy pont (.), a másodiknak pedig két pont (..). Az egy pont magában az aktuális könyvtárat jelképezi, a két pont egymás után pedig a szülőkönyvtárat jelképezi. A parancs először az állományról kiírja, hogy milyen fajta állomány. A Unix alapú rendszerekben a könyvtárak is állományként vannak kezelve, ezért a könyvtárat egy speciális állománynak is tekinthetjük. Így van ez a számítógép hardver eszközeivel is. Minden eszköz egy állományként érhető el a rendszerben. Ezért szoktuk mondani, hogy a Linuxban minden állomány. - rw-r--r-- 1 joska joska 3184 dec bashrc az állomány típusa jogok linkek száma tulajdonos csoport méret utolsó módosítás dátuma az állomány neve Printed on 2019/01/07 23:42
21 2019/01/07 23:42 21/128 Linux parancssor Minden sor 10 darab karakterrel kezdődik. Ebből az első az állomány típusa, a többi kilenc az állományhoz tartozó jogokat mutatja. A következő szám az állományra mutató linkek számát mutatja. A linkekről lásd később a link létrehozása című részt. A linkek száma után az állomány tulajdonosa, amit a csoport neve követ. A Debian GNU/Linux rendszerekben egy felhasználó létrehozásakor létrejön egy a nevével azonos csoport is. Így lehet, hogy a csoportnév megegyezik a tulajdonos nevével. A következő szám az állomány mérete. Könyvtárak esetén itt a blokk mérettét látjuk. Ezt követi az utolsó módosítás dátuma, és végül az állomány neve. Ha listázott elem egy könyvtár, akkor a méret résznél a fájlrendszerben használatos blokkméret fog megjelenni. Könyvtárak és fájlok megkülönböztetése A könyvtárak és fájlok a -l kapcsolóval megkülönböztethetők, de előfordul, hogy ezen kapcsoló nélkül is szeretném látni, hogy mivel van dolgom. Ezt a -F kapcsolóval tehetem meg: ls -F Könyvtár méret A fájlok és könyvtárak számára legkisebb lefoglalható egység a fájlrendszertől függ. ext3 és ext4 fájlrendszeren ez 4096 bytes. Ha futtatjuk a ls -ld parancsot, akkor látjuk az adott könyvtár számára mennyi helyet foglalunk: ls -ld munka A kimenet pedig ehhez hasonló lehet: drwxr-xr-x joska joska 4096 márc munka/ A könyvtár számára a 4096 a kezdeti lefoglalt hely (fájlok számára is). A könyvtárban eltárolt fájlok sokasodása után ez nőhet, a következő például 4096 valamelyik szorzatára. Az alábbi parancs létrehoz néhány fájlt: mkdir munka cd munka Hozzunk létre 200 fájlt: for ((i=0; i<200; i++)); do touch aaaaaaaaaa_$i; done Nézzük meg a ls -ld kimenetét a könyvtáron: SzitWiki -
22 Last update: 2019/01/05 22:20 oktatas:linux:parancssor ls -ld. drwxr-xr-x joska joska márc Ezek után az aktuális könyvtár listázásánál a méret: Ne felejtsük el, hogy más fájlrendszernél ezek az értékek eltérhetnek. Külön bejegyzések Egy könyvtár vagy fájl listázása esetén a jogok után ritka esetben megjelenhet plusz (+) vagy pont (.) karakter: drwxr-xr-x+ joska joska márc Nev vagy: drwxr-xr-x. joska joska márc Nev A plusz (+) karakter arra utal, hogy a fájlhoz (vagy könyvtárhoz) külön ACL bejegyzések is tartoznak. Ha pont (.) karakter van a jogok után, akkor ez SELinux címkék bejegyzésére utal. Ha mindkettő van (ACL és SELinux címke is), akkor a plusz (+) karakter látszik. További információk az ACL és az SELinux lapokon. Könyvtár létrehozása Könyvtárakat az mkdir paranccsal hozhatunk létre. Az mk, a make szóból, a dir pedig a directory szóból származik. Paraméterként több könyvtárat is megadhatunk. A linuxos, illetve unixos rendszerek kis és nagybetű érzékenyek. A következő példában szereplő nevek két külön könyvtárat jelölnek: Informatika informatika A parancs szintaxisa: mkdir konyvtar_neve... A mai Linuxok már UTF-8-as kódolást használják a rendszer minden szintjén, így használhatunk ékezetes könyvtárneveket is. Ezzel azonban gond lehet, ha más rendszerre visszük a könyvtárainkat. Egyszerre több könyvtárat is létrehozhatunk, ha szóközzel tagolva felsoroljuk, vagy kapcsos zárójelek között vesszővel tagoljuk azokat. Utóbbi esetben szóköz nem lehet köztük: mkdir elso masodik harmadik mkdir {elso,masodik,harmadik} Printed on 2019/01/07 23:42
23 2019/01/07 23:42 23/128 Linux parancssor Ha útvonalat is megadunk egy könyvtár létrehozásánál a -p kapcsoló segítségével, az útvonalban szereplő nem létező könyvtárak automatikusan létrejönnek: mkdir -p /home/joska/munka/dolgozok/human/gizi Könyvtárcsere Ha már vannak újabb könyvtáraink szeretnék belépni azokba. A példa kedvéért, hozzuk létre saját könyvtárunkban a jarmu nevű könyvtárat. Tegyük fel, hogy a saját könyvtárunk a /home/joska. A pwd parancs tanúsága szerint pedig ebben a könyvtárban állunk. Kiadtuk a könyvtárlétrehozás parancsát: mkdir jarmu Szeretnénk az új könyvtárba belépni, vagyis könyvtárat cserélni. Erre a cd parancs ad lehetőséget: cd jarmu A pwd paranccsal ellenőrizzük a könyvtárváltás meglétét. A cd parancs első c betűje a change szóból van, a d betű pedig a directory szóból. Ha jól dolgoztunk a pwd parancs kimenete most a következő: /home/joska/jarmu Most a jarmu könyvtáron belül hozzunk létre egy szeker nevű könyvtárat: mkdir szeker Lépjünk bele: cd szeker Ezek után a pwd kimenete: /home/joska/jarmu/szeker Most vissza kellene lépni az előző könyvtárba. Az előző könyvtárat két pont jelképezi:.. Másként, ha most éppen a /home/joska/jarmu/szeker könyvtárban állunk akkor a két pont a /home/joska/jarmu könyvtárat jelképezi. Ha szeretnénk visszalépni a jarmu könyvtárba, akkor megtehetjük, hogy a teljes útvonal megadásával így lépek vissza: cd /home/joska/jarmu SzitWiki -
24 Last update: 2019/01/05 22:20 oktatas:linux:parancssor De ugyanezt az eredményt érhetjük el, ha cd paranccsal használjuk a két pontot: cd.. Ez utóbbi parancs bármely könyvtárban is állunk, azt eredményezi, hogy egy könyvtárral feljebb kerülünk. Ugyanígy használhatjuk a gyökérkönyvtár jelét a fájlrendszer gyökerébe jutáshoz: cd / Ezzel a fájlrendszer gyökerébe jutunk. Van még egy különleges karakter, amely a saját könyvtárunkat jelképezi. Ez a következő: ~ Tilde karakternek hívják. Bármely könyvtárban is állok a könyvtárstruktúrában, ha kiadom a következő parancsot, a saját könyvtárunkba fogok jutni: cd ~ Vegyük észre, hogy a várakozási jelben is szerepel egy tilde karakter (Legtöbb linuxos terjesztésben így van beállítva a várakozási jel). A saját könyvtárunkba visszaléphetünk egyszerűen a cd paranccsal is: cd Az utoljára használt könyvtárba is könnyedén visszaléphetünk: cd - Könyvtár törlése Az rmdir parancs segítségével minden megadott üres könyvtárat törölhetünk: rmdir konyvtarnev Itt is használható a -p kapcsoló. A parancs így a legbelső könyvtárat törli, ha az üres, és utána a többit, egyenként. Legyen a példa kedvéért egy ilyen könyvtárszerkezet: egy/ketto/harom Kiadjuk a törlésre az utasítást: rmdir egy/ketto/harom A parancs először törli a harom könyvtárat, ha az üres. Utána a ketto könyvtárat, ha az előző sikeres Printed on 2019/01/07 23:42
25 2019/01/07 23:42 25/128 Linux parancssor volt és a ketto üres. Végül ha az előző kettő sikeres volt, akkor törli az egy könyvtárat is. Könyvtár átnevezése A könyvtár átnevezését az mv paranccsal hajtjuk végre, amely az angol move szóból származik. Magyarul mozgatás jelent. A parancsot valójában arra találták ki, hogy egy állományt egy másik helyre mozgassunk. Viszont ha a mozgatás helye a kiindulási pont, akkor csak átnevezés történik. Szintaxisa a következő: mv eredetikonyvtar ujkonyvtar Könyvtár átmozgatása mv konyvtar001 konyvtar002/ A konyvtar002 könyvtárba mozgatjuk a konyvtár001 nevű könyvtárat. Könyvtárak másolása cp -R dir1 dir2 Ha a dir2 már egy létező könyvtár, akkor annak tartalmába másol! Ha nincs dir2 könyvtára akkor az aktuális könyvtárban létrehozza a dir2 könyvtárat. A -R kapcsoló hatására valójában rekurzív másolásra adunk parancsot, de könyvtármásolásnál éppen ezt szeretnénk. Könyvtárnevek mérete A könyvtárnevek maximális hossza 256 bájt. De az ékezetesekkel duplán kell számolnunk. Gyakorlat Milyen könyvtárkezelő parancsok vannak? Hozzon létre egy tudas nevű könyvtárat saját könyvtárában. Hozzon létre egy jarmu nevű könyvtárat saját könyvtárban. Milyen paranccsal nézzük meg, melyik könyvtárban vagyunk éppen? Milyen paranccsal léphetünk a gyökérkönyvtárba (egy parancs)? A jarmu nevű könyvtárban a következő alkönyvtárakat hozza létere: Citroen Daewoo Fiat Ford Lada SzitWiki -
26 Last update: 2019/01/05 22:20 oktatas:linux:parancssor Mercedes Nissan Opel Peugeot Lépjen be a /sys/block könyvtárba. Derítse ki milyen állományok vannak ebben a könyvtárban. Lépjen be a /sys/block/sda könyvtárba, ha az létezik. Milyen állományok vannak benne? Könyvtárszerkezet A Linuxos könyvtárszerkezet felépítése egy fához hasonlítható. Van egy gyökér a kiinduláspont, és abból újabb könyvtárak, alkönyvtárak nyílnak. A kiindulópontot azaz a gyökeret egyetlen karakterrel jelezzük: /. A perjel tehát a gyökér. Ha a merevlemez több részre ún. partícióra van felosztva, gyökér akkor is csak egy van, így nem kell különféle jelöléssekkel ellátni a gyökér könyvtárat. Jó kérdés lehet, hogy akkor a többi partíciót hol és hogyan érjük el. A plusz partíciók egy-egy könyvtár alkönyvtáraiban érhetők el. A rendszergazda azokat bárhova felcsatolhatja, igaz van mindegyiknek egy megszokott helye. A könyvtárak leírása A felhasználók könyvtárai a home nevű könyvtárban találhatók. Hogy ez rögtön a gyökér könyvtárból nyílik, így szoktuk leírni: /home A /home könyvtáron belül vannak a felhasználók könyvtárai. Legyen például egy joska, egy mari és egy janos nevű felhasználó. A joska felhasználói könyvtárát ekkor így írhatjuk le: /home/joska Mari felhasználó könyvtára: /home/mari János felhasználó könyvtára: /home/janos Fa formájú szerkezetben ezt így írhatjuk le: / --home --janos --joska --mari Ha Jánosnak van a saját könyvtárában egy Dokumentumok alkönyvtár, akkor a faszerkezet így néz ki: Printed on 2019/01/07 23:42
27 2019/01/07 23:42 27/128 Linux parancssor / --home --janos --Dokumentumok --joska --mari Itt szeretném megjegyezni, hogy a Linuxos fájlrendszer kis- és nagybetű érzékeny. Tehát egy dokumentumok és egy Dokumentumok nevű könyvtár, két különböző könyvtár. További példa kedvéért Jánosnak legyen a Dokumentumok mellett egy Tervek és egy a tervekből nyíló Programozas könyvtára: / --home --janos --Dokumentumok --Tervek --Programozas --joska --mari A valósában a gyökérkönyvtárból is több könyvtár nyílik. A következő példában legyen pluszban egy var könyvtár is ábrázolva. A var könyvtárban a rendszer a változó adatokat tárolja: / --home --janos --Dokumentumok --Tervek --Programozas --joska --mari --var A var könyvtárból nyíljon egy log nevű könyvtár amelyben a naplófájlok vannak: / --home --janos --Dokumentumok --Tervek --Programozas --joska --mari --var --log Ezzel a faszerkezettel tehát leírható az egész könyvtár hierarchia. A log könyvtár útvonalát egyetlen sorba, ezek után így írhatjuk fel: SzitWiki -
28 Last update: 2019/01/05 22:20 oktatas:linux:parancssor /var/log A János nevű felhasználó Dokumentumok könyvtára egyetlen sorban: /home/janos/dokumentumok A János nevű felhasználó Programozas könyvtára így írható le: /home/janos/tervek/programozas A János nevű felhasználó Tervek könyvtára így írható le: /home/janos/tervek Esetleg az egyértelműbb jelzés miatt a könyvtár nevek végére tehetünk egy / karaktert: /var/log/ /home/janos/dokumentumok/ /home/janos/tervek/programozas/ /home/janos/tervek/ Így tudjuk, hogy nem egy fájlról van szó. A gyökér könyvtár könyvtárai / bin boot dev hda0 hda1 etc home jozsi mari kati eszter peter lib media mnt opt proc root sbin srv sys tmp usr Printed on 2019/01/07 23:42
29 2019/01/07 23:42 29/128 Linux parancssor var bin include lib local sbin share log mail www Most nézzük, mi micsoda. /bin Az alapparancsok programjai itt vannak elhelyezve. /boot A rendszerindításhoz szükséges fájlok helye. /dev A számítógép minden eszköze (hardvere) ebben a könyvtárban egy fájl formájában leképezésre kerül. /dev/sr0 A CD-ROM elérése. /etc A rendszer beállításait tároljuk itt. /home A felhasználók saját könyvtárai. /lib Osztott programkönyvtárak, elsősorban a kernel, a /bin és az /sbin könyvtárak számára. /lost+found Fájlrendszer sérülése után a helyreállító program ide helyezi azokat a fájlokat amit nem képes helyre állítani. /media Más fájlrendszerek automatikusan ide kerülnek felcsatolásra. /media/cdrom0 /mnt Kézzel csatlakoztatott más fájlrendszerek. /mnt/cdrom Ha kézzel csatolunk egy CD-ROM-t a fájlrendszerbe, akkor azt ide szokás. /proc A memória leképezése fájlokra. /root A root (rendszergazda) felhasználó saját könyvtára. /sbin A rendszergazda parancsainak programjai itt találhatók. /selinux A selinux szolgáltatás beállításai. /srv A szolgáltatásokat nyújtó programok adatállományai (mint a home). /sys Néhány kernelobjektum itt van leképezve. /tmp Ideiglenes fájlok helye. /usr A programok könyvtárai. /usr/bin/ : Futtatható programok a felhasználók számára. /usr/include/ : A programozáshoz szükséges include fájlok helye. /usr/lib/ : Osztott programkönyvtárak. /usr/sbin/ : A root felhasználók programjai. /usr/share/ : Architektúra független adatok. /usr/src/ : Forráskódok. (Debian csomagok fordításához; Lásd még a /usr/local/src/ könyvtárat) /usr/x11r6/ : Az X Window System könyvtára. /usr/local/ : A rendszer-adminisztrátor által telepített programok helye. /usr/local/bin : helyi bináris programok és scriptek helye, stb. /usr/local/src : Forráskódok helye (Nem debianos eszközök telepítési helye.) /var Gyakran változó fájlok helye. Link: SzitWiki -
30 Last update: 2019/01/05 22:20 oktatas:linux:parancssor Gyakorlat Mit tartalmaz a /tmp könyvtár? Mit tartalmaz a /bin könyvtár? Mit tartalmaz a /home könyvtár? Mit tartalmaz a /media könyvtár? Mit tartalmaz a /proc könyvtár? Fájlkezelés Fájlok létrehozása Egy fájl létrehozásához a legegyszerűbb parancs a touch. Igaz eredeti célja, hogy egy fájl időbélyegét megváltoztassuk, de ha egy állomány nem létezik amelynek időbélyegét aktualizálni szeretnénk, akkor azt létrehozza. Természetesen a fájl tartalma üres lesz. A touch parancs nem kérdez semmit, csak elkészíti az állományt: touch fajlneve.txt Az echo paranccsal is létrehozhatunk fájlokat. Ekkor az echo után írt Szöveg a fájlba kerül. echo "alma" > gyumolcsok.txt Fájlok törlése Egy fájl törlése: rm fajlnev Törlés rekurzívan: rm -r fajlnev Az rm parancs alapvetően fájlok törlésére lett kitalálva, ezért könyvtárat csak úgy tudunk törölni vele, ha beállítjuk a rekurzívitást. A könyvtár és tartalmának törlése: rm -r könyvtárnév Az egész könyvtárfa törlése a gyökértől kiindulva: rm -r / A -f kapcsolóval kérdés nélkül törölhetők az állományok. A nem létező állományok miatt sincs visszajelzés: Printed on 2019/01/07 23:42
31 2019/01/07 23:42 31/128 Linux parancssor rm -f vmi.txt Egyszerre több fájl is törölhető: rm vmi1 vmi2 vmi3 Ha óvatosak szeretnénk lenni, ezért minden fájl törlése előtt elvárnánk egy kérdés, hogy törölhetjüke, akkor használjuk az -i kapcsolót: rm -i vmi1 vmi2 vmi3 Ha kérdés nélkül szeretnék egy könyvtárat, tartalmukkal együtt töröli, használjuk a -f és -r kapcsolókat: rm -rf könyvtárnév A -r mondja meg, hogy legyen rekurzív a művelet, a -f pedig, hogy ne problémázzon az rm parancs. Az rm parancs mellett használható a * jelölése, amely bármilyen szövegre illeszkedik. a.txt kiterjesztésű fájlok törlése: rm *.txt A csillag karakter persze állhat a bárhol a mintában. Fájlok átnevezése mv fajl001 fajl002 Az mv parancs valójában a fájlok mozgatására lett kitalálva, de ha nem adunk meg könyvtárat, vagyis ugyanabba a könyvtárba mozgatunk, akkor tulajdonképpen átnevezés történik. Fájlok mozgatása Adott állomány mozgatása adott könyvtárba: mv fajl konyvtar vagy: mv fajl konyvtar/ A fajl nevű állományt a konyvtar nevű mappába mozgatjuk. Több fájl is mozgatható egy könyvtárba, a lényeg, hogy a könyvtár neve legyen az utolsó: mv fajl1 fajl2 fajl3 konyvtar SzitWiki -
32 Last update: 2019/01/05 22:20 oktatas:linux:parancssor Fájlok másolása Az aktuális könyvtárban szeretnénk a file1 állományról egy file2 másolatot: cp fajl01 fajl02 Adott egy munka nevű könyvtár az aktuális könyvtáron belül. Ebbe szeretnénk másolni a file1 nevű állományt, ugyanezen a néven: cp fajl01 munka/ A -u, vagy hosszabban --update kapcsolóval, a nem kerülnek másolásra azok a nem-könyvtár fájlok, amelyek azonos vagy újabb módosítási idővel rendelkeznek. cp -u *.c cel Fájlok tartalmának megtekintése Gyakran szükség van arra, hogy gyorsan belenézzünk egy fájlba. Erre használható például a cat parancs: cat fajlnev more fajlnev less fajlnev Fájlok darabolása split -b fajlnev Régebben ha floppy lemezre akartunk másolni, pont ekkora méretre kellett darabolnunk a fájlt. A fenti parancs segítségével a fajlnev nevű állományt byte nagyságú részekre lett feldarabolva. A fájlokat automatikusan elnevezi ehhez hasonlóan: xaa xab xac stb Darabolt fájlok összefűzése A darabolt fájlokat előbb-utóbb szeretnénk összeszerkeszteni. Ezt a cat paranccsal tehetjük meg az alábbi formában: cat x* >> fajlnev Printed on 2019/01/07 23:42
33 2019/01/07 23:42 33/128 Linux parancssor A csillag, azt jelenti, hogy minden könyvtár ami x-el kezdődik. Fájlok szerkesztése Fájlok szerkesztésére nagyon sok eszköz áll rendelkezésre. Lehet parancssorból a sed paranccsal szerkeszteni. Vagy lehet erre a célra kitalált szövegszerkesztőket használni. Legyen például a virag.txt nevű állomány amit szeretnénk szerkeszteni: vi virag.txt vagy nano virag.txt vagy mcedit virag.txt Az Midnight Commander beépített szövegszerkesztője. Valójában egy szimbolikus link az mc parancsra. Ebből következik, hogy a használatához az mc csomagnak telepítve kell lennie a gépünkön. Nano Billentyűk A nano szövegszerkesztő alapvető billentyűkombinációi Ctrl gombbal működnek. Ezt maga a szövegszerkesztő is tudatja velünk, de a Ctrl helyett egy ^ karaktert látunk mindig. A mentés például a Ctrl+O billentyűkombinációval történhet, amit így látunk: ^O Vagy a kilépés Ctrl + X billentyűkombináció, amelyet így látunk: ^X Szerkesztés A vágólapos szerkesztési műveleteket kezdjük a kijelöléssel. Először meg kell mondani, hogy most kijelölés jön. A kijelölés végét nem kell jelezni (ellentétben az mceditel). Ha kijelöltük azt amit vágólapra szeretnénk tenni, akkor el kell dönteni ezt hogyan szeretnénk. A kijelölt szöveg kivágásával, vagy másolásával. Ennek megfelelő billentyűkombinációt nyomunk. Ezt követően arra a helyre lépünk, ahova a szöveget be kell illeszteni, amit Ctrl + U kombinációval tehetünk meg. Alt + A Szelekció megkezdése Alt + 6 Másolás (ha nincs kijelölve, akkor az aktuális sor) SzitWiki -
34 Last update: 2019/01/05 22:20 oktatas:linux:parancssor Ctrl + K Kivágás Ctrl + U Beillesztés A Ctrl + K billentyűkombinációt használhatjuk kijelölés nélkül is. Ekkor azt a sort vágja ki, amelyikben éppen állt a kurzor a Ctrl + K lenyomásakor. Egyéb Alt + Q Kijelölés kezdete Linkek a fájlrendszerben Merevlink Amikor létrehozunk egy állományt a merevlemezen lefoglalunk számára egy szektort. Ugyanakkor létrejön egy bejegyezés, amelyet inode néven említjük. Az inode nevű egységben van leírva a fájl időbélyege, mérete, tulajdonosa, csoportja, jogok, stb. Az inodeban van feljegyezve, hogy hol helyezkedik el a merevlemezen a lefoglalt szektor, ezt a bejegyzést hívhatjuk tulajdonképpen linknek. A fájl létrehozásakor tehát egy linket hozunk létre, mégpedig merevlinket. Ilyen merevlinket többet létrehozhatunk egy fájlra. Ennek módja a következő: ln fajlnev linkfajlra Ha már két merevlink mutat egy fájlra, a fájl csak akkor törlődik, ha mindkét linket töröljük. Vegyük a következő példát. Létrehozok egy fájlt: touch erdo.txt Most létrehozok egy rámutató linket: ln erdo.txt fak.txt Most törlöm a erdo.txt-t: rm erdo.txt A fájl maga nem kerül törlésre, mert a fak.txt nevű link még az állományra mutat. Az állomány törlése csak ekkor történhet meg. Az ls -l parancs kimenete megmutatja hány darab szimbolikus link mutat egy fájlra. Szimbolikus link A szimbolikus link nem valódi link, ezért is nevezzük szimbolikusnak. Ha van egy állomány amelyre csak egyetlen merevlink mutat és egy szimbolikus link, amikor törlöm a merevlinket a fájl törlődni fog. A szimbolikus link ez után megmarad, de nem mutat majd sehova. Printed on 2019/01/07 23:42
35 2019/01/07 23:42 35/128 Linux parancssor Szimbolikus link létrehozása ln -s fajlnev linkfajlra A fájlrendszerben szimbólikus linkre példa: ls -l /vmlinuz Fájlok statisztikája A stat parancs még több információt szolgáltat egy állományról vagy egy könyvtárról. stat fajlnev Például: stat log.txt File: "log.txt" Size: 0 Blocks: 0 IO Block: 4096 szabályos üres fájl Device: 802h/2050d Inode: Links: 1 Access: (0644/-rw-r--r--) Uid: ( 1000/ andras) Gid: ( 1000/ andras) Access: :00: Modify: :35: Change: :35: File Size Blocks IO fájltípus A fájl neve A fájl mérete A fájl által használt blokkok száma (512 bájtos blokkokkal számol!) IO blokkméret a fájl számára szabályos fájl, szabályos üres fájl könyvtár szimbolikus link foglalat speciális karakterfájl speciális blokkfájl Device Az eszköz neve hexadecimális és decimális formában. Inode Links A fájl egyedi azonosítója a fájlrendszerben Linkek száma a fájlra Access Hozzáférés szám és karakterformában. Uid Gid Tulajdonos Csoport Access Utolsó fájlolvasási időpont Modify A fájl tartalmának utolsó változása Change A fájl inode leírójának utolsó változása stat konyvtarnev SzitWiki -
36 Last update: 2019/01/05 22:20 oktatas:linux:parancssor Magáról a fájlrendszerről kaphatunk információt a -f kapcsoló megadásával: stat -f fajlnev Például: stat -f log.txt File: "log.txt" ID: 3f4e5580b0204b72 Namelen: 255 Type: ext2/ext3 Block size: 4096 Fundamental block size: 4096 Blocks: Total: Free: Available: Inodes: Total: Free: Ha írunk a fájlba, akkor módosul a mtime (Modify time), de ezzel együtt a ctime (Change time) is. A ctime viszont módosul még néhány esetben. Ha például módosítom a fájl jogait, vagy tulajdonsát, akkor a ctime érték frissül. A -c vagy a --format kapcsolóval kiírathatjuk (többek között) mit ért (hány bájt-ot) a stat blokkméret alatt: stat --format=%b fajlnev $ stat --format=%b vmi.txt 512 Fájlok mérete A fájlok lemezen foglalt helyét és méretét tudhatjuk meg a du parancs segítségével. A du alapértelmezésként a lemezen elfoglalt helyet mutatja meg blokkméretben. 1 blokk 1 kibibájt-nak számít, azaz 1024 bájtnak. Ha bájt-ban szeretnénk megkapni pontosan mekkora az állomány mérete, akkor a -b vagy --bytes kapcsolót kell használnunk. Hozzunk létre saját könyvtárunkban egy fájlt: cd ~ echo "Lorem ipsum doloest amet" > lorem.txt Nézzük meg a helyfoglalását: du lorem.txt Az eredmény: 4 lorem.txt Nem négy bájt. Négy kibibájt (4 * 1024 bájt). Ennyi helyet foglal a lemezen. A du parancs tehát Printed on 2019/01/07 23:42
37 2019/01/07 23:42 37/128 Linux parancssor alapértelmezésben 1024-es blokkokkal számol. Ha be van állítva a POSIXLY_CORRECT környezeti változó, akkor 512 bájtos blokkokkal kell számolnunk. Állítsuk be a változót és nézzük meg újra a parancs kimenetét: set -o posix du lorem.txt A kimenet: 8 lorem.txt A kimenetben most 8 blokk, vagyis 8 darab 512 bájtos helyet foglal az állományunk, ami 4096 bájt összesen. A POSIXLY_CORRECT környezeti változót azért szokták beállítani, hogy a programok úgy működjenek, hogy megfeleljenek a POSIX szabványnak. A POSIXLY_CORRECT kikapcsolásához: set + o posix A set Bash belső parancsa, több információért nézd meg a leírását: help set Most nézzük meg a valós méretét: du -b lorem.txt vagy: du --bytes lorem.txt 26 bájtot kapunk: 26 lorem.txt Nézzük meg a stat paranccsal is a lorem.txt lefoglalt blokkméretét. Vegyük észre a különbséget. A stat azt mondja 8 blokk, mert az eleve 512 bájt mérettel számol. Ebből láthatjuk, hogy az adott fájlrendszer blokkmérete 4096 bájt. A teszteléshez létrehozhatunk egy 4096 bájt nagyságú fájlt: dd if=/dev/zero of=teszt.txt bs=1024 count=4 Nézzük meg a du paranccsal hány blokkot foglal: $ du teszt 4 teszt.txt SzitWiki -
38 Last update: 2019/01/05 22:20 oktatas:linux:parancssor Most adjunk hozzá még két bájtot: echo a >> teszt.txt Megjegyzés: egy sortörés is hozzáíródik, azért 2 bájt. Ellenőrizzük újra: $ du teszt 8 teszt.txt Fájlnevek A fájlnevek tartalmazhatnak ékezetes fájlneveket, számokat, alulvonást (_), kötőjelet, pontot stb. Maximális hosszuk: 255 bájt Vegyük észre, hogy a 255 a karakterek száma helyett a szükséges bájtokat tartalmazza. A magyar ékezetes betűk például 2 bájtosak. A fájlnevek lehetséges hossza fájlrendszerfüggő, de általában mindenhol 255. Próbáljunk meg létrehozni egy olyan fájlt, amelynek a neve 255 bájt hosszú: touch A fájl létrejön. Most próbáljunk meg 256-tal: touch touch: ' ' elérése sikertelen: Túl hosszú fájlnév A wc -c segítségével ellenőrizhetjük a fájlnév hosszát. Az echo 012 wc -c eredménye 4: echo 012 wc -c 4 Tehát eggyel több, mint ahány karakter van. Most másoljuk az 012 három helyére az általam Printed on 2019/01/07 23:42
39 2019/01/07 23:42 39/128 Linux parancssor megadott fájlnevet, ellenőrizzük az eredményt. Megjegyzés: Egy útvonal maximális hossza 4096 karakter. A kernel forrásában a limits.h fejállományban van definiálva a maximális nagyság. [...] #define NAME_MAX 255 /* # chars in a file name */ #define PATH_MAX 4096 /* # chars in a path name including nul */ [...] Ha gépünkön telepítve vannak a fejállományok, akkor ott is ellenőrizhetjük as kernel esetén: /usr/src/linux-headers common/include/uapi/linux/limits.h Fájlok keresése Keresés tartalom alapján: find. -name "*.txt" -print xargs grep "Nagy József" Olyan.txt kiterjesztésű fájlokat keresünk, amelyben szerepel a Nagy József név. Egyszerűbben: grep -lir "Nagy József" /utvonal/konyvtar Olyan fájlokat keresünk, adott könyvtárban, amelyben szerepel a Nagy József név. Az eredmény a fájl neve. Harmadik verzió: egrep -R "Nagy József" /útvonal/könyvtár Negyedik verzió: grep -Pri "Nagy József" /útvonal/könyvtár A kapcsolók rendre: -P --perl-regexp -- A minta Perl reguláris kifejezés -r --recursive -- Rekurzívan az alkönyvtárakban is keres -i --ignore-case -- Kis és nagybetűk megegyeznek A find és grep parancsról később részletesen is szó esik. A locate parancs: SzitWiki -
40 Last update: 2019/01/05 22:20 oktatas:linux:parancssor A locate parancs telepítése: apt install locate locate minta Létezik egy /var/lib/mlocate/mlocate.db nevű adatbázis, amely segít megtalálni állományokat. Az adatbázis a következő paranccsal frissíthető: updatedb Gyakorlat Milyen fájlszerkesztő parancsok vannak? Milyen paranccsal hozhatunk létre egy új üres állományt? Milyen paranccsal törölhetek egy állományt? Milyen paranccsal nevezhetek át egy állományt? Írjon példát. Milyen paranccsal mozgathatok egy saját könyvtáramból egy alkönyvtárba egy fájlt. Írjon példát. Billentyűzet használat Fogalmak Terminal Egy billentyűzet és egy monitor, amely egy számítógéphez kapcsolódik. Eredetileg a nagygépes Unix rendszerekhez több terminál is csatlakozott. Esetleg egy PC-t is lehetett terminálként használni. A Linuxot ma leggyakrabban nem nagygépre, hanem egy PC-re telepítjük. A PC-hez pedig egyetlen monitor és billentyűzet kapcsolódik alapesetben. Mi ezt tekintjük most terminálnak. A Linux lehetővé teszi, hogy több felületen is belépjünk, mintha több terminálunk lenne. Ezek nem valódi terminálok, így a linuxos terminálokat virtuális terminálként szoktuk említeni. Host A nagyszámítógép, amelyhez a terminálok kapcsolódnak. Host számítógép alatt mi most PC-t fogjuk érteni, amelyen dolgozunk. Teletype ASR33 Az első Unix terminálok, amelyek egy billentyűzetből és egy nyomtatóból álltak. Rövidítve TTY. Egy Linuxos rendszeren parancssoros felületen 6 helyen léphetünk be. Ezeket teletype névvel illetjük az ASR33 teletype után. Szokás még terminál néven is említeni. Printed on 2019/01/07 23:42
41 2019/01/07 23:42 41/128 Linux parancssor Parancsok Terminál nevének kiíratása: tty Terminál paramétereinek beállítása: stty Paraméter nélkül kiírja a Linux milyen beállításokkal használja a terminált. Több információt nyerhetünk a -a kapcsolóval: stty -a A kisbetűk nagybetűvé alakítása: stty olcuc A kisbetűk nagybetűvé alakításának kikapcsolása: stty -olcuc További információkért lásd a man stty parancsot. Milyen terminált használunk: echo $TERM Billentyűzetkódok showkey Gyakorlat Honnan ered a terminál elnevezés? Mit jelent a host? Írjon egy Teletype típust. Milyen paranccsal írathatjuk ki a terminálunk nevét? Milyen paranccsal állathatjuk be a terminálunkat? Milyen paranccsal állatja be, hogy minden beírt betű nagybetűs legyen? Melyik környezeti változó tartalmazza a terminálunk nevét? SzitWiki -
42 Last update: 2019/01/05 22:20 oktatas:linux:parancssor Parancsok megtalálása A parancsokról Jó néhány parancsot megismertünk, de általában szeretnénk a parancsokról többet megtudni. Esetleg azt is szeretnénk tudni, hogy a parancsokat megvalósító programok valójában hol találhatók. Esetleg szükségünk van egy parancsra de azt sem tudjuk hol, milyen néven keressük. A következő fejezet ezeket a problémákat járja végig. Külső és belső parancsok Alapvetően kétféle parancs van. Ezek: belső külső A parancsokat a parancsértelmező fogadja. A parancsértelmező először megnézi, hogy a kiadott parancsot ő maga fogja-e végrehajtani. Ha nem ismeri, akkor egy külső programot keres, amelyet futtat. Belső parancsok A belső parancsok gyűjteményéről a help parancs tájékoztat minket. A help valójában egy belső parancs amit Bash értelmez. A help parancs paraméterezhető, lekérdezhető vele egy konkrét parancs kézikönyve: help -m cd Keresünk egy parancsot Valamihez szeretnék parancsot találni. Például könyvtárkezeléshez keresek egy parancsot. Ha telepített rendszer magyar, akkor kereshetek magyar szavakra is. A parancsok kereséséhez egyik lehetséges program az apropos. Használata a könyvtárkezeléssel kapcsolatos parancsok keresése esetén például: apropos könyvtár A program kiírja azoknak a programoknak a neveit amelyeknek a leírása tartalmazza a könyvtár szót. apropos könyvtár basename (1) - levágja a könyvtárat és a végződést a fájlneve... chroot (1) - parancs futtatása eltérő gyökérkönyvtárral chroot (8) - megváltoztatja a gyökérkönyvtárat és végrehajt... cp (1) - fájlok és könyvtárak másolása Printed on 2019/01/07 23:42
43 2019/01/07 23:42 43/128 Linux parancssor find (1) ldd (1) ls (1) mkdir (1) pwd (1) rmdir (1) whois (1) - fájlokat keres egy könyvtárstruktúrában - kiírja a program által használt megosztott könyvt... - könyvtárak tartalmának listázása - könyvtár létrehozása - kiírja az aktuális (munka-) könyvtárat - törli az üres könyvtárakat - Internet user név könyvtár szolgáltatás Persze nem kapjuk meg azoknak a parancsoknak a nevét amelyeknek a leírása nem lett magyarra fordítva. Ezért az angol nyelven érdemes rákeresni a könyvtár szóra: apropos directory Figyeljük meg, hogy a leírásból egy rövid kivonatot is közöl a parancsról, ami leírja mire való a prancs. $ apropos directory alphasort (3) - scan a directory for matching entries basename (1) - strip directory and suffix from filenames bf_compact (1) - shell script to compact a bogofilter directory bf_compact-bdb (1) - shell script to compact a bogofilter directory bf_copy (1) - shell script to copy a bogofilter working directory bf_copy-bdb (1) - shell script to copy a bogofilter working directory bf_tar (1) - shell script to write a tar file of a bogofilter direc... bf_tar-bdb (1) - shell script to write a tar file of a bogofilter direc... bindtextdomain (3) - set directory containing message catalogs chdir (2) - change working directory chroot (2) - change root directory chroot (8) - run command or interactive shell with special root dir... closedir (3) - close a directory dbus-cleanup-sockets (1) - clean up leftover sockets in a directory depmod.conf (5) - Configuration file/directory for depmod desktop-file-install (8) - install a desktop file to the applications directory dh_installdeb (1) - install files into the DEBIAN directory dh_testdir (1) - test directory before building debian package dir (1) - list directory contents dirfd (3) - get directory stream file descriptor dirsplit (1) - splits directory into multiple with equal size... pwd (1) pwdx (1) readdir (2) readdir (3) readdir_r (3) readlinkat (2)... - print name of current/working directory - report current working directory of a process - read directory entry - read a directory - read a directory - read value of a symbolic link relative to a directory SzitWiki -
44 Last update: 2019/01/05 22:20 remove (3) renameat (2) rewinddir (3) rmdir (2)... oktatas:linux:parancssor - remove a file or directory - rename a file relative to directory file descriptors - reset directory stream - delete a directory A válasz most egész hosszúra sikeredett, így csak egy kivonatot másoltam ide. Valamelyik parancs felkeltette az érdeklődésünket és többet szeretnénk róla tudni. Erre való a man parancs. A man a manual szóból van, vagyis kézikönyv. Minden parancsnak általában van kézikönyve, amely leírja annak használatát és persze mindent amit a program dokumentálója jónak látott. A listából például kiválasztjuk a ls parancsot, mert a könyvtárak tartalmának listázásáról többet szeretnénk tudni. A következő parancsot használhatjuk: man ls Ha elindítottuk a man ls parancsot a következő problémánk lehet, hogyan lépünk ki a kézikönyvből? Ehhez a Q billentyűt kell mindössze megnyomni és a kilépés megtörténik. Ha tudjuk egy parancsnak a nevét, és egy rövid leírást szeretnék mire is jó, akkor használhatjuk a whatis parancsot: whatis ls A parancsnak érdemes kipróbálni help paraméterét is: ls --help Néhány parancsnak több karakterből álló paramétere csak egy kötőjellel van bevezetve: -help. De az is lehet, hogy csak egy karakter kell: -h Ez mindig az adott program írójától függ. A szabvány szerint több karakteres opciókat mindig két kötőjellel vezetjük, az egy karaktereseket egy kötőjellel. Hol található maga a program? Előfordulhat, hogy szeretnénk tudni hol található egy program. Például egy scriptet akarunk írni, amelyben az egész útvonalat szeretnénk felvenni. Nekiállhatnánk keresni is, de van egy parancs amelyik megmondja hol van: which ls A which parancsot pontosan erre a célra találták ki. A kimenet általában ez: /bin/ls Próbáljuk meg más parancsokkal is. Beépített parancs vagy önálló program Printed on 2019/01/07 23:42
45 2019/01/07 23:42 45/128 Linux parancssor A type parancs segítségével megtudhatjuk egy adott parancsról, hogy azt a shell tudja, beépített parancsként, vagy valahol a fájlrendszerben egy önálló program. Maga a type bash shell része: $ type type Még néhány beépített parancs: $ type pwd pwd egy beépített parancs $ type cd cd egy beépített parancs Ha parancs nem shell parancs akkor kiírja annak útvonalát a which utasításhoz hasonlóan: $ type cp cp: /bin/cp Kézikönyvek Fentebb már láttuk, hogy a programok rövid leírását a whatis parancs megadja, a bővebb leírást pedig a man. Ne felejtsük el, hogyan léphetünk ki a man parancs környezetéből. Ezt a q billentyű lenyomásával tehetjük meg. man ls Fejezetek A kézikönyv, angolul manual, innen a parancs röviden: man. A kézikönyvek 9 fejezetre oszthatók. Ezek: Futtatható programok vagy shell parancsok Rendszerhívások (a kernel függvényei) Osztott könyvtári függvények Speciális fájlok (rendszerint /dev) Fájlformátumok, konverziók (pl. /etc/passwd) Jétékok Egyéb (makrócsomagok, man(7), groff(7) Rendszer-adminisztrátori parancsok (a root felhasználó számára) Kernel rutinok A kézikönyvek részei Egy kézikönyv a következő részekre tagolható: NAME - rövid leírás SYNOPSIS - szintaktikai leírás SzitWiki -
46 Last update: 2019/01/05 22:20 oktatas:linux:parancssor CONFIGURATION - beállítások DESCRIPTION - leírás OPTIONS - kapcsolók EXIT STATUS - kilépési kódok RETURN VALUE - visszatérési érték ERRORS - hibák ENVIRONMENT - környezet FILES - fájlok VERSIONS - verziók CONFORMING TO - egyezések NOTES - megjegyzések BUGS - a program hibái EXAMPLE - példák AUTHORS - tulajdonos SEE ALSO - lásd még Példák Nézzünk néhány példát: A ps parancs: man ps A chmod parancs: man chmod A chown parancs: man chown Más nyelvek Előfordulhat, hogy szeretnénk egy parancs eredeti angol nyelvű verzióját megnézni, mert a magyar nyelvűben nem találjuk a keresett információt (ez előfordulhat, ha például a magyarítást nem frissítették az adott programnál). A Debian GNU/Linux 6.x-es rendszerben például a magyar ps kézikönyv nem tartalmazza a <, N, L, s, l, + státuszok leírását. Az angol nyelvű verzióban azonban megtaláljuk. A nyelv beállításhoz használjuk a -L kapcsolót: man -L en ps A nyelvet az ISO-639 szabvány szerint kell beírni. Gyakorlat Hogyan tudom megnézni a cd belső parancshoz tartozó segítő leírást? Hogyan tudom megnézni a crontabhoz tartozó nyolcas kézikönyvfejezetet? Milyen fejezetekből állhat egy kézikönyv? Printed on 2019/01/07 23:42
47 2019/01/07 23:42 47/128 Linux parancssor Milyen paranccsal tudom megnézni, hogy a firefox parancs hol található a fájlrendszerben? Milyen paranccsal kereshetek parancsokat? Parancsok Szintaxis A szintaxis a parancsok kiadásának formális leírása. A parancsot begépelve parancssornak nevezzük. A Linuxos rendszerben egymás után több parancsot is beírhatok pontosvesszővel tagolva: parancs1 ; parancs2 ; parancsn A parancsokat && karakterpárossal is tagolhatjuk: parancs1 && parancs2 Ekkor a parancs2 csak akkor fog végrehajtódni, ha az első sikeres volt. A prancssort két részre lehet osztani. A parancs neve és az argumentumok. Példa: ls -1 -F fajlnev1 A példában az ls a parancs neve ami után jön az pedig mind argumentum. Itt az ls parancsnak három paramétere van. Az argumentumokat kapcsolókra és paraméterekre osztjuk fel. Parancssor parancsnév argumentumok parancsnév kapcsolók paraméterek Opciók Kapcsolók vagy opciók a parancs nevét követik. Egy vagy két kötőjel vezeti be őket. Ha egy kötőjel van, átláthatóbb egy hosszú parancssor. Ha hosszú formát használjuk olvashatóbb. Hogy egy-egy parancs esetén mi van megvalósítva, az csak a programozón múlik. Az opciók módosítják a parancs végrehajtását. -F --classify -a --all -s --size SzitWiki -
48 Last update: 2019/01/05 22:20 oktatas:linux:parancssor Paraméterek A paraméterek az opciókat követik. Egy vagy több is lehet belőlük. A paraméterek határozzák meg, min kell végrehajtani a parancsot. ls -1 -F file1 file2 file3 Két opció: -1 -F Három paraméter: file1 file2 file3 Összevonható opciók ls -1 -F file1 ls -F -1 file1 ls -1F file1 ls -F1 file1 A -1 és -F opciókat egyetlen kötőjellel is megadhatom. Ilyenkor a két opciót leírom egymás mellé. A sorrend lényegtelen. WhiteSpace karakterek WhiteSpace karakter a szóköz és a tabulátor. A parancs neve, az opciók és a paraméterek között ezekből egy vagy több is szerepelhet: ls <szóköz>-l<szóköz>-f<szóköz>file1 ls <tab>-l<tab>-f<tab>file1 ls <szóköz><tab>-l<szóköz>-f<tab><tab><tab>file1 Az előző argumentum felhasználása Az előző argumentumot felhasználhatjuk!$ beírásával. mkdir Dokumentumok cd!$ Használhatjuk a <Alt>+<.> billentyűkombinációt is. Printed on 2019/01/07 23:42
49 2019/01/07 23:42 49/128 Linux parancssor Előző parancs használata Tegyük fel, hogy szeretnénk létrehozni a dir1 könyvtárban egy dir2 könyvtárat. Beírjuk: mkdir dir1/dir2 De kiderül, hogy a dir1 könyvtár nem is ebben a könyvtárban van. A megfelelő könyvtárba váltunk, majd megismételjük a parancsot:!! Gyakorlat Mi az opció? Mi a paraméter? Mutasson példát az opciók felcserélhetőségére. Mi a WhiteSpace? Hány WhiteSpace szerepelhet egy parancs neve után? Átirányítások Alapfogalmak stdin A stdin tulajdonképpen a billentyűzet. stdout Az stdout a képernyő. stderr Az stderr szintén a képernyő. cat parancs A cat parancs egy olyan parancs, amely billentyűzetről olvas, és stdout-ra ír. SzitWiki -
50 Last update: 2019/01/05 22:20 oktatas:linux:parancssor Átirányítás fájlba vagy fájlból Az alapértelmezett kimenet átirányítása Most a billentyűzetről fogunk olvasni, a kimenet az stdout helyett viszont egy állomány lesz. Az átirányítást a nagyobb-mint (>) karakterrel fogjuk megvalósítani. A gyumolcs.txt fájl tartalmát a képernyő helyett a gyumolcs2.txt fájlba irányítom: cat > gyumolcs.txt szilva barack körte alma<ctrl>+<d> A bevitelt a <Ctrl>+<D> billentyűkombinációval szakítjuk meg, amellyel tulajdonképpen fájlvége jelet küldünk a rendszernek. Bármely program, ha a stdout-ra (képernyőre) ír annak kimenetét átirányíthatjuk fájlba. Az alapértelmezett hibakimenet átirányítása Néhány program a normál üzenetek mellett hibaüzeneteket is a képernyőre íródnak. Ezek a hibaüzenetek nem kerülnek fájlba az előbbi átirányítás esetén: A hibaüzenetek átirányítását is megoldhatjuk azonban: Tegyük fel, hogy nem létezik az aktuális könyvtárban nincs aaaa nevű könyvtár és fájl sem, amikor kiadjuk a következő parancsot: ls aaaa Az eredmény a képernyőre íródik. ls: aaaa nem érhető el: Nincs ilyen fájl vagy könyvtár Ha ezt megpróbáljuk fájlba irányítani a fenti módon nem járunk sikerrel, mivel ez az az üzenet a stdout helyett a stderr-re íródik. Persze alapértelmezetten az is képernyő. Az alapértelmezett kimenet száma a 2. Meg kell mondanunk, hogy a 2-es számú kimenet szeretnénk fájlba irányítani: ls aaaa 2> a.txt Ezek után a képernyőre nem ír semmit a parancs. Az a.txt fájlban viszont: ls: aaaa nem érhető el: Nincs ilyen fájl vagy könyvtár Printed on 2019/01/07 23:42
51 2019/01/07 23:42 51/128 Linux parancssor A bemenet átirányítása A gyumolcs.txt fájl tartalmát a képernyőre írom: cat < gyumolcs.txt A cat bemenete alapértelmezetten a billentyűzet. Mi most azt mondtuk, hogy ez egy fájl legyen. A bemenet és kimenet együttes átirányítása Az adatokat a gyumolcs.txt fájlból vesszük. A gyumolcs.txt fájl tartalmát a képernyő helyett a gyumolcs2.txt fájlba irányítom: cat < gyumolcs.txt > gyumolcs2.txt Ha a fájl nemlétezik akkor létrehozza. Ha létezik felülírja. Hozzáfűzés A kimenet átirányítását a nagyobb-mint (>) karakterrel végeztük. Ez mint láttuk felülírja a létező fájlt. Néha azonban ezt szeretnénk elkerülni, és szeretnénk a már meglévő fájl végéhez fűzni. Ezt kettő darab nagyobb-mint jel egymásután írásával érjük el: echo "banán" >> gyumolcs.txt A fenti parancs a gyumolcs.txt fájl végéhez fűzi a banán szöveget. Az stdout és az stderr együttes átirányítása Néha szeretnénk a hibaüzeneteket és a normál üzeneteket is fájlba irányítani. Az alábbi program normál és hibaüzeneteket is generál. program > kimenet 2>&1 vagy: program &> kimenet.txt A kimenet stdout és az stderr képernyőre és fájlba írása, példa: dir letezofaj.txt nemletezofajl.txt 2>&1 tee kimenetifajl.txt A tee parancs egyszerre ír fájlba és a képernyőre. A parancs után a képernyőn és a kimenetifajl.txt állományban is: SzitWiki -
52 Last update: 2019/01/05 22:20 oktatas:linux:parancssor dir: nemletezofajl.txt nem érhető el: Nincs ilyen fájl vagy könyvtár letezofajl.txt A stderr és stdout háttere Az alapértelmezett kimenet és az alapértelmezett hibakimenet szétválasztása a programozásnál kezdődik. A megértéshez vegyünk egy egyszerű C programot, amely a képernyőre ír. Képernyőre ír például a printf() függvény: printf("egy\n"); Ugyanezt csinálja a következő utasítás is: fprintf(stdout, "Egy\n"); Csak itt meg kellett adni, hogy az alapértelmezett kimenet nevét: stdout. A következő utasítás azt mondja, hogy írjunk az alapértelmezett hibakimenetre: fprintf(stderr,"három\n"); A programozó tehát néha azt mondhatja, hogy írjunk a képernyőre, de legyen megkülönböztetve a példában a Három szó kiíratása, mert az a hibakimenetre megy. A \n az sortörés. Lássunk egy komplett programot: main.c #include <stdio.h> main() { printf("egy\n"); fprintf(stdout, "Kettő\n"); fprintf(stderr, "Három\n"); } A programban a Egy és Kettő szavak az alapértelmezett kimenetre mennek. Az alapértelmezett kimenet száma 1. A Három szó viszont a már a hibakimenetre megy, melynek száma 2. Ha gépünkön telepítve van a gcc fordító, akkor fordítsuk le a programot: gcc -o main main.c Elkészül egy main nevű állomány. Ha futtatjuk:./main a képernyőre íródik mind a három szám: Printed on 2019/01/07 23:42
53 2019/01/07 23:42 53/128 Linux parancssor Egy Kettő Három Most használjuk az átirányítást. Irányítsuk fájlba az alapértelmezett kimenetet:./main > naplo.txt vagy:./main 1> naplo.txt Ekkor a Három szót a képernyőre íjra a program, az Egy és a Kettő viszont a naplo.txt nevű állományba kerül. Most irányítsuk az alapértelmezett hibakimenetet a állományba:./main 2> naplo.txt Most a képernyőre íródik az Egy és a Kettő szó, a Három pedig állományba. Ha pedig mind két kimenetet állományba szeretném irányítani, akkor:./main &> naplo.txt Ekkor mind a három szó fájlba kerül. Láthatjuk, hogy a stdout és stderr technika lehetővé teszi, hogy elválasszuk egy program normál üzeneteit a hibaüzenetektől, ami céljainktól függően néha nagyon jól jöhet. Átirányítás program számára A következőkben a szintén átirányítást fogunk használni, azonban most egy másik program számára adjuk át a kimenetet. Ezt a pipe ( ) karakter segítségével valósítjuk meg. cat gyumolcs.txt sort Többszörös átirányítás Létrehozunk egy állományt. cat > gyumolcs3.txt körte szilva barack alma szilva<ctrl>+<d> SzitWiki -
54 Last update: 2019/01/05 22:20 oktatas:linux:parancssor Az állomány tartalmaz néhány ismétlődést. Ezt kezelni tudjuk az uniq paranccsal. Az uniq parancs azonban csak rendezett állománnyal képes dolgozni. Először tehát rendeznünk kell a tartalmat. cat gyumolcs3.txt sort uniq Esetleg ha szeretnénk megszámoltatni a sorok számát is, akkor: cat gyumolcs3.txt sort uniq wc -l Az egésznek az eredményét pedig ugyancsak fájlba irányíthatjuk: cat gyumolcs3.txt sort uniq wc -l > gyumolcsszam.txt Fájl tartalmának törlése A > karakter önmagában is kiadható, mint egy parancs. Ha utána írunk egy állományt, annak tartalma törlődik. Így használható állományok tartalmának törlésére: > vmi.txt Gyakorlat Mi a stdin? Mi a stdout? Mire használjuk a < karaktert? Mire használjuk a > karaktert? Mire használjuk a karaktert? Írassuk a ki a belépett felhasználók neveit, a kimenetet a users.txt fájlba irányítva. Útvonal Az útvonalról Egy parancsot úgy tudunk végrehajtani, ha tudjuk melyik könyvtárban van, akkor beírjuk az útvonalát és egy <Enter>-t nyomunk. Például gcc paranccsal szeretnénk egy programot lefordítani, akkor ezt írhatjuk: /usr/bin/gcc -o main main.c Ehhez tudnunk kell, hogy a gcc parancs az /usr/bin könyvtárban van. Szerencsére nem kell ezt nekünk megjegyezni. A rendszer biztosít számunkra egy PATH nevű környezeti változót. Ha ez tartalmazza az /usr/bin karaktersorozatot akkor a gcc parancs kiadásánál a parancsértelmező megnézi, hogy van-e az /usr/bin/ könyvtárban gcc parancs. Ha van akkor végrehajtja. Persze a PATH változóban egyszerre több útvonal is megadható, egymástól kettősponttal elválasztva. Felhasználóként az útvonal nekem például így néz ki: Printed on 2019/01/07 23:42
55 2019/01/07 23:42 55/128 Linux parancssor /home/andras/bin:/usr/local/bin:/usr/bin:/bin:/usr/games Ezt le tudjuk kérdezni például az echo paranccsal, mint azt már fentebb tettük a PS1 környezeti változóval: echo $PATH Próbáljuk ki a parancsot. A parancsértelmező ezekben a könyvtárakban keresi az általunk kiadott parancsot. Ha a parancs útvonala nincs a PATH változóban, akkor kénytelen vagyunk beírni az útvonalat. Ilyen parancs lehet például az ifconfig, amely a hálózati kártyák beállítását kérdezi le. Az ifconfig parancs a /sbin könyvtárban van, ami az átlag felhasználónak nincs útvonalban. Igaz a felhasználó nem végezhet vele beállításokat, de a kártya beállításait lekérdezheti. Ehhez viszont meg kell adnia a teljes elérési utat: /sbin/ifconfig Felmerülhet a kérdés, mi van akkor ha egy parancs több könyvtárban is szerepel, amelyik útvonalban van. Ekkor az a parancs hajtódik végre, amelyik a PATH változóban hamarabb szerepel. Ha a másik parancsot szeretnénk, akkor meg kell adjuk a teljes elérési utat. Útvonal beállítása Parancssor beállítása általánosságban: export PATH=$PATH:/új/útvonal A példa kedvéért a joska nevű felhasználó szeretné beállítani a saját könyvtárában (/home/joska) lévő programok nevű könyvtárat útvonalba. Ekkor parancssorban kiadjuk a következő parancsot: export PATH=$PATH:/home/joska/programok Ezek után a /home/joska/programok nevű mappában lévő program futtathatók bárhonnan. Ez az útvonal így csak az aktuális konzolon lesz elérhető. Ha kilépünk, akkor már nem. Ha szeretnénk újra- belepés, indítás után is elérni akkor be kell másolnunk például a /home/joska/.bashrc fájl utolsó sorába. Ez után a következő belépés után az útvonalnak élnie kell. A.bashrc fájlt szerkeszthejtük így: mcedit /home/joska/.bashrc Vagy ha éppen a /home/joska könyvtárban állunk akkor csak röviden: mcedit.bashrc Parancssorból egyetlen paranccsal is megoldhatjuk a fájl végére írást: echo "export PATH=$PATH:/home/joska/programok" >> /home/joska/.bashrc Ha ezt használjuk, akkor vigyázzunk a kettő darab nagyobb-mint jelre. Ha csak egyet írunk, akkor felülírjuk az egész.bashrc fájlt. Ha biztosra akarunk menni akkor előbb készítsünk róla biztonsági SzitWiki -
56 Last update: 2019/01/05 22:20 oktatas:linux:parancssor másolatot: cp /home/joska/.bashrc /home/joska/.bashrc_mentes Gyakorlat Az operációs rendszer hol tárolja a parancsok útvonalait? Hogyan tudjuk megtekinteni az aktuális útvonalakat? Milyen paranccsal állítom be az útvonalat? Állítsuk be saját könyvtárunkban létrehozott prg nevű könyvtárban is keresse a parancsértelmező a parancsokat. Környezet A környezetről Belépés után egy a rendszer egy környezetet biztosít számunkra. Biztosít egy parancsértelmezőt, a rendszerről változókban tárol számunkra információkat, de magunk is tárolhatunk információkat saját változókban. Biztosít számunkra egy saját könyvtárat A rendszer felhasználói alapértelmezésként a /home könyvtárban vannak. Biztosít számunkra néhány alapértelmezésként meglévő fájlt. Ezek rendre:.bashrc.profile Környezeti változók A rendelkezésre álló változókat környezeti változóknak hívjuk. A változók neveinek és értékeinek kiíratása a következő paranccsal történhet: set A kimenet ehhez hasonló lehet, a teljesség igénye nélkül: BASH=/bin/bash BASHOPTS=checkwinsize:cmdhist:expand_aliases:extglob:extquote:force_fignore: histappend:interactive_comments:progcomp:promptvars:sourcepath BASH_ALIASES=() BASH_ARGC=() BASH_ARGV=() BASH_CMDS=() BASH_COMPLETION_COMPAT_DIR=/etc/bash_completion.d BASH_LINENO=() BASH_SOURCE=() Printed on 2019/01/07 23:42
57 2019/01/07 23:42 57/128 Linux parancssor BASH_VERSINFO=([0]="4" [1]="2" [2]="45" [3]="1" [4]="release" [5]="i686-pclinux-gnu") BASH_VERSION='4.2.45(1)-release' COLORTERM=mate-terminal COLUMNS=80 DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus- BIZkKgmiL9,guid=d390d6b4250fc89be357def452828ff8 DBUS_STARTER_ADDRESS=unix:abstract=/tmp/dbus- BIZkKgmiL9,guid=d390d6b4250fc89be357def452828ff8 DBUS_STARTER_BUS_TYPE=session DEFAULTS_PATH=/usr/share/gconf/default.default.path DESKTOP_SESSION=default DIRSTACK=() DISPLAY=:0 EUID=1000 GPG_AGENT_INFO=/tmp/keyring-kt96rN/gpg:0:1 GROUPS=() HISTCONTROL=ignoreboth HISTFILE=/home/andras/.bash_history HISTFILESIZE=2000 HISTSIZE=1000 HOME=/home/andras HOSTNAME=meteor HOSTTYPE=i686 IFS=$' \t\n' IM_CONFIG_PHASE=1 LANG=hu_HU.UTF-8 LIBGL_DRIVERS_PATH=/usr/lib/fglrx/dri:/usr/lib/i386-linuxgnu/dri:/usr/lib/dri LINES=24 LOGNAME=andras... MACHTYPE=i686-pc-linux-gnu MAILCHECK=60 MANDATORY_PATH=/usr/share/gconf/default.mandatory.path MATE_DESKTOP_SESSION_ID=this-is-deprecated MATE_KEYRING_CONTROL=/tmp/keyring-kt96rN MDMSESSION=default MDM_LANG=hu_HU.UTF-8 MDM_XSERVER_LOCATION=local OPTERR=1 OPTIND=1 OSTYPE=linux-gnu PATH=/home/andras/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbi n:/bin:/usr/games:/usr/local/games PIPESTATUS=([0]="0") PPID=4056 ' PS2='> ' PS4='+ ' SzitWiki -
58 Last update: 2019/01/05 22:20 oktatas:linux:parancssor PWD=/home/andras SHELL=/bin/bash SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactivecomments:monitor SHLVL=1 SSH_AGENT_PID=2796 SSH_AUTH_SOCK=/tmp/keyring-kt96rN/ssh TERM=xterm TEXTDOMAIN=im-config TEXTDOMAINDIR=/usr/share/locale/ UID=1000 USER=andras USERNAME=andras WINDOWID= WINDOWPATH=8 XAUTHORITY=/home/andras/.Xauthority XDG_CONFIG_DIRS=/etc/xdg/xdg-default:/etc/xdg... A history A könyvtárunkban az első használat során létrejön egy állomány:.bash_history Ebben tárolódnak a használt parancsaink. Parancssorban a le és fel billentyűkkel lapozhatjuk az eddig használt parancsokat. Keresésre is lehetőség van. Ez akkor hasznos, ha már régen használtuk a parancsot, de nem szeretnénk végig beírni. Legyen a régen használt parancs például: ssh -i ~/.ssh/janos_zold_rsa janos@zold.and A kereséshez elsőként nyomjuk meg a <Ctrl> + <R> billentyűt. Ekkor a következő várakozási jel jelenik meg: (reverse-i-search)`': Írjuk be: ssh -i Írás közben a keresési eredmények rögtön megjelennek. Ha azt a parancsot látjuk, amelyet szeretnénk alkalmazni, csak nyomjuk meg a <Tab> billentyűt. A parancs ezek után várja, hogy az <Enter> billentyűvel végrehajtsuk. A használt parancsokat a history nevű paranccsal is megjeleníthetjük. Egy idő után olyan sok parancs van, hogy túl fut a képernyőn. A more vagy a less szűrővel, tördelhetjük a képernyőt: Printed on 2019/01/07 23:42
59 2019/01/07 23:42 59/128 Linux parancssor history less Gyakorlat Mi a környezeti változó? Mire való a set parancs? Archiválás Az archiválás nem egyenlő a tömörítéssel. Az archiválás azt jelenti több könyvtárat és/vagy fájlt egyetlen fájlba mozgatunk, vagyis egyetlen fájlként szeretnénk kezelni. Erre a tar parancs használható. Archiválás A konyvtar nevű könyvtár és tartalmát szeretnénk az fajlnev.tar állományba elhelyezni. A következő parancsot használhatjuk: tar -cf fajlnev.tar konyvtar A -cf tulajdonképpen két kapcsoló, egy -c és egy -f, de azok összevonhatók. A -c create szóból, az archív elkészítésre utal, a -f pedig a fájlra, vagyis utána adjuk meg a az archív fájl nevét. Archív csomag kibontása A -x kapcsolóval tudjuk kibontani, azaz extract: tar -xf fajlnev.tar Archiválás tömörítéssel tar -czf archive.tar.gz konyvtar A -c kapcsoló megmondja, hogy készíteni kell egy archivot. A -z megmondja, hogy archivot tömöríteni is kell. A -f után adjuk meg a kimeneti fájl nevét A kimeneti fájl a példában a: archive.tar.gz A konyvtar, amit archiválni és tömöríteni kell. A példában a -c, -z és -f kapcsolókat halmoztuk: -czf Halmozás nélkül az eredeti parancs: tar -c -z -f archive.tar.gz konyvtar SzitWiki -
60 Last update: 2019/01/05 22:20 oktatas:linux:parancssor A tömörített archive kibontása: tar -xf archive.tar extract [UK: ɪkˈstrækt] [US: ɪkˈstrækt] kibont Tömörített archive kibontása: tar -xzf archive.tar.gz Használt kapcsolók -c, --create -f, --file fájlnév -z, --gzip, --ungzip -x, --extract, --get -t, --list -W, --verify verify [UK: ˈverɪfaɪ] [US: ˈverəˌfaɪ] átvizsgál, bizonyít, ellenőriz Gyakorlat Hogyan bontunk ki egy archivot? Hogyan bontjuk ki az tömörített archivot? Tömörítés A Linuxos tömörítő programokról Linux alatt szinte minden tömörítő eljárás megvalósításra került. A következő lista a teljesség igénye nélkül tartalmaz tömörítő programokat: xz arc gzip bzip2 pbzip2 lrzip lzip p7zip rzip (nagy fájlokhoz) ncompress (csomag; parancs: compress) További parancsokért nézzük meg a gzip kézikönyvét: man gzip Printed on 2019/01/07 23:42
61 2019/01/07 23:42 61/128 Linux parancssor További csomagokért nézzünk szét a csomagok között: apt-cache search compress Tömörítés Tar fájl tömörítése: gzip fajlnev.tar Eredmény: fajlnev.tar.gz Kibontás gunzip fajlnev.tar.gz Eredmény: fajlnev.tar Az xz tömörítő Mostanában népszerű a xz-utils csomagban található tömörítő program. Az LZMA2 algoritmust használja. Az xz tulajdonképpen a 7z lecsupaszított változatának is tekintik (A 7z bzip2, LZMA2 és LZMA eljárásokat kombinálja). Tömörítés: xz fajlnev.tar Kapunk egy fájlt fajlnev.tar.xz nevű fájlt. Kibontás: unxz fajlnev.tar.xz Az xz-utils telepítésével létrejön egy lzma nevű szimbolikus link is. Így használható ez is tömörítésre: lzma fajlnev.tar Ennek eredménye egy fajlnev.tar.lzma csomag. Néhány esetben ez jobb tömörítési arányt adhat mint az xz parancs. SzitWiki -
62 Last update: 2019/01/05 22:20 oktatas:linux:parancssor zcat A zcat tömörített fájlok tartalmát jeleníti meg. zcat /var/log/user.log.2.gz zless A zcat tömörített fájlok tartalmát teszi lapozhatóvá. zless /var/log/user.log.2.gz zgrep A zgrep tömörített fájlok tartalmát szűrhetővé teszi. zgrep postfix /var/log/user.log.2.gz Folyamatkezelés A folyamatokról A programról program néven beszélünk amíg az egy háttértárolón van. Ha elindítottuk a programot, akkor bekerül a memóriába, ekkor folyamatról beszélünk. A folyamat tehát egy futó program a memóriában, másként végrehajtás alatt lévő program. Angolul task vagy process néven találkozunk vele. Az átlagfelhasználó persze nem szokta ezeket neveket használni, egyszerűen csak programként beszél róla. A folyamatok újabb folyamatokat indíthatnak. Amikor elindítunk egy parancsot, azt eleve egy parancsértelmező programban tesszük. A parancsértelmezőből indított folyamat szülője maga a parancsértelmező. Valójában minden folyamat visszavezethető a hierarchiában egy közös ősfolyamatra, ennek neve: init. Folyamatok előállítása A folyamat előállítása, tulajdonképpen egy program futtatása. Két eset lehetséges, a rendszer vagy tudja hol van az elindítani kívánt program, vagy mi magunk mondjuk meg hol találhatók azok. A következő lista azon könyvtárakat sorolja fel, ahol nagy valószínűséggel találunk indítható programokat: /bin /sbin /usr/bin /usr/sbin Printed on 2019/01/07 23:42
63 2019/01/07 23:42 63/128 Linux parancssor Egyéb helyek: /usr/games /usr/local/bin /usr/local/sbin Szeretnénk például futtatni az ifconfig parancsot. Írjuk be: /sbin/ifconfig Vagy a dmesg parancs: /bin/dmesg Ha egy parancs útvonalban van, akkor nem kell megadnunk a teljes útvonalat. Elég az ifconfig, vagy a dmesg parancs kiadása. Ha egy parancs az aktuális könyvtárban van, végigírhatjuk a teljes útvonalat, vagy a./ karakterpárossal jelzem, hogy helyben keresendő a parancs. A felhasználóknak szokás a saját könyvtárukban egy bin nevű könyvtár létrehozása, amelyben elhelyezhetik saját programjaikat, scriptjeiket. A joska felhasználó például ide rakja saját programjait: /home/joska/bin/ A folyamatok száma a rendszerben korlátozott. A maximálisan létrehozható folyamatok száma alapértelmezésben: A rendszeredben a maximális értéket így derítheted ki: cat /proc/sys/kernel/pid_max Egy felhasználó azonban nem hozhat létre számot. A felhasználói limit lekérdezése: ulimit -u Folyamatok listázása A folyamatok vagy angolosan processzek a ps parancs segítségével listázhatók. Paraméter nélkül használva csak az aktuális terminálról indított folyamatokról informál minket: ps PID TTY TIME CMD 8205 pts/2 00:00:00 bash 8215 pts/2 00:00:00 ps Indítsunk három folyamatot, amelyet rögtön a háttérbe is teszünk: nano & mcedit & SzitWiki -
64 Last update: 2019/01/05 22:20 oktatas:linux:parancssor yes > /dev/null & A folyamataink megtekintése: ps PID TTY TIME CMD 2975 pts/0 00:00:00 bash pts/0 00:00:00 nano pts/0 00:00:00 mcedit pts/0 00:02:59 yes pts/0 00:00:00 ps Nézzük meg milyen állapotban vannak a háttérbe tett folyamatok (ps a): pts/2 T 9:58 nano pts/2 T 0:00 mcedit pts/2 R 0:00 yes... A harmadik oszlop mutatja a státuszokat. Az R futó (runing), a T megállított (terminate, de lehet trace vagyis nyomkövetett. Láthatjuk, ahogy a nano és az mcedit programokat háttérbe tettük, azok megállított állapotba kerültek. A yes parancs viszont futó állapotba került. A yes parancs csak az y karaktert írja a képernyőre szünet nélkül. Mi persze ezt a /dev/null-ba irányítottuk. Amikor az & karakterrel háttérbe tesszük a folyamat nem áll meg. Megnézhetjük az össze folyamatot a ps ax paranccsal: ps ax A kapcsolókat nem vezettük be kötőjellel. Ezek után ehhez hasonló kimenetet láthatunk (részlet másolata): PID TTY STAT TIME COMMAND ? S 0:01 /usr/sbin/apache2 -k start 4245? S 0:00 /usr/sbin/apache2 -k start ? S 0:01 [kworker/1:2] 8509? R 0:01 [kworker/1:1] 8572 pts/2 R+ 0:00 ps ax A PID oszlop tartalmazza a folyamatazonosítókat (process identity) az első oszlopban. A TTY oszlop azt mutatja, hogy a folyamat TeleTYpe-hoz van-e kötve. A szolgáltatást nyújtó démon programok nincsenek. Printed on 2019/01/07 23:42
65 2019/01/07 23:42 65/128 Linux parancssor A STAT oszlop a folyamat állapotáról tájékoztat. A TIME oszlop mutatja, hogy a processzor idejéből mennyit használ. Az utolsó oszlopban (COMMAND) a futtatott parancs nevét látjuk kapcsolókkal együtt. A -f kapcsoló a full szóból ered, használata teljes kiemenet ad: ps ax -f Az f alparancs viszont megmutatja a gyermek szülő kapcsolatokat: ps axf Például egy részlet: 1366? Ss 0:00 /usr/sbin/apache2 -k start 2522? S 0:00 \_ /usr/sbin/apache2 -k start 2523? S 0:00 \_ /usr/sbin/apache2 -k start 2524? S 0:00 \_ /usr/sbin/apache2 -k start 2525? S 0:00 \_ /usr/sbin/apache2 -k start 2526? S 0:00 \_ /usr/sbin/apache2 -k start A folyamatot indító felhasználók mutatása: ps axu STAT mező R futó (runing) vagy futáskész (runable) S alvó (sleeping) de megszakítható D nem megszakíthatóan alvó (uninterruptible sleep) rendszerint IO T megállított (job kontroll; stoped) vagy nyomkövetett (traced) Z zombi (zombie) véget ért a futása, de a szülője még nem szüntette meg W nincs rezidens lapja (érvénytelen a 2.6.xx kernelek óta X halott (valószínűleg sosem látható) A STAT mezőhöz járulékos jelzések adhatók a BSD szerinti formátumban. A man -L en ps kézikönyvben találunk róla infot: < magas prioritás (más felhasználó nem tudja felülírni) N alacsony prioritás (más felhasználó felülírhatja L a lapok a memóriába vannak zárva (valós idő eléréséhez és IO tevékenységhez s vezető munkamenet l többszálas (CLONE_THREAD használata, az NPTL pthreads-hez hasonló tevékenység) + folyamat csoport az előtérben Néhány példa: ps -f SzitWiki -
66 Last update: 2019/01/05 22:20 oktatas:linux:parancssor UID PID PPID C STIME TTY TIME CMD andras :32 pts/5 00:00:00 bash andras :40 pts/5 00:00:00 ps -f UID felhasználó azonosító PID folyamatazonosító PPID szülőfolyamat azonosítója C processzor kihasználtság STIME indulási idő TTY melyik teletájphoz van kötve TIME felhalmozott processzoridő CMD indító parancs Egy paraméterek esetén, pl. -f: USER A folyamat tulajdonosa %CPU A CPU idő osztva a folyamat futási idejével. %MEM A folyamat rezidens része a fizikai memóriában VSZ Az egész folyamat virtuális-memória használata (KiB) RSS A folyamat azon része, amely a fizikai memóriában van (KiB) STAT Többkarakteres folyamatállapot START A folyamat indulási ideje vagy dátuma COMMAND parancs az összes argumentummal Felhasználói oszlopok ps -o pid,stat,cmd PID STAT CMD 3823 Ss bash 4582 R+ ps -o pid,stat,cmd Szülő folyamatok PID száma A -ef kapcsolópárossal a folyamatok szüleinek PID-t is láthatjuk, ez a PPID. Az oszlopok ekkor így néznek ki: UID PID PPID C STIME TTY TIME CMD root :24? 00:00:01 /sbin/init root :24? 00:00:00 [kthreadd] root :24? 00:00:00 [ksoftirqd/0] root :24? 00:00:00 [kworker/0:0] root :24? 00:00:00 [kworker/0:0h]... Zombi folyamatok listázása Printed on 2019/01/07 23:42
67 2019/01/07 23:42 67/128 Linux parancssor ps ax grep -w Z Szülők és gyermekek A postfix gyermekei: ps -ef --forest grep -v grep grep postfix Az apache2 gyermekei: ps -ef --forest grep -v grep grep apache2 ps f -C apache2 Folyamatok leállítása Folyamat leállítása normál módon A folyamatot elsőként mindig próbáljuk meg normál módon leállítani, a 15-ös jelzéssel. Ha ez nem megy, csak és csakis akkor forduljunk a 9-es jelzéshez. kill -15 PIDSZÁM Folyamat leállítása mindenképpen kill -9 PIDSZÁM A PIDSZÁMOT a ps ax parancs kimenetéből nézhetjük ki. Ha leállítandó program azonosítója 4852, akkor így állítjuk le: kill A Linuxos rendszerben a folyamatok jelzésekkel kommunikálnak egymással. A használható jelzéseket kilistázhatod a következő paranccsal: kill -l További információkat olvashatsz a jelzésekről a man7 signal kézikönyvből. Egy folyamat egyes jelzéseket figyelmen kívül hagyhat, másokat kötelezően figyelembe kell vennie. Egyes jelzéshez tartozik alapértelmezett művelet, egyesekhez nem. Az alábbi táblázatban 31 jelzést látunk. Ezek az első Bell Laboratórium létrehozott Unixból származnak. A POSIX szabvány alapján, további jelzésekkel egészült ki a jelzések listája, 34-től 64-ig. man 7 signal kézikönyv alapján: SzitWiki -
68 Last update: 2019/01/05 22:20 oktatas:linux:parancssor Jel Azonosító Tevékenység HUP 1 Term Leírás A kontroll terminál megszűnt (A felhasználó kilépett) vagy démon esetén újra kell olvasni a konfigurációs fájlokat INT 2 Term Megszakítás a billentyűzetről (Ctrl + C) QUIT 3 Core Kilépés a billentyűzetről ILL 4 Core Illegális utasítás ABRT 6 Core Leállítási jelzés az abort(3) függvénytől FPE 8 Core Lebegőpontos kivétel KILL 9 Term Semlegesítő jel SEGV 11 Core Érvénytelen memóriahivatkozás PIPE 13 Term Eltört cső (pájp): írás vagy olvasás nem létező csőbe ALRM 14 Term Időzítőjel az alarm(2)-től TERM 15 Term Megszakításjel USR1 30,10,16 Term Felhasználó által definiált jelzés 1 USR2 31,12,17 Term Felhasználó által definiált jelzés 2 CHLD 20,17,18 Ign A gyermek leállt vagy megszakadt CONT 19,18,25 Cont Folytatás, ha meg lett állítva STOP 17,19,23 Stop A folyamat megállítása TSTP 18,20,24 Stop Megálljt gépeltek egy tty eszközön TTIN 21,21,26 Stop tty bevitel egy háttérfolyamat számára TTOU 22,22,27 Stop tty kivitel egy háttérfolyamat számára Termi - megállítja a folyamatot Core - megállítja a folyamatot, majd a kidumpolja a core adatokat Stop - megállítja a folyamatot Cont - folytatja a folyamatot, ha az meg volt állítva Ign - elutasítja a folyamatot A kill paranccsal lekérdezhetjük egy jelzés száma alapján a nevét. Például: kill -l 1 Démon folyamat újraindítása: killall -HUP pidszám Egy 0 számú szignállal azt is megvizsgálhatjuk, hogy egy folyamat fut vagy nem fut. A kernelfolyamatok nem fogadnak el jelzéseket, azokat figyelmen kívül hagyják. Olvasnivalók: man signal, man 7 signal Több folyamat egyetlen terminálban Folyamat leállítása A folyamatokat leállíthatjuk a Ctrl+Z billentyűkombinációval. Printed on 2019/01/07 23:42
69 2019/01/07 23:42 69/128 Linux parancssor Indítsuk el a nano nevű szövegszerkesztő programot: nano Az indítás után a Ctrl+Z billentyűkombinációval tegyük háttérbe. Most indítsunk egy másik nano nevű programot, tegyük ezt is háttérbe a Ctrl+Z billentyűkkel. Indítsunk egy vi nevű szövegszerkesztőt. Tegyük a Ctrl+Z-vel háttérbe. Most indítsunk egy mutt nevű levelező programot. Tegyük háttérbe ezt is. Ezek után nézzük meg a háttérbe tett folyamatokat a jobs paranccsal: jobs Az eredmény ehhez hasonló: [1] Megállítva nano [2] Megállítva nano [3]- Megállítva vi [4]+ Megálíltva mutt A megállított nano, vi és mutt programot látjuk. Mindegyik kapott egy sorszámot. A sorszámokat használhatjuk annak jelzésére, hogy melyiket szeretnénk előtérbe hozni. Előtérbe az fg paranccsal hozhatjuk a folyamatokat. Ha csak önmagában adom ki az fg parancsot, akkor az utolsót, esetünkben a mutt nevű folyamatot hozza vissza. Az fg parancsnak azonban paraméterként megadhatok egy sorszámot is. Például a második nano program visszahívása: fg 2 Egy folyamat persze már indításkor is háttérbe tehető: yes > /dev/null & Ha az fg parancsnak nem adunk meg paramétert, akkor a legkisebb azonosító számú programot fogja előtérbe hozni. Gyakorlás A yes parancs folyamatosan a képernyőre írja a paraméterként megadott szöveget, és a coreutils csomagban található. Ha nem adunk meg paramétert akkor az y betűt írja. Használhatjuk tesztekhez. Például irányítsuk a y betűk sorozatát a /dev/null állományba: yes > /dev/null Így kapunk egy programot, amely folyamatosan a fut. A termináltól úgy tudom elszakítani, hogy a tanult módon háttérbe helyezem: Ctrl + Z SzitWiki -
70 Last update: 2019/01/05 22:20 oktatas:linux:parancssor Vagy már indításkor is a háttérbe helyezhetjük: yes > /dev/null & Az elindított folyamatok számát ellenőrizzük, majd hozzuk előtérbe azokat és szakítsuk meg. Megszakítás a következő billentyűkombinációval: Ctrl + C Folyamatok fastruktúrában A használható parancs: pstree Csak a jozsi felhasználó folyamatainak megjelenítése: pstree joszi A pstree kimenete átadható a less parancsnak lapozás céljából: pstree less Vagy: pstree joszi less A példa kedvéért indítsunk két folyamatot, amit leállítunk. Feltételezzük, hogy a felhasználónevünk tibi. A teendők a következők: nano <Ctrl>+<Z> nano <Ctrl>+<Z> pstree -c tibi Lehetséges kimenet (ha tibi csak egyszer lépett, és csak ezeket a programokat futtatja egy teletájpról): bash nano nano top Folyamatok valós idejű figyelése Kilépés: q Printed on 2019/01/07 23:42
71 2019/01/07 23:42 71/128 Linux parancssor A h billentyűvel lekérdezhetjük a használható billentyűket: h Z,B Globálisan: a 'Z' a színtérképek cseréje; 'B' félkövér tiltása/engedése l,t,m Összefoglalók: 'l' terhelési átlagok; 't' folyamat/cpu statisztika; 'm' memóriainformációk 1,I SMP nézet: '1' egyszerű/kifejtett; 'I' Irix/Solaris mód f,o Mezők/Oszlopok: 'f' hozzáad vagy töröl; 'o' a megjelenés sorrendje F vagy O A kiválasztott mező rendezése <,> A mező mozgatása: '<' a következő oszlop balra; '>' a következő oszlop jobbra R,H Kulcs: 'R' normál/fordított rendezés; 'H' szálak mutatása c,i,s Kulcs: 'c' cmd name/line; 'i' üres folyamatok; 'S' növekvő idő x,y Kiemelő kulcsok: 'x' rendezett mezők; 'y' futó folyamatok z,b Kulcs: 'z' színes/mono; 'b' félkövér/fordít (csak 'x' vagy 'y' esetén) u Csak a felhasználók folyamatai n vagy # Maximálisan mutatott folyamatok száma k,r Folyamatok kezelése: 'k' kill; 'r' prioritás (renice) d vagy s Frissítési időköz beállítása W Beállítások fájlba írása q Kilépés fuser Használt fájl vagy könyvtár A folyamatok által használt fájlokat és socketeket az fuser paranccsal tudjuk vizsgálni. Szeretnénk látni azoknak a folyamatoknak a PID-jét, amelyeket az aktuális felhasználó használ: fuser. A kimenet:.: 21384c A példában szereplő PID szám végén van egy c karakter. Ez a hozzáférés típusát mondja meg számunkra. Lássuk milyen típusok vannak még: c az aktuális könyvtár e végrehajtható állomány f nyitott fájl F írásra megnyitott fájl r root könyvtár m memóriába mapolt fájl vagy osztott könyvtár A részletek megmutatásához írjuk be a -v kapcsolót: SzitWiki -
72 Last update: 2019/01/05 22:20 oktatas:linux:parancssor fuser -v. A kimenet: FELHASZNÁLÓ PID HOZZÁFÉRÉS PARANCS.: joska c.. bash Használt port Melyik program használt egy adott portot? Vizsgáljuk meg rootként a 80-as portot: fuser -v -n tcp 80 A kimenet: FELHASZNÁLÓ PID HOZZÁFÉRÉS PARANCS 80/tcp: root 1416 F... apache2 www-data 1539 F... apache2 www-data 1540 F... apache2 www-data 1541 F... apache2 www-data 1542 F... apache2 www-data 1543 F... apache2 www-data 2856 F... apache2 www-data 2909 F... apache2 www-data 2925 F... apache2 www-data 2926 F... apache2 Porthasználat példa 2 fuser -v -n tcp FELHASZNÁLÓ PID HOZZÁFÉRÉS PARANCS 12345/tcp: andras 3097 F... server Csatolt könyvtár A mount paranccsal felcsatolt /mnt/valami könyvtárat valami foglalja. A következő parancs leállítja ezt a programot: fuser -vmk /mnt/valami Futtatható program Printed on 2019/01/07 23:42
73 2019/01/07 23:42 73/128 Linux parancssor./fuser fuser -v server Eredmény: FELHASZNÁLÓ PID HOZZÁFÉRÉS PARANCS server: andras e. server Socket fuser -v /var/run/mysqld/mysqld.sock Eredmény: FELHASZNÁLÓ PID HOZZÁFÉRÉS PARANCS /var/run/mysqld/mysqld.sock: mysql 1905 F... mysqld Program folyamatának kilővése fuser -v -k server FELHASZNÁLÓ PID HOZZÁFÉRÉS PARANCS server: andras e. server Ha program terminálhoz van kötve, akkor a következőt láthatjuk:./server Kilőve Folyamat kilővése interaktív módon fuser -v -i -k server FELHASZNÁLÓ PID HOZZÁFÉRÉS PARANCS server: andras e. server Kilövi a(z) 3199 folyamatot? (i/n) fuser -v -i -k./ Eredmény:./: FELHASZNÁLÓ PID HOZZÁFÉRÉS PARANCS joska c.. bash joska c.. nano SzitWiki -
74 Last update: 2019/01/05 22:20 oktatas:linux:parancssor joska c.. mcedit joska c.. yes Kilövi a(z) 1282 folyamatot? (i/n) n Kilövi a(z) 1327 folyamatot? (i/n) i Kilövi a(z) 1343 folyamatot? (i/n) i Kilövi a(z) 1345 folyamatot? (i/n) i [1] Kilőve nano [2] Kilőve mcedit [3] Kilőve yes pgrep és pkill A pgrep és pkill parancsok segítségével a folyamatlistát tudjuk megszűrni minta alapján. A mintában használhatók helyettesítő karakterek is, a man 7 regex alapján. A rendszerben több felhasználó is indíthatott nano szövegszerkesztőt. Mi most a joska nevű felhasználó által indított nano folyamat PID számára vagyunk kíváncsiak: pgrep -u joska nano Szeretnénk leállítani mindenáron a joska által indított nano folyamatokat: pkill -9 -u joska nano A pgrep és a pkill persze igazán akkor hasznos, ha mintákat is használunk. A felhasználókat megadhatjuk a UID alapján is. A root felhasználó folyamatai: pgrep -lu 0 pidof A pidof segítségével folyamatok azonosítóját deríthetjük ki. Indítsunk egy nano programot, majd tegyük a Ctrl+Z-vel háttérbe. Majd futtassuk a következő parancsot: pidof nano A parancs az összes nano folyamat PID számát kiírja. Lehetséges kimenet: pmap Folyamatok memóriatérképének riportja. $ pmap Printed on 2019/01/07 23:42
75 2019/01/07 23:42 75/128 Linux parancssor Egy futtatás lehetséges kimenete: $ pmap :./test K r-x-- test K r---- test K rw--- test cd K rw--- [ anon ] 00007efdffcb K r-x-- libc-2.24.so 00007efdffe K libc-2.24.so 00007efe K r---- libc-2.24.so 00007efe0004c000 8K rw--- libc-2.24.so 00007efe0004e000 16K rw--- [ anon ] 00007efe K r-x-- ld-2.24.so 00007efe K r---- ld-2.24.so 00007efe K rw--- ld-2.24.so 00007efe K rw--- [ anon ] 00007efe0027b000 12K rw--- [ anon ] 00007fff3003e K rw--- [ stack ] 00007fff K r---- [ anon ] 00007fff K r-x-- [ anon ] ffffffffff K r-x-- [ anon ] total 4176K pidof Folyamatokat PID számát kereshetjük név alapján. Pl.: pidof nano Gyakorlat Hogyan tudjuk listázni a rendszer összes folyamatát? Hogyan tudjuk megjeleníteni a folyamatokat valós időben? Milyen jelzést kell küldeni egy folyamatnak, hogy biztosan leálljon? Szűrők A szűrőkről általában A szűrők a bemenetükre került adatokkal csinálnak valamit, majd a kimenetre küldik. cat A cat az egyetlen szűrő, amely a bemenetre érkező adatokkal semmit nem csinál. Változatlanul írja SzitWiki -
76 Last update: 2019/01/05 22:20 oktatas:linux:parancssor azokat a képernyőre. Mégis ez a parancs mint azt feljebb láttuk, amellyel a legtöbb dolgot tehetjük. Ezek: állomány tartalmának megjelenítése állomány létrehozása állományok összemásolása állományok másolása állományhoz fűzés Állomány létrehozása: cat > dolgozok.txt Állomány tartalma: cat dolgozok.txt Állományok összemásolása: cat fajl1 fajl2 fajl3 > egyfajl.txt Állományok másolása: cat < eredeti > masolat A fájl végéhez fűzünk: cat >> dolgozok.txt Szabó Gábor [Ctrl]+[D] A fájl végéhez fűzők: cat >> dolgozok.txt <<VEGE Nagy József Kis Béla Jég Lajos VEGE cat összefoglalva Állományok létrehozása cat > filenev.txt tartalom... <Ctrl>+<D> Printed on 2019/01/07 23:42
77 2019/01/07 23:42 77/128 Linux parancssor Állomány tartalmának megtekintése cat < filenev vagy cat filenev Állományok másolása cat < filenev > filenev2 Állományok összemásolása cat file1 file2 file3 > file4 colrm A bemenetre érkező sorokból bizonyos oszlopok törlése Szintaxis: colrm [startoszlop [ végoszlop ]] A példa kedvéért adott az alábbi tabulátorral tagolt állomány a következő tartalommal: tanulok.txt 001 Alex Brown Dan Igor Barton Flex Rock Brain 78 4 Szeretnénk a nevek oszlopait eltüntetni. Megoldás: cat tanulok colrm 9 24 Eredmény: cel.txt SzitWiki -
78 Last update: 2019/01/05 22:20 oktatas:linux:parancssor Nagyobb példafájl: tanulok.txt 001 Alex Brown Dan Igor Barton Flex Rock Brain Kis István Nagy Béla Fehér Tamás Kékes Imre Per Béla Zöld Elek Piros Gábor Fék Lajos Elmúlt Tibor Leendő Tamás Pék Gergő Rob Sándor Kékedi Imre Nagy Lajos 85 4 Egyéb használat ifconfig eth0 colrm 1 10 cat /var/log/syslog colrm 1 16 colrm 30 cat /var/log/auth.log.1 colrm 70 Utóbbi példában ha szimplán az állomány tartalmát listázom, azok kilógnak a következő sorban. A célom, hogy átláthatóbb sorokat szeretnék, de jelenleg csaka sorok elejére vagyok kíváncsi. cut Csak bizonyos oszlopokat szeretnénk megjeleníteni. Szintaxis: cut [opció] [fájl]... Printed on 2019/01/07 23:42
79 2019/01/07 23:42 79/128 Linux parancssor Szóközökkel tagolt sorok Adott az alábbi szóközökkel tagolt állomány: tanulok2.txt 001 Alex Brown Dan Igor Barton Flex Rock Brain 78 4 Megoldás: cat tanulok2.txt cut -c4-22 Az eredmény: Alex Brown Dan Igor Barton Flex Rock Brain Tabulátorral tagolt sorok tanulok.txt 001 Alex Brown Dan Igor Barton Flex Rock Brain 78 4 Megoldás: cut -f2 < tanulok.txt A futtatás eredménye: cut -f2 < tanulok.txt Alex Brown Dan Igor Barton Flex Rock Brain SzitWiki -
80 Last update: 2019/01/05 22:20 oktatas:linux:parancssor Kettősponttal tagolt tanulok3.txt 001:Alex Brown:85:5 002:Dan Igor:40:3 003:Barton Flex:56:3 004:Rock Brain:78:4 Megoldás: cut -f2 -d : tanulok3.txt A -d kapcsoló után szóközzel vagy a nélkül megadjuk az elválasztójelet. A -d kapcsolóval szinte bármit megadhatunk szeparátornak. Eredmény: cut -f2 -d: tanulok3.txt Alex Brown Dan Igor Barton Flex Rock Brain Egyszerre több oszlop megjelenítése cut -f 2,3,7 -d : tanulok3.txt Eredmény: cut -f 2,3,4 -d: tanulok3.txt Alex Brown:85:5 Dan Igor:40:3 Barton Flex:56:3 Rock Brain:78:4 Több szóköz szeparátorként A tr paranccsal minden szóköz csak egyszer fog szerepelni: cat tanulok3 tr -s ' ' cut -f 1 -d' ' Legyen egy összetett feladat: Le kell állítani a zombi folyamatokat. A ps paranccsal kiíratjuk az össze folyamatot. A grep paranccsal szűrök csak a zombi állapotban lévő folyamatokra. A tr paranccsal az egyes oszlopok közötti szóközöket 1 darabra csökkentem. A soreleji szóközöket törlöm az awk paranccsal. A cut paranccsal az első oszlopot megjelenítem, mivel ezek a szülőfolyamatok. Végül a kill Printed on 2019/01/07 23:42
81 2019/01/07 23:42 81/128 Linux parancssor paranccsal törlöm a zombikat. Szükség van egy xargs parancsra is, mert a kill parancs így kapja meg paraméterként a ppid értékeket. ps -o ppid,pid,stat \ grep -w Z \ tr -s ' ' \ awk '{$1=$1};1' \ cut -f1 -d' ' \ xargs kill -9 mcrypt A következő parancsok használatához szükséges az mcrypt nevű csomag telepítése. A telepítéshez lásd a csomagkezelés részt a Rendszer fejezetben. Titkosítás Adott az alábbi állomány a következő tartalommal: nyilt.txt Holnap este érkezem. Szeretnénk titkosítani az állományt. Titkosítás: mcrypt nyilt.txt A futtatás eredménye: mcrypt nyilt.txt Enter the passphrase (maximum of 512 characters) Please use a combination of upper and lower case letters and numbers. Enter passphrase: Enter passphrase: File nyilt.txt was encrypted. A parancs bekért egy jelszót kétszer, majd létrehozza a következő állományt: nyilt.txt.nc A nyilt.txt.nc szöveg tartalmát ha megnézzük olvashatatlan szöveg lesz. Így már elküldhetjük a titkos üzenetet. Ezek után az üzenet vevőjének vissza kell kódolni az üzenetet. SzitWiki -
82 Last update: 2019/01/05 22:20 oktatas:linux:parancssor Dekódolás A visszafejtés a következő paranccsal lehetséges: mdecrypt nyilt.txt.nc A futtatás eredménye: mdecrypt nyilt.txt.nc Enter passphrase: File nyilt.txt.nc was decrypted. A parancs bekéri a jelszót, majd elkészíti a nyilt.txt.nc állományt visszakódolva a nyilt.txt nevű fájlt. crypt parancs A crypt parancsot a mcrypt csomag valósítja meg. Régi unixból ismert parancs, amely a stdin-ről várja a bemenetet, és a stdout-ra ír. crypt < nyilt.txt > titkos.txt Unix crypt(1) emulation program using mcrypt(1). Use crypt -h for more help. Enter the passphrase (maximum of 512 characters) Please use a combination of upper and lower case letters and numbers. Enter passphrase: Enter passphrase: Stdin was encrypted. Persze ebben a formában is használahtó: crypt > titkos.nc Unix crypt(1) emulation program using mcrypt(1). Use crypt -h for more help. Enter the passphrase (maximum of 512 characters) Please use a combination of upper and lower case letters and numbers. Enter passphrase: Enter passphrase: Holnap este érkezem. Stdin was encrypted. Visszafele ugyanígy: crypt < titkos.nc Unix crypt(1) emulation program using mcrypt(1). Printed on 2019/01/07 23:42
83 2019/01/07 23:42 83/128 Linux parancssor Use crypt -h for more help. Enter the passphrase (maximum of 512 characters) Please use a combination of upper and lower case letters and numbers. Enter passphrase: Enter passphrase: Holnap este érkezem. Stdin was encrypted. grep Adott mintát tartalmazó sorok megjelenítése Szintaxisa: grep [ kapcsolók ] minta [ fájl... ] Adott az alábbi belépési napló: belepesinaplo.txt :30 alex :30 joe :44 richard :31 joe :00 alex A futtatás eredménye: grep alex belepesinaplo.txt :30 alex :00 alex A grep -v azokat jeleníti meg, amelyek nem tartalmazzák a sorokat. grep -v alex belepesinaplo.txt :30 joe :44 richard :31 joe Az alábbi naplóállomány a következő mezőket tartalmazza: dátum idő felhasználónév ipcím letöltött adatmennyiség naplo.log SzitWiki -
84 Last update: 2019/01/05 22:20 oktatas:linux:parancssor :30 alex bytes :30 joe bytes :44 richard bytes :31 joe bytes :00 alex bytes :25 joe bytes :20 alex bytes Feladatunk, hogy listázzuk a 2006-os eseményeket. Ha most a fentebb tárgyalt módon csak ennyit írunk: grep 2006 naplo.log úgy azok a sorok is megjelennek ahol a letöltött byte-ok száma Ezért ez nekünk nem jó. Jeleznünk kell, hogy csak azokat a sorokat szeretnénk megjeleníteni, ahol a 2006 a sor elején szerepel. Ehhez a ^ karaktert használjuk: grep ^2006 naplo.log Fájlnevek megjelenítése tartalom alapján: Például keressük az aktuális könyvtárban, az összes fájl között, azokat a fájlokat, amelyek tartalmazzák a VGA szót, megjeleníteni azonban csak a fájlneveket szeretnénk: grep -l VGA * A karakterosztályok használata naplo.log :30 alex bytes :30 joe bytes :44 richard bytes :31 joe bytes :00 alex bytes :25 joe bytes :20 alex bytes :02 mari bytes A fenti állományban azokat a sorokat keressük, ahol a letöltés 2005, 2006, 2007 vagy 2008 van. grep "200[5678] bytes" naplo.log A negyedik karakter csak a szögletes zárójelben [ ] megadott négy karakter egyikére illeszkedik. Az 5,6,7 vagy 8-as karakterek valamelyikére. A szám után kötelezően egy szóköznek, majd utána bytes karakterek megköveteltek. A szögletes zárójel lehetővé teszi intervallumok megadását [5-8]: Printed on 2019/01/07 23:42
85 2019/01/07 23:42 85/128 Linux parancssor grep "200[5-8] bytes" naplo.log Az intervallumok megadására használhatók betűk is: [a-z] Az előbbi minta például az angol ábécé összes kisbetűjére illeszkedik. A nagybetűk: [A-Z] Természetesen megadhatók kisebb intervallumok is: [c-k] Üres sorok törlése grep -v "^$" filename grep. filename grep -v '^[[:space:]]*$' filename Hashmárk jeles sorok kihagyása grep -v '\#' filename Fájlok keresése tartalom alapján grep -H -r Rewrite /etc/apache2/ man -L en grep grep gyakorlat Adott az alábbi naplóállomány részlet (/var/log/syslog): Feb 21 18:32:12 server postfix: Connection, Feb 21 18:32:12 server postfix: LOGIN, user=test@server.hu, Feb 21 18:32:46 server postix: LOGOUT, user=test@server.hu Feb 21 18:32:12 server pop3d: Connection, Feb 21 18:32:12 server pop3d: LOGIN, user=test@server.hu, Feb 21 18:32:46 server pop3d: LOGOUT, user=test@server.hu Csak a pop3d-t tartalmazhó sorokat szeretnék megjeleníteni. SzitWiki -
86 Last update: 2019/01/05 22:20 oktatas:linux:parancssor grep pop3d /var/log/syslog Adott egy konfigurációs állomány (dspam.conf) ami tele van megjegyzésekkel. Szeretném kiszűrni a megjegyzés sorokat és csak a beállításokat szeretném: # # DSPAM Home: Specifies the base directory to be used for DSPAM storage # Home /var/spool/dspam Ekkor: grep '^[^#]' dspam.conf Fájl keresése tartalom alapján grep -lir "keresett szöveg" /utvonal/konyvtar egrep Nem egyezik meg a grep -E használatával, mert annál több reguláris kifejezést ismer ha ezt használjuk. Ehhez hasonló reguláris kifejezések is használhatók: +,?, és () fgrep Fix vagy fast grep rövidítése. Megegyezik a grep -F használatával paste Adatoszlopok összemásolása Állományok oszlopainak összemásolása egy fájlba, egymás mellé Szintaxis: paste [ kapcsolók... ] [ fájl... ] Van 4 darab fájl: sroszam nev Printed on 2019/01/07 23:42
87 2019/01/07 23:42 87/128 Linux parancssor szuletesnap telefonszam sorszam nev Alex Brown Joe szuletesnap telefonszam (1) (37) (48) Szeretnénk egyetlen fájlban egymás mellé összemásolni. Megoldás: paste sorszam nev szuletesnap telefon > info.txt Eredmény: info.txt 001 Alex (1) Brown (37) Joe (48) Tagolás szóközökkel Megoldása SzitWiki -
88 Last update: 2019/01/05 22:20 oktatas:linux:parancssor paste -d ' ' sorszam nev szuletesnap telefon > info Eredmény: info 001 Alex (1) Brown (37) Joe (48) Tagoláshoz persze bármit megadhatunk pl.: -d ':' Táblázat oszlopainak cseréje Adott egy dolgozok nevű állomány, amiben oszlopokban szeretnénk megcserélni. dolgozok Név Fizetés Beosztás Alex festő Brown asztalos Joe villanyszerelő Megoldás: cut -f1 dolgozok > nev cut -f2 dolgozok > fizetes cut -f3 dolgozok > beosztas paste nev beosztas fizetes > dolgozok2 more dolgozok2 rm nev beosztas fizetes sort A bemenetre érkező adatokat rendezi. A sort parancsot Adatok rendezése és összemásolása Ha a bemenet egy másik programtól jön csővezetéken: Printed on 2019/01/07 23:42
89 2019/01/07 23:42 89/128 Linux parancssor cat filenev.txt sort Ha a program bemenete egy állomány: sort < filenev.txt Ha szeretnénk, hogy a magyar nyelvnek megfelelően rendezzen, vagyis az a betűk előbb szerepeljenek mint például az á betűk, akkor használjuk a -d kapcsolót: cat fajlnev.txt sort -d Fordított rendezés sort -r nevek.txt sort --reverse nevek.txt Kimeneti fájl megadása sort -o ujfajl.txt nevek.txt Átirányítással: sort nevek.txt > ujfajl.txt Ha így használjuk: sort nevek.txt > nevek.txt A nevek.txt tartalma elveszett, mert a kimeneti fájl előkészítése megtörténik annak olvasása előtt. Itt lehet ugyanaz a név: sort -o nevek.txt nevek.txt Egy fájlba sort nevek1 nevek2 nevek3 > osszes Egy fájlba rendezi a 3 fájl tartalmát A gyümölcs fájl tartalma: gyumolcs.txt korte alma SzitWiki -
90 Last update: 2019/01/05 22:20 oktatas:linux:parancssor szilva barack Eredmény: sort gyumolcs.txt alma barack korte szilva Rendezés adott mező szerint gy.txt 1 körte 2 alma 3 szilva Második oszlop szerint szeretnénk rendezni: sort -k +2 < gy.txt -k oszlopszám rev Egy sort megfordít A rev parancsot karakterek sorrendjének megfordítása használjuk. Szintaxis: rev [fájl ] A bemenet lehet a STDIN is. Legszemléletesebben egy egyszerű állományon láthatjuk a működését. Az adat.txt állomány tartalma legyen a következő: adat.txt abcde AxAxA Printed on 2019/01/07 23:42
91 2019/01/07 23:42 91/128 Linux parancssor Futtatás: rev adat.txt edcba AxAxA spell A spell egy helyesírás ellenőrző program. A unixos rendszerekből származik. A spell csomag telepítése után használható. A spell a paraméterként megadott állományból kiírja azokat a szavakat amiket helytelennek tart. Magyar helyesírásh ell.-hez: ihungarian csomag kell telepítve legyen. (magyar környezeteben ékezet gondok) helyesen helytelenül barack barck szilva szilve körte körite alma alme helyes helytelen peach peac plum plem pear peare apple aple Gyakorlás Adott a következő fájl: gy.txt barcak szilve eper körte alme A harmadik szó helyes, a többit helytelen. Végrehajtás: spell gy.txt SzitWiki -
92 Last update: 2019/01/05 22:20 oktatas:linux:parancssor A parancs az eper szó kivételével kiír minden sort. ispell használata A hunspell csomag használata esetén rávehetjük annak használatára is: spell -i /usr/bin/ispell gy.txt hunspell használata A hunspell csomag használata esetén rávehetjük annak használatára is: spell -i /usr/bin/hunspell gy.txt ispell Ez egy interaktív helyesírás ellenőrző program. Indítás: ispell gy.txt Az indítás után a program kiírja a hibás szót, majd lehetőségeket kínál a változtatásra. Számokkal adhatjuk meg, mire szeretnénk javítani. Ha ez nem egyezik az általunk kívánt lehetőséggel, akkor az r lenyomása után mást is beírhatunk. A program minden lehetőséget kiír a képernyő alján. barcak File: gy.txt barcak 0: barack 1: barnak 2: bar ak [SP] <number> R)epl A)ccept I)nsert L)ookup U)ncap Q)uit e(x)it or? for help Hátránya, hogy nem ismeri az UTF-8 kódolásul ékezeteseket. Printed on 2019/01/07 23:42
93 2019/01/07 23:42 93/128 Linux parancssor aspell Interaktív helyesírás ellenőrző program. UTF-8-as környezetben kezeli az ékezetes karaktereket. Felülete hasonlít az ispell programhoz. Használatához telepíteni kell a aspell csomagot, a magyar helyesírás ellenőrzéshez pedig a aspellhu csomagot. Adott a következő állomány: gy.txt Szeretem a gyümölcsöket. Kedvenceim az alme, körti, szilve és a barakc. aspell check gy.txt barck szilva körite alme 1) barack 4) barik 2) Barcs 5) barok 3) Barok 6) barék i) Ignore I) Ignore all r) Replace R) Replace all a) Add l) Add Lower b) Abort x) Exit? hunspell Adott a következő állomány: gy.txt Szeretem a gyümölcsöket. Kedvenceim az alme, körti, szilve és a barakc. Ellenőrzés: SzitWiki -
94 Last update: 2019/01/05 22:20 oktatas:linux:parancssor hunspell gy.txt Felülete: barck File: gy.txt barck 0: barack 1: barok 2: barik 3: barék 4: barcsik 5: Barcs 6: barcsi 7: barchesz [SPACE] R)epl A)ccept I)nsert U)ncap S)tem Q)uit e(x)it or? for help Előnyök: tr Kiválasztott karakterek cseréje. tr [kapcsolók] készlet1 [készlet2] Adatokat olvas a stdin-ről készlet1-beli előfordulását keresi, ha talál lecseréli a készlet2-beli párjával. Kis a nagy A lesz: tr a A < regifajl > ujfajl Kis a,b,c nagy A,B,C lesz: tr abc ABC < regifajl > ujfajl Minden nagybetű kicsi lesz: Printed on 2019/01/07 23:42
95 2019/01/07 23:42 95/128 Linux parancssor tr A-Z a-z < regifajl > ujfajl Ékezetlenítés tr éáóö eaoo < ekezetes > ekezetlen Az ékezetlenítés UTF-8-as környezetben nem jó működik. Helyette ajánlott a sed parancs használata. uniq Az ismétlődő sorokat csak egyszer jeleníti meg. Rendezett, Ismétlődő sorok törlése uniq [kapcsoló]... [bemenet [kimenet]] Így nem működik! adat alma körte alma barack szilva körte uniq adat alma körte alma barack szilva körte Így helyes! adat alma körte alma barack SzitWiki -
96 Last update: 2019/01/05 22:20 oktatas:linux:parancssor szilva körte sort adat uniq alma barack körte szilva wc Sorok megszámolása Sorok, szavak és karakterek számolása Szintaxis: wc [kapcsoló]... [fájl]... Adott egy állomány: adat alma körte barack szilva Végrehajtás: wc adat Amit kaptunk: 4 sor 4 szó 25 byte Gyakori használat. wc -l Csak sorok számolása Printed on 2019/01/07 23:42
97 2019/01/07 23:42 97/128 Linux parancssor nl Sorszámozás A sorokat sorszámozza A számok a sor elé kerülnek Példa a használatra: nl -n rz -w3 -s: Eredmény: (-n) jobbra zárt, előnullázva (-w3) számjegyek száma (-s:) szeparátor 001:adat1:adat2 tac A bemenetet megfordítja, az utolsó sortól írja ki. eredeti.txt alma körte barack szilva 40 db 53 db 25 db 27 db uj.txt szilva barack körte alma 27 db 25 db 53 db 40 db expand tabulátorok szóközökre cserélése tanulok_tab.txt 001 Alex Brown Dan Igor 40 3 SzitWiki -
98 Last update: 2019/01/05 22:20 oktatas:linux:parancssor Barton Flex Rock Brain 78 4 Végrehajtás: expand tanulok_tab.txt > tanulok_szokoz.txt unexpand Szóközök tabulátorra cserélése. Adott a következő állomány szóközökkel tagolva: tanulok_szokoz.txt 001 Alex Brown Dan Igor Barton Flex Rock Brain 78 4 Végrehajtás: unexpand -a tanulok_szokoz.txt > tanulok_tab.txt (-a) Ne csak a bevezető szóközöket és tabulátorokat, hanem az összeset alakítsa át tab karakterekké. join Összefűzés Minden egyes azonos összekapcsolási mezővel rendelkező bementi sorpárhoz kiír egy sort a szabványos kimenetre. nev 1 János 2 Ferenc 3 István 4 Kati szul Printed on 2019/01/07 23:42
99 2019/01/07 23:42 99/128 Linux parancssor Végrehajtás: join nev szul 1 János Ferenc István Kati 1967 Az állományok tartalmazhatnak üres sorokat. De ha nincs rendezve, akkor nem mindig jó az eredmény. fold sorok tördelése a megadott mezőszámmal: fold -w 70 file.txt Tegyük fel, hogy kaptam egy t, amelyben egy szöveges fájl van, de a levelet úgy írták, hogy nem törtek sort a képernyő jobb szélre érve, ezért a mi olvasó programunkban kilóg a képernyőről. level.txt Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam condimentum blandit sapien non volutpat. Vivamus posuere massa euismod libero varius et mollis velit aliquam. Donec ultrices placerat consequat. Phasellus sit amet est non lorem vestibulum placerat iaculis vitae justo. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus bibendum feugiat eleifend. Duis tincidunt tempus eros, ac laoreet magna suscipit eu. Praesent quis facilisis lacus. Quisque imperdiet egestas lectus dapibus iaculis. Morbi egestas nulla eu magna sagittis vitae eleifend lacus sodales. Nullam vel nunc nisl. Vestibulum eget sapien eros. Donec ac pellentesque odio. In hac habitasse platea dictumst. (Ezt az állományt letöltheted így is:) curl > level.txt Ekkor tördelhetjük az az állományt a fenti mint alapján: fold -w 70 level.txt SzitWiki -
100 Last update: 2019/01/05 22:20 oktatas:linux:parancssor expr Kifejezés kiértékelése expr expr 1 < 2 1 expr 1 > 2 0 expr length "alma a" 6 expr 3 "*" 2 6 expr 1 = 2 0 tsort Topológikus rendezést hajt végre egy fájlon. Szintaxis: tsort [fájl] Ha nincs fájl megadva, akkor STDIN-ről olvas. Például Át fogunk adni a tsort-nak egy X történt Y előtt típusú párokból álló listát, és megvizsgáljuk, hogy hogyan rendezi azt. Megjegyezzük, hogy adott részleges rendezés esetén nem mindig létezik egyértelműen teljes rendezés is. Adott a következő állomány: szul.txt Éva János Erika János Péter Éva Zoltán Erika Printed on 2019/01/07 23:42
101 2019/01/07 23:42 101/128 Linux parancssor Alkalmazás tsort < szul.txt Péter Zoltán Éva Erika János diff A diff Két fájl összehasonlítása való sorról sorra. A használat során listázza a két összehasonlított állomány eltérő részeit. gy1.txt alma körte barack szilva gy2.txt alma körte szilva diff gy1.txt gy2.txt 3d2 < barack Két könyvtár összehasonlítása: diff elso masodik Csak elso -ben: egy.txt Csak masodik -ben: ketto.txt A program kiírja, ha egy fájl csak az egyik könyvtárban van. Csak a különbséget mutató fájlok mutatása: diff -qr elsokonyvtar masodikkonyvtar patch A patch program foltozásra való. A foltot a diff programmal készítjük, majd patch paranccsal fűzzük a SzitWiki -
102 Last update: 2019/01/05 22:20 oktatas:linux:parancssor régi állományhoz. Például adott a következő állomány: gy1.txt alma barack körte szilva Lemásoljuk az állományt: cp gy1.txt gy2.txt A gy2.txt állományban változásokat viszünk véghez. Az állomány ezek után így néz ki: gy2.txt alma banán barack citrom körte szilva A folt elkészítése: diff -cbn gy1.txt gy2.txt > gy2.patch Végrehajtás során: diff -cbn gy1.txt gy2.txt > gy2.patch *** gy1.txt :12: gy2.txt :45: *************** *** 1,4 **** --- 1, alma + banán barack + citrom körte szilva Ha ezek után valakinek meg van gy1.txt állomány, a javítások alkalmazásához a foltot kell Printed on 2019/01/07 23:42
103 2019/01/07 23:42 103/128 Linux parancssor megszerezni. Akinek csak a gy1.txt állomány van, megszerzi a foltot, majd alkalmazza a gy1.txt állományon. A gy2.patch állományt a gy1.txt állománnyal azonos könyvtárba másolom. A patch alkalmazása ez után: A folt alkalmazása: patch < gy2.patch Akkor hasznos ez a folthasználat alkalmazása ha az eredeti állomány nagyon nagy, nagyon komplex és szeretnénk egy apróbb vagy nagyobb változtatást alkalmazni az eredeti állományon. A programozók gyakran használják a foltozást. Ha belejavítanak egy állományba, akkor csak elkészítik a régi és új állomány különbségét (folt), majd ezt visszaküldik az eredeti fejlesztőnek. Az eredeti fejlesztőnek csak foltot kell letöltenie, amelyet alkalmaz az eredeti állományon. diff3 Három fájl összehasonlítása sorról sorra. sdiff Két állomány összehasonlítása, tartalmuk interaktív egyesítése. A két állomány tartalmát két oszlopban jeleníti meg, nagyon szemléletesen a különbségeket. cmp Két fájl összehasonlítása Alapértelmezés szerint azonos állományok esetén nem ír ki semmit, eltérés esetén jelzi az eltérés sorés bájtszámát. comm Sorról-sorra összehasonlít két rendezett fájlt. A comm három oszlopban írja ki két állomány összehasonlításának eredményét. Az első oszlopban csak azok a sorok szerepelnek, amelyek csak az első, a másodikban azok amelyek csak a második, végül a harmadikban azok amelyek mindkét állományban előfordulnak. tail Egy állomány végét írja ki. SzitWiki -
104 Last update: 2019/01/05 22:20 oktatas:linux:parancssor Például: tail /var/log/syslog A tail a -f kapcsolóval folyamatosan a képernyőre írja az állomány változásait. Beállítható hány sor jelenjen meg. 100 sor megjelenítése: tail -100 /var/log/syslog tailf A tailf megegyezik a tail -f hatásával. Képernyőre írja az utolsó 10 sort, majd az állomány változása esetén kiírja a megváltozott sorokat. tailf /var/log/syslog head Egy állomány elejét írja ki. Alapértelmezetten az első 10 sort jeleníti meg. head /var/log/syslog Beállítható hány sor jelenjen meg: head -100 /var/log/syslog less dos2unix A fájlvége jeleket cserélhetjük az egyes operációs rendszerek számára. A fájl végét valamelyik rendszerben 1 bájt jelzi, valamelyikben kettő. Két bájt van használatban: CR - ^M LF - ^J A fájlvége jelek az egyes rendszereken: Telepítés: Windows: CR LF Linux, Mac OS X: LF Apple: CR apt install dos2unix Telepítés a következő parancsokat kapjuk: Printed on 2019/01/07 23:42
105 2019/01/07 23:42 105/128 Linux parancssor dos2unix unix2dos mac2unix unix2mac A unix2dos szintaxisa: unix2dos [options] [-c convmode] [-o file...] [-n infile outfile...] Kapcsolók: [-fhkllqv] [--force] [--help] [--keepdate] [--license] [--newline] [--quiet] [--version] Legyen egy vmi.txt nevű fájl, amely Unix rendszeren (Linux vagy Mac OS X) készült, így a sortörés LF bájt lett. Windowsos sortörést szeretnénk: unix2dos vmi.txt Ha fel van telepítve a Midnight Commander, a szerkesztőjével nyissuk meg az elkészült fájlt: mcedit vmi.txt Az eredmény látható. Mivel az mcedit nem ismeri CR LF közül az CR bájtot, ^M karaktereket jelenít meg helyette. A -n kapcsolóval beállítható a kimeneti fájl is: unix2dos -n vmi.txt uj.txt Bináris és nem szabályos fájlokat, mint a linkeket automatikusan átlép a program, ha csak nem használjuk a --force kapcsolót. A -c kapcsoló: -c --convmode konverziósmód Módok a következők lehetnek: ascii mac 7bit iso További példák: unix2dos a.txt -c 7bit b.txt unix2dos -c ascii a.txt -c 7bit b.txt unix2dos < in.txt iconv -f ISO t CP850 > out.txt Több információért: SzitWiki -
106 Last update: 2019/01/05 22:20 oktatas:linux:parancssor man dos2unix strings ASCII karaktersorozatok keresése. Tipikusan bináris fájlokban szoktunk keresni olvasható szöveget. Például egy futtatható.exe vagy elf binárisban szeretnénk látni ki írta, hátha szerepel benne. tee A tee parancs a bemenetét fájlba és az alapértelmezett kimenetre irányítja egyszerre. Akkor lehet hasznos, ha a fájlba írás mellett szeretnék a képernyőre is írni vagy a kimenetet egy másik programnak csővezetéken továbbadni. Fájlba és képernyőre: cat fajl.txt tee kimenet.txt Fájlba és másik programnak: cat fajl.txt tee kimenet.txt sort Esetleg: cat fajl.txt tee kimenet.txt sort rendezettkimenet.txt dd A dd parancs fájlok másolására használható. Legy például egy gy.txt állomány: cat > gy.txt szilva körte alma barack Készítsünk róla másolatot: dd if=gy.txt of=masolat.txt Nagybetűssé alakítás: dd if=gy.txt of=masolat conv=ucase Sajnos ez utóbbi csak az angol ábécé betűivel működik. Printed on 2019/01/07 23:42
107 2019/01/07 23:42 107/128 Linux parancssor Kisbetűssé: dd if=gy.txt of=masolat conv=lcase Az adatok kiírása fizikailag később történhet, mivel az operációs rendszer átmeneti tárolójába kerülnek. Ha szeretnénk az adatok fizikai kiírását azonnal, akkor adjuk meg a fdatasync jelölőt: dd if=gy.txt of=masolat conv=fdatasync Ha fájlokhoz tartozó metaadatok azonnali kiírását is szeretnénk, akkor: dd if=gy.txt of=masolat conv=fsync További részletek: dd --help Egyéb parancsok zdump Az aktuális időt írja ki az adott időzónában. Grinwicsi középidő például: zdump UTC Észak-amerikai idő lekérdezése: zdump EST Közép-európai idő lekérdezése: zdump CET Japán idő lekérdezése: zdump Japan Eredmény: Japan Sun Nov 20 20:32: JST A használható paraméterek listája: ls /usr/share/zoneinfo SzitWiki -
108 Last update: 2019/01/05 22:20 oktatas:linux:parancssor time Megmérhetjük mennyi idő alatt hajtódik végre egy parancs Valósidő és folyamatidő. Statisztika mennyi ideig tartott a parancs végrehajtása. Például: time ls /usr/bin Eredményhalmaz: real 0m1.232s user 0m0.028s sys 0m0.048s Vagy time sleep 60 real 1m0.009s user 0m0.000s sys 0m0.004s times Statisztika a programfutásról times ls -l / Eredmény: 0m3.948s 0m1.392s 0m24.246s 0m3.240s sleep Várakozás meghatározott ideig. Alapértelmezett mértékegység a másodperc: sleep 5 5 másodpercig vár cal Naptárat jelenít meg. Printed on 2019/01/07 23:42
109 2019/01/07 23:42 109/128 Linux parancssor A cal parancs magyar kézikönyve sajnos elavult a Debian GNU/Linux 6.x rendszerekben. Helyette nézzük meg az angol nyelvűt. Például: man -L us cal Használhatjuk a cal helyett a ncal parancsot is. A cal és az ncal parancsok a bsdmainutils csomag részei. hwclock A hardveróra lekérdezése és beállítása. Ez a parancs csak root felhasználóként használható. rdate Az rdate csomag egy távoli gépről kérdezi le az időt. rdate -p -n time.kfki.hu Alapértelmezetten be is állítja az operációs rendszer idejét. Ez azonban csak root felhasználóként tehető meg. A -n kapcsoló az RFC 2030 SNTP protokoll használatára utasít. Eredeti időprotokoll az RFC 868. De ezt a példában szereplő kifki.hu intézet már régen nem szolgáltatja. FIFO FIFO fogalma Mi a FIFO? Mire jó? Elnevezett csövek Elnevezett pipe-ok Egy különleges fájltípus Független folyamatok közötti adatcserét tesz lehetővé. A FIFO használata mkfifo pipeneve echo "Információ" > pipeneve & SzitWiki -
110 Last update: 2019/01/05 22:20 oktatas:linux:parancssor cat pipeneve Az első sorral elkészítjük a FIFO-t. A második sorral teszünk bele információt, amely háttérbe kerül a végére tett & jel segítségével. A cat pipeneve paranccsal olvassuk ki a FIFO tartalmát. A FIFO tartalma csak egyszer olvasható ki. A kiolvasással a háttérbe tett folyamat leáll. ulimit Az ulimit felhasználói limitek lekérdezésére és beállítására való. Pl.: ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) max locked memory (kbytes, -l) unlimited max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) real-time priority (-r) 95 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) unlimited virtual memory (kbytes, -v) unlimited file locks (-x) unlimited Ehhez hasonló eredményt kaphatunk. Az egyes tulajdonságoknak megfelelő kapcsoló a kimenetben látható. Például, ha csak a verem (stack) méretét akarom lekérdezni: ulimit -s Vagy felhasználóként mennyi folyamatot és szálat indíthatok. Lásd bővebben: ulimit lsof A nyitott fájlokat mutatja COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME init 1 root cwd unknown Printed on 2019/01/07 23:42
111 2019/01/07 23:42 111/128 Linux parancssor /proc/1/cwd (readlink: Permission denied) init 1 root rtd unknown /proc/1/ date A dátum kiíratására és beállítására való. Szimplán, paraméterek nélkül kiírj a dátumot: date Eredmény: jan. 15., vasárnap, CET Ha csak az aktuális évszámot szeretném: date +%Y Az év, hó és nap, kötőjelekkel tagolva: date +%Y-%m-%d Az év, hó és nap, tagolás nélkü: date +%Y%m%d Az idő lekérdezése, kettősponttal tagolva: date +%H:%M A kötőjeles forma megint: date +%F A kettőspontos forma újra: date +%R Vegyesen szóközzel tagolva: date "+%F %R" A következő paranccsal beállíthatom az időt (Ehhez rendszergazdai jogok kellenek): date A mintában Január 15-öt állítok be, 11 óra és 14 percre. Ez persze csak rendszergazdaként fog működni. SzitWiki -
112 Last update: 2019/01/05 22:20 oktatas:linux:parancssor Így is lehet: date --set date --set 21:08:0 Néha előfordul, hogy egy időbélyeg számként van eltárolva, és szeretnénk olvashatóbb formában látni: date BSD rendszeren ugyanez: date -r nice A Linux operációs rendszerben meghatározhatók a folyatok prioritása. Egy nagyobb prioritású folyamat több processzoridőt kap. Nagyobb terhelés esetén ez lényeges lehet. Linux alatt fordított prioritás van. Minél kisebb számot adunk meg a prioritás annál nagyobb. A prioritás a következő intervallumban állítható: A folyamat akkor kapja a legtöbb processzoridőt, ha -20 a prioritása. A ps kimenetében is megnézhetjük egy folyamat prioritását, ha használjuk a -l kapcsolót. Az oszlopok közül a nyolcadikban látjuk a prioritásokat, NI fejléccel. Prioritás beállítása indításkor. nice -n 5 nano renice Prioritás állítása futás közben. renice 2 -p : régi prioritás: 0, új prioritás: 2 logger A logger programmal felhasználóként is írhatunk egy /var/log/syslog könyvtárba. logger<enter> Ami a naplóba megy Printed on 2019/01/07 23:42
113 2019/01/07 23:42 113/128 Linux parancssor A naplóba dátummal, felhasználónévvel bekerül amit írtunk. alias Az alias parancs segítségével a parancsoknak megadhatunk alapértelmezett kapcsolókat. Az alias szintaktikája: alias [-p] [név=['parancs']] A szintaktikából kiderül, hogy önmagában is kiadható az utasítás, de a név után a parancs sem kötelező elem. Az alias parancs önmagában kiírja az aliaszokat: alias Ha például szeretnénk a -l kapcsolót folyamatosan megadni, akkor a következő parancsot adjuk ki: alias ls="ls -l" Másik példa: <cdoe bash> alias p= pwd </code> Harmadik példa: alias dir='ls -la' Negyedik példa: lias df="df -h" Ötödik példa: alias rm="rm -i" alias cp="cp -i" Az összes definiált alias megjelenítése: alias -p A -p kapcsoló valójában olyan, mint amikor kapcsolók nélkül adjuk ki az alias parancsot. A beállított aliasok újabb munkamenet esetén elvesznek. Ezért írjuk őket ~/.bashrc fájlba. Ugyanakkor nézünk szét ebben a fájlban az alias parancs után kutatva. A Debian GNU/Linux 6.x rendszerekben itt van néhány előre definiált alias, és egy lehetőség, mely szerint ~/.bash_aliases fájlban is meghatározhatunk újabb aliasokat. Ha ideiglenesen szeretnénk kikapcsolni az aliast tegyünk az adott parancs elé egy \ jel karakteret: SzitWiki -
114 Last update: 2019/01/05 22:20 oktatas:linux:parancssor \ls A parancsokat egyszerűsíthetjük is: alias l='ls -al' A parancs részben megadható több parancs is: alias pl='ls; pwd' Más aliasokra is hivatkozhatunk: alias pl='l; p' Egyszerre több alias is létrehozható: alias l="ls -l"; p="pwd"; Csővezetékkel és grep párossal megoldható, hogy csak az alkönyvtárakat listázzuk: alias dir="ls -al grep ^d" Tegyük fel, hogy van egy ilyen aliasunk: alias l="ls -a" Az l ezek után használható paraméterrel is: l /bin De kapcsolók is megadhatók: l -l /bin Olyankor is hasznos lehet, az alias, ha sokszor akarunk szerkeszteni egy állományt, ami alkönyvtárakban van nagyobb mélységben: alias e="nano /etc/network/interfaces" Ha Windowsos parancsokat szeretnénk: alias md="mkdir" alias dir="ls" alias del="rm -i" alias copy="cp" alias rd="rmdir" alias rename="mv" Az aliasnak van egy párja az unalias. Ezzel a paranccsal törölhetők az aliasok. Szintaktikája: Printed on 2019/01/07 23:42
115 2019/01/07 23:42 115/128 Linux parancssor unalias [-a] név [név...] Példák: unalias ls unalias l Keresés Szimpla keresés Például keresem a main.c fájlt, amely az aktuális könyvtár valamelyik alkönyvtárban van: find -name main.c Lehetséges eredmény:./c/main.c Keresés helye find /usr -name abook A megtalált fájl becsomagolása find -name main.c xargs tar -cf valami.tar Keresés időbélyeg alapján A fájlok statisztikájánál már volt szó arról, hogy egy Linux háromféle időbélyeget tárol egy fájlról. mtime modify time A fájl módosítása atime access time A fájl olvasása ctime change time Az inode módosítása Az emberek ezekből általában az atime-ot ismerik, ami megmondja számunkra, a fájlt mikor olvasták utoljára. Három napnál régebben olvasott fájlok: find. -atime +3 Esetleg, ha a gyökérből értelmezve akarom futtatni: SzitWiki -
116 Last update: 2019/01/05 22:20 oktatas:linux:parancssor find. -atime +3 -exec ls \; Az utolsó három napban módosított fájl: find. -mtime -3 Az utolsó 3 napban módosított txt fájlok: find. -name '*.txt' -mtime -3 A kbytenál nagyobb fájlok: find. -size k Fájl keresése tartalom alapján find /utvonal/konyvtar -type f -exec grep -l "Amit keresek" {} + Szabad hely Háttértár df A df parancs paraméter nélkül, megmutatja hány darab 1 kilóbájtos blokk van az adott lemezen. Ebből mennyi foglalt és mennyi szabad. df -h A df lehetséges kimenete: Fájlrendszer 1K-blokk Fogl. Szabad Fo.% Csatol. pont /dev/sda % / udev % /dev tmpfs % /run tmpfs % /dev/shm tmpfs % /run/lock tmpfs % /sys/fs/cgroup /dev/sda % /home tmpfs % /run/user/118 tmpfs % /run/user/1000 Az udev partíció egy virtuális partíció, az eszközök számára. Az udev minden eszközt a /dev könyvtárban képez le eszközcsomóponttá, egy fájl formájában. A tmpfs partíciók virtuális partíciók a fizikai memóriában, ami gyorsítást szolgálja. Humánus kimenet, a tmpfs-ek kizárása, fájlrendszerek típusa: Printed on 2019/01/07 23:42
117 2019/01/07 23:42 117/128 Linux parancssor df -ht -x tmpfs -x devtmpfs Memória free Lehetséges kimenet: total used free shared buffers cached Mem: /+ buffers/cache: Swap: Információk a rendszerről A terjesztéssel kapcsolatos információk megjelenítése: lsb_release -a Lehetséges kimenet: No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux (squeeze) Release: Codename: squeeze cpuinfo.sh #/bin/bash MHZ=`cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq` echo CPU Sebesség: $(($MHZ/1000)) MHz A processzor adatai: cat /proc/cpuinfo vagy: lscpu Hány bites a processzorod: grep flags /proc/cpuinfo SzitWiki -
118 Last update: 2019/01/05 22:20 oktatas:linux:parancssor Ha fenti kimenetben látod az lm szót, akkor 64-bites. Terminál beállítása A setterm parancs segítségével megváltoztathatjuk a terminálunk színeit. setterm -background white -foreground blue -store Virtuális terminálon nem működik. man setterm A terminál felosztása A tmux programmal egy terminál felosztható több részre is. A tmux elérhető a következő helyen: Debian alapú rendszeren telepítés: apt-get install tmux A használható billentyűkombinációkról kézikönyv informál minket: man tmux Hexedit Hexaszerkesztésre több csomagot is találunk parancssorban, nekem eddig a hexedit jött be a legjobban. hexedit Telepítés: apt-get install hexedit mkdir ~/munka/hex cp /bin/ls ~/munka/hex/ls hexedit ~/munka/hex/ls A bc számológép Printed on 2019/01/07 23:42
119 2019/01/07 23:42 119/128 Linux parancssor Alap Indítás: bc Kilépés: quit Segítség: man bc Alapműveletek Összeadás: 3+2 Kivonás: 3-2 Osztás: 14/3 Szorzás: 3*5 Hatványozás: 2^8 Gyökvonás: sqrt(9) Számrendszerek közötti váltás 10 2 ibase=10 obase=2 SzitWiki -
120 Last update: 2019/01/05 22:20 oktatas:linux:parancssor ibase=10 obase=16 12 C Bemeneti számrendszer kiíratása: print ibase,"\n" 2 10 ibase=2 ibase= Programírás #!/usr/bin/bc print "Első szám: " a = read() print "Második szám: " b = read() c = a + b print "Összeg: ", c, "\n" quit #!/usr/bin/bc print "Első szám: " szam1 = read() print "Második szám: " szam2 = read() if (szam1>szam2) print "Az első szám nagyobb\n" if(szam1<szam2) print "A második szám nagyobb\n" quit Printed on 2019/01/07 23:42
121 2019/01/07 23:42 121/128 Linux parancssor A stdin használata A bc képes dolgozni az alapértelemzett bemenetről. Vagyis csővezetékből is képes adatokat venni: echo bc vagy: echo 8 "*" 512 bc Váltás kettes számrendszerbe (10 2): janos@iskolazo:~$ echo "obase=2; 5" bc 101 Váltás kettes számrendszerből tízes számrendszerbe (2 10): janos@iskolazo:~$ echo "ibase=2; 101; obase=10;" bc 5 Matematikai könyvtárak A -l kapcsolóval betöltődik néhány függvény: s(x) x szinusza; x-t radiánban várja c(x) x koszinusza; x-t radiánban várja a(x) x arkusz tangense; radiánnal tér vissza l(x) természetes alapú logaritmus e(x) e^x értéke j(n,x) n-nedik Bessel függvénye A PI értéke nincs tárolva, de könnyen megkapjuk: pi=4*a(1) A fokot ezek után így számolhatjuk radiánba, majd annak vehetjük szinuszát: fok=1 pi=4*a(1) rad=fok*pi/180 print s(rad) Alapértelmezett bemenetről szögfüggvények: janos@iskolazo:~$ echo "pi=4*a(1); fok=1; rad=fok*pi/180 ;s(rad )" bc -l SzitWiki -
122 Last update: 2019/01/05 22:20 oktatas:linux:parancssor iconv Az iconv parancs állományok átkonvertálása más karakterkódolásra. A használható karakterkódolások a -l kapcsolóval kérdezhetők le: iconv -l Milyen ANSI kódolások támogatottak: iconv -l grep -i ansi Az eredmény ilyen lehet: ANSI_X // ANSI_X // ANSI_X3.4// ANSI_X // ANSI_X3.110// MS-ANSI// Használatra példa: iconv -f ISO t UTF8 -o kimenet.txt bemenet.txt Vagy: iconv -f MS-ANSI -t UTF8 -o kimenet.txt bemenet.txt Ha nem tudjuk milyen kódolású amit szeretnénk átkódolni, használhatjuk a file parancsot: file szoveg.txt szoveg.txt: UTF-8 Unicode text, with CRLF line terminators file A file utasítással információt kérhetünk állományokról. Milyen kódolású egy fájl: file -i /etc/apache2/apache2.conf file /bin/ls arch A számítógép architektúrájának kiíratása. Az eredmény például i686. Megegyezik az uname -m Printed on 2019/01/07 23:42
123 2019/01/07 23:42 123/128 Linux parancssor paranccsal. arch uname -m uptime A gép mennyi ideje megy. Eredmény: 10:37:00 up 1:06, 3 users, load average: 0,79, 0,82, 0,71 A load average értéke például , a processzorok átlagos elérési ideje. első szám: rövid távon második szám: közép távon harmadik szám: hosszú távon Ha 1.00-nál a szám kisebb akkor a processzor mindent azonnal kiszolgál. Ha nagyobb mint 1.00, akkor a proceszeknek várakoznia kell. Ellenőrző összeg CRC összeg számítás: cksum fájlnév Ellenőrző összeg számítása, BSD és System V algoritmusai: sum fájlnév MD5 ellenőrző összeg készítése: md5sum fájlnév.kit > md5szam.txt MD5 ellenőrzése: md5sum -v -c md5szam.txt A -v hatására kiírja ha az állomány rendben: OK Ha nem ok, akkor: FAILED Önkicsomagoló állományok készítése Az önkicsomagoló állomány mindig a már tömörített állományból készíthető. A tömörítendő állományokat célszerű egy könyvtárba tenni. SzitWiki -
124 Last update: 2019/01/05 22:20 oktatas:linux:parancssor zip -r vmi.zip konyvatvagyallomany cat /usr/bin/unzipsfx vmi.zip > vmi.sfx A zip esetén a -r rekurzívan az alkönyvtárakra is vonatkozik. vmi.zip esetén a kiterjeszétst nem kötelező megadni. Az unzipsfx a Debian GNU/Linux 3.0-ban a uzip csomagban van. A másik program shell típusú önkicsomagoló archív létrehozására: shar -z állományok* > archinnev.shar A -z kapcsoló a gzip tömörítésre ad utasítást. A shar a Debain 3.0-ban a sharutils része. Minimális személyes kalendárium A when nevű parancs egy minimális személyi kalendáriumot valósít meg. Letölthető a weboldaláról, git tárolóból. Debian alapú rendszereken csomagból telepíthetjük: apt-get install when Telepítés után kapunk egy when parancsot. Első indításkor a következő üzenetet kapjuk: You can now set up your calendar. This involves creating a directory ~/.when, and making a couple of files in it. If you want to do this, type y and hit return. Az üzenet szerint beállíthatjuk a kalendáriumunkat, amihez létre kell hozni egy ~/.when könyvtárat. Ha ezt az üzenet megértettük, akkor várja, hogy y leütésével nyugtázzuk, majd közli mi az alapértelmezett szövegszerkesztő. y You can edit your calendar file using your favorite editor. Please enter the command you want to use to run your editor, or hit return to accept this default: emacs -nw Én beírtam az mcedit parancsot, mivel ezt a szövegszerkesztőt szeretem. mcedit You can now add items to your calendar file. Do ``when --help'' for more information. Szo 2015 szept 26 4:50 Printed on 2019/01/07 23:42
125 2019/01/07 23:42 125/128 Linux parancssor A kalendárium szerkesztése ezek után: when e Ha az előbb a mcedit szövegszerkesztőt beírtuk, akkor azonnal el is indul, amely szerkeszti számunkra a ~/.when/calendar állományt. Írjunk be egy teszteseményt: szept 26 Tesztesemény A csillag az jelenti az év minden napján. A szeptembert magyarul beírva is értelmezi a program a hónapot. A napot 26-ra állítottam a példában. Mentés után lépjünk ki a szerkesztőből és futtassuk a when parancsot. $ when Szo 2015 szept 26 4:52 today 2015 szept 26 Tesztesemény A program kiírja az aktuális napot, és az aktuális eseményt, ha van ilyen bejegyezve, a fenti példához hasonlóan. truncate Csökkenti vagy növeli egy fájl méretét a megadott méretre. Figyelem: a csökkentés vagy növelés után egyes parancsok nem a fájl valós méretet mutatják. Ha más eszközzel írjuk a fájlt, a helyzet rendeződik. A fájl méretét a -s, illetve a --size=méret kapcsolóval adjuk meg. trunate -s 0 egy.txt Ha nulla értéket adunk meg, akkor a fájl tartalmát töröljük. Ha megadott méret nagyobb mint a fájl aktuális mérete, akkor az üres részek 0 bájttal töltődnek fel. A kísérlethez hozzunk létre egy fájl: echo vmi1 > egy.txt Nézzük meg méretét: $ ls -l összesen 4 -rw-r--r-- 1 janos janos 5 szept 19 19:20 egy.txt Állítsuk be új fájlméretet: truncate -s 3 egy.txt SzitWiki -
126 Last update: 2019/01/05 22:20 oktatas:linux:parancssor Nézzük meg újra a fájl méretét: $ ls -l összesen 4 -rw-r--r-- 1 janos janos 3 szept 19 19:20 egy.txt Ha a megadott méret kisebb mint az eredeti fájlméret, akkor a fájl tartalmát egyszerűen levágja. truncate -s 15 egy.txt SMB megosztás elérése Egy állomány feltöltése: smbclient --user kati -c "put vmi.txt" // /homes A kati felhasználó könyvtárába töltjük fel a vmi.txt fájlt. Ha az aktuális felhasználó (ahol kiadjuk a smbclient parancsot) megegyezik a megosztás felhasználónevével, akkor nem kötelező a --user kapcsoló: smbclient -c "put vmi.txt" // /homes Elérés interaktív módon: smbclient // /homes Vagy van amikor a szerveren a megosztás csak home : smbclient // /home Esetleg így: smbclient --user joska //server/home kapcsoló Általános kapcsolók Leírás -U --user=felhasználónév Felhasználónév megadása -L --list A távoli gép szolgáltatásait mutatja -W --workgroup=tartománynév SMB csoport megadása -D --directory kezdőkönyvtár Kezdő könyvtár megadása -c --command parancsszöveg Általánosan használt parancsok Parancs végrehajtása a távoli szerveren. Kapcsolat nélkül szoktuk használni Parancs help [parancs] vagy? [parancs] Leírás Az összes parancs megjelenítése, vagy egy adott parancs elírása Printed on 2019/01/07 23:42
127 2019/01/07 23:42 127/128 Linux parancssor history cd [könyvtár] lcd <könyvtár> Parancs put <helyi név> [távoli név] get <távoli név> [helyi név] ls [maszk] mget <maszk> mput <maszk> recurse prompt!<helyi parancs> listconnect more <fájlnév> rename <régi fájlnév> <új fájlnév> rm <maszk> rmdir <könyvtárnév> showconnect lowercase Parancstörténet megjelenítése Leírás az aktuális könyvtár cseréje; argumentum nélkül az aktuális könyvtárat adja a helyi könyvtár cseréje fájl feltöltése fájl letöltése az aktuális könyvtár tartalma minden maszkra illeszkedő fájl letöltése minden maszkra illeszkedő fájl feltöltése a rekurzív fel és letöltés engedélyezése az mget/mput parancsok esetén Várakozás minden egyes fájl vagy könyvtár esetén, amikor mget/mput parancsot használjuk. Alapértelmezetten engedélyezve van. helyi parancs futtatása és a kimenet elkapása Az aktuális kapcsolatról ad információt Távoli fájl lekérése és tartalmának megmutatása a PAGER környezetei változóban beállított lapozóval Fájlok átnevezése az aktuális könyvtárban, a távoli gépen Az összes maszkkal egyező fájl törlése a távoli szerveren Adott könyvtár törlése Aktuális kapcsolat megjelenítése Távoli fájlnevek kisbetűssé alakítása a get és mget parancsok számára. Az smb megosztások elérhetők az smbnetfs csomag smbnetfs parancsával, de jelenleg bugos. Függelék A yes parancs A yes parancs mint láttuk, folyamatosan a yes szót írja a képernyőre. A folyamatkezelésnél fejezetben a folyamatok bemutatására használtam. A yes parancs használható arra is, hogy olyan parancsok és scriptek számára, amely bemenetként ezt a szót várja, átadjuk számára csővezetéken keresztül: yes script.sh Utószó Ezt a könyvet, jegyzetet (most erre az egy lapra gondolok: Linux parancssor) még 2009-ben itt kezdtem el írni: SzitWiki -
128 Last update: 2019/01/05 22:20 oktatas:linux:parancssor Itt azonban kötekedett az ottani vezető, hogy hogyan alakítsam a tartalmat, mit írjak még, ne csak a parancssort tartalmazza a leírásom. Én azonban csak a parancssorról akartam írni, mert arról is lehet több könyvnyi anyagot írni. Na meg legyen hasonló a Win leíráshoz. Ezt megelégeltem. Tulajdonképpen akkor gondoltam, hogy szükség lenne egy saját wikire. Íme a SzitWiki ( Remélem másnak is hasznára válik. Az oktatás oldalon megtalálható az címem, szívesen veszek visszajelzéseket. Források Külső linkek (2018) erei (2018) (2018) (2018) (2018) (2018) (2018; Jelzések) (2018; Nano) (2018) Helpek grep help man grep From: - SzitWiki Permanent link: Last update: 2019/01/05 22:20 Printed on 2019/01/07 23:42
2016/06/09 13:15 1/108 Linux parancssor
2016/06/09 13:15 1/108 Linux parancssor < Linux Linux parancssor Szerző: Sallai András Copyright Sallai András, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Licenc: GNU Free Documentation License 1.3 Web:
I. Felzárkoztató Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK
Mérési Utasítás Alapvető Linux/UNIX parancsok A terminál. A Linux és a UNIX, multi taszkos, több felhasználós rendszerek. A több feladat végrehajtásához egy (vagy akár több) felhasználó több terminálon
II. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK
Mérési Utasítás Linux/Unix jogosultságok és fájlok kezelése Linux fájlrendszerek és jogosultságok Linux alatt, az egyes fájlokhoz való hozzáférések szabályozása érdekében a fájlokhoz tulajdonost, csoportot
Linux alapok. Parancsok általános alakja parancs kapcsolók paraméterek
Linux alapok Parancsok általános alakja parancs kapcsolók paraméterek Könyvtárszerkezet abszolút útvonal útvonal megadása a gyökérből kiindulva / gyökérkönyvtár relatív útvonal útvonal megadása az aktuális
4. Laborgyakorlat. A fájlokról ezeket az adatokat, a fájlrendszer tárolja. Számunkra az 1, 3, 4. oszlopok lesznek az érdekesek.
Linux fájlrendszerek. 4. Laborgyakorlat Előző gyakorlaton, már volt szó a fájlrendszerekről, mikor a mount parancs -t kapcsolójáról volt szó. Linux alatt, az egyes fájlokhoz való hozzáférések miatt, a
A legfontosabb DOS parancsok
A legfontosabb DOS parancsok A DOS parancsok általános formája: KULCSSZÓ paraméterek Az utasítások akár kis-, akár nagybetűkkel is írhatók, a DOS nem tesz köztük különbséget. A kulcsszó és az első paraméter
LINUX PMB2506-2 LINUXOS PARANCSOK ÉS HASZNÁLATUK - GRUB
LINUX PMB2506-2 LINUXOS PARANCSOK ÉS HASZNÁLATUK - GRUB LINUX PARANCSOK ÉS HASZNÁLATUK ls: listázás -l részletes lista -a rejtett fájlok megjelenítése cp: fájlok másolása -i Már létező cél felülírása előtt
Bevezetés az informatikába, második gyakorlat. Bevezetés Környezetváltozók és néhány egyszerű utasítás Jogosultságok Fájlkezelés
Bevezetés az informatikába, második gyakorlat Bevezetés Környezetváltozók és néhány egyszerű utasítás Jogosultságok Fájlkezelés Bevezetés Parancsértelmező (bash) Utasítások man Szövegszerkesztők Bash Különféle
Unix-Linux alapok I. gyakorlatvezető: Lutár Patrícia
Unix-Linux alapok I. gyakorlatvezető: Lutár Patrícia Ez a dokumentum az órán bemutatott alapparancsoknak egy vázlatos áttekintése. A parancsokhoz tartozó kapcsolók/opciók (flagek) felsorolása nem teljes.
Hálózati adminisztráció Linux (Ubuntu 8.04) 7. gyakorlat
Hálózati adminisztráció Linux (Ubuntu 8.04) 7. gyakorlat Johanyák Zsolt Csaba 1 1. Belépés és fájlkezelés Azonosító: hallgato Jelszó: hallgato Átváltás karakteres konzolra: Ctrl+Alt+F1.. Visszaváltás grafikus
A L I N U X f e l é p í t é s e
A L I N U X f e l é p í t é s e Fájlrendszer, könyvtárszerkezet, kernel, terminal, X-window DE-EFK Egészségügyi Ügyvitelszervező Szak Linux c. tantárgy 2006 I. félév F á j l r e n d s z e r Fájlrendszernek
Operációs rendszerek 1.
Operációs rendszerek 1. Fájlkezelés Balla Tibor balla.tibor@inf.unideb.hu Fájlrendszer: Könyvtárak és Fájlok Inode szuperblokk inode tábla tényleges lemezterület inode = index-node Az inode tábla egy fix
Az állományok kezelésére használt fontosabb parancsok
Függelék a 3 fejezethez Az állományok kezelésére használt fontosabb parancsok Tartalom Az ls parancs1 A mkdir parancs2 Az rmdir parancs2 A cp parancs3 A rm parancs4 Az mv parancs4 Az állományok kezeléséhez
Munka állományokkal. mv: áthelyezés (átnevezés) rm: törlés. rmdir: üres könyvtár törlése. -r, -R: rekurzív (könyvtár) -r, -R: rekurzív (könyvtár)
man!!! Man Munka állományokkal cd :az aktuális könyvtár (.) beállítása (alapesetben a ~ könyvtárra) pwd: aktuális könyvtár kiiratása mkdir: új könyvtár létreh cp: másolás -r, -R: rekurzív (könyvtár) mv:
Linux parancsok összefoglaló.
Linux parancsok összefoglaló. pwd: Kiírja az aktuális könyvtár abszolút elérési útvonalát. cd : Belép a paraméterként átadott könyvtárba, vagy könyvtárszerkezetbe. A könyvtárat
Programozás alapjai. 1. - 2. óra. Morvai Flórián, 2010 Dr. Dévényi Károly előadásvázlata alapján
Programozás alapjai 1. - 2. óra Morvai Flórián, 2010 Dr. Dévényi Károly előadásvázlata alapján Bemutatkozás Morvai Flórián Morvai.Florian@stud.u-szeged.hu csak egyetemi címről www.stud.u-szeged.hu/morvai.florian
Készítette: Csatlós István 2010-ben
Készítette: Csatlós István 2010-ben 1 A Linux ősei a ngyszámítógépes Unixok voltak Próbálkozások PC-re írt kisebb rendszerekkel: Minix A 386-os processzor lehetőségeinek kihasználása 1991-ben elkészül
Operációs rendszerek gyakorlat
01 Operációs rendszerek gyakorlat Berta Árpád berta@inf.u-szeged.hu www.inf.u-szeged.hu/~berta Irinyi magasföldszint, Mesterséges Intelligencia kutatócsoport, 45/A szoba Fogadó óra: hétfő 15:00-16:00-ig
Operációs rendszerek. 2. gyakorlat. Munka állományokkal UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED
UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED Munka állományokkal Operációs rendszerek 2. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor 1 / 12 Állományrendszer
Operációs rendszerek gyakorlat
01 Operációs rendszerek gyakorlat Berta Árpád berta@inf.u-szeged.hu www.inf.u-szeged.hu/~berta Irinyi magasföldszint, Mesterséges Intelligencia kutatócsoport, 45/A szoba Fogadó óra: hétfő 15:00-16:00-ig
Munka állományokkal. mv: áthelyezés (átnevezés) rmdir: üres könyvtár törlése rm: törlés. -r, -R: rekurzív (könyvtár) -r, -R: rekurzív (könyvtár)
man!!! Man Munka állományokkal cd: az aktuális könyvtár (.) beállítása (alapesetben a ~ könyvtárra) pwd: aktuális könyvtár kiiratása mkdir: új könyvtár létrehozása cp: másolás -r, -R: rekurzív (könyvtár)
chmod umask chown, chgrp
5. Gyakorlat chmod umask chown, chgrp csak a tulajdonos tudja átállítani ezeket a jogokat r=4, w=2, x=1 pl:r+x=5 s-setuid bit /root jogosultságot igénylőprogramokhoz (u=rwxs) chmod 751 proba.txt chmod
LINUX PMB2506-1 VIRTUALBOX TÖRTÉNELEM DEBIAN ALAPPARANCSOK - GRUB
LINUX PMB2506-1 VIRTUALBOX TÖRTÉNELEM DEBIAN ALAPPARANCSOK - GRUB VIRTUÁLIS GÉP FÁJL LETÖLTÉSE http://zeus.nyf.hu/~shaggy/lin2014/debian-7-pmb2506.ova UNIX UNIX (1969-1972) tervezői: Ken Thompson, Dennis
Operációs rendszerek I. IIII. gyakorlat
Operációs rendszerek I. IIII. gyakorlat o who o w o last o users o finger o talk o write o mesg o clear III. gyakorlat o alias/unalias o passwd o pwgen o ls o mkdir o cd o rm / rmdir o tree o pwd 2 finger
Operációs rendszerek gyakorlat
01 Operációs rendszerek gyakorlat Berta Árpád berta@inf.u-szeged.hu www.inf.u-szeged.hu/~berta Irinyi magasföldszint, Mesterséges Intelligencia kutatócsoport, 45/A szoba Fogadó óra: hétfő 12:00-13:00-ig
Operációs rendszerek gyak.
Operációs rendszerek gyak. Linux alapok III., Bash Cirok Dávid Hirling Dominik Szegedi Tudományegyetem Cirok.David@stud.u-szeged.hu Hirling.Dominik@stud.u-szeged.hu Linux alapok III., Bash 1 Linkelés 2
FTP szerver telepítése
FTP szerver telepítése Pure-FTPd szerver telepítése Debian GNU/Linux Squeeze rendszeren - Jegyzet Szerző: Sallai András Copyright Sallai András, 2011 Licenc: GFDL Weblap: http://szit.hu Verzió: 0.02 (2011.03.16)
Operációs rendszerek. 9. gyakorlat. Reguláris kifejezések - alapok, BASH UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED
UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED Reguláris kifejezések - alapok, BASH Operációs rendszerek 9. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor
BASH SCRIPT SHELL JEGYZETEK
BASH SCRIPT SHELL JEGYZETEK 1 TARTALOM Paraméterek... 4 Változók... 4 Környezeti változók... 4 Szűrők... 4 grep... 4 sed... 5 cut... 5 head, tail... 5 Reguláris kifejezések... 6 *... 6 +... 6?... 6 {m,n}...
Java-s Nyomtatványkitöltő Program Súgó
Java-s Nyomtatványkitöltő Program Súgó Hálózatos telepítés Windows és Linux operációs rendszereken A program nem használja a Registry-t. A program három könyvtárstruktúrát használ, melyek a következők:
1. Alapok. #!/bin/bash
1. oldal 1.1. A programfájlok szerkezete 1. Alapok A bash programok tulajnképpen egyszerű szöveges fájlok, amelyeket bármely szövegszerkesztő programmal megírhatunk. Alapvetően ugyanazokat a at használhatjuk
BEKÉRT ADAT KÉPERNYŐRE ÍRÁSA KÖRNYEZETI VÁLTOZÓK FÁJL REDEZETT KIÍRÁSA KÖNYVTÁRBAN BEJEGYZÉSEK SZÁMA FÁJLBAN SZÁM NÖVELÉSE. #!
BEKÉRT ADAT KÉPERNYŐRE ÍRÁSA #A script bekér egy nevet és egy kort, majd kiírja a képernyőre echo -n "Adja meg a nevét: " read NEV echo -n "Adja meg az életkorát: " read KOR echo "Az Ön neve: $NEV, kora:
Operációs rendszerek. 3. gyakorlat. Jogosultságkezelés, linkelés, csővezeték UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED
UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED Jogosultságkezelés, linkelés, csővezeték Operációs rendszerek 3. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik
Operációs rendszerek. 2. gyakorlat. Munka állományokkal UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED
UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED Munka állományokkal Operációs rendszerek 2. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor 1 / 18 Linux
A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.
Függvények 1.Függvények...1 1.1.A függvény deníció szintaxisa... 1..Függvények érték visszatérítése...3 1.3.Környezettel kapcsolatos kérdések...4 1.4.Lokális változók használata...4 1.5.Rekurzív hívások...5.kód
Youtube videó letöltés és konvertálás Linuxon
Youtube videó letöltés és konvertálás Linuxon A szkript futtatásához szükségünk van 2 program telepítésére (youtube dl, mencoder), ezeket a következő parancs kiadásával tudjuk a legegyszerűbben telepíteni:
Operációs rendszerek gyakorlat
01 Operációs rendszerek gyakorlat Berta Árpád berta@inf.u-szeged.hu www.inf.u-szeged.hu/~berta Irinyi magasföldszint, Mesterséges Intelligencia kutatócsoport, 45/A szoba Fogadó óra: hétfő 15:00-16:00-ig
Hardver és szoftver követelmények
Java-s Nyomtatványkitöltő Program Súgó Telepítési útmutató Hardver és szoftver követelmények A java-s nyomtatványkitöltő program az alábbi hardverigényt támasztja a számítógéppel szemben: 400 MHz órajelű
Unix/Linux alapok. Operációs rendszerek I. készítette: Bringye Zsolt, Kozlovszky Miklós, Póserné Oláh Valéria, Windisch Gergely
Unix/Linux alapok Operációs rendszerek I. készítette: Bringye Zsolt, Kozlovszky Miklós, Póserné Oláh Valéria, Windisch Gergely A Unix Minigépekre született, onnan terjedt a mainframe és a workstation,
Operációs Rendszerek. Windows Parancssor
Operációs Rendszerek. Windows Parancssor a parancssor a világ legjobb felülete Miért jó a parancssor? Szinte minden beállítást meg lehet oldani Automatizálás parancssorbol egyszerű pl: ürítsen egy könyvtárat
A mappák használata. Mappa létrehozása
A mappák használata A számítógéppel készített dokumentumainkat, azaz az adatfájlokat célszerű egy jól átgondolt szisztéma szerint tárolni. Mappa (angolul folder) alatt az informatikában egy fájlrendszeren
Linux alapok gyakorlat
11. évfolyam, informatikai rendszerüzemeltető 2018. Témakörök (elméleti tárgyrész) 1. Kialakulása 2. Disztribúciók 3. Telepítés, bootloader 4. Csomagkezelés 5. Rendszer felépítése, kernel (könyvtárak,
Nyíregyházi Egyetem Matematika és Informatika Intézete. Fájl rendszer
1 Fájl rendszer Terminológia Fájl és könyvtár (mappa) koncepció Elérési módok Fájlattribútumok Fájlműveletek ----------------------------------------- Könyvtár szerkezet -----------------------------------------
1. Origin telepítése. A telepítő első képernyőjén kattintson a Next gombra:
1. Origin telepítése Az Origin telepítéséhez tegye be az Origin CD-t a CDROM-ba, majd kattintson az Origin 7.5 hivatkozásra, miután elindult a CD behelyezésekor a telepítő program. Ha nem indulna el a
Operációs rendszerek 2 1. óra: Linux alapok Ismétlés. Windisch Gergely félév
Operációs rendszerek 2 1. óra: Linux alapok Ismétlés Windisch Gergely windisch.gergely@nik.uni-obuda.hu 2011-2012 2. félév Féléves követelmények Kéthetente 2 óra, hetek paritása alapján egy elmaradó alkalom
Tájékoztató. Használható segédeszköz: -
A 35/2016. (VIII. 31.) NFM rendelet szakmai és vizsgakövetelménye alapján. Szakképesítés azonosítószáma és megnevezése 52 481 02 Irodai informatikus Tájékoztató A vizsgázó az első lapra írja fel a nevét!
O er e á r ci c ós ó s R en e d n sz s er e e r k e I. G akorlá l s
perációs Rendszerek I. O Gyakorlás 1 Hozzon létre egy parancscsal 3 könyvtárat! O - vezetéknév - keresztnév - becenév md vezeteknev keresztnev becenev 2. A keresztnevet mozgassa a vezetéknév mappába! move
Debian mint Desktop Operációs rendszer
Debian mint Desktop Operációs rendszer Ez a dokumentum segítséget nyújt a Linux mindennapos használatához, a dokumentumszerkesztéstől a video- és zenelejátszáson át a böngészésig. Az itt felhasznált programok,
Java-s Nyomtatványkitöltő Program Súgó
Java-s Nyomtatványkitöltő Program Súgó Program telepítése Az abevjava_install.jar indításával telepíthető a nyomtatványkitöltő program. A program elindítása után közvetlenül az alábbi képernyő jelenik
2. modul - Operációs rendszerek
2. modul - Operációs rendszerek Érvényes: 2009. február 1-jétől Az alábbiakban ismertetjük a 2. modul (Operációs rendszerek) syllabusát, amely az elméleti és gyakorlati modulvizsga követelményrendszere.
Fájlműveletek, könytárszerkezet Fájlkezelés a Total Commanderrel
Fájlműveletek, könytárszerkezet Fájlkezelés a Total Commanderrel Először is azt kell tisztázni, mi is az a fájl? A file angol szó, eredetileg aktát, iratot jelent. A mi értelmezésünk szerint a számítógépen
Ubuntu telepítése virtuális gépre (VirtualBox)
Ubuntu telepítése virtuális gépre (VirtualBox) Most meg lehet kérdezni, hogy minek kell egy Ubuntura telepíteni még egy virtuális Ubuntut is. Ennek több oka lehet, én például azért, hogy azon próbáljak
Az alábbiakban néhány Linux parancsra látunk példákat, feladatokat.
Linux parancsok Az alábbiakban néhány Linux parancsra látunk példákat, feladatokat. Fájlműveletek 1. Hozzunk létre egy linux munka nevű könyvtárat! mkdir linux munka 2. Lépjünk be a linux munka könyvtárba,
A Windows az összetartozó adatokat (fájlokat) mappákban (könyvtárakban) tárolja. A mappák egymásba ágyazottak.
Mappakezelés WINDOWS-7 A Windows az összetartozó adatokat (fájlokat) mappákban (könyvtárakban) tárolja. A mappák egymásba ágyazottak. A PC legnagyobb mappája, amely az összes többi mappát is magában foglalja,
Első belépés az Office 365 rendszerbe
Első belépés az Office 365 rendszerbe Az Office 365 rendszerbe való első belépéshez szükséges hozzáférési adatokat a rendszergazdától emailben, telefonon, vagy papír alapon kapja meg. Ilyen formátumú adatok
Opensuse automatikus telepítése
Leírás www.npsh.hu Opensuse automatikus telepítése Tartalomjegyzék I. Automatikus telepítés indokai... 3 II. Automatikus telepítés lehetőségei opensuse rendszerrel...3 III. Automatikus telepítés előkészítése...
Számítógépes alapismeretek 2.
Számítógépes alapismeretek 2. 1/7 Kitöltő adatai: Név: Osztály: E-mail cím: 2/7 Kérdések: Mire szolgál az asztal? Az ideiglenesen törölt fájlok tárolására. A telepített alkalmazások tárolására. A telepített
Felhasználói leírás a DimNAV Server segédprogramhoz ( )
Felhasználói leírás a DimNAV Server segédprogramhoz (1.1.0.3) Tartalomjegyzék Bevezetés...3 1. Telepítés...3 2. Eltávolítás...4 Program használata...5 1. Kezdeti beállítások...5 2. Licenc megadása...6
AWK programozás, minták, vezérlési szerkezetek
10 AWK programozás, minták, vezérlési szerkezetek AWK adatvezérelt szkriptnyelv text processing, adat kiterjesztés, tagolt adatok automatizált soronkénti feldolgozása a forrásállományt soronként beolvassa
Delphi programozás I.
Delphi programozás I. Konzol alkalmazások készítése Delphiben A Delphi konzol alkalmazása (console application) olyan 32 bites program, amely nem grafikus felületen, hanem egy szöveges konzol ablakban
Unix/Linux alapok 2. Operációs rendszerek I. készítette: Kozlovszky Miklós, Bringye Zsolt Póserné Oláh Valéria, Windisch Gergely
Unix/Linux alapok 2. Operációs rendszerek I. készítette: Kozlovszky Miklós, Bringye Zsolt Póserné Oláh Valéria, Windisch Gergely linux (unix) fájlrendszerek http://www.csie.ntu.edu.tw/~pangfeng/system%20programming/lecture_note_2.htm
Bevezetés az informatikába 7. előadás. A UNIX operációs rendszer. Jellemzői. Védelem. A UNIX rendszer felépítése
Bevezetés az informatikába 7. előadás A UNIX operációs rendszer A UNIX és a Linux alapú operációs rendszerek Jellemzői UNIX a megbízható op. rendszer, Parancsvezérelt rendszer Multitasking Időosztásos
A Debian, mint Desktop Operációs Rendszer
A Debian, mint Desktop Operációs Rendszer Ez a dokumentum segítséget nyújt a Linux mindennapos használatához, a dokumentumszerkesztéstől a video- és zenelejátszáson át a böngészésig. Az itt felhasznált
A Linux operációs rendszer 2017.
2017. Témakörök 1. Kialakulása 2. Disztribúciók 3. Telepítés, bootloader 4. Csomagkezelés 5. Rendszer felépítése (könyvtárak, fájlok, jogok, felhasználók) 6. Konzol 7. Alapvető parancsok 8. Grafikus felület
A billentyűzet a legfontosabb adatbeviteli eszköz, mely szinte rögtön a számítógép bekapcsolása után,,életre kel. Segítségével az operációs rendszer
Billentyűzet A billentyűzet a legfontosabb adatbeviteli eszköz, mely szinte rögtön a számítógép bekapcsolása után,,életre kel. Segítségével az operációs rendszer automatikusan letöltődik, de betöltése
MS Windows XP Professional SP2 telepítés virtuális gépre. ember@vodafone.hu
MS Windows XP Professional SP2 telepítés virtuális gépre 1 Előzmények Új gép esetén meg kell győződnünk arról, hogy a gép XP kompatibilis Lehetséges, hogy csak Vista drivereket kínál a gyártó a géphez,
Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve. Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba
Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba Programozás alapjai Ha egy adott adattáblára Ctrl + G t nyomunk,
18. Szövegszerkesztők
18. Szövegszerkesztők A szövegszerkesztés olyan számítógépes művelet, amelynek során később nyomtatásban megjelenő szövegegységeket, dokumentumokat hozunk létre, majd azokat papírra kinyomtatjuk. A különböző
S z á m í t ó g é p e s a l a p i s m e r e t e k
S z á m í t ó g é p e s a l a p i s m e r e t e k 7. előadás Ami eddig volt Számítógépek architektúrája Alapvető alkotóelemek Hardver elemek Szoftver Gépi kódtól az operációs rendszerig Unix alapok Ami
Programozás alapjai gyakorlat
Programozás alapjai gyakorlat 1. gyakorlat Bemutatkozás Bordé Sándor Email cím: borde@inf.u-szeged.hu csak stud-os címről (ld. később) Webcím: http://www.inf.u-szeged.hu/~borde Egyéb: coospace fórum, neptun
Windows mappaműveletek
Windows mappaműveletek Windows 7 / 10 Források: http://www.akonyv.hu/windows_elemei/windows_7_mappa_allomany_es_lemezkezeles_minta.pdf http://www2.akg.hu/info/erettsegi/szobeli/10.html Windows Intéző felépítése
Operációs rendszerek. Tanmenet
Tanmenet TANMENET- Operációs rendszerek Témakörök Javasolt óraszám 1. Operációs rendszerek alapjai 2. Windows 2000 ismeretek- Munka a képernyőn 3. Windows 2000 ismeretek- A Start menü elemei 4. Windows
A Novitax ügyviteli programrendszer első telepítése
Telepítő fájl letöltése honlapunkról A Novitax ügyviteli programrendszer első telepítése A honlapunkon (www.novitax.hu) található telepítő fájlt (novitax2007-setup.exe) le kell tölteni a számítógép egy
Operációs rendszerek. 4. gyakorlat. BASH bevezetés, script írása, futtatása UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED
UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED BASH bevezetés, script írása, futtatása Operációs rendszerek 4. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik
Google Drive szinkronizálása asztali géppel Linux rendszeren
Google Drive szinkronizálása asztali géppel Linux rendszeren Ha valamilyen Ubuntu disztribúciót használsz, akkor nincs nehéz dolgod a telepítést illetően, hiszen egyszerűen PPA tárolóban is elérhető. Az
Szkriptnyelvek. 1. UNIX shell
Szkriptnyelvek 1. UNIX shell Szkriptek futtatása Parancsértelmez ő shell script neve paraméterek shell script neve paraméterek Ebben az esetben a szkript tartalmazza a parancsértelmezőt: #!/bin/bash Szkriptek
Vectory telepítési útmutató
Vectory telepítési útmutató A vectory kliens programja egy vyw.exe valamint egy bejelentkezes.ini nevű fájlból áll. A vyw.exe-nek és a bejelentkezes.ini-nek egy közös könyvtárba kell kerülniük. Könyvtárak,
1_Linux_bevezeto_bash
1_Linux_bevezeto_bash September 21, 2016 1 Számítógépes alapismeretek 1.1 ELTE - Fizika Bsc 1. évfolyam 1.2 # Félévés tematika: Linux alapismeretek Szövegszerkesztés Adatok ábrázolása Bevezetés a programozás
Geotechnika II. (NGB-SE005-2) Geo5 használat
Geotechnika II. (NGB-SE005-2) Geo5 használat A Geo5 szoftvert (1. házi feladathoz opcióként, 2. házi feladathoz kötelezően) online felületen keresztül, távoli asztal kapcsolattal lehet használni. Az ehhez
Alapok (a K2D rendszer alapjai)
Alapok (a K2D rendszer alapjai) 1 1. Bevezetés... 3 2. Fastruktúra... 3 2.1. Nyitása, zárása... 3 2.2. Fülek... 5 2.3. Licence kulcs érvényesítése... 9 2.4. Új elem felvitele... 10 2.5. Elem törlése...
FTP Az FTP jelentése: File Transfer Protocol. Ennek a segítségével lehet távoli szerverek és a saját gépünk között nagyobb állományokat mozgatni. Ugyanez a módszer alkalmas arra, hogy a kari web-szerveren
Hogyan kezdjem a fordítást a MemoQ-al?
Hogyan kezdjem a fordítást a MemoQ-al? Installáld és aktiváld a programot Lépés Teendő Tömörítsd ki a MemoQ.zip fájlt Indítsd el a setup fájlt a könyvtárban Eredmény: a program felinstallálódik Kapcsolódj
Informatika szintmérő-érettségi tételek 2015. február
1.oldal (17) Háttértár- és könyvtárkezelés A számítógépes munka során háttértárolókat kezelünk, amin partíciók vannak. Egyegy partíción több ezer állományt tárolnak. A partíciót az áttekinthető felhasználás
Operációs Rendszerek példatár. Utolsó frissítés: 2014. február 10.
Operációs Rendszerek példatár Utolsó frissítés: 2014. február 10. A példatár Szegedi Tudományegyetemen oktatott Operációs rendszerek tárgy gyakorlati anyagához illeszkedo feladatok sorát tartalmazza, mely
ELSŐ LÉPÉSEK A SZÁMÍTÓGÉPEK RODALMÁBA AMIT A SZÁMÍTÓGÉPEKRŐL TUDNI ÉRDEMES
ELSŐ LÉPÉSEK A SZÁMÍTÓGÉPEK RODALMÁBA AMIT A SZÁMÍTÓGÉPEKRŐL TUDNI ÉRDEMES Számítógép = Univerzális gép! Csupán egy gép a sok közül, amelyik pontosan azt csinálja, amit mondunk neki. Hardver A számítógép
Mechatronika segédlet 6. gyakorlat
Mechatronika segédlet 6. gyakorlat 2017. március 13. Tartalom Vadai Gergely, Faragó Dénes Feladatleírás... 2 LinuxCNC... 2 Telepítés Oracle Virtualbox-ra... 2 Megosztott vágólap beállítása... 4 Indítás,
Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve. Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba
Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba Inheritance beállítás Ez egy olyan beállítás, amely a modell alapján
SZE INFORMATIKAI KÉPZÉS 1
SZE INFORMATIKAI KÉPZÉS 1 A bevezető gyakorlat célja a további munkához szükséges alaptevékenységek (pl. fájlok keresése, másolása) áttekintése. A gyakorlat anyagában szereplő feladatok többféleképpen
A windows alapképernyő részei:
A windows alapképernyő részei: IKONOK ASZTAL ASZTAL MEGJELENÍTŐ START TÁLCA Asztal: Itt történik a munkavégzés. Tálca: A nyitott ablakok létrehoznak rajta egy nyomógombot, így könnyebb közöttük váltani.
Használati utasítás.
Lotus Notes Naptár Windows telefonra Használati utasítás. Írta: Varga Róbert 1 http://www.robertwpapps.uw.hu Bevezetés: Ezt az alkalmazást a fejlesztő saját használatra írta a teljesség igénye nélkül.
AWK programozás Bevezetés
09 AWK programozás Bevezetés AWK adatvezérelt szkriptnyelv text processing, adat kiterjesztés, tagolt adatok automatizált soronkénti feldolgozása a forrásállományt soronként beolvassa és feldolgozhatóvá
14. óra op. rendszer ECDL alapok
14. óra op. rendszer ECDL alapok 26. El kell-e menteni nyomtatás előtt egy dokumentumot? a) Nem, de ajánlott, mert a nem mentett dokumentum elveszhet. b) Igen, mert mentés nélkül nem lehet nyomtatni. c)
Oktatási cloud használata
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnikai és Információs Rendszerek Tanszék Oktatási cloud használata Készítette: Tóth Áron (BME MIT), 2013. A segédlet célja a tanszéki oktatási cloud
Az importálás folyamata Felhasználói dokumentáció verzió 2.1.
Az importálás folyamata Felhasználói dokumentáció verzió 2.1. Budapest, 2008. Változáskezelés Verzió Dátum Változás Pont Cím Oldal 2.1. 2008.01.17. A teljes dokumentáció megváltozott Kiadás: 2008.01.17.
Számítógépes alapismeretek
Számítógépes alapismeretek Dr. Illés Zoltán, Mail: illes@inf.elte.hu Visszatekintés Elérhetőség, tárgy teljesítés A tárgy célja, tartalma Számítógépek tegnap, ma, holnap Jelek, információk Információk
Operációs Rendszerek II. labor. 2. alkalom
Operációs Rendszerek II. labor 2. alkalom Mai témák (e)grep Shell programozás (részletesebben, példákon keresztül) grep Alapvető működés: mintákat keres a bemeneti csatorna (STDIN vagy fájl) soraiban,
Thermo1 Graph. Felhasználói segédlet
Thermo1 Graph Felhasználói segédlet A Thermo Graph program a GIPEN Thermo eszközök Windows operációs rendszeren működő grafikus monitorozó programja. A program a telepítést követően azonnal használható.
Operációs rendszerek. 9. gyakorlat. BASH recap, reguláris kifejezések UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED
UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED BASH recap, reguláris kifejezések Operációs rendszerek 9. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor
BODROGKOZ.COM / HASZNÁLATI ÚTMUTATÓ
BODROGKOZ.COM / HASZNÁLATI ÚTMUTATÓ 1. Adminisztrációs felület elérhetősége: http://www.bodrogkoz.com/wp-admin/ vagy http://www.bodrogkoz.com/wp-login.php A honlap tesztidőszak alatt az alábbi címen érhető
A számok kiíratásának formátuma
A számok kiíratásának formátuma Alapértelmezésben a Matlab négy tizedesjegy pontossággal írja ki az eredményeket, pl.» x=2/3 x = 0.6667 A format paranccsal átállíthatjuk a kiíratás formátumát. Ha több