Az alábbiakban néhány Linux parancsra látunk példákat, feladatokat.

Hasonló dokumentumok
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. #!

II. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

Linux alapok. Parancsok általános alakja parancs kapcsolók paraméterek

1. Alapok. #!/bin/bash

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

chmod umask chown, chgrp

LINUX PMB LINUXOS PARANCSOK ÉS HASZNÁLATUK - GRUB

BASH SCRIPT SHELL JEGYZETEK

4. Laborgyakorlat. A fájlokról ezeket az adatokat, a fájlrendszer tárolja. Számunkra az 1, 3, 4. oszlopok lesznek az érdekesek.

Operációs rendszerek gyak.

Programozás alapjai óra. Morvai Flórián, 2010 Dr. Dévényi Károly előadásvázlata alapján

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)

Operációs Rendszerek II. labor. 2. alkalom

Operációs rendszerek 1.

Operációs rendszerek. 3. gyakorlat. Jogosultságkezelés, linkelés, csővezeték UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Szkriptnyelvek. 1. UNIX shell

Unix-Linux alapok I. gyakorlatvezető: Lutár Patrícia

S z á m í t ó g é p e s a l a p i s m e r e t e k

Operációs rendszerek gyakorlat

I. Felzárkoztató Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

Operációs rendszerek I. IIII. gyakorlat

Operációs rendszerek. 4. gyakorlat. BASH bevezetés, script írása, futtatása UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >>

Operációs rendszerek gyakorlat

Linux parancsok összefoglaló.

Készítette: Csatlós István 2010-ben

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)

BASH script programozás II. Vezérlési szerkezetek

Linux alapok gyakorlat

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

Operációs rendszerek. 2. gyakorlat. Munka állományokkal UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

1_Linux_bevezeto_bash

Hálózati adminisztráció Linux (Ubuntu 8.04) 7. gyakorlat

Operációs rendszerek 2 3. alkalom - Reguláris kifejezések, grep, sed. Windisch Gergely windisch.gergely@nik.uni-obuda.hu

Operációs rendszerek 2 1. óra: Linux alapok Ismétlés. Windisch Gergely félév

Operációs rendszerek gyakorlat

Operációs rendszerek gyakorlat

Operációs Rendszerek példatár. Utolsó frissítés: február 10.

Operációs rendszerek. 9. gyakorlat. Reguláris kifejezések - alapok, BASH UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Az állományok kezelésére használt fontosabb parancsok

Youtube videó letöltés és konvertálás Linuxon

2016/06/09 13:15 1/108 Linux parancssor

Operációs rendszerek. 9. gyakorlat. BASH recap, reguláris kifejezések UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

A L I N U X f e l é p í t é s e

Operációs rendszerek. 2. gyakorlat. Munka állományokkal UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

S z á m í t ó g é p e s a l a p i s m e r e t e k

Java-s Nyomtatványkitöltő Program Súgó

Programozás alapjai gyakorlat

A legfontosabb DOS parancsok

Bevezetés jogosultságkezelés, csővezeték, átirányítások. BASH script programozás

Linux kezelés alapjai

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

7. Laboratóriumi gyakorlat, 1. rész : Vezérlési szerkezetek II.

Parancsok. 1. fejezet Könyvtár- és fájlkezelés

Informatika szintmérő-érettségi tételek február

OPERÁCIÓS RENDSZEREK II GYAKORLAT

7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II.

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

Operációs Rendszerek II. labor alkalom

Az Intel gyorsindító készlete a Linux*-hoz v1.2 Gyorstájékoztató. Megrendelési szám: C

Hálózatok építése és üzemeltetése

Synology NAS integrálása inels IMM szerverhez

Példa: Aktuális könyvtár tartalmának fájlba mentése, melynek neve az aktuális dátum és idő: ls l > `date+%f_%h-%m`.txt

AWK programozás, minták, vezérlési szerkezetek

Számítógép Architektúrák. 4. Gyakorlat

Számítógépes alapismeretek

Google Drive szinkronizálása asztali géppel Linux rendszeren

8. Laboratóriumi gyakorlat: Bevezetés a reguláris kifejezések használatába

Bevezetés jogosultságkezelés, csővezeték, átirányítások. BASH script programozás

Néhány kihagyhatatlan Linux tipp és trükk. Ezeket a tippeket olvasóink osztották meg velünk

Operációs rendszerek MINB240/PMTRTNB230H

Nyíregyházi Egyetem Matematika és Informatika Intézete. Fájl rendszer

6. BASH programozás I.

Operációs rendszerek. 10. gyakorlat. AWK - bevezetés UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Telenor Webiroda. Kezdő lépések

Csatlakozás a pandora.inf.elte.hu-re Linux alapparancsok

Unix/Linux alapok. Operációs rendszerek I. készítette: Bringye Zsolt, Kozlovszky Miklós, Póserné Oláh Valéria, Windisch Gergely

Verziókezelt konfigurációmanagement++ Pásztor György, SZTE Klebelsberg Könyvtár

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

1. Origin telepítése. A telepítő első képernyőjén kattintson a Next gombra:

18. témakör. Jogosultságok (Windows és Linux jogosultságok összehasonlítása, helyi és megosztási jogosultságok)

Az operációs rendszer. Az operációs rendszer feladatai, részei, fajtái Az operációs rendszer beállítása

Saját Subversion tároló üzemeltetése i. Saját Subversion tároló üzemeltetése

A mappák használata. Mappa létrehozása

Tájékoztató. Használható segédeszköz: -

8. Laboratóriumi gyakorlat: Bevezetés a reguláris kifejezések használatába

LINUX PMB VIRTUALBOX TÖRTÉNELEM DEBIAN ALAPPARANCSOK - GRUB

Linux Essentials. Torma Hajnalka

Telepítési dokumentáció. Naviscon Informatikai Zrt Budapest, Montevideó utca 16/b.

Távolléti díj kezelése a Novitax programban

Infocentrum Számlázó hálózatos verzió + Firebird Adatbázismotor

2. Készítsen awk szkriptet, amely kiírja az aktuális könyvtár összes alkönyvtárának nevét, amely februári keltezésű (bármely év).

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.

Programozás I. gyakorlat

Írásjogtól Rootig AIX-on

length (s): Az s karaklerlánc hossza, substr(s,m,n): Az s mezőben levő karakterláncnak az m-edik karakterétől kezdődő, n darab karaktert vágja ki.

ÚTMUTATÓ Operációs rendszerek tárgyból 2015/2016. tanév 1. félév. Tantárgyi program

Bevezetés a programozásba I 4. gyakorlat. PLanG: Szekvenciális fájlkezelés. Szekvenciális fájlkezelés Fájlok használata

Munka állományokkal, könyvtárakkal I.

C/C++ programozás UNIX környezetben

Átírás:

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, és hozzunk létre egy szöveges fájlt a cat paranccsal! cd linux munka gedit orak.txt Digitalis kepfellgozas hetfo 16-17 Digitalis kepfellgozas hetfo 11-12 Digitalis kepfellgozas hetfo 12-13 Adatbazis alapu rendszerek szerda 10-12 Adatbazis alapu rendszerek szerda 12-14 Assembly programozas csutortok 8-9 Assembly programozas csutortok 9-10 Operacios rendszerek csutortok 13-14 Operacios rendszerek pentek 11-13 Operacios rendszerek szombat 8-10 3. Nézzük meg a less programmal az orak.txt tartalmát! less orak.txt 4. Töltsük le a honlapról a fajlok.tar.gz állományt a linux munka könyvtárba, majd csomagoljuk ki! tar xvfz fajlok.tar.gz 5. Listázzuk ki a fájlokat! 1

2 fájlok listázása: ls fájlok és tulajnságok listázása: ls -l fájlok és könyvtárak rekurzív listázása: ls -R vagy ls -lr 6. Nézzük meg a fájlok típusát! le * cd linux munka le * 7. Hozzunk létre egy masolatok könyvtárat a linux munka könyvtáron belül! mkdir masolatok Másoljunk át minden fájlt és könyvtárat a masolatok könyvtárba! cp * masolatok (nem tud könyvtárat másolni) cp -r kepek masolatok (a -r kapcsoló a könyvtárak tartalmát is rekurzívan másolja) 8. Töröljük a masolatok könyvtárban lévő fájlokat! rm masolatok/* (a fájlokat letörli, de a könyvtárakat nem) rm -r masolatok/* (mindent letöröl, a könyvtárakat is) rm -rf masolatok/* (mindent letöröl, a könyvtárakat is) 9. Hozzunk létre egy (soft) linket a kepek könyvtárról, legyen a neve kepek2: ln -s kepek kepek2 ls -l 10. Archíváljuk a kepek könyvtárat egy kepek.tar.gz fájlba: tar cvfz kepek.tar.gz Nézzük meg a fájl tartamát! tar tvfz kepek.tar.gz Lépjünk be a masolatok könyvtárba és nyissuk ki ide az tömörített fájlt: cd masolatok tar xvfz../kepek.tar.gz

11. Mentsük el egy fájlba a /usr/bin/ könyvtárban található fájlok listáját tulajnságaikkal együtt! 3 ls -l /usr/bin/ tee fajl lista.txt ls -l /usr/bin/ > tee fajl lista.txt 12. Kérdezzük le az aktuális könyvtárat (az elérési úttal együtt): pwd 13. Keressük ki a.jpg fájlokat a jelenlegi könyvtárakból: nd. -name *.jpg 14. Hasonlítsuk össze az orak.txt és az orak2.txt fájlokat! cmp orak.txt orak2.txt diff orak.txt orak2.txt Könyvtárszerkezet Ebben a részben áttekintjük a Linux rendszerek fontosabb könyvtárait. / : a gyökér könyvtár /bin: a linux rendszer parancsainak gyűjteménye /dev: az egyes hardver eszközök egy-egy fájlhoz vannak rendelve, ezek találhatók itt /home: a felhasználók könyvtárai /mnt: új fájlrendszer (pl. CD, pendrive, partíciók) csatlakozópontja /media: új fájlrendszer (pl. CD, pendrive, partíciók) csatlakozópontja /root: a rendszergazada felhasználó home-ja /tmp: ide kerülnek mentésre az ideiglenes fájlok /boot: a rendszertöltő illetve a betölthető rendszerek könyvtára /etc: sokféle fájl /lib: statikus és dinamikus library-k helye (máshol is van)

4 /opt: egyes programok fájljai ide települnek, nincs külön funkciója /usr: a felhasználók által használható és a telepített programok fájljainak könyvtára /sys: a rendszer könyvtára Felhasználók, csoportok, tulajnosok Linux rendszerekben elkülönül a rendszergazdai és a hagyományos felhasználói szerepkör. A rendszergazda felhasználó neve egységesen root és a mindehez joga van. A hagyományos felhasználóknak a joga korlátozott, bizonyos programokat nem is futtathatnak, illetve bizonyos állományokat nem is látnak. A Linux rendszer telepítésekor meg kell adni egy rendszergazdai jelszót. Hagyományos felhasználó létrehozásakor meg kell adni a felhasználói nevet, a teljes nevet, majd egy külön jelszót. A rendszer indításakor általában csak a hagyományos felhasználói belépéseket látjuk. Ennek az az oka, hogy a mindennapi munkát hagyományos felhasználóként el tudjuk végezni. Rendszergazdai szerepkör a hardver beállításokhoz, telepítéskehez, illetve a programok telepítéséhez szükséges. Minden fájl esetében három jogkört kell megállapítani. Első a tulajnosi jogkör, vagyis azé, aki a fájlt létrehozta. A második jogkör a csoport jogköre, vagyis ha egy felhasználó nem tulajnosa egy fájlnak, de ugyannabba csoportba tartozik, akkor bizonyos műveleteket ő is elvégezhet a fájlokon. A harmadik jogkör a mindenki más jogköre, vagyis korlátozhatjuk vagy elérhetővé tehetjük a fájlokat mások számára. Mindegyik jogkörhöz három-három műveletre adhatunk jogokat: az írásra (w), az olvasásra (r) és a futtatásra (x). Ha tekintjük pl. az otos.txt fájlt, akkor az ls -l otos.csv utasítás az alábbi sort adja vissza: -rw-rw-r--. 1 gabor gabor 172641 márc 27 20.33 otos.csv Az első vonal azt jelzi, hogy nem könyvtárról, hanem fájlról van szó (könyvtár esetén d betű állna ott, link esetén pedig l). A következő három pozíció a tulajnos jogait mutatja ez rw-, vagyis a tulajnos olvashatja és írhatja a fájlt, de nem lehet futtatni. A következő három karakter a csoport jogait mutatja, ez ugyanaz, mint a tulajnosé, az utolsó három pedig a mindenki más -ra vonatkozó jogokat jelöli, vagyis bárki számára olvasható a fájl, de nem írható és nem futtatható. A fájlhoz tartozó jogokat csak a

tulajnos vagy a rendszergazda állíthatja át. A jogok átállítása a chmod parancssal történik: chmod +x valami.sh : mindenkinek (tulajnos, csoport, mindenki) adunk futtatási jogot a shell scripthez. chmod u+w szoveg.txt : a tulajnosnak adunk írási jogot a fájlra chmod g+x valami.sh : csak a csoportnak adunk futtatási jogot chmod o-r szoveg.txt : a többiek nem láthatják a fájlt (levettük az olvasási jogot) A jogokat egy háromjegyű számmal is megadhatjuk a következőképpen: a háromjegyű szám első számjegye a tulajnosra, a második a csoportra, a harmadik pedig a többiekre vonatkozik. Az olvasási joghoz a 4-es, az írási joghoz a 2-es, a futtatási joghoz pedig a 3-as szám tartozik. Így ha valakinek (mondjuk a tulajnosnak) minden jogot meg szeretnénk adni a fájlhoz, akkor a 7-es számot kell megadni az első számjegynek. Ha mindenkinek minden jogot szeretnénk megadni a fájlhoz, akkor a chmod 777 valami.txt utasítást kell használni. A rendszergazda meg tudja változtatni a fájl vagy könyvtár tulajnosát a chown parancssal. 1. Adjunk írási jogot a többieknek a kepek könyvtárban lévő képekhez: chmod -R o+w kepek (a -R kapcsoló a rekurzív jogkiosztáshoz kell) 2. Vegyük le a többiek olvasási jogát az otos.csv fájlról: chmod -R o-r kepek A felhasználó bizonyos nyilvános adatainak kiíratása a nger parancssal történik. nger gnemeth nger hxxxxxx nger (a bejelentkezett felhasználókat listázza ki) Hasonló, de kevesebb információt nyújtó parancsa a who. who -u (kiírja, hogy ki mikor jelentkezett be utoljára) who --count (kiírja, hogy hány felhasználó van bejelentkezve) Ha kérdéses lenne, hogy egy gépnél milyen felhasználónévvel van valaki bejelentkezve, akkor hasznos parancs a whoami. 5

6 Környezeti változók A környezeti változók a rendszer által nyilvántartott változók (általában sztringek). Ilyen pl. a PATH amely a fontosabb programok elérési útvonalát tartalmazza, vagy pedig az LD LIBRARY PATH, amely az osztott könyvtárfájloknak (shared libs) illetve a statikus könyvtárfájloknak (libs) elérési útvonalait tartalmazza. Az elérési útvonalakat a : karakter válaszja el egymástól. A környezeti változók értékét ideiglenes (az att terminál ablakban) az export parancssal tudjuk megváltoztani. A környezeti változók korábbi értékére a $ karakterrel tudunk hivatkozni, pl. $PATH. További hasznos környezeti változók: HOME PWD USER USERNAME HOSTNAME

Bash programozás Változók A=15 echo $A A= alma echo $A Feltételes vezérlés #!/bin/bash if utasítás; utasításblokk; #!/bin/bash if utasítás utasításblokk; 7

8 Példa: Melyik fájl tartalmaz több sort, az orak.txt vagy az orak2.txt? SOR1=$(wc --lines orak.txt cut -d " " -f 1) SOR2=$(wc --lines orak2.txt cut -d " " -f 1) echo $SOR1 echo $SOR2 if [ $SOR1 -lt $SOR2 ] echo "Az orak2.txt tobb sort tartalmaz, mint az orak.txt" elif [ $SOR1 -gt $SOR2 ] echo "Az orak1.txt tobb sort tartalmaz, mint az orak2.txt" else echo "mindket fajl ugyanannyi sort tartalmaz" Ciklusvezérlés Többféle ciklusvezérlés létezik, most a for-ciklusra nézünk példát. Példa: Hány fájl van az egyes könyvtárakban? # Hany fajl van az egyes konyvtarakban for dir in $(ls -l grep ^d cut -d " " -f 12 ) darab=`ls -l $dir wc --lines`; echo $dir": "$darab; Példák 1. Az otos.csv fájl alapján határozzuk meg, hogy melyik számot hányszor húzták ki.

9 Megoldás: # lotto statisztika: melyik szamot hanyszor huztak # az otos.csv fajlban A 12-16. oszlopokban # vannak a lottoszamok # a.csv fajlokban a ; karakter valasztja el # egymastol az oszlopokat # a szamok tomb inicializalasa for j in {1..90} szamok[$j]=0; echo "kiertekeles folyamatban..."; for i in $(cat otos.csv cut -d ";" -f 12-16) for j in {1..5} szam= echo $i tr -d "\r\n" cut -d ";" -f $j ; szamok[$szam]=$((szamok[$szam]+1)); for j in {1..90} echo $j": "${szamok[$j]}; 2. Mósítsuk a lottó statisztikát úgy, hogy a script csak a 5 leggyakoribb számot írja ki. Megjegyezzük, hogy több szám esetében is előfordulhat, hogy a gyakorisága ugyanakkora.

10 Megoldás: # lotto statisztika: melyik szamot hanyszor huztak # az otos.csv fajlban A 12-16. oszlopokban # vannak a lottoszamok # a.csv fajlokban a ; karakter valasztja el # egymastol az oszlopokat # a szamok tomb inicializalasa for j in {1..90} szamok[$j]=0; echo "kiertekeles folyamatban..."; for i in $(cat otos.csv cut -d ";" -f 12-16) for j in {1..5} szam= echo $i tr -d "\r\n" cut -d ";" -f $j ; szamok[$szam]=$((szamok[$szam]+1)); for k in {1..5} max=0; for j in {1..90} if [ $max -lt ${szamok[$j]} ] max=${szamok[$j]}; str=""; for j in {1..90} if [ $max -eq ${szamok[$j]} ] str=$str", "$j; szamok[$j]=0; echo $k": "$str;

3. Listázzuk ki egy megatt könyvtáron (és alkönyvtárain) belül azokat a fájlokat, amelyek a múlt hónapban változtak. Megoldás (magyar nyelvű linux esetén): 11 honap=(jan feb márc ápr máj jún júl aug szep okt nov dec) most=date +"%m" ; elozo=$((most-1)); for i in $(nd $1) str=ls -l $i ; if [ $(echo $str cut -d " " -f 6 ) == ${honap[$((elozo-1))]} ] f=$(echo $str cut -d " " -f 9); echo $f; 4. Melyek a bejelentkezett felhasználó legrégebben indított processzei? Megoldás: lista= ps -ef grep ^$USER tr " " "+" ; min=date +"%H:M" ; for i in $lista str=$(echo $i tr "+" " "); start time=$(echo $str cut -d " " -f 5); if [[ $min > $start time ]] min=$start time; for i in $lista str=$(echo $i tr "+" " "); start time=$(echo $str cut -d " " -f 5); if [[ $min == $start time ]] echo $str cut -d " " -f 8