Linux parancsok – kezdőknek, haladóknak (folyamatosan frissül)
2011. szeptember 23. péntek in Dokumentáció
Ma már a felhasználóbarát Linuxoknak köszönhetően rendszerünkön elég sok beállítás elvégezhető a grafikus felületű programok segítségével. Azonban még manapság is célravezető lehet, ha a felhasználó ismer néhány parancsot, amit a Terminálba begépelve gyorsan, egyszerűen használhatunk. És ne felejtsük el azt az esetet, amikor a grafikus felületünk valami (frissítés, konfigurációs fájlok átírása) miatt elszáll. A Linux Mint is egy felhasználóbarát rendszer és az Ubuntu alapú kiadások mellett egyre nagyobb teret hódítanak a Debian alapú kiadások is. Amihez azért jól jön pár hasznos parancs.
Ez a dokumentáció folyamatosan frissül és az Internetről összegyűjtött írásokat tartalmazza. Célja, hogy egy helyen megtalálhatóak legyenek a rendszer használatához szükséges parancsok – a teljesség igénye nélkül.
Utolsó frissítés: -
Az első lépés
Egy alaprendszer telepítésének menete részletesen, képekkel illusztrálva az alábbi linken található.: Debian GNU/Linux 4.0 rendszer telepítése
A telepítés és sikeres belépés után ajánlatos parancsok.:
dpkg-reconfigure debconf # Ha a lehetőségek közül a low-t “alacsonyt” választjuk, a későbbi programok (repository-ból történő) telepítésekor minden apró részletre, beállításra rákérdez a rendszer. Telepítés után ajánlatos még a következő két parancsot kiadni.
apt-get update
apt-get upgrade # A rendszer frissítése. (a tárolók (repository) az /etc/apt/sources.list file-ban vannak megadva.)
Sok keresgéléstől kímélhetjük meg magunkat, ha a következő parancsokat elsajátítjuk.:
man parancs # A parancs manual oldalait nyitja meg, rövid, tömör, célratörő leírás
man -k szó # Minden olyan parancsot megad, mely manual oldalaiban szerepel a “szó”
apropos szó # Az apropos program kimenete
parancs –help # Információ a “parancs” használatáról
info parancs # Információ a “parancs” használatáról
whatis parancs # Egysoros az parancsról.
whereis parancs # Hol is van a parancs?
which parancs # A program futtatható állományának elérési útvonalát adja meg (általában /usr/bin)
file:///usr/share/doc # böngészőbe írva, a legtöbb telepített program leírását megtalálhatjuk (általában html formátumban is)
Fontos! Nem minden (a leírásban felsorolt) parancs tartozéka egy alaprendszernek, előfordulhat hogy telepítenünk kell.
Könyvtárszerkezet
/ # A hierarchikus könyvtárfa kiindulópontja (gyökér könyvtár)
/boot # A rendszer indításához szükséges állományok helye (grub, vmlinuz, stb)
/bin # A futtatható parancsok könyvtára -binaries
/sbin # A rendszergazda parancsai -superuser bin
/lib # Az induláshoz szükséges osztott rendszerkönyvtárak -libraries. Továbbá tartalmazza a rendszerhez csatolható modulokat, meghajtóprogramokat.
/dev # A rendszerhez csatlakozott, csatolható különleges állományok -devices
/etc # Beállítófájlok, helyi indító parancsok, jelszavak, hálózati-beállítók, etc. helye.
/home # Minden felhasználó saját könyvtára itt foglal helyet. (Otthon, édes otthon)
/mnt # A felcsatolt (mountolt) perifériák könyvtára. -mount
/proc # Itt láthatjuk, ahogy a rendszerünk “él és lélegzik”. (szellem a gépben) -process information. Érdemes tüzetesebben átnézni, hiszen érdekes dolgokat találhatunk itt. Pl.: /proc/cpuinfo fájl kiíratásával információt kapunk processzorunkról.
/root # A rendszer gazdájának könyvtára.
/tmp # Ideiglenes adatok tárolására használt könyvtár. -temp
/usr # Alkalmazások, rendszereszközök tömkelege, a legforgalmasabb könytár. (pl X Window)
/var # Változó adatokat tartalmazó állományok könyvtára. /pl.: nyomtatási munkák, levelek, etc). /var/log : napló fájlok, különös jelentőséggel bírnak a rendszer biztonságának szempontjából
Állománykezelés
alias # Különböző parancsokat saját elképzeléseink szerint átnevezhetünk. A /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. Ctrl + D kombinációval mentjük.
-n fájl : beszámozza a fájl sorait
/dev/cdrom > /eleresi/utvonal/cd.iso : A CD-nk tartalmát ISO állományba mentjük.
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
-R : Rekurzívan változtatja meg a jogosultságokat.
DAC (háromszintű diszkrécionális maszk) szerinti beállítás. A r-read (olvasás), w-write (írás), x-executable (futtatás) 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. A sor elején található “d” a directory, “-” a file jele.
Jogokat számokkal, vagy szimbólikus jelekkel határozhatunk meg. Számokkal.: 4-read, 2-write, 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)
-R : Rekurzívan változtatja meg a tulajdonos(oka)t
-f : Nem kapunk vissza hibaüzenetet, ha valami nem sikerült
–no-dereference : Szimbólikus linkeknél, a link jogosultságait állítjuk
–dereference : Szimbólikus linkeknél, a file (amire a link mutat) jogait változtatjuk
chgrp # Fájlok tulajdonosi csoportjának megváltoztatása
-R : Rekurzívan változtatja meg a csoportokat
-f : Nem kapunk vissza hibaüzenetet, ha valami nem sikerült
-c : csak azokat a file-okat írja ki, amelyeknek valóban megváltozott a csoportjuk
lsattr # Fájlok, könyvtárak attribútumát mutatja meg
-R : Rekurzívan mutatja meg az attribútumokat
-a : minden file-t kilistáz, beleértve a .-al kezdődőeket is
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 a kis betűket nagyra cseréli.
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
-f filelista : Egy létező filelista állományban felsorolt file-okat vizsgálja meg
-L : Követi a szimbólikus link kötést (nem a linket, hanem az arra mutató file-t vizsgálja)
fsck # lemezellenőrző
fgrep # Fájlokban, vagy stdin-ben keresek szöveget
fgrep “abc” file.txt : Megkeresi az összes olyan sort a file.txt-ben, ami tartalmaz “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 : azokat írja ki, amiben nem szerepel a keresett szó
B.r: azokat a sorokat adja meg, melyekben a “B” és az “r” között bármilyen karakter szerepel.
[ha]: a kimenetben találhatóak meg azok a találatok, melyekben szerepel “h” vagy “a” betű.
[^sajt]: minden sor megtalálható a kimenetben, kivéve amelyben szerepel a “sajt” kifejezés.
^$ : Azokat a sorokat adja meg, melyek üresek.
^h : A sor elején található kis “h” betűre illeszkedik.
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
mkisofs (korábbi verziókban cdrtools csomag tartalmazza!) # Hasznos segédprogram ISO-k készítéséhez.
-r -o cd.iso /cdrom/ : ISO készítése a CD lemezünkről
mkisofs -J -V “Label” adat/ | sudo cdrecord dev=0,0,0 speed=32 -data -v -eject driveropts=burnfree – # adat mappa kiírása 32x-es sebességgel, Label nevű, verbose, az írás végén CD kiadással.
cdrecord -scanbus # dev érték lekérdezése
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ájlok 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
-v : bőbeszédű
-vv : még bőbeszédűbb
lsusb # Usb eszközök kiíratása
lshw # Hardver információk, kicsit bővebben
-X : Grafikus felületű eredmény
-html : HTML formátumban menthetjük a kimenetet
-short : Az eszközök fa-szerű megjelenítése
mv # Fájlokat könyvtárakat mozgat, vagy nevez át
-i : A módosítások előtt rákérdez, hogy valóban akarjuk-e
-U : Nem mozgatja az újabb (módosítás dátuma szerint) célfájlal rendelkező állományokat.
-f : force, a célfájlok törlése, kérdés nélkül
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
updatedb # Az slocate -u helyett, már ez a parancs használatos.
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 # könyvtár létrehozása
mkdir -t ext2 /dev/ram0 4096 majd ezután a mount /dev/ram0 ramdisk/ # 4Mbyte os ramdisk-et hozunk létre, és felcsatoljuk.
mount # Eszköz felcsatlakoztatás (CD,partíció, pendrive, hdd, etc.)
mount /ahol/a/fajl/van/izemize.iso /mnt/cdrom -o loop
mount /eleresi/ut/cdimage.iso /mnt/cdrom -o loop: cdimage.iso felmountolása megtekintésre. (kell /mnt/cdrom mappa!)
mount /dev/hda2 /mnt/vinyo : hda2-es eszközt csatolja fel a vinyo könyvtárba (létre kell elötte hozni!)
mount -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)
rsync # Hasznos file másoló, szinkronizáló program
-a : Archive módban másol. Tulajdonosok, attributumok, linkek megmaradnak.
-v : Bőbeszédű a kimenetkor.
-z : Tömörítve küldi el.
-b : Biztonsági mentésekhez használatos. *.~ végű file keletkezik.
–exclude ‘*~’ : kivéve a ~ végü file-ok.
-avz /eleresi/ut/honnan/* 192.168.1.1:/eleresi/ut/hova # Relatív elérési úttal megadva, archive módban tömörítve menti a hálózati gépre.
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 időbélyegeinek 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 filenev.tar.gz : Kitömöríti a gz-t, majd a tar-t, és egy /filenev könyvtárba teszi
-xvfj filenev.bz2 : 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.
-cvzf mentes.tar.gz /eleresi/ut/amit/mentunk : az elérési útvonal alatt levő adat gzip-be tömörítése.
-cvjf mentes.tar.bz2 /eleresi/ut/amit/mentunk : az elérési útvonal alatt levő adat bz2-be tömörítése.
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.: ESC, majd :q!
vi -b +/mikulas fájl # b : Bináris állomány szerkeszthetőségét teszi lehetővé és +/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)
watch cat file # A file változásait figyeli, 2 másodperces időközönként frissítve.
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 vagy 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
-s /bin/false : Alapértelmezésként nem kap shell-t bejelentkezéskor.
-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 # File név, relatív elérési útvonal, méret, hozzáférési jogok, access, modify, change, UID, GID, egyéb hasznos infók kiíratása
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.
pstree # Folyamat struktúra fa-szerű ábrázolása.
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
Az /etc/inittab -ban állítható be a gép indulási init szintje. Az /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.
Daemonok kezelése.:
/etc/init.d/daemon_nev start: daemon indítása
/etc/init.d/daemon_nev stop: daemon leállítása
/etc/init.d/daemon_nev restart: daemon újraindítása
/etc/init.d/daemon_nev status: daemon status infók kiíratása
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)
-h 12:00 & : A gép kikapcsolása 12:00-kor.
-c : Az időzített kikapcsolási folyamat megszakítása
-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
crontab -l : kilistázza a belépett beállított ütemezéseit
crontab -e : Editáljuk a belépett user ütemezéseit
@reboot parancs : A következő indításnál lefutó parancs.
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
parancs & # parancs háttérbeli futtatása
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). Bővebben itt.
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
Forrásból telepítésnél használatos parancsok
./configure
make
make install
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
-s kapcsoló esetén csak szimulálja a megadott feladatokat.
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
dpkg –get-selections > /eleresi/ut/csomagok.txt : TXT-be mentjük a feltelepített csomagok neveit.
dpkg –set-selections < /eleresi/ut/csomagok.txt : a TXT-ből kiolvassa a felsorolt csomagokat.
apt-get -y update
apt-get dselect-upgrade
Első lépésben a feltelepített csomagok listáját a csomagok.txt-be mentjük. Második, harmadik, negyedik lépésben pedig a telepített sw.-k listájában felsorolt csomagokat telepítjük rendszerünkre.
dselect # A dpkg barátságosabb arca
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)
iptables
A Netfilter (hálózati csomagok feldolgozására szolgáló eszköz) kezelője.
Az iptables a hálózati csomagok feldolgozási szabályait szerepük alapján szervezett táblák formájában kezeli.
Szerepek (táblák – a feldolgozási folyamat típusát jelentik).:
Csomagszűrés (filter)
Hálózati címfordítás (nat)
Egyéb csomagmódosítás (mangle)
Ezen táblák mindegyikére feldolgozási szabályok (rules) lánca (chain) vonatkozik.
A szabályok illesztésekből (match – mely csomagokra vonatkozik,) és célokból (target – mit kell
tennünk az illeszkedő csomaggal) épülnek fel.
Az iptables öt kapcsolódási pontot határoz meg a feldolgozás során.:
PREROUTING : A hálózati csatolótol kapott csomag, még az INPUT lánc előtt ide kerül.
INPUT : Épp mielőtt megérkezne a csomag egy helyi folyamathoz. (itt illik szűrni a bejővő forgalmat)
FORWARD : Egy átjáró gépen a továbbított csomagok itt áramlanak keresztül
OUTPUT : Miután egy helyi folyamat létrehozta a csomagot, itt távozik (kimenő csomag szűrés!)
POSTROUTING : Mielőtt elhagyná a hálózati csatolót a csomagunk, az OUTPUT lánc után.
A táblák, és beépített láncaik:
filter: FORWARD, INPUT, OUTPUT
nat: PREROUTING, OUTPUT, POSTROUTING
mangle: PREROUTING, FORWARD, INPUT, OUTPUT, POSTROUTING
A láncok házirendje (policy).:
Ezt a policy-t lánconként (INPUT, OUTPUT, FORWARD) a tűzfal szkriptünk legelején fixálnunk kell. Azok a csomagok, amelyek a tűzfal láncaiban felsorolt szabályokra nem illeszkednek, azokra a default policy vonatkozik, azaz vagy ACCEPT, vagy DROP. Pl.: Ha a tűzfalunk INPUT láncában csak a 80-as portot engedéjezzük, a policy-nk pedig DROP, akkor minden más porton érkező csomagot (amely nem illeszkedik a 80-as portra) eldob.
Lánc műveletek, szabály módosítások:
-N : új lánc létrehozása
-X : üres láncok törlése
-P : default policy beállítása
-L : a láncok szabályainak megjelenítése
-F : a lánc összes szabályának törlése
-A : új szabály hozzáadása egy lánchoz
-D : törlés az adott láncból
Forrás (-s, –source, –src) és célcímek (-d, –destination, –dst) megadásának módjai.:
Teljes név használata.: localhost, vagy pl.: www.debian.org
IP cím meghatározása.: 127.0.0.1
IP cím tartomány(ok) megadása.: 192.168.1.0/24 vagy 192.168.1.0/255.255.255.0
Mindkét tartomány 192.168.1.1-től 192.168.1.254-ig fedi le az IP címeket.
Inverz módon is megadhatunk forrást és célt, “-s !” localhost” formájában.
Protokollok megadása.:
-p TCP vagy UDP vagy ICMP formájában történik. Itt is alkalmazható az inverz, azaz “-p ! TCP”, minden csomagra illeszkedik a szabály amely nem TCP.
Interface meghatározása.:
Az interface maga a fizikai eszköz amelyen bejön, vagy távozik a csomag.
INPUT láncon “-i eth0″ értelmezhető, nincs kimeneti interface-ük.
OUTPUT láncon “-o eth0″ adható meg, “-i” kapcsolóra egy csomag sem fog illeszkedni.
FORWARD láncon alkalmazhatóak a “-i eth0″ és “-o eth0″ interface-ek.
Alkalmazható joker karater az interface-eknél, ez a “+” jel. “-i eth+” -> az összes eth iface.
Portok, port tartományok megadása
A portok megadhatóak számmal, vagy névvel. (utóbbi esetben.: /etc/services).
Port tartományokat “port:port” formában kell alkalmaznunk. Invertálás itt is alkalmazható.
–source-port és –sport : a csomagok forrásportját adjuk meg
–destination-port és –dport : a csomagok cél portját határozuk meg.
darkstat # Hálózati statiszkikák gyűjtésére szolgáló program.
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.
iperf # Sávszélesség korlátozásra használatos program.
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
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
iptstat # Top-szerű hálózat elemző eszköz.
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?
netstat-nat # Nat-olt kapcsolatok megjelenítésére szolgáló eszköz.
-n : Nem fordítja le a megjelenített IP-ket Hostname-ekre.
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
sntop # Top-szerű hálózati forgalom figyelő szoftver.
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/
trickle # Sávszélesség korlátozásra használatos program.
-u 100 -d 200 proftpd : A proftpd démon számára biztosít 100KB fel, 200KB letöltési sávszélt.
tsclient # Terminal Services Client
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
vconfig # virtuális eth eszközök létrehozására alkalmas program. (repo.-ból telepíteni kell!)
vconfig add eth0 1 : az eth0.1 eszköz hozzáadása, majd fel kell vennünk a /etc/interface-s-be!
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)
wondershaper # Egyszerű sávszélesség korlátozásra használatos program.
ethX 1024 1024 : Az ethX eszköz részére biztosít 1024Kbit fel és letöltési sávszélt.
ethX clear : Törli a beállításokat.
Források:
http://www.letix.hu


attila964 said on 2011. szeptember 23. péntek
Lementettem az oldalt, de azt hiszem ráteszema pendrájvjaimra is. Köszönöm szépen, így összeszedve még sehol nem láttam ezeket a parancsokat!
Miklos said on 2011. szeptember 23. péntek
Csatlakozom Attilahoz, marmint a gratulacioban …. es a lementesben is!
Meg ilyent ha lehet, salangmentesen, osszeszedetten a lenyeg, bravo!
tothgab said on 2011. szeptember 24. szombat
A tartalomért főként Letix-nek jár a köszönet és azért, hogy beleegyezett az oldalon megjelentetésbe. Van még jó néhány feldolgozásra váró tartalom ebben a témában, de jelenleg idő hiányában vagyok.
leto said on 2011. szeptember 24. szombat
Köszönöm, nekem is jól jött.
letix said on 2011. december 22. csütörtök
Örülök, hogy tetszik!