Linux alapparancsok, kezdőknek

Köszönet az oldalért: http://www.letix.hu/
Szerző: letix

Linux alapparancsok, kezdőknek


Az első lépések
Könyvtárszerkezet
Állománykezelés
Rendszeradminisztráció
Folyamatok
Időzített parancsfeldolgozás
Kernel, modulok, fordítás
Csomagkezelés
Hálózat
Bash programozás
Egyéb programok
Hasznos linkek

Ha a linux parancsokon túl más is érdekel :-) : Filozófia, kultúra, önkéntesség


Az első lépés top

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 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. Ajánlatos.
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ó
# Az apropos program kimenete
apropos szó
# Minden olyan parancsot megad, mely manual oldalaiban szerepel a "szó"
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 top
/	# 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 top
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
-R : Rekurzívan változtatja meg a jogosultságokat.
# DAC (háromszintű diszkrécionális maszk) szerinti beállítás.
# 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-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)
-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 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
-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
"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á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
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ó top
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 top
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 top
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 top
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
# 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 top
./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 top
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 top
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
clamav
# víruskereső szoftver
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 konfiguráló
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ő
Hasznos linkek top

A nagy Linux topic - PH!
Bash programozás - eng
Bash programozás - hun
Debian - Felhasználói dokumentáció
Debian Reference - eng
Debian telepítési útmutató
DNS Howto - hun
Hálózati programozás - Beej
Hungarian Unix Portal
Játékok Linux-on - hwsw.hu
Linux alkalmazások - prog.hu
Linux rendszeradminisztrátorok kézikönyve
Linux, a kezdet - VladimirR
Squid - prog.hu
Szabilinux
TLDP - Magyar Linux Dokumentációs Project