Véleményezést kérnék egy nagyon vége felé lévő részről melyet anno a HUP Wiki re is kitettem :P De nem ilyen komplex formában ... Ezért gyakorlatilag még benne vannak a hup Wikis részek ott ahol nem írtam át... De mivel a HUP WIKI ről ki lettek húzva a példa soraim ezért nem akartam ezzel a HUP Wiki t kiegészíteni...
(Trey te döntödd el hogy innen be másolgatsz e Vissza a HUP Wiki be ... )
Nézzük a 3. dik fejezetett ... részben... (Előszó nélkül... )
3. Unix parancsok egyszerűen.
Billentyűzet parancsok/Vezérlő karakterek.
Shift+PageUp: Aktuális terminál sorainak felfelé lapozása
Shift+PageDown: Aktuális terminál sorainak lefelé lapozása.
CTRL+C: Az aktuális folyamat leállítása
CTRL+D: Kijelentkezés az aktuális folyamatból. Valójában fájl vége karakter (eof). Ez azt jelzi a rendszernek hogy nincs több feldolgozásra váró input.
CTRL+Z: Az aktuális folyamat szüneteltetése és háttérbe küldése. A háttérbe futó folyamatok suspendelése.
CTRL+U: Sortörlés. A shell az addig begépelt összes karaktert törli.
CTRL+M:Gyakorlatilag egy enterrel/return el ér fel.
CTRL+S: Egy parancs kiadásakor előfordulhat hogy több képernyőnyi Outputot kapunk eredménynek amit át szeretnénk olvasni. CTRL+S el megállíthatjuk hogy elolvashassuk.
CTRL+Q: A Ctrl+s el megállított adatokat ezzel újra indíthatjuk.
Kapcsolók/Metakarakterek/Speciális karakterek/ Vezérlő karakterek.
? Egy karaktert helyettesítő karakter. A dosban joker karakterként is emlegetik. Célja egyszerű ha egy fájl nevében 1 karaktert nem ismerünk azt helyettesíthetjük vele. pl. .
testa@sleep ~/gyakorlat $ mkdir monita
testa@sleep ~/gyakorlat $ cd m?nita
testa@sleep ~/gyakorlat/monita $
* Tetszőleges mennyiségű karaktert helyettesíthetünk * al. Ellentétben a DOS és más M$ rendszerekkel a * karakter után szereplő karaktereket is figyelembe veszi. Tekintve az MS ezt igen hányaveti módon vette át annak idején a Unix rendszerekből.
testa@sleep ~/gyakorlat $ du -ha
4,0K ./monita/1
4,0K ./monita/2
12K ./monita
4,0K ./molita/3
4,0K ./molita/4
12K ./molita
28K .
testa@sleep ~/gyakorlat $ ls *on*
1 2
testa@sleep ~/gyakorlat $
Mint a példában látható rendelkezünk egy monita, és egy molita könyvtárral a monita tartalma az 1 és 2 könyvtár a molita tartalma a 3 és 4 könyvtár. Az ls * on* parancsra az on karakter mintát tartalmazó könyvtár tartalma listázódik ki. A monita.
; Sor vége. A ; után új parancsot adhattunk ki. Így kiadhatunk egymás után több parancsot is
egyetlen sorba. Melyek egymás után végre hajtódnak. Akkor van értelme ha több parancsot is ki szeretnénk adni ami lefut egymás után.
testa@sleep ~/gyakorlat $ echo Interdimenzionális tranzfuzió ; ls ; echo ez az igazi infúzió
Interdimenzionális tranzfuzió
molita monita
ez az igazi infúzió
testa@sleep ~/gyakorlat $
> Egy parancs (program/script) kimenetét egy adott fájlba irányítja, úgy, hogy annak tartalmát felülírja.
testa@sleep ~/gyakorlat $ echo aranyalma > 1.txt
testa@sleep ~/gyakorlat $
Ebben az esetben az 1.txt tartalma az "aranyalma" szó lesz. Ellenőrizők le
testa@sleep ~/gyakorlat $ cat 1.txt
aranyalma
testa@sleep ~/gyakorlat $
Alap helyzetben a szabványos kimenet (stdout) irányítóik át. De szükségünk lehet az error kimenetre is (stderr). Ebben az esetben (0 : stdin ; 1 : stdout ; 2 : stderr) annyit kell tennünk hogy az adott kimenet számát tesszük a > elé:
testa@sleep ~ $ ps ax 2> liba
PID TTY STAT TIME COMMAND
5667 tty1 Ss+ 0:00 /sbin/agetty 38400
16898 tty1 Ss 0:00 -bash
22062 tty1 R+ 0:00 ps ax
testa@sleep ~ $ cat liba
testa@sleep ~ $
És látható hogy a liba fájl üres maradt hisz a parancs hiba nélkül lefutott...
>> Egy parancs (program/script) kimenetét egy adott fájlba irányítja, úgy hogy annak tartalmához hozzáfűzi.
Például:
testa@sleep ~ $ echo aranyalma > 1.txt; echo aranyalma >> 1.txt
testa@sleep~$
Ebben az esetben az 1.txt tartalma az aranyalma szó lesz, kétszer új sorban.
Ellenőrizzük:
testa@sleep ~ $ cat 1.txt
aranyalma
aranyalma
testa@sleep ~ $
| (pipe (csővezeték)) A helyes fordítása a pipe szónak ebben az esetben a vezető lenne. Átvezeti az egyik process stdout-ját a másik program stdin-jére. Viszont az stderror ez esetben a képernyőre íródik (van megoldás ennek az elkerülésére is de ezt majd később).
Például:
testa@sleep ~ $ ps ax | wc -l
128
testa@sleep ~ $
A ps ax kilistázza a futó processzeket a képernyőre, a wc -l pedig egy adott fájl/adatfolyam sorainak számát számolja össze. De a pipe miatt a ps ax kimenete átadódik a wc -l -nek. Ez esetben mindegy, hogy a wc miről próbál olvasni, minden stdin (bemenet) helyett az ps ax kimenetet (stdout) kapja. Egyedül a stderror kerül a képernyőre. Ami adott esetben egy szám lesz.
& Folyamatok háttérbe való futtatását szolgálja. Fontos a háttérben futtó folyamatok mindig suppendelnek ha az ouputjuk nincs elvezetve és a kimenetre akarnak jelet küldeni. Ezért célszerű mind a szavány error és a szabvány kimenet elvezetése is.
Képernyőparancsok
echo: Jelentése visszhang. Ennek megfelelően az utána jövő karakter sorozatot adja az alapértelmezett stdout-ra.
testa@sleep ~ $ echo helló
helló
testa@sleep ~ $
clear: A képernyőt törli. Hasznos ha pl. nem akarjuk, hogy mások is lássák mit csináltunk..
File, link, és könyvtár kezelő parancsok
cat: (concatenate) fájlokat fűz össze vagy stdin-t az stdout kimenetre. Hibás magyarázása a fájl felolvasás (kétségtelen erre is alkalmas), de az eredeti szerepe az összefűzés.
Például:
cat file1 file2 > fileossze
testa@sleep ~/gyakorlat $ echo ur > 1 ; echo isten > 2
testa@sleep ~/gyakorlat $ cat 1 2 > 3
testa@sleep ~/gyakorlat $ cat 1
ur
testa@sleep ~/gyakorlat $ cat 2
isten
testa@sleep ~/gyakorlat $ cat 3
ur
isten
testa@sleep ~/gyakorlat $
cd: (change directory) könyvtár váltás
testa@sleep ~/gyakorlat $ cd monita
testa@sleep ~/gyakorlat/monita $
chgrp: (Change Group)egy file tulajdonos csoportját módosíthatod vele
chmod: (Change mod) egy állományhoz való hozzáférési jogot módosíthatjuk. Két használati módja van. A fájlok/könyvtárak jodait mint oktálisan mint szimbolikusan meg lehet adni. Oktális megoldás esetén a parancs: „chmod 421 fájl-név”. Oktális formátumban a jogok: 4 az olvasás 2 az írás 1 a végre hajtás értéke melyek össze adódnak. Az első szám a tulajdonos jogait jelöli, a második a csoportjába tartozók jogait, a harmadik pedig az egyéb userek jogait. Ha például azt akarjuk hogy a fájl t csak a tulajdonos tudja teljes joggal olvasni , írni futtatni akkor az érték 700 lesz. Ha azt szeretnénk hogy a fájlt mindenki csak olvasni tudja az érték 444 lesz …
testa@sleep ~/gyakorlat $ ls -l 1
-rwxrwxrwx 1 testa users 3 jan 31 11:44 1
testa@sleep ~/gyakorlat $ chmod 444 1
testa@sleep ~/gyakorlat $ ls -l 1
-r--r--r-- 1 testa users 3 jan 31 11:44 1
testa@sleep ~/gyakorlat $
chown: (Change Owner) az állomány tulajdonosát, és tulajdonos csoportját módosíthatod
chroot: (Change root)a továbbiakban "gyökérkönyvtárnak" használt útvonalat adhatjuk meg. Használatával egyes processek, felhasználók elszigetelhetők a rendszer többi részétől. Az egyik leghatékonyabb biztonsági óvintézkedés.
cp: (copy) fájlok másolása.
dd: konvertálás/másolás Akár 1 partíció teljes mentésére is alkalmas kicsi programocska. Denekünk csak megemlítésére van elég helyünk.
df: (Disk Free) Partíciók méretéről ad információt. -h opcióval emberségesebb számokkal kiló / mega / giga byte ra váltott értékeket ad.
testa@sleep ~/gyakorlat $ df -h
Filesystem Méret Fogl. Szab. % Csatl. pont
/dev/hda6 17G 12G 4,5G 72% /
udev 62M 184K 62M 1% /dev
/dev/hde5 46G 25G 19G 57% /home
shm 62M 0 62M 0% /dev/shm
/dev/hde9 46G 15G 30G 34% /mnt/hde9
testa@sleep ~/gyakorlat $
dir: Általában ez egy simlink az ls-re...
du: (Disk Used) Lemez hely foglalás. Könyvtáronként -a opcióval fájl onként -h opció mint a df nél...
find: (find) Fájl keresésére alkalmas kis eszközöcske
ls: (list) az aktuális könyvtár állományainak kilistázása...
mkdir: (make directory) könyvtár létrehozás
mv: (move) File mozgatás (áthelyezés) Általánosan és egyszerűen alkalmazhaó mvkinduló fájl cél fájl. Mint a cp.
pwd: (print working directory) Az aktuális könyvtár nevével, és elérési útjával tér vissza
testa@sleep ~ $ pwd
/home/testa
testa@sleep ~ $
rm:(remove) File vagy könyvtár törlése. Alkalmazása egyszerű. rm fájlnév. Viszont sok esetben szükséges a -f kapcsoló használata melynek hatására az írás védet könyvtárak is törlődnek. Egymás után több fájl is megadható esetleg *. -i hatására minden egyes fájlra vissza kérdez.
rmdir:(remove directory) Mint az rm csak könyvtárakra.
split: (split)Fájl darabolása. -b vel megadhatjuk hogy bájtra számolva daraboljon.
testa@sleep ~/gyakorlat $ split sp -b 4
testa@sleep ~/gyakorlat $ ls
sp xaa xab xac xad xae xaf xag xah xai
testa@sleep ~/gyakorlat $
Process kezelő parancsok
bg: (background) Az aktuális shell alatt elindított folyamat háttérbe futtatása. Használata bg és utána a job száma. Melyet a jobs parancsal kapunk meg.
testa@sleep ~/gyakorlat $ mpg123 1.mp3
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3.
Version 0.59s-r9 (2000/Oct/27). Written and copyrights by Michael Hipp.
Uses code from various people. See 'README' for more!
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!
Title : gyakorlat Artist: gyakorlat
Album : gyakorlat Year : 2006
Comment: gyakorlat Genre : Other
Playing MPEG stream from 1.mp3 ...
Found new ID3 Header
Found XING 000f
MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo
Megszólal a hang fájl.Most nyomunk egy CTRL+Z -t amire a hangfile megáll.
[1]+ Stopped mpg123 1.mp3
testa@sleep ~/gyakorlat $
Amire a hang megáll. De mivel nem CTRL+C t nyomtunk a program futtása nem állt le. Csak szünetel és a [1] jelzi hogy egyes job ként került a háttérbe. Tehát:
testa@sleep ~/gyakorlat $ bg 1
[1]+ mpg123 1.mp3 &
testa@sleep ~/gyakorlat $
És a hang tovább hallható. Ráadásul vissza kaptuk a promptot. Mert a program ezentúl a háttérben futt. :) Addig amig véget nem ér esetleg nem ad informáviót az alap értelmezett kimenetre (stdout) vagy stderr -re …
fg: Az aktuális shell alatt elindított folyamatok előtérbe hozása. Ergo ha van egy háttérben futtó programunk. Mint az elöző esetben. akkor:
testa@sleep ~/gyakorlat $ fg 1
mpg123 1.mp3
Addig nem kapjuk vissza a promptott amig a program véget nemér vagy le nem futt.
jobs: Az aktuális shell alatt háttérben futtatott folyamatok listázása. Az első példából kiindulva megint CTRL+Z ig eljuttunk. Majd kiadjuk a jobs parancsot.
testa@sleep ~/gyakorlat $ jobs
[1]+ Stopped mpg123 1.mp3
testa@sleep ~/gyakorlat $
Elől látthatjuk a számot amivel hívatkozhatunk rá (bg, fg , stop parancsoknál). Utánna az állapotottát (Stopped, Running) Majd magát a parancsot amitől a program futtása elkezdődött.
ps: Futó folyamatok listázása. Nem csak háttérben hanem a teljes rendszerben futtó alkalmazásokat kilistázza. Akkor hasznos ha egy adott program állapotára kiváncsiak vagyunk. álltalánosan ps ax ként használjuk.
testa@sleep ~/gyakorlat $ ps ax
PID TTY STAT TIME COMMAND
1 ? S 0:00 init [3]
2 ? SN 0:00 [kmonon]
3 ? S< 0:00 [logmagic]
126 ? Ss 0:00 /usr/sbin/gpm -m /dev/psaux -t imps2
670 ? Ss 0:00 login -- testa
671 tty2 Ss+ 0:00 /sbin/agetty 38400 tty2 linux
672 tty3 Ss+ 0:00 /sbin/agetty 38400 tty3 linux
673 tty4 Ss+ 0:00 /sbin/agetty 38400 tty4 linux
674 tty5 Ss+ 0:00 /sbin/agetty 38400 tty5 linux
675 tty6 Ss+ 0:00 /sbin/agetty 38400 tty6 linux
696 tty1 Ss+ 0:00 -bash
698 tty1 R+ 0:00 ps ax
testa@sleep ~/gyakorlat $
Valami ilyesmit kell kapunk egy átlag rendszeren. Elől láttható a pid az a szám ami a processt azonosítója (egy programhoz több folyamat(process) is tartozhat), Utána a futtás helye (terminál száma fajtája (tty / pts szám). Futtás státusza. Legutobbi aktivitás változás ideje(futtás ideje). A parancs maga ami a processt elindította.
kill: Adott folyamatok különböző típusú leállítása.A pid szerint.A ps ax re kapott válasz első oszlopában lévő pid el hívatkozhatunk az adott folyamatokra. A kill parancsnak 9 szintje van melyet a -szám opcióval adhatunk meg. A -9 a legagresszívebb futtás megszakítás. értelem szerüen az 1 a leggyengébb megvárja míg minden műveletett befejez a process. Azért PID alapján azonosítja a processeket mert normál helyzettben 2 processnek nem lehet ugyanaz a pidje.
killall: Adott karaktersorozatot tartalmazó folyamatok leállítása egyszerre. Nagyjábból mint a kill. Csak itt nem a PID re kell hívatkozni, és ez a parancs csak root ként adható ki. Minden olyan processt leállít ami az adott karakter sort tartalmazza.
stop: Az aktuális shell alatt elindított folyamat leállítása. Nem minden rendszeren éléttező parancs főleg üzletti célú rendszereken található meg. A háttérben futtó parancsokat képes megállítani.
top: Megadja a rendszer igénybe vételét. egyes processek processzor/ memória használatát használatát és a szabad erő forrásokat. Előnyös a rendszer ellenörzése szempontjából. Hogy tudjuk mennyire veszük adott dolgokkal igénybe a gépünket.
wait: Az aktuális shell alatt háttérben futó folyamatok befejezéséig nem ad promtott.
Felhasználó (user) kezelő parancsok
adduser / useradd: Felhasználó hozzáadása a rendszerhez. Esetleg adduser felhasználó csoport (group) megoldással csoportokoz adhattunk felhasználókat.
addgroup: Csoport (group) létrehozzása.
deluser / userdel: Felhasználó törlése eltávolítása.
finger:Bejelentkezett felhasználók, és az általuk használt folyamatok listázása.
last: Felhasználók bejelentkezésének történetének kilistázása.
mesg: Write paranccsal küldött üzenetek fogadásának engedélyezése/letiltása. A n és az y kapcsolókkal mesg y vagy mesg n.
passwd: Felhasználók jelszavának átírása. Root ként a passwd felhasználó névvel bármely felhasználó jelszavát átírhatjuk. Userként csak a sajátunkat.
users: Bejelentkezett felhasználók kilistázása
w: Bejelentkezett felhasználók, és az általuk használt folyamatok listázása
who: Bejelentkezett felhasználók, és az általuk használt folyamatok listázása
write: Üzenet küldése egy másik adott terminálra.
.
Hálózati parancsok
host(xhost, hostx): Adott domain nevek vissza fejtése esetleg adott iphez tartozó domain lekérdezése.
ifconfig: Hálózati eszközök konfigurálásra szolgáló parancs. Erről bővebben később.
ping: A hálózaton áthaladó jelekkésését mérő eszköz. Egy icmp csomagot küld el és azt adja meg mennyi idő alatt kapot az adot jelre választ. Ezt hívják pingelésnek. A jel késést lag -nak Latency nek.
traceroute: Egy gép elhelyezkedését. a hozzá vezető úton lévő routereket azonosítja. Hasznos lehett annak megállapításában hogy egy adott hálózatban hol lehettnek a gondok. Hol keletkezhet lag. Mely routert érdemes kerülni.
sleep gyakorlat # traceroute fw.hu
traceroute to osiris.swi.hu (193.202.82.16), 30 hops max, 40 byte packets
1 192.168.1.1 (192.168.1.1) 0.265 ms 0.143 ms 0.117 ms
2 catv-c3b8a4be.catv.broadband.hu (195.184.164.190) 10.452 ms 6.883 ms 12.391 ms
3 * * *
4 catv-c3b8aa41.catv.broadband.hu (195.184.170.65) 10.733 ms 8.877 ms 8.487 ms
5 * * *
6 GE-V30.core0.interware.hu (193.188.137.25) 20.130 ms 9.303 ms 10.756 ms
7 osiris.swi.hu (193.202.82.16) 12.913 ms 16.343 ms 46.777 ms
sleep gyakorlat #
whois: Az internetes címekről ad bejegyzési információt.
Egyéb parancsok
cal: Naptár előhívása.
calendar: Calendárium meghívása.
date: Dátum, és idő lekérdezése, beállítása.
Nem feltétlen alap parancsok és segéd programok
bzip2: Az egyik leghatékonyabb egyszerű tömörítő eljárás. Használata -1 -9 ig a tömörítés foka. a fájl neve amit tömöríteni szeretnénk.
testa@sleep ~/gyakorlat $ du -ha
62M ./1
62M .
testa@sleep ~/gyakorlat $ bzip2 -9 1
testa@sleep ~/gyakorlat $ du -ha
31M ./1.bz2
31M .
testa@sleep ~/gyakorlat $
A kitömörítést a -d kapcsolóval tehetjük meg.
testa@sleep ~/gyakorlat $ bzip2 -d 1.bz2
testa@sleep ~/gyakorlat $ du -ha
62M ./1
62M .
testa@sleep ~/gyakorlat $
gzip: Kevésbé hatékony mint a bzip2 de használata nagyjábból megegyezik a bzip2 ével.
tar: Valójábanegy fájl összegzű archiváló program. Mely arra hívatott hogy sok fájlból egy et csináljon ugy hogy azokat később szét is tudja szedni pont ugyanúgy. Mivel a legtöbb tömörítés előbb tömörít s csak aztán összegez a tar bzip2 páros (estleg tar gzip páros) jóval nagyobb hatékonyságot mutatthat. kitömöríteni a -xjf (gz (vagyis gzippel tömörített fájl estetén ) -xzf) kapcsolóval tudunk. -x a kicsomagolás -j (vagy -z ) a tömörítő amit a szétválasztás előtt használ. -f pedig hogy mindezt fájlokba tegye ne a képernyőre.
sleep src # tar -xjf linux-2.6.15.2.tar.bz2
sleep src # rm linux-2.6.15.2.tar.bz2
sleep src # ls -l
drwxrwxrwx 19 root root 4096 feb 2 17:21 linux-2.6.15.2
sleep src #
Összegezni pedig a -c vel tudunk amihez hozzá jönn a -f hogy ez is fájlba történjen a -f után viszont most a cél fájl nevét is meg kell adni. utána a könyvtárat amit összegezni szeretnénk.
sleep src # ls -l
drwxrwxrwx 19 root root 4096 feb 2 17:21 linux-2.6.15.2
-rw-r--r-- 1 root root 228659200 feb 2 17:31 linux-2.6.15.2.tar
sleep src #
A tar használatakor a fájl mérete nem csökken. csökkenést a fájl későbbi tömöritése okoz (lásd bzip2)
links: Tipikus egyszerű szöveges böngésző. kezeli a frameket. G betővel tudunk neki url tadni iánybillentyűkkel vezérelhetjük. q val ki tudunk lépni.
lynx: Egyszerübb felépítésű mint a links és talán régen népszerűbb is volt. De kezelésük nagyjából megegyezik.
mc: (Midnight Commander) Egy teljesen powerull file manager. A szokásos funkciókkal irány billentyükkel le fel járhatunk, tabbal panel váltás (jobb, ball panel) F3 bele tekint a fájlba, F4 fájl szerkesztés, F5 másolás, F7 áthelyezés, F8 törlés, F9 felső menü sáv, F10 kilépés, CTRL+O ra vissza tér a háttér terminálra. Talán a legnépszerűbb nyilt forrás kodu fájl manager. Nem hiába.
nmap: Setgítségével megállapíthatjuk hogy gépünk vagy más gépen mely porton milyen szolgáltatások futtnak. Később vissza térünk rá.
- Névtelen blogja
- A hozzászóláshoz be kell jelentkezni
- 1067 megtekintés
Hozzászólások
TestB.
Höhö.
Érted.
- A hozzászóláshoz be kell jelentkezni
Höhö :P Ez szar poén :P
- A hozzászóláshoz be kell jelentkezni
Legyen inkább 4 dik fejezett van egy álltalános programokkal foglakozó is ...
- A hozzászóláshoz be kell jelentkezni
Nézd át, van benne néhány elütés, elírás (egybe-, különírás stb.) stb.
- A hozzászóláshoz be kell jelentkezni
ennyi semmi kritika vélemény ?:P
- A hozzászóláshoz be kell jelentkezni