1. gyakorlat
Témák:
- Linux alapok
- C nyelv alapok
Linux
[Linux tutorial videó] (https://www.youtube.com/watch?v=Wgi-OfbP2Gw)
[37 Linux commands you sholud know] (https://www.howtogeek.com/412055/37-important-linux-commands-you-should-know/)
Linux operációs rendszer terminál
- Terminal
- Linux kezelői felület kifejezetten gépi parancsok megadására
- (Windows-ban: command prompt)
- Tabulátor
- Segédeszköz a terminálban
- A dupla tab kiírja a gépelt kifejezés befejezési lehetőségeit
- Billentyű kombinációk
ctrl + c- megszakítja a terminálban futó programotctrl + d- bezárja a terminál aktuális tab-ját, kilépctrl + shift + c- a vágólapra másolja a kijelölt szövegetctrl + shift + v- a terminálba másolja a vágólapon lévő szöveget
- Kapcsolók: a legtöbb parancsnak vannak kapcsolói, amik módosítják a program futását
Leggyakoribb Linux terminal parancsok
| Parancs | Minek a rövidítése? | Funkciója |
|---|---|---|
man <parancs> |
Manual | Kiírja a terminálra a parancs használatát, kapcsolóit, készítőjét, egyéb információkat. (Navi: nyilakkal.) :q – kilépés |
pwd |
Print working directory | Kiírja az aktuális könyvtárat, ahol vagyunk |
ls |
List | Kiírja az aktuális könyvtár tartalmát (csak neveket). -l kapcs.: kiír egyéb adatokat |
cd <célmappa> |
Change directory | Könyvtárat tudunk váltani vele. A megadott almappába mozgunk át. A cd .. a szülőkönyvtárba visz |
mkdir <mappanév> |
Make directory | Létrehoz az aktuális könyvtárban egy alkönyvtárat a megadott néven |
touch <fájlnév> |
Létrehoz egy üres fájlt, megadható a kiterjesztés is | |
cp <mit> <hova> |
Copy | A fájlt átmásolja a megadott könyvtárba. -r (recursive) kapcs.: Könyvtárat másolhatunk vele |
mv <mit> <hova> |
Move | Fájlt vagy könyvtárat mozgat a megadott helyre |
rm <fájlnév/mappanév> |
Remove | Fájlt töröl. -r kapcs.: könyvtárat töröl |
echo <szöveg> |
A parancs után megadott szöveget kiírja a terminálra | |
> <fájlnév> |
[operátor] | A terminálra írt szöveggel felülírja a megadott fájlt (vagy létrehozza, ha még nem létezik) |
>> <fájlnév> |
[operátor] | A terminálra írt szöveget hozzáfűzi a megadott fájlhoz (nem írja felül) |
head <fájlnév> |
A megadott fájl első 10 sorát kiírja a terminálra. -n X kapcs.: A megadott fájl első X sorát írja ki a terminálra |
|
tail <fájlnév> |
A megadott fájl utolsó 10 sorát kiírja a terminálra. -n X kapcs.: A megadott fájl utolsó X sorát írja ki a terminálra |
|
cat |
Concatenate | Többfunkciós parancs szövegek kezelésére. A beírt szöveget írja ki terminálra. Ctrl+c-vel lépünk ki. |
cat <fájlnév> |
Concatenate | A fájlban található szöveget másolja ki terminálra. Több fájl is megadható. |
; |
[operátor] | Utasításhatároló, utasításokat írhatunk vele egy sorba |
grep <fájlnév> -e <"keresett szöveg"> |
A megadott karakterláncot keresi a megadott fájlban | |
grep -rnw -e <"keresett szöveg"> |
Rekurzívan, az aktuális könyvtárból kiindulva keres minden fájlban (és alkönyvtárban is) |
További hasznosságok
- Fájlkereső utasítások:
findlocate
- Utasítások összefűzése:
|operátor- Az első utasítás kimenete a következő utasítás bemenete lesz
- Process kezelő utasítások:
killpstophtop(ugyanaz, mint top, csak szebb)
- Jogosultságok kezelése:
chmodchownsudo
- Hálózati utasítások:
pingsshscp
- A hardver specifikációja:
lscpu - Linuxos Total Commander: midnight commander
- Szövegszerkesztők:
- mcedit (commander szövegszerkesztője)
- less
- nano
- vim
- emacs
C nyelv alapok
Kiterjesztés, fordító
- Kiterjesztés:
.c - Linux C fordító:
gcc- A gcc futása sok kapcsolóval módosítható
- Ajánlott használni:
-Wall
Meghívás és futtatás
- A C programoknak szükséges egy belépési pont: ez a
main()függvény - Fordító meghívása:
gcc fajlnev.c - Futtatás:
./a.out
Az első C kódunk
#include <stdio.h>
- A
#includeegy makró, azaz egy speciális utasítás, amely a fordító előfeldolgozó rendszerének szól. - Arra utasítja az előfeldolgozót, hogy az
stdio.hfejlécállomány teljes tartalmát másolja a kódunk elejére - Fejlécállkmány = header fájl. Kiterjesztése:
.h - Az
stdio.ha standard könyvtár (library) egy része- Előre megírt függvényeket, konstans változókat, makrókat tartalmaznak, melyeket akár mi is megírhatunk
Main
| Sor | Jelentése |
|---|---|
int |
a main fv. javasolt visszatérési típusa |
{} |
A függvényen belül végrehajtandó utasítások kezdő- és végpontja |
return 0; |
A main helyes futásának esetén 0-t ad vissza |
printf("Hello World!\n"); |
Kiírja a konzolra a Hello World! szöveget és sort emel utána |
Megjegyzések
- Minden függvénynek kötelezően van visszatérési típusa
- Mindig adjunk visszatérési típust
- Void: nincs visszatérési értéke
- A
printfegy az stdio.h-ban található előre implementált függvény- Az stdio.h headerben vannak a ki- és bemeneti (IO) műveletek