Informatika1-2007/Gyakorlat2
a (Informatika1/Gyakorlat2 moved to Informatika1-2007/Gyakorlat2: Új félév jött.) |
|||
(egy szerkesztő 5 közbeeső változata nincs mutatva) | |||
28. sor: | 28. sor: | ||
− | Aki szeretne olvasni bővebben a témáról: | + | Aki szeretne olvasni bővebben a témáról: [https://bevinfo.inf.elte.hu/wiki/index.php/Linux_parancsok_(bash)#chmod ELTE-s tárgy honlapja], [http://www.itport.hu/cikk/155 Jogkezelés linux alatt] |
− | + | ||
=== Honlap létrehozása === | === Honlap létrehozása === | ||
54. sor: | 53. sor: | ||
chmod "a+x" ~/public_html | chmod "a+x" ~/public_html | ||
− | Akkor a www.math.bme.hu/~loginnev alatt megjelenik a honlapunk. Szükség van még arra, hogy az index.html-re | + | Akkor a www.math.bme.hu/~loginnev alatt megjelenik a honlapunk. Szükség van még arra, hogy az index.html-re adjunk olvasás jogot, de alapbeállítás szerint a login-otok alatt minden létrehozott fájlon van olvasás jog. További információ a honlapszerkesztésről a megfelelő [http://wiki.math.bme.hu/index.php/Honlapszerkesztés wiki oldal(unk)on]. |
+ | |||
== Gimp használata == | == Gimp használata == |
A lap jelenlegi, 2008. szeptember 3., 18:40-kori változata
Tartalomjegyzék |
A gyakorlat anyaga röviden
Felzárkóztunk a szerdai csoporttal, így a következőkben ismétlek az első gyakorlaton vett dolgokból:
Billentyűzet beállítása
Ezt majdnem mindenkivel megcsináltuk, így vázlatosan: Gnome ablakkezelőt indítottunk, és a fenti panelre jobb klikk, majd hozzáadtunk (Add) egy Keyboard indicatior nevű ikont. Ez az ikon bal egérgombbal a billentyűzetkiosztások közötti váltást valósítja meg, jobb egérgombra előjövő menüből a Preference alatt a második fül (Layout) lehet módosítani/hozzáadni a kívánt kiosztást. A magyar kiosztású qwerty és qwertz az y és z helyét jelöli.
Fájl szerkesztése
Terminálból indítottunk gedit-et, majd elmentettük a létrejött fájlt. A fájl mentésekor a Browse for other folders alatt tudtuk megválasztani a mappát (a mappába be is kellett lépni), fent pedig megadtuk a fájl nevét. A kódolást UTF-8 -on hagytuk, erről volt szó előadáson.
Jogok
Az "ls -la" parancs részletes listát készít, amelynek első oszlopa egy 10 karakterből álló sztring.
-rw-r--r-- 1 morap student 2388 2007-07-30 03:51 .bashrc -rw-r--r-- 1 morap student 117660 2007-08-19 17:36 .B.blend drwxr-xr-x 5 morap student 4096 2007-08-19 17:35 .blender drwx------ 5 morap student 4096 2007-08-21 20:50 .cache drwx------ 2 morap student 4096 2007-08-28 00:23 .chewing
Az első betű utal a típusra, - esetén fájlról, d esetén könyvtárról van szó. Az azt követkő hármas a user (felhasználó, továbbiakban u), a következő hármás a group (félhasználó csoportja, továbbiakban g), majd az others (mindenki más, továbbiakban a) jogairól szól. Szokás még "a"-val jelölni az all-t, vagyis mindenkit. Az r olvasás, a w írás, az x pedig futtathatóságot jelent. Változtatás chmod paranccsal.
Jogok állítására példa:
chmod "og-w" file #leveszi az írásjogot a csoport és mindenki más részéről a file-ról chmod "a+x" file #Az a betű az ALL-ra utal, mindenki számára futtathatóvá teszi a file-t.
Aki szeretne olvasni bővebben a témáról: ELTE-s tárgy honlapja, Jogkezelés linux alatt
Honlap létrehozása
Létrehoztunk egy public_html könyvtárat a saját mappánkban:
cd mkdir public_html
gedit segítségével létrehoztunk egy index.html-t a saját mappánkban a következő tartalommal:
<html> <head> <title>Ez a honlap címe</title> </head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> árvíztűrő tükörfúrógép
Ez a br parancs miatt új sorban van. <img src="kep.jpg"> </html>
és adunk futtathatósági jogot a public_html-re:
chmod "a+x" ~/public_html
Akkor a www.math.bme.hu/~loginnev alatt megjelenik a honlapunk. Szükség van még arra, hogy az index.html-re adjunk olvasás jogot, de alapbeállítás szerint a login-otok alatt minden létrehozott fájlon van olvasás jog. További információ a honlapszerkesztésről a megfelelő wiki oldal(unk)on.
Gimp használata
Létrehoztunk egy kep.jpg nevű fájlt, amit a public_html-be mentettünk el. Ez is megjelenik a honlapon, a html forrás egyik sora erre hivatkozik.
Szabó Péter által összeállított oldal:
Elméleti tematika:
- felhasználói felületek
- grafikus felület (pl. Ctrl-Alt-F7)
- ablak
- ablak címsora
- start menü
- program indítása (pl. Alt-F2)
- tálca (taskbar)
- virtual desktop (pl. Ctrl-Alt-Bal, Ctrl-Alt-Jobb)
- szöveges, parancssori felület (command line) (pl. Ctrl-Alt-F1 ... Ctrl-Alt-F6)
- karakterek téglalap alakú elrendezése
- parancssor
- szöveges, nem parancssori programok, pl. webböngészők
- Azért szeretjük a paranccsori és az egyéb szöveges programokat, mert ezeket távolról (pl. ssh-n keresztül) is lehet futtatni, tehát a parancs kiadásához és a program vezérléséhez nem kell az adott gép mellett ülni, elég, ha van internet-kapcsolat.
- terminálablak (pl. xterm)
- grafikus felület (pl. Ctrl-Alt-F7)
- hardver (hardware) (a felsorolás csak a legfontosabb hardvereszközöket említi)
- számítógép (computer)
- processzor (processor)
- memória (memory)
- háttértáróló (storage)
- kábel
- külső hardvereszközök
- képernyő (monitor, screen, display)
- billentyűzet (keyboard)
- egér (mouse)
- nyomtató (printer)
- lapolvasó (scanner)
- fényképezőgép (camera), videókamera (camcoder), telefon, PDA stb.
- hálózati eszköz
- modem
- hub
- kapcsoló (switch)
- router, gateway, tűzfal
- vezetéknélküli elérési pont (wireless access point)
- számítógép (computer)
- szoftver
- alkalmazás (application) (a felsorolás nem teljes)
- (sima) szövegszerkesztő (text editor)
- Gedit (Unix, GNOME)
- Kate (Unix, KDE)
- Notepad++ (Windows)
- Textpad (Windows)
- SCIte (Unix és Windows)
- vim (Unix terminálablak, Windows)
- EMACS (Unix és Windows)
- joe (Unix terminálablak)
- Notepad = Jegyzettömb
- dokumentumszerkesztő (word processor)
- OpenOffice Writer (Unix és Windows)
- Microsoft Word (Windows)
- táblázatkezelő (spreadsheet)
- OpenOffice Calc (Unix és Windows)
- Microsoft Excel (Windows)
- webböngésző (web browser)
- Mozilla Firefox = IceApe (Unix és Windows)
- Opera (Unix és Windows)
- Microsoft Internet Explorer (Windows)
- links, links2 (Unix, szöveges)
- lynx (Unix, szöveges, régi)
- médialejátszó (media player)
- MPlayer (Unix és Windows)
- Windows Media Player (Windows)
- levelezőprogram = levelezőkliens (mail client, mail user agent, MUA)
- Mozilla Thunderbird = IceDove (Unix és Windows)
- Microsoft Outlook (Windows)
- Pine (Unix és Windows0
- Mutt (Unix)
- computer algebra program
- Maple (Unix és Windows): numerikus számolás, absztrakt és pontos számolás (törtek, gyökök, szögfüggvények stb.), analízis (határérték, deriválás, integrálás), függvényábrázolás stb.
- Mathematica (Unix és Windows): a Maple-hez hasonló célokra
- GAP (Unix és esetleg Windows): absztrakt algebrához (permutációk, csoportok, testek, hálók stb.)
- Matlab (Windows): gyors mátrixműveletek, de szimbolikus számolásra nem képes
- Octave, SciLab (Unix és Windows): két ingyenes majdnem Matlab-klón
- fájlkezelő (file manager)
- Norton Commander-klón
- Midnight Commander (Unix)
- Total Commander (Windows)
- FAR Manager (Windows)
- Volkov Commander (DOS)
- Windows intéző (Windows
- Nautilus (Unix, GNOME)
- Norton Commander-klón
- ablakkezelő (window manager, desktop-kezelő (desktop environment)
- Windows ablakkezelő (Windows 95, Windows XP, Vista)
- icewm (Unix)
- GNOME desktop (Unix, GNOME)
- KDE desktop (Unix, KDE)
- xfce (Unix)
- terminálablak (terminal window)
- Windows Parancssor (Windows)
- XTerm (Unix)
- GNOME Terminal (Unix, GNOME)
- KDE Terminal (Unix, KDE)
- folyamatkezelő (task manager)
- Task Manager (Windows)
- top (Unix terminálablak)
- ps (Unix parancssor)
- parancsértelmező, burok (shell)
- command.com, cmd.exe (Windows)
- bash (Unix)
- zsh (Unix)
- távoli parancssor (remote shell)
- ssh (főleg Unix)
- PuTTY (ssh-kliens Windowsra)
- szöveges program továbbfuttatása (terminal session management)
- screen (Unix)
- szoftverfejlesztést segítő program (pl. fordító (compiler))
- játékprogram (game)
- (sima) szövegszerkesztő (text editor)
- operációs rendszer (operating system)
- operációs rendszerek (a lista egyáltalán nem teljes)
- Microsoft által gyártott
- MS-DOS
- Windows 3.1
- Windows 95
- Windows NT
- Windows XP
- Windows Vista
- Windows CE (nem PC-re, hanem kéziszámítógépekre)
- Unix
- Linux (szabad szoftver, egyes fajtái fizetősek)
- Debian disztribúció (szerverekre ajánlott)
- Sarge kiadás
- Etch kiadás (ez van fent a .math.bme.hu laborokban)
- Ubuntu disztribúció (kezdőknek ajánlott)
- UHU disztribúció (magyar fejlesztés kezdő magyaroknak ajánlott)
- Gentoo disztribúció (profiknak ajánlott)
- Red Hat, Fedora
- Mandrake
- Debian disztribúció (szerverekre ajánlott)
- FreeBSD (szabad szoftver)
- egyéb BSD-k (szabad szoftver)
- Mac OS X
- Solaris (a Sun gyártja, egyes fajtái ingyenesen letölthetők)
- AIX (az IBM gyártja)
- Linux (szabad szoftver, egyes fajtái fizetősek)
- egyéb
- FreeDOS (szabad szoftver)
- Microsoft által gyártott
- kernel
- A kernel a gép bekapcsolása során induló, kikapcsolásig futó alapszoftver.
- A kernel a hardvererőforrásokat kezeli és teszi elérhetővé az alkalmazások számára.
- feladatai
- memóriagazdálkodás (pl. cache, swap)
- folyamatütemezés (CPU scheduling, process scheduling)
- hardvereszközök kezelése: I/O (bemenet--kimenet), I/O ütemezés (I/O scheduling), eszközmeghajtók
- védelem (protection): jogosulatlan műveletvégrehajtás megtagadása
- energiagazdálkodás (akkumulátor, energiatakarékos mód, halk mód)
- fájlrendszerek (filesystem) kezelése
- lemezkezelés (pl. redundancia RAID-del)
- folyamatok közti kommunikáció (interprocess communication) bonyolítása
- internetes és egyéb hálózati kommunkáció bonyolítása a megfelelő protokollokkal
- rendszerhívás (system call): olyan függvény/eljárás/programrészlet a kernelben, melyet az alkalmazás hív
- céljai, linuxos példákkal
- nyitott fájlok kezelése: open(), creat() close(), pipe(), dup(), dup2(), read(), write(), lseek(), select(), fcntl(), ioctl(), fstat() stb.
- fájl- és könyvtárkezelés: link(), unlink((), symlink(), rename(), mkdir(), rmdir(), mknod(), chmod(), chown(), lchown(), stat(), lstat(), utime(), access()
- internetes kommunikáció: socket(), socketpair(), connect(), bind(), listen(), accept(), setsockopt() stb.
- folyamatkezelés: pause(), getpid(), getppid(), exit(), kill(), fork(), execve(), wait(), waitpid(), nice(), umask(), chdir() stb.
- memóriagazdálkodás: sbrk(), mmap(), munmap() stb.
- időkezelés: time(), stime(), times() stb.
- signalkezelés: alarm(), sigaction(), ssetmask(), sgetmask() stb.
- Az egyes rendszerhívásokról terminálablakban leírás olvasható, pl.
man 2 pipe
paranccsal. A leírás C programozási nyelvet feltételez.
- céljai, linuxos példákkal
- beállítóprogramok
- Windows Control Panel = Vezérlőpult (Windows)
- GNOME Control Center (Unix, GNOME)
- KDE Control Center (Unix, KDE)
- Windows Registry Editor (Windows)
- segédprogramok (tools, utilities)
- operációs rendszerek (a lista egyáltalán nem teljes)
- alkalmazás (application) (a felsorolás nem teljes)
- folyamat
- a folyamat (process) fogalma
- a szál (thread) fogalma
- a folyamat részei
- memóriaterület (memory image): programkód és adatok (Neumann-elv: progam és adat ugyanabban a memóriában van)
- futási verem (stack): épp hol tart a végrehajtás
- a programkódot tartalmazó fájl neve (binary executable) (pl.
/bin/ls
) - indítási argumentumok (paraméterek, command line arguments): stringekből álló lista
- környezeti változók (environment variables): kulcs=érték párok listája, pl.
HOME=/home/student/pts
- nyitott fájlok (open files) és egyéb fájlszerű dolgok (pl. csővezetékek (pipe), socket-kapcsolatok)
- stdin (0, <): szabványos bemenet, alapesetben a terminálablakba gépelt szöveg innen olvasható
- stdout (1, >): szabványos kimenet, alapesetben a program által erre írt szöveg a terminálablakban jelenik meg
- stderr (2, 2>): szabványos hibakimenet, alapesetben a program által erre írt hibaüzenetek a terminálablakban jelennek meg
- egyéb erőforrások (resources) (Unix alatt pl. osztott memóriaterületek (shared memory), szemaforok (semaphores), signal handlerek (signal handlers))
- folyamatok és folyamathierarchia Unix alatt
- PID (Process ID, folyamat-azonosító): 1 és 65535 közötti egész szám
- Rendszerindításkor az init folyamat (
/sbin/init
) indul, PID=1. - Egy futó folyamat lemásolhatja magát a fork() rendszerhívással.
- Minden másolat megjegyzi az ő szülő folyamatának PID-jét (PPID, Parent PID), ezáltal egy (gráfelméleti értelemben) fa alakul ki, melynek gyökere az init folyamat.
- gyermek folyamat (child process)
- A gyermek folyamat (majdnem) minden tekintetben a szülő (parent process) másolata lesz, örökli pl. a fork() pillanatában nyitott fájlokat és a környezeti változókat.
- A folyamat befejeződhet egy kilépési kóddal (exit code, 0..127) vagy signallal (pl. SIGINT = Ctrl-C, SIGQUIT = Ctrl-Zárószöglet, SIGTERM, SIGKILL, SIGHUP = terminálablak becsukása, SIGSEGV = hibás memóriaművelet). A kilépési kódos befejeződést a folyamat saját maga kezdeményezheti, a signalos befejeződést akárki (kill() rendszerhívás, kill, killall és pkill parancsok).
- A gyermek folyamat befejeződéséről a szülő kap értesítést az operációs rendszertől (wait() rendszerhívás). A szülő megkapja a kilépési kódot vagy a befejezést okozó signal kódját.
- zombi folyamat (zombie process): olyan folyamat, amely már befejeződött, de a szülője még nem kérte az értesítést a befejeződésről.
- Ha egy szülő folyamat befejeződik, a még futó gyermekeit az init folyamat örökli.
- Ha az init folyamat befejeződik, akkor a gép leáll (kernel panic-kal).
- Egy folyamat saját maga helyén egy másik programot indíthat (execve() rendszerhívás). Meg kell adni az indítandó program fájlnevét (pl. /bin/ls, /usr/bin/less), az indítási argumentumokat és a környezeti változókat.
- Másik program indításakor a folyamat legtöbb része megváltozik (pl. memóriaterület, futási verem, fájlnév, indítási argumentumok, környezeti változók), más részek pedig megváltozhatnak (pl. nyitott fájlok, signal handlerek).
- Ha program indításakor a fájlnévben van perjel (pl.
/bin/ls
,./a.out
), akkor a megadott könyvtárban keresi a rendszer a programfájlt, ellenkező esetben aPATH
környezeti változóban kettősponttal elválasztot könyvtárakat próbálja (balról jobbra) végig. - Bonyolult példa: olyan programot írunk, amely az
ls
parancs kimenetének sorait számolja meg. Ehhez a program fork()-ol, a gyermek folyamat execve()-zi az ls parancsot. Ahhoz, hogy a parancs kimenete a szülőhöz eljusson, a fork() előtt a szülő egy csővezetéket hoz létre, melynek egyik végére a gyermek ír, a másik végét pedig a szülő olvassa. Az ellentétes végeket mindkét fél bezárja (tehát a szülő rögtön bezárja az írható véget, a gyerek pedig az execve() előtt bezárja az olvasható véget). A gyermek az execve() előtt a szabványos kimenetét a csővezetékre irányítja dup2()-vel, így az ls parancs ugyanúgy működhet, mint terminálablak esetén (stdout-ra ír). - shebang (
#!
): ha az execve()-vel futtatandó programfájl#!
jelsorozattal kezdődik, akkor a kernel az első sorban megadott egy vagy két szót beszúrja a programnév és az argumentumok elé. Tehát ha például afoo.sh
fájl első sora#! /bin/bash --
, akkor a./foo.sh pikk pakk 42
parancs hatására a/bin/bash -- ./foo.sh pikk pakk 42
parancs kezd futni, vagyis a/bin/bash
program a-- ./foo.sh pikk pakk 42
argumentumokkal. - A shebang felhasználható ún. shell szkriptek (shell script) és egyéb szkriptek írására. A szkript tipikusan egy gyorsan megírt, rövid, tömör program (tipikus terjedelem: 100 .. 10000 bájt), ami egy konkrét feladatot automatizál: helyettesíti a mechanikus kattintgatást.
- multitaszk operációs rendszer (multitask operating system): Olyan operációs rendszer, amely egyszerre több folyamatot is futtatni képes (pl. Unix, Windows). Általában egyszerre több folyamat van, mint processzor, tehát az operációs rendszer kiválaszt néhány folyamatot, melyeket egy rövid ideig (néhány milliszekundum) futtat (minden processzorra 0 vagy 1 db folyamatot), majd a rövid idő letelte után esetleg más folyamatokat választ ki futásra. A folyamatok futásra kiválasztását ütemezésnek (CPU scheduling) nevezzük.
- system load (http://en.wikipedia.org/wiki/System_load): a load egy pozitív valós mérőszám arra, hogy hány aktív folyamat fut a rendszerben. Linux alatt aktívnak számít egy folyamat, ha épp ő fut, futásra kész (de várnia kell, amíg sorra kerül), vagy I/O (bemenet--kimenet) művelet befejeződésére vár. A load azt is megmondja, hogy hány százalékos a processzorok kihasználtsága. Ha egy rendszeren pl. tartósan 6.0 közelében van a load, akkor a gépbe 6 processzort téve a teljesítmény fokozható, de 6-nál több processzor fölösleges, mert úgysem lesz mind kihasználva. Másik példa: ha egy 2 processzoros rendszeren tartósan 2.0 alatt van a load, akkor a processzorok nincsenek teljesen kihasználva, valamelyik processzor az ideje nagy részét várakozással tölti, hogy ő is kapjon feladatot. Ha egy asztali Linux rendszerhez percekig nem nyúlunk hozzá, akkor 0-hoz közeli, 0.1 alatti értékre csökken a load, mivel a gép nem kapott feladatot.
- shell-praktikák
- a shell (burok, héj) fő feladatai
- parancssor beolvasása (nyílbillentűk, Backspace stb. kezelése)
- parancs értelmezése, a megfelelő program elindítása
- stdin, stdout és stderr és egyéb fájlok átirányítása
- folyamatok összekapcsolása csővezeték-rendszerben
- fájlnevek kiegészítése (pl.
*.txt
) - a futó programok listázása, háttérbe és előtérbe rakása
- programozási lehetőségek (pl. változó, feltétel, ciklus, függvény) biztosítása, shell szkriptek futtatása
- Részletes információ a Bash shellről a terminálablakban kiadott
man 2 bash
paranccsal. - Terminálablak nyitásakor a
~/.bashrc
fut le, ssh és egyéb belépés után a~/.bash_profile
. - Az ékezetes betűk parancssorba írásához és a PageUp-pal és PageDown-nal történő history-kereséshez az ~/.inputrc fájlukba írjuk bele:
- a shell (burok, héj) fő feladatai
set meta-flag on set input-meta on set convert-meta off set output-meta on "\e[5~": history-search-backward "\e[6~": history-search-forward
- Ezután vagy nyissunk új terminálablakot, vagy adjuk ki a
bind -f ~/.inputrc
parancsot. - Az aktuális terminálablakban használhatjuk a history parancsot, egy már becsukott terminálablak esetén pedig a ~/.bash_history fájlt. Érdemes e fájlból a legfontosabb parancsokat másik fájlba írni, mert a bash a régi bejegyzéseket eldobja. A limit megnövelhető, ha a ~/.bashrc-nkbe elhelyezzük az alábbi sort
export HISTSIZE=9999
. - Ha az ékezetes betűk nem stimmelnek, akkor az alábbiak egyikét tegyük:
- Adjuk ki az
export LC_CTYPE=hu_HU.UTF-8 LANG=hu_HU.UTF-8
parancsot, és pl. a Gnome terminál menüjében válasszuk az UTF-8 (Unicode) karakterkódolást. - Adjuk ki az
export LC_CTYPE=hu_HU.ISO8859-2 LANG=hu_HU.ISO8859-2
parancsot, és pl. a Gnome terminál menüjében válasszuk az ISO-8859-2 (Latin 2, Central European) karakterkódolást.
- Adjuk ki az
- példák a shell szintaxisára
- A
tac
program a bemenetét beolvassa, majd fordított sorsorrendben kiírja a sorokat. - A
rev
program a bemenetét soronként beolvassa, és minden sort fordott betűsorrendben kiír. - Ctrl-C-vel kilépve megszakítjuk a program futását (tehát a tac nem ír ki semmit, és kilép).
- Üres sorba írt Ctrl-D-vel kilépve jelezzük, hogy a bemenetnek vége (tehát a tac kiír mindent fordítva, majd kilép).
-
ls /bin/bash /bin/cat
-
ls "/bin/bash /bin/cat"
-
ls '/bin/bash /bin/cat'
-
ls "/bin/bash /bin/cat $PATH"
-
ls '/bin/bash /bin/cat $PATH'
-
echo 'foo bar' | rev
-
(echo 'foo bar'; echo baz) | rev | tac
-
(echo 'foo bar'; echo "Ez itt a $PATH") | tac
-
ls | wc
-
ls -a | wc -c
-
echo /bin/*x*
-
echo /bin/?a*
-
echo /bin/?x*
: mivel nincs egyezés, benne marad a kérdőjel -
ls /bin/?x*
-
echo ~
-
ls -d ~wettl/public_html/x*
-
ls -l --sort=size >csokkeno_lista.txt
-
ls -l --sort=size >/dev/null
-
ls /nincs.ilyen >/dev/null 2>hiba; cat hiba; rm -f hiba
-
ls /nincs.ilyen >/dev/null 2>&1 || echo hiba volt
-
ls / >/dev/null 2>&1 || echo hiba volt
-
<be.txt sort | rev >ki.txt
-
find ~ -type f | perl -pe 's@^.*/@@' | sort | uniq -cd | sort
: Gyakoriság szerinti csökkenő sorrendben listázza azokat a fájlneveket, melyek 1-nél többször fordulnak elő az aktuális felhasználó home könyvtárában. A fenti parancs pipeline demonstrálja a Unix shellprogramozás erejét.
- A
- az ls program fontosabb kapcsolói
-
-l
: részletes, többoszlopos kimenet -
-a
: a ponttal kezdődő fájlneveket is -
-d
: a parancssorban megadott könyvtáraknak csak a nevét, ne a tartalmát -
-R
: a könyvtárakba rekurzívan belemenni
-
- Ezután vagy nyissunk új terminálablakot, vagy adjuk ki a
- gyakorlati feladatok Linux, GNOME környezetben
- Milyen folyamatok futnak éppen?
-
ps aux
parancs- a: ne csak az aktuális felhasználó folyamatait mutassa
- u: mutassa a felhasználónevet is
- x: ne csak a terminálon (terminálablakban stb.) futó folyamatokat mutassa
-
top
terminálablakos program: alapból CPU-használat szerinti növekvő sorrendbe teszi a folyamatokat, máshogy is tudja rendezni - grafikus eszköz
-
- Az aktuális felhasználó milyen folyamatokat futtat éppen?
-
ps x
parancs
-
- Mennyi a system load?
-
uptime
parancs mutatja az utolsó 1 perc, 5 perc és 15 perc átlagát - a
top
is mutatja a felső sorban - grafikus eszköz
-
- Melyik folyamatunk ragadt be, és zabálja a sok processzoridőt?
- a
top
rögtön fölül írja ki
- a
- Melyik folyamatunk ragadt be, és zabálja a sok memóriát?
- a
top
-ban Shift-O, N, Enter, majd rögtön fölül írja ki
- a
- Állítsuk le (lőjük ki) a 42-es PID-ű folyamatot!
-
kill 42
: ha a folyamat beragadt, akkor lehet, hogy a killnek nincs hatása -
kill -9 42
: szinte tuti kilövi (mert SIGKILL signalt küld)
-
- Lőjük ki az összes saját IceApe-et!
-
ps x | grep -i iceape
: listázza -
kill -9 ...
: PID alapján kilövi -
killall -9 iceape-bin
: parancsnév egyezése alapján kilövi -
pgrep -u $EUID '^iceape-bin$'
: csak a PID-eket listázza -
ps u `pgrep -u $EUID '^iceape-bin$'`
: mindent listáz -
pkill -9 -u $EUID '^iceape-bin$'
: parancsnév illeszkedése kilövi
-
- Keressük meg az összes foo-t tartalmazó fájlnevet!
-
find / 2>/dev/null | grep '/[^/]*foo[^/]*$'
- Ctrl-Z-vel állítsuk le
-
jobs
-szal listázzuk ki az adott shellből indított feladatokat -
fg %1
-gyel folytassuk (1 helyébe esetleg mást írva) - Ctrl-Z-vel állítsuk le
-
bg %1
-gyel folytassuk a háttérben -
fg %1
-gyel folytassuk (az előtérben) - Ctrl-C-vel vagy Ctrl-Zárószöglet-tel állítsuk le
- Ha beragad, se Ctrl-C, se Ctrl-Zárószöglet, se Ctrl-Z, se Ctrl-D nem működik, akkor zárjuk be a terminálablakot, és szükség esetén egy másik terminálablakból lőjük ki a megadott folyamatot.
-
- Milyen környezeti változók aktívak?
-
env | sort
megmutatja a környezeti változókat -
set | sort
megmutatja a környezeti változókat és a shell belső változóit is
-
- Milyen folyamatok futnak éppen?