2020. március 31., kedd

Leggyakoribb parancsok (CMD)

Állománykezelés

alias
    # Különböző parancsokat saját elképzeléseink szerint átnevezhetünk.
    # /home könyvtárunk .bashrc fájlja tartalmazza beállításainkat.
    alias rm='rm -i' : A törlés parancs kiadása után rákérdez, hogy valóban akarjuk e. Ajánlatos!

unalias
    # Az előzőekben beállított értékek visszaállítása. (törli a .bashrc-ből.)

cat
    # Fájl tartalmát írja ki.
    > fájl : várja a bemenetet, amely a "fájl" tartalma lesz
    -n fájl : beszámozza a fájl sorait

cd
    # Könyvtár váltás parancs.
    cd : /home könyvtárunkba jutunk
    cd .. : egy könyvtárral feljebb kerülünk

chmod
    # Fájlok-, könyvtárakra vonatkozó jogokat állíthatjuk be
    # DAC (háromszintű diszkrécionális maszk) szerinti beállítás.
    # r-read, w-write, x-executable jogot jelent
    # tulajdonos (jele:U) | csoport felhasználó (jele:G) | mindenki más (jele:O)
    #          rwx        |             rwx              |          rwx
    # Adjuk ki az ls -la parancsot és máris világossá válik a dolog.
    # Jogokat számokkal, vagy szimbólikus jelekkel határozhatunk meg.
    # Számokkal.: 4-write,2-read,1-executable jog, összeadva, külön U,G,O-nak
      chmod 777 file : UGO-nak egyaránt minden jog.
    chmod 751 file : U-nak minden, G-nek írási, futtatási, O-nak futtatási jog.
    # Betűkkel.: kinek+mit
    chmod u+rwx file : Tulajdonosnak (U) r,w,x jog adása.
    chmod g+rx file : Csoport felhasználónak (G) r,x jog adása.
    chmod a-rwx : Mindenkitől (A-all) elveszünk minden jogot.

chown  
    # Fájlok, könyvtárak tulajdonosának (létrehozójának változtatása)

chgrp
    # Fájlok tulajdonosi csoportjának megváltoztatása

lsattr
    # Fájlok, könyvtárak attribútumát mutatja meg

chattr +tulajdonság file
    # Fájlok, könyvtárak attribútumát változtatja
    # Tulajdonságok.:
    A : Nem változtatja meg a fájlok utolsó módosításának dátumát. (rendszergyorsító hatás)
    a : Csak hozzáfűzni tudunk a fájlhoz
    c : Autómatikusan tömörítve kerül a lemezre, és kitömörítve kerül beolvasásra
    d : Ezekről az állományokról nem készül biztonsági másolat a dump parancs futtatásakor
    s : Paranoia mód. Törléskor azonnal megsemmisül minden bit-je.
    S : Minden változtatás azonnal lemezre íródik (sync hatás)
    u : A Fájl törlésekor az adat megmarad, később visszaállítható

cfdisk
    # Lemezkezelő, partícionáló

cp -r /honnan/mit /hova/milyen_néven
    # Fájl, könyvtár másolás

cmp file1 file2
    # Összehasonlítja a file1 és file2 fájlok tartalmát

cut
    # Bement (stdin), vagy paraméterként megadott fájl minden sorának egy megadott
    # részét vágja ki
    -c2 fájl : második mező értéke
    -c3,5 : harmadik, ötödik mező, sorrend nem számít
    -c-4,6- : negyedik mezőig és a hatodiktól
  

diff -u file1 file2 > eredmeny
    # Összehasonlítja a fájlok tartalmát, a különbséget pedíg az eredmény-be írja

du
    # Az aktuális könyvtár fájljainak méretét adja meg

df
    # Szabad terület számítása, partíciónként
    -H : Megabyte, Gigabyte-okban írja ki

echo szoveg
    # Kiírja a képernyőre a szoveg-et
    echo szoveg > file : a szoveg-et file-ba írja
    echo VegyEs | tr  a-z A-Z : a VegyEs szóban felcseréli a kis és nagybetűket
    echo egyesek | tr -d e : az egyesek szóból kiveszi az e betűket

find
    # Keresés
    find / -name "*.jpg" -print : az összes kép keresése a gyökérben, majd az eredmény kiírása
    find / -iname ... : kis és nagybetű különbség nincs!
    find -perm 777 : minden 777-es joggal rendelkező állomány keresése
    find -perm 4000 : Az összes SUID joggal rendelkező állományt keresi
    find /home -size +1024 : 500kb-nál nagyobb állományok keresése a /home-ban
    find -type "kapcsoló" : különböző típusú fájlokat keres
        -type l : szimbólikus link
        -type d : könyvtár
        -type f : fájl
    find /etc -empty -maxdepth 1 -printf "%p-%m\n" : az /etc könyvtárban lévő üres könyvtárakat
        írja ki, a jogosultságaival együtt.
    find /home -size +1024 \( -mtime +365 -o -atime +365 \) -ls -exec file{} \; :
        512kb-nál nagyobb,maximum 365*24 órája módosított állományokat, valamint a file parancs kimenetét
        -exec file{} \; jelenti, hogy az exec után levő parancsnak adja át az eredményt.

file sajt
    # megvizsgálja a sajt fájl típusát

fsck
    # lemezellenőrző

fgrep
    # Fájlokban, vagy stdin-ben keresek szöveget
    "abc" file.txt : Megkeresi az összes olyan sort a file.txt-ben, ami tartalmat "abc"-t

grep
    # Szövegrészleteket keres fájlokban, valamint a kimenetben.
    -i : nem tesz különbséget kis és nagybetűk között
    -l : nem az elűfordulási sorokat, hanem csak a fájl neveket listázza
    -v : azoakt írja ki, amiben nem szerepel a keresett szó
    # szóközt grep szó" "szó2 -vel ábrázolunk

head
    # Szűrő eszköz. A fájl első 10 sorát írja ki
    -n-7 fájl : utolsó 7 sort már nem írja ki
    -c4 fájl1 fájl2 : mindkét fájl első 4 karakterét írja ki

tail
    # Szűrő eszköz. A fájl utolsó sorait írja ki.
    -n+2 fájl : A fájl tartalmát a második sortól mutatja meg

tail -n+3 fájl | head -n1
    vagy
head -n3 fájl | tail -n1
    # Egy fájl harmadik sorát így írhatjuk ki

mc
    # Midnight Commander fájlkezelő

mcedit
    # Az mc szövegszerkesztője
install
    # Fájlok másolása, attribútumok módosítása

less
    # Szűrőprogram fájlok adatainak megjelenítéséhez.

ls
    # A könyvtárstruktúrát jelenít meg
    ls -lt : méret szerint sorrendben
    ls -ls : utolsó módosítás szerint sorrendben
    ls ??????? : minden 7 karakteres állományt jelenít meg
    ls -a : a rejtett fájlokat is kiírja
    ls -r ? fordított sorrendben írja ki. pl.: -nr : ABC fordított sorrendjében
    ls [aes]? : azokat a 3 betűs fájlokat, melyek középső betűje a,e,s közül bármelyik
    ls [nm]* :  azokat a fájlokat melyek n,m betűvel kezdődnek
    ls *c : amelyek c-betűre végződnek
    ls [^s]* : amely fájlok nem s-el kezdődnek
    ls I szó : kilistázza a könyvtár tartalmát, de a szó-t kihagyja

lsof
    # Nyitott fájlo kilistázása
    -p pid : Folyamat azonosító szerinti szűrés
    | egrep ":port1|:port2" : A megadott portokat használó fájlokat listázza ki.

lspci
    # Hardver információk

lsusb
    # Usb eszközök kiíratása

lshw
    # Hardver információk, kicsit bővebben

mv
    # Fájlokat könyvtárakat mozgat, vagy nevez át
  
mkfs
    # Fájlrendszer létrehozása
    -t filesystem eszköz [blokkméret]
    -t ext2 -V /dev/eszköz : ext2-es fájlrendszer létrehozása

slocate -u
    # A hdd tartalmáról készít adatbázist.
    -e könyvtár1 konyvtár2 : könyvtárakat tudunk kivenni az adatbázisból

locate fájl
    # Az előzőekben létrehozott adatbázisban megkeresi a fájl-t. (Azonnal meg van az eredmény)


ln -s
    # Soft link-et hoz létre
    -s fájl1 fájl2 : fájl1 ről készít fájl2 nevű soft-link-et.

mkdir -t ext2 /dev/ram0 4096
mount /dev/ram0 ramdisk/
    # 4Mbyte os ramdisk-et hozunk létre, és felcsatoljuk.

mount
    # Eszköz felcsatlakoztatás (CD,partíció, pendrive, hdd, etc.)
    -o loop cdimage.iso./cd-rom : cdimage.iso felmountolása megtekintésre. (kell cd-rom könyvtár)
    /dev/hda2 /mnt/vinyo : hda2-es eszközt csatolja fel a vinyo könyvtárba (létre kell elötte hozni!)
    -o noatime /dev/hdX : noatime attribútummal csatlakoztatja a lemezt. (I/0 művelet csökkentés!)

umount /dev/eszköz
    # Lecsatlakoztatás

pwd
    # Kiírja az aktuális könyvtárat

recode
    # file karakterkódolásának konvertárálása
    iso-8859-15..utf8 modositando_file : Nyugat európai kódolás konvertálása UTF8-ra

rmdir
    # Könyvtár törlés

rm
    # Állományok eltávolítása
    -d : könyvtárat
    -i : rákérdez a törlés előtt (Ajánlott!)
    -rf : Könyvtárstruktúrát töröl (akkor is, ha nem üres)

sed
    # Stream editor, folyamatszerkesztő. A bemenetet a kimenetre másolja miközben megszerkeszti.
    echo "hablabda"  | sed 's/a/K/g' : kimenete.: hKblKbdK, azaz "a" betűket "K"-ra cseréli
    '/ *#/d; /^ *$/d' file : a file-ból kiszűrjük a kommenteket, üres sorokat.


sort
    # Sorba rendezés
    -b fájl > kimenet : ABC sorrendbe rendezi a fájlt, az eredményt a kimenetbe írja.
    -r fájl : fordított sorrendben rendez
    -n fájl : a sor elején levő számok szerint rendez
    -u fájl : az azonos sorokat cask egyszer írja ki
sync
    # A Ramból a merevlemezre még ki nem írt adatok szinkronizálása (Fontos)

touch fájl
    # létrehoz egy üres állományt
    -t MMDDHHmm fájl : A fájl létrehozás dátumát változtatja meg. MM-Hónap DD-Nap HH-Óra mm-Perc

tree
    # Könyvtárstruktúrát írja ki  

tar
    # Ki-be tömörítő
    zxvf file.tar.gz : Kitömöríti a gz-t, majd a tar-t, és egy /file könyvtárba teszi
    xvfj file.bzip2 : bzip2-t tömöríti ki
    tf mentes.tar : megmutatja a mentes.tar tartalmát
    tvvf mentes.tar : részletes listázás, jogok, tulajdonos etc.

uniq
    # Több sorból álló szövegben az ismétlődő sorokkal kezd valamit
    -c fájl : az egymás utáni azonos sorokból egyet hagy meg, és kiírja a sorok elején
    # hogy hányszor ismétlődött az adott sor
  
vi
    # Parancssoros szövegszerkesztő
    # Kilépés mentéssel.: ESC, majd :wq
    # Kilépés mentés nélkül.: ECS, majd :q!

vi -b +/mikulas fájl
    b : Bináris állomány szerkeszthetőségét teszi lehetővé
    +/mikulas : a fájl-ban a mukilas kifejezéshez ugrik

wc fájl
    # sor, szó, karakter számítása
    -m fájl : a fájlban lévő karakterek száma
    -c fájl : a fájlban lévő bájtok száma
    -w fájl : a fájlban lévő szavak száma
    -l fájl : a fájlban lévő sorok száma

which program
    # A program futtatható állományának elérési útvonalát adja meg (általában /usr/bin)


Kvóták beállítása
Apt-vel telepítsük a quota csomagot.


quota
    # Tároló kvótázás programja

quota -v
    # A bejelentkezett felhasználó kvótabejegyzései

quotacheck -uagv
    # Végignézi a fájlrendszert, a tárkorlátok adatainak begyűjtése érdekében
    # Majd feltölti az adatbázist (aquota.user, aquota.grp)
    -u : alapértelmezett
    -a : minden fájlrendszer ellenőrzésre kerül
    -g : csoportadatok keresése
    -v : verbose, bőbeszédü

quotaon -augv
    # kvóták bekapcsolása

quotaoff -av
    # kvóták kikapcsolása

repquota -av
    # megtekinthetjük  felhasználónként a kvótabejegyzéseket

edquota -u user
edquota -g group
    # Felhasználó, csoport kvóták beállítása
    # Alapértelmezett szerkesztőnk átmeneti állományaként állíthatjuk be
    # Ezért érdemes: export EDITOR=kedvenc_szerkesztőnk -et beállítani.

    -p user user2: user2 kvótáit állítja be, user mintájára
  
    /etc/fstab file-ban, az adott partícióhoz meg kell adnunk az options-ba a usrquota, grpquota kapcsolókat.







Rendszeradminisztráció
login
    # Bejelentkezés

logout
    # Kijelentkezés

who
    # Bejelentkezett felhasználók kiíratása

whoami
    # Milyen néven is jelentkeztünk be?

users
    # Kiírja az rendszeren levő felhasználók nevét
adduser
    # Új felhasználó létrehozása (felhasználóbarát)
  
useradd
    # Új felhasználó hozzáadása
    # Ha opciókat használunk, a user-nevet a sor végére írjuk!
    -u szám : felhasználói azonosító megadása (UID)
    -g csoport : csoport tagság beállítása
    -G csooport1,csoport2 : vesszőkkel elválasztva, ha egyéb csoportnak is tagja a felhasználó
    -m -k /home/letezo_user uj:user : egy létező felhasználó mintájára építi fel az új user home-ját.
        Minden fájl és könyvtár is belekerül a fiókba, + a beállítások is.

usermod
    # Felhasználói fiókok módosítása
    -u érték user : a felhasználó azonosítóját változtatja (UID)
    -g csoport user : a felhasználó csoportját változtatja
    -G csoport1,csoport2 : a júzer-t több csoporthoz is rendeli
    -L user : lock-olja a felhasználó hozzáférését (nem tud belépni)
    -U user : unlockolja a hozzáférést

userdel
    # Felhasználó törlése
    -r user : home-al együtt törli

deluser
    # Felhasználó törlése

groupadd
    # Csoport létrehozása
    -g szám csoportnév : Egyénileg választott csoportazonosítóval (GUID)-el hozunk létre csoportot
    # /etc/group : csoportlista

groups user
    # A user csoportjai

groupmod
    # Csoport fiókját változtatja
    -n név újnév : csoport nevét változtatja

talk
    # Felhasználókkal való kommunikálás egyik eszköze

finger
    # Felhasználó információi

chfn
    # Felhasználói információk megváltoztatása (finger kimenete)

mkswap
    # Swap terület létrehozása

swapon
    # Swap bekapcsolása

swapoff
    # Swap kikapcsolása
  
last
    # Ki jelentkezett be utoljára és honnan (felhasználó vagy terminál alapján)

lastlog
    # /var/log/lastlog kimenete

passwd
    # A bejelentkezett felhasználó jelszavának módosítása

stat
    # File vagy filesystem státusz

su - user
    # Indít egy másik shell-t, user felhasználóként


write user tty
    # A felhasználóknak üzenet küldés





Folyamatok
w
    # Nemes egyszerűséggel megmutatja, ki van belépve, és mit csinál

pidof folyamat
    # A folyamat azonosítóját adja meg (PID)

parancs &
    # Parancs futtatása a háttérben
    fg : felélesztés, majd előtérben futás
    bg : felélesztés, majd háttérben futás

jobs
    # Háttérben futó programok kiíratása
  
ps
    # Futó folyamatok kiírása
    -u pisti : pisti felhasználó által futtatott folyamatok
    aux : minden folyamatot kiír, szinte minden információval
    alxww : minden folyamatot, még több infóval (pl.: PPID)
    -t1 : tty1-es terminál kilistázása
    f : erdő szerű megjelenítés
    l : kiírja a folyamatok PID-jét és PPID-jét is. (parent's process identifier)
    ww : a programok parancssori kapcsolóit írja ki.

nice
    # Priorítása lekérdezése, beállítása
    -n --20 program : a rendszer a legtöbbet ezzel a programmal fog foglalkozni. (+19-től -20 ig)

renice -10 1124
    # 1124-es folyamat -10-es prioritásra állítása

kill "pid"
    # Folyamat leállítása PID szerint
    -9 pid : erőszakos bezárás  
    -s "signal" : megadja, hogy miylen jelet küldünk a folyamatnak.
        signal-ok: TERM, QUIT, ABRT, KILL
    -1 : jelentése SIGHUP, mely a folyamat bezárása, config fájl beolvasása, folyamat újraindítása
    -9 : jelentése SIGKILL, folyamat erőltetett bezárása. (Csak végszükség esetén)
    -15 : jelentése SIGTERM, szabályos programleállítás

killall parancs
    # Ha több "parancs"-fut (pl.: iceweasel), mindet leállítája

nohup find / name t* > ~/nohup.log &
    # A "t" betűvel kezdődő fájlok keresése a háttérben, az eredmény a nohup.log-ba kerül.

init
    # Futtatási szint beállítása
    0 : kikapcsolás
    1 : single-user mód
    2-5 : multi-user mód
    6 : reboot
    # /etc/inittab -ban állítható be a gép indulási init szintje.
    # /etc/rcX.d könyvtárak a megfelelő szinteken induló programok linkjeit tartalmazza
    # Új szolgáltatás hozzáadása init szintekhez : Progtam bemásolása /etc/init.d-be, majd erről
    # egy link létrehozása a kiválaszottt init szint könyvtárába (pl.: rc2.d) Ha S betűvel kezdődik
    # elindul , mással nem. A Kezdőbetű után levő szám az induló folyamatok sorrendjét befolyásolják

runlevel
    # Megadja, hanyas init szinten voltunk és vagyunk. (kimenet pl.: N 3 , vagy 3 2.) típusú.
    # 3 N jelenti, hogy 3-ason voltunk és vagyunk, 3 2 pedíg hogy 3-ason voltunk 2-esen vagyunk

shutdown
    # Kikapcsolás
    -h now : Azonnali kikapcsolás (időt is megadhatunk)
    -r 0 : Azonnali újraindítás



Időzített parancsfeldolgozás
at
    # Megadott időpontban futtathatunk programokat
    -f todo 23.59 : előre megírt parancsainkat (todo fájlban) 23:59-kor lefuttatja az at.
    # Idő formátumok
        # 13.13 01.01.02 : 13 óra 13 perc, 2002, január 1
        # 2pm tomorrow : honlap délután 2
        # 1am Sun : hajnali 1 óra, vasárnap
  
atq
    # Az at várakozási sorrendjét ismerteti
  
atrm pid
    # Az at várakozási sorából való eltávolítás

cron
    # Parancs ütemező
    # /etc/cron.d ; /etc/cron.daily ; /etc/cron.weekly

sleep 5 parancs
    # 5 Másodperc múlva indítja a "parancs"-ot.

schedutils
    # Linux rendszer ütemező

screen
    # Ablakkezelő, virtuális terminál emulátorral.
    # Háttérbeli programok futtatásához alkalmazható program.
    screen parancs : Egy új VT-t nyit, (1 shell-en) melyben a "parancs" fut.
    Ctrl+a+d : bill. kombinációval tehetjük háttérbe.
    screen -R $(pidof SCREEN) : paranccsal tudjuk előtérbe hozni.
    Ctrl+a+? : előhozhatjuk a legfontosabb bill. kombinációkat
    Ctrl+a+c : új ablakot hozhatunklétre.
    Ctrl+a+p VAGY n : előző vagy következő ablakra ugrás. (previous, next)
  

time -v parancs
    # A parancs lefutási idejét méri



Kernel,modulok,fordítás
  
lsmod
    # Betöltött modulok kilistázása

rmmod modulnév
    # Betöltött modul lekapcsolása a kernelből

modprobe modulnév
    # Modult tölt be a kernelbe

modinfo modulnév
    # a modulról kapunk információt

ldd program
    # Kiírja a programhoz szükséges megosztott könyvtárakat, függőségeket

# A fordítás menete, röviden. (ez csak az egyik módszer)

    # Megfelelő kernel verzió beszerzése (www.kernel.org, pl.: linux-2.6.20.3.tar.bz2)
    # apt-get install wget bzip2 binutils kernel-package module-init-tools initrd-tools yaird  
    # tar zxvf linux-2.6.20.3.tar.bz2 (érdemes a /usr/src-be)
    # Belépés a létrejött könyvtárba
    # make mrproper (ha már próbálkoztunk beállításokal)
    # apt-get install libncurses5-dev
    # make menuconfig (az érdemi munka)
    # make-kpkg clean
    # make-kpkg --initrd kernel-image kernel-headers
    # cd ..
    # dpkg -i *.deb (2db állomány)
Csomagkezelés
./configure
make
make install
    # Csomag telepítése forrásból

alien
    # Csomag konverter program (pl.: .rpm .deb etc.)

apt    /Advanced Package Tools, csomagkezelő/
    -cache search : keresés
    -cache showpkg csomag : megmutatja a csomag függőségeit
    -cache policy csomag : a csomag telepített és telepíthető verzióit adja meg
    -get install csomag : telepítés
    -get remove csomag : törlés
    -get autoclean : nem használt csomagok törlése
    -get update : frissítás
    -get upgrade : frissítések telepítése
    -get dist-upgrade : distro frissítés
    -get -f install : törött, hiányzó csomagoknál a barátunk.
    -get clean : apt cache tisztítása
    -get build-dep csomag : telepítés minden egyes csomagjával együt
    -get source csomag : a csomag forrásának letöltése
    -file list csomag : kilistázza a csomag tartalmát
  
dpkg    /Debian packages/
    # .deb csomagkezelő
    -i csomag : telepítés
    -r vagy --purge : törlés
    -reconfigure csomag : csomag újrakonfigurálása
    -l : csomagok listázása
    -I csomag : csomag információk megjelenítése
    -S fájl : megmutatja melyik csomaghoz tartozik a fájl

dselect
    # A dpkg barátságosabb arca
A Red Hat csomagkezelője
rpm
    # Red Hat Package Manager

rpm -ivh csomag.rpm
    # csomag telepítése  

rpm -Uvh csomag.rpm
    # Frissítés vagy telepítés.
    # Ha nincs telepítve , telepíti, ha telepítve van, megpróbálja frissíteni

rpm -Fvh csomag.rpm
    # Csak frissítés. Ha nincs telepítve a csomag, kilép

rpm -e csomag.rpm
    # Törlés

rpm -q csomag.rpm
    # Megvizsgálja, hogy telepítve van e a csomag, és milyen verzió

rpm -qa
    # Az összes telepített csomag vizsgálata



Hálózat
arp
    # ARP cache manipulálása
  
ifconfig
    # Hálózati információk lekérése, konfigurálása
  
ifconfig eth0 192.168.10.1 netmask 255.255.255.0 up
    # 192.168.10.1-es IP-t osztunk az eth0-ra (0-s hálókártya)
    # 255.255.255.0 a netmask.

ifdown eth0
    # eth0 eszközt lekapcsolja    

ifup eth0
    # eth0 eszközt felkapcsolja ( dhcp esetén kér IP-t a kiszolgálótól)
host
    # Lekérdezéseket kezdeményez a DNS kiszolgáló felé, tartományokról, zónákról.
    -t ns valami.hu : valami.hu nameserverét adja meg
    -t mx valami.hu : valami.hu levelező szervereiről ad információt

hostname
    # Beállítja vagy megjeleníti a rendszer host-nevét.

curlftpfs -o allow_other username:password@ftp.domain.dom /csatolasi/pont
    # Felcsatolhatunk ftp tárhelyeket, lokális fájlrendszerünkbe. (fusermount segítségével)
  
    # Ha a hiba.:
    # "If you don't use udev, you may get this error message:
    # fusermount: failed to open /dev/fuse: No such fdevice or address
    # Before loading the fuse kernel module, create the device node manually:
    # A megoldás.:
    mknode -m 666 /dev/fuse c 10 229

echo 0 > /proc/sys/net/ipv4/ip_forward
    # Ha gépünket router-ként használjuk, érdemes beállítanunk a csomag továbbítást
    # 1-es engedélyezi a tiltást, 0 tiltja a tiltást!

echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
    # Beállítjuk, hogy broadcast ping-re ne válaszoljon gépünk

echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all
    # Beállítjuk, hogy ne válaszoljon gépünk a ping-re

echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
    # Engedélyezzük a hamis csomagok szűrését

...etc

    --------------
    # Ezek a beállítások rendszerleállításkor elvesznek, érdemes őket valamely induláskor
    # lefutó script-be tenni, a hálózati interfészeket konfiguráló script elé.
    --------------

etherwake
    # Magic packet-et küld a wake-on-lan enabled hálókártyára

ethtool
    # Ethernet kártya beállítások megjelenítése, változtatása

iptraf
    # Hálózat terhelést figyelő program

mii-tool
    # Hálózati tesztelő

nbtscan
    # NetBIOS információkat adja meg, a hálózaton

net usershare add megosztasnev /eleresi_ut comment acl
    # Megoszt könyvtárakat a hálózaton
    # Ha a fenti parancs ilyen hibát dob.: "(net usershare: usershare are currently disabled)"
    # az alábbiakban kell eljárnunk:

    # mkdir /usr/local/samba/lib/usershares
    # chgrp userneved /usr/local/samba/lib/usershares
    # chmod 1770 /usr/local/samba/lib/usershares

    #smb.conf global részébe a következőket.:
    # usershare path = /usr/local/samba/lib/usershares
    # usershare max shares = szám # (or the desired number of shares)


netstat
    # Információkat ír ki a hálózati alrendszerről
    -r : route kimenete
    -i : interfész tábla
    -tp : TCP/IP -t használó processzek listája

netstat    -tn|grep ':80'|tr -s ' '|cut -d ' ' -f5|cut -d':' -f1
    # kik csatlakoznak a gépünkre a 80-as porton?

netcat
    # TCP/IP swiss army knife

nload
    # Network load - Hálózati terhelés vizsgálat

ngrep
    # grep, hálózati forgalomhoz

netsed
    # Hálózati csomagok valós idejű megváltoztatására alkalmas program

nslookup www.host.com
    # host.com IP címének vizsgálata

nmap
    # Elsősorban port scanner, de igen sokrétű alkalmazás
    -O ip_cim : Op.rendszer detektálás
    -p 1-10 ip_cim : Portok vizsgálata 1-10 ig.
    -p U:53,111,137,T:21-25,80,139,8080 ip_cim : UDP-n 53,111,137, TCP-n 21-25,80,139,8080-at vizsgál.
  

ping host
    # Ping jelet küld a host-nak
    -b ip_tartomány : broadcast üzenet küldés


route
    # Útválasztó tábla megjelenítése (Routing table)

route add -net 192.168.10.0 netmask 255.255.255.0 eth0
    # A 192.168.10.0-s hálózatra menő csomagokat az eth0-ra irányítja a rendszer
    # A hálót így már látnunk kell

route add defaul gw 192.168.10.254
    # 192.168.10.154-es IP-vel rendelkező router (gateway) hozzáadása a routing table-hez.

route del default gw
    # Alapértelmezett átjáró törlése a routing table-ből.

rsh
    # Távoli shell
    -l user gepnev parancs : a "parancs"-ot lefuttatja a távoli gépen, user nevében

smbclient
    # SMB hálózati erőforrások tallózása

smbclient -M gépnév
    # Üzenet küldése Windows-os gépekre (net-send szolgáltatás). Elküldés:Ctrl + D az üzenet végén
    echo üzenet | smbclient -M gépnév : azonnal küldi, nem kell Ctrl+D
  
ssh host    /Secure SHell/
    # Titkosított hálózati bejelentkezés
    # config file-k.: /etc/ssh/sshd_config, /usr/local/etc
    ssh-keygen -t rsa : RSA kulcs létrehozása ssh-hoz.

scp
    # Biztonságos távoli fájl átvitel

tcpdump
    # Hálózaton átmenő forgalmat figyeli.
    -i ethX : Az ethX csatolón átmenő forgalmat figyeli.

traceroute host
    # A hálózati útvonal kiírása a célszerverig (host) /IP hálózaton/

proftpd
    # FTP kiszolgáló démon
    # config file.: /etc/proftpd    

pure-ftp
    # FTP kiszolgáló

rdesktop
    # Remote desktop kliens

stunnel
        # SSL (Secure Socket Layer) titkosított kapcsolatba csomagolhatunk protokollokat.
    # pl.: POP3, IMAP, etc.

squid
    # Proxy kiszolgáló
    # config file.: /etc/squid/squid.conf

vsftpd    /Very Secure FTP daemon/
    # config file.: /etc/vsftpd
    # Néhány fontos kérdés.:
    -anonymus_enable : anonymus ftp engedélyezése. Szükség van egy ftp nevű user-re.
    -local_enable : normal felhasználókat engedjük be. (kell az anonymus hoz is)
    -write_enable : engedi az írást
    -local_umask : felhasználók autómatikus jogai (default 022)
    -anon_upload_enable : anonymusként feltülthetünk
    -anon_mkdir_write_enable : anonymusként mkdir engedélyezés
    -xferlog_enable : xfer log-ot ír a daemon
    -connet_from_port_20 : 20-as portot használ
    -chown_uploads : anonymusként feltöltött fájlok tulajdonosának megváltoztatása
    -chown_username : Kinek a tulajdona legyen a file
    -idle_session_timeout : inkatív kapcsolatok bontási ideje

wireshark
    # Hálózati forgalom figyelő (GUI)



Bash programozás       top
    # A batch fájlhoz hasonló eljárás.
    # Programunk első sorában minden esetben meg kell adnunk a futtató programot, jelen esetben a bash-t.
    # Tehát a fájlunk kezdete legyen: #!/bin/bash
    # Felkiáltójel nélkül más futtató programot is megadhatunk a programunk első sorában.
    # Futtatási jog nélkül nem tudjuk használni, ezért chmod +x file
    # Programunk futtatásához ./program_nev parancsot kell használnunk.
Írásjelek
    # Escape-karakter: \
        Bourne Again Shell escape-karaktere. Többek között ezzel a jellel lehet elérni,
        hogy az őt követő speciális karakter elveszítse módosító hatását.

    # Dollárjel: $
        Segítségével változó neve és értéke között tudunk különbséget tenni.
        Ha $valtozo-t írunk, az a változónk értékét fogja visszaadni.

     # Kétszeres idézőjel: " "
        Az idézőjelek arra valók, hogy egyes karakterek vagy lefoglalt szavak speciális
        jellegét feloldják.
  
    # Egyszeres idézőjel: ' '
        Megakadályozza a héjat (shell), hogy a $-t a változók jelzésének tekintse

    # Szögletes zárójel: []
        Intervallumok meghadására szolgáló eszköz
  
    # Kérdőjel: ?
        Egy elem helyettesítésére szolgáló jel
  
    # Csillag: *
        Joker karakter, bármennyi karakter helyettesítésére

    # Felsővessző: ` (jobbra tartó - AltGr + 7)
        Operátor, mely a két ` ` között lévő jelsort végrehajtja, és a kimenetét adja vissza
        úgy, hogy az új sor karakter helyére szőközt rak.

    # Kettőskereszt: #
        Kommentezés eszköze. (megjegyzés)

Dedikált környezeti változók
  
    EDITOR : Az alapértelmezett szövegszerkesztőnk
    HOME : Felhasználói könvvtárunk elérési útvonala
    MAIL : Beérkező email-jeink alapértelmezett könyvtára
    PATH : Azok az elérési útvonalak, melyekben a shell futtatható állományokat keres
    OSTYPE : Az operációs rendszerünk típusa
    PAGER : Az alapértelmezett file nézegetőnk elérési útvonalát kell tartalmaznia
    PWD : A könyvtár, ahol éppen vagyunk. (Szimbólikus linknél nem egyezik meg a pwd kimenetével!)
    SHELL : A jelenleg futú shell-ünk teljes elérési útvonala
    TERM : A Terminálunk típusát tartalmazza

Ezek értékeinek kiíratására a következő parancs használható:

echo $VALTOZO_NEV

Shell változók
Értékadó utasítással.:

    valtozo=érték : a változónk értéke legyen "ertek"
    valtozo=$(echo 2+3 | bc) : a változónk értéke legyen 2+3, bc-vel kiszámolva.
    export valtozo : shell változónkat környezeti változóvá tesszük
    unset valtozo : ha már nincs szükség rá, mint környezeti változó.

Belső változók
echo $0
    # A futó program neve

echo $$
    # A futó program PID-je

echo $?
    # A legutolsó parancs visszatérési értéke
  
Csővezetékek
    # " | " segítségével tudjuk egy program kimenetét (stdout) egy másik program
    bemenetére (stdin) csatolni. pl.:

ps aux | grep iceweasel
    # Az összes folyamat kimenetét a grep szűrő bemenetére irányítjuk, amely az iceweasel-t keresi.

    # stdin - standard input, jele.: fd0 (alapértelmezett bemenet, pl.: monitor)
    # stdout - standard output, jele.: fd1 (alapértelmezett kimenet, pl.: billentyűzet)
    # stderr - standard error, jelen.: fd2 (alapértelmezett hibacsatorna)

./program 2> hiba.txt
    # Programunkat lefuttatjuk, az esetleges hibákat (stderr) a hiba.txt-be irányítjuk,
    # az stdout helyett.

./program 1> kimenet.txt 2>&1
    # Programunkat lefuttatjuk, kimenetét (stdout) a kimenet.txt-be mentjük, valamint
    # az esetleges hibákat (stederr) hozzáfűzzük a kimenet.txt-hez.

cat file1 | sort | wc -w > file2
    # file1-et tartalmát a sort-nak adja át, az rendezi, majd átadja a wc-nek, majd a wc
    # kimenete a file2-be íródik

Néhány egyszerű példa.:
#!/bin/bash
echo Hello World!
    # A szokásos Hello World kiírása, programunk futtatásakor.


#!/bin/bash
STR="Hello World"
echo $STR
    # Az STR változó deklarálása, majd értékének kiíratása.


#!/bin/bash
tar -cZf /var/backup.tgz /home/user
    # /home/user tartalmát menti és tömöríti a /var/backup-ba.


#!/bin/bash
OF= /home/user/$date +%Y%m%d).tgz
tar -cZf $OF /home/user/sajt
    # Egyszerű backup script, mely a /hme/user/sajt tartalmát, napi dátummal
    # ellátva egy .tgz állományba tömörítve menti.


#!/bin/bash
if ["foo" = "foo1" ]; then
    echo a feltétel igaz
    else
    echo a feltétel hamis
fi
    # Egyszerű if-else szerkezet



Egyszerű szerkezetek.: if, while, until, for
-if szerkezet.:
#!/bin/bash
    T1="foo"
    T2="bar"
    if [ "$T1" = "$T2" ] then
        echo a feltetel igaz
    else
        echo a feltetel hamis
    fi
    # eldöntjük T1 és T2 értékéről, hogy egyenlőek e.

-while szerkezet.:
#!/bin/bash
    COUNTER=0
    while [ $COUNTER -lt 10 ]; do
        echo a szamlalo erteke: $COUNTER
        let COUNTER=COUNTER+1
    done  
    # COUNTER változónkat 1-el növeljük addíg, amíg el nem éri a 10-et.

-until szerkezet.:
#!/bin/bash
    COUNTER=20
    until [ $COUNTER -lt 10 ]; do
        echo a szamlalo erteke: $COUNTER
        let COUNTER-=1
    done
    # COUNTER változónkat 20-as kezdőértékről 1-el csökkentjük, amíg el nem éri a 10-et.

-for ciklus (C szerű)
#!/bin/bash
    for i in `seq 1 10`;do
    echo $1
    done
    # az i változónkat felveszi 1-től 10-ig az értékeket, majd ki is írjuk a képernyőre

-for ciklus (a könyvtár elemeire)
#!/bin/bash
    for i in $( ls );do
    echo a konyvtar elemei: $i
    done
    # kiíratjuk a képernyőre az aktuális könyvtár elemeit






Egyszerű függvények.:
#!/bin/bash
    function quit {
        exit
    }
    function hello {
        echo Hello!
    }
    hello
    quit
    echo foo
    # Egyszerű fv. deklarálás, majd az értékek kiíratása ( a 10. sor sosem fut le!)

#!/bin/bash
    function quit {
        exit
    }
    function e {
        echo $1
    }
    e Hello
    e World
    quit
    echo foo
    # Egyszerű fv. deklarálás, majd az értékek kiíratása ( a 11. sor sosem fut le!)

További példák.:
#!/bin/bash
echo "Most `w -h | wc -l` felhasználó van bejelentkezve."
    # Kiíratjuk programunk segítségével, hogy hány felhasználó van bejelentkezve


#!bin/bash
test -d /home/user && echo van || echo nincs
    # Megvizsgáljuk, hogy van e /home/user könyvtár, két kimenetű elágazással (&&)
    # Ha van.: van
    # Ha nincs.: nincs  
    # -d : van-e ilyen?


#!/bin/bash
if [ -d /home/user ]; then echo van; else echo nincs;
fi
    # Ugyanaz mint az előző példa, csak kicsit másként.
    # [-test parancs, ]-test zárás


#!/bin/bash
if [ -s /etc/motd ]; then echo nagyobb; else echo zerus;
fi
    # Megvizsgáljuk, hogy a /etc/motd nagyobb e nullánál, vagy zérus.
    # -s akkor ad IGAZ-at, ha a fájl létezik és nagyobb 0-nál.

#!/bin/bash
for i in *.mp3; do mpg123 "$i"; done
    # Az aktuális könyvtárban az összes mp3 kiterjesztésű állományt, az mpg123
    # nevű programmal lejátszuk.



Egyéb programok
amsn
    # MSN kliens

acpi
    # ACPI eszközök információi

acpid
    # acpi program démonja

bitchx
    # IRC kliens (TUI)

badblocks
    # Lemez ellenőrző (Bad sectorokat keres)
    -o file_nev : a hibás sectorokat a file_nev állományba menti
  
cal
    # Szöveges naptár
    -y : az aktuális év teljes naptárát mutatja meg

clear
    # Törli a képernyőt

dict
    # Szótár program
    opendict
    dict-freedict-hun-eng : magyar-angol
    dict-freedict-eng-hun : angol-magyar

false
    # Nem csinál semmit, sikertelenül. (1-es visszatérési értékkel)

firestarter
    # Tűzfal

fsck  
    # Filesystem check.
    # Lemez-ellenőrző (helytelen leállítás után autómatikusan lefut.)
    # A helyre nem hozott állományokat a lost+found könyvtárba teszi.

fwbuilder
    # Tűzfal beállító

gaim
    # MSN, irc, etc, kliens
  
gpg -c file
    # Fájl titkosítása (OpenPGP)

gpg file
    # Fájl kititkosítása

gparted
    # Lemez partícionáló

hdparm
    # Merevlemes információk
    -i /dev/hdx : Merevlemezünkről ad információt
    -Tt /dev/hdx : Sebességmérő eszköz

hddtemp /dev/hdx
    # Lemez hőmérséklet figyelő

k3b
    # KDE alapú cd-dvd író program (GUI)

kopete
    # MSN kliens

mbmon
    # Motherboard monitoring

memtest86
    # Memória tesztelő alkalmazás

mplayer
    # Média lejátszó

qemu
    # Processzor emulátor

setterm
    # Konzol beállításai
  
tpconfig
    # Touchpad konfiguráló

tpctl
    # IBM ThinkPad hardver konfiguráló

true
    # Nem csinál semmit, sikeresen. (0-ás visszatérési értékkel)

thosutils
    # Toshiba laptop programok

reset
    # Visszaállítja a konzol beállításait

vlc
    # Média lejátszó

xchat
    # IRC kliens (GUI)
  
xmms
    # Audió lejátszó program
  
xmms-liveice
    # Audió kimenetet küldi a southcast-nek

xdpyinfo
    # X kiszolgáló információk
  
yes > file
    # Csupa y-t ír a file-ba, elég gyorsan. :)

zgv
    # Konzolos képznézegető




Nincsenek megjegyzések:

Megjegyzés küldése