• [törölve]

Na az oktális jogosultságokkal való listázásból kinőtte magát ez a szép prograny. Korábban írtam egy hasonlót, de nagyon randa volt hogy az ls kimenetét lemezre irandó állományba menti ki, majd azt visszaolvassa, s jön egy undorító szövegfeldolgozás. E mostani nem követ el ilyen illetlenséget, és többet is tud annál. Aztán, ez rendesen C++ nyelven van írva, full objektumorientált, stb. Hogy mit tud? Ideírom a helpjének a kimenetét. Már amiatt is, mert ötleteket várok a továbbfejlesztésre. A progim már képes & kapcsolatot létesíteni két tartalomjegyzék közt, azaz kilistázza azon tételeket amiket egyezőnek talál. Hogy mikor tekint két bejegyzést egyezőnek, természetesen a legapróbb részletekig szabályozható-paraméterezhető. Itt már hajnal 2 óra van, azaz ennek párja, hogy a különbségeket listázza ki, "holnapra" marad... az azt hiszem a "-" műveletre lesz téve. Ugye kivonja az egyik könyvtárból a másikat. Operator overloading rulez! De remélem míg alszom, tele lesz e fórum hasznos ötletekkel meg 6letekkel, hogy mit tudjon még. Mivel még fejlesztem, nem tettem fel sehova a forráskódot, minek amikor úgyse sokakat érdekel erre a parancssor, de aki kéri, csak küldjön nekem email, s elküldöm neki csatolva a forrást. E programot készítette: Viola Zoltán ( violazoli@gmail.com ) A program neve: "hacker_ls" Licenc: GPL Mit csinál: "full-extra-de-luxe" könyvtárlistázó rutin például kiírja a fájlok jogosultságát 4 oktális számjeggyel, eképp: 0777 Rendesen lekezeli az USERID, GROUPID és STICKY biteket is. (Ezek a kilistázott 4 karakteres oktális szám legnagyobb helyiértékű azaz baloldali számjegyét alkotják). Így kell lefordítani: g++ -funsigned-char -funsigned-bitfields -Wall -Wno-long-long -Wunused -Wextra -pedantic hacker_ls.cpp -o hacker_ls Használat: hacker_ls — ez az aktuális könyvtárban listáz, alapbeállításokkal hacker_ls -? — kiírja ezt a helpet hacker_ls -h — kiírja ezt a helpet A program legáltalánosabb használata: hacker_ls [kapcsolóstring] [formátumstring] [listastring] [könyvtárneve] [másodikkönyvtárneve] [relációstring] Ez azt jelenti, hogy egyetlen paramétert se kötelező megadni (ezt jelzi az, hogy szögletes zárójelekben vannak) A paraméterek sorrendje tetszőleges. A progi onnan tudja, melyik paraméternek mi a szerepe, s megadtuk-e egyáltalán, hogy hány mínuszjellel kezdődik a paraméter. A kapcsolóstring balelső karaktere kötelezően mindig egy mínusz jel ('-'), és a balról a második karaktere soha nem mínuszjel, a formátumstringnek ellenben mind a két baloldali első karaktere mínuszjel, de a harmadik sosem. A listastringnek az első 3 karaktere mínuszjel. Az első könyvtár neve ellenben soha nem kezdődhet mínuszjellel. A második könyvtár neve 4 mínuszjellel kell kezdődjék, a relációstringé pedig 5-tel. A formátumstring határozza meg, milyen adatokat írjon ki a kilistázandó állományokról, milyen sorrendben és formátumban. A kapcsolóstring segítségével mindenféle módon befolyásolhatjuk a munkáját. Csak egy kapocsolóstringet, egy formátumstringet, egy relációstringet és egy listastringet adhatunk meg. Amelyiket nem adjuk meg, ott az alapértelmezett beállítás lép életbe. Ezek a következők: Könyvtárneve: "." Második könyvtárneve: "." Kapcsolóstring: "-o" Formátumstring: "--%d %H %3l %15T %15G %20m %30n %> %L" Listastring: "---DLRBCFSM" Relációstring: "nLlm" A kapcsolókból akármennyit meg lehet adni, egyetlen "-" jel után, pld: -p01 Egy példa a használatra: hacker_ls ./teszt ----/home/user/proba "-&o0V" "--%20m %30n %> %L" -----N ---LR A listastring a D,L,R,B,C,F,S,M betűket tartalmazhatja tetszőleges sorrendben, s ez azt jelenti, hogy az ezen betűk előfordulási sorrendjében listázza ki a betűk által jelképezett típusú tartalomjegyzék-bejegyzéseket. A betűk jelentése: D: altartalomjegyzék, R: közönséges(reguláris) fájl, L: szimbolikus link, B: blokkdevice, C: karakteres eszköz, S: socket, F: fifo, M: minden egyéb Ha más betűt talál a listastringben, akkor mindent kilistáz. Például a ---DLR listastring azt mondja, hogy előbb listázza ki az összes alkönyvtárat, majd az összes szimbolikus linket, majd az összes reguláris fájlt. Természetesen mindet ABC sorrendben listázza ki. A kapcsolók jelentése: p = listázza a rejtett tartalomjegyzékeket is (amiknek a neve ponttal kezdődik). (kis p) P = Az állományok nevét a PATH-tal, azaz az elérési útvonallal együtt listázza ki. (nagy P) Ez nagyon hasznos lehet akkor, ha a hacker_ls programot valami szkriptbe ágyazzuk bele, ahol fel akarjuk dolgozni a kimenetét. Erre alább látunk is majd példát. o = kirírja a lista végére az altartalomjegyzékek és a fájlok darabszámát 0 = A 0 (nulla) kapcsoló esetén listázza a törött symlinkeket is, különben ugyanis kihagyja őket. 1 = Az 1 (egy) kapcsoló esetén NEM listázza a NEM törött symlinkeket, CSAK a törötteket. Ez csak akkor működik, ha a -0 kapcsolót is megadtuk! Vagyis ha a symlinkek közül CSAK a törötteket akarjuk kilistáztatni, akkor a -01 (vagy a -10 mert a sorrend lényegtelen) kapcsolókat mind meg kell adni. Ha például az aktuális tartalomjegyzékben kizárólag a symlinkeket akarjuk kilistáztatni, közülük is csak a törötteket, akkor így hívjuk meg a programot: hacker_ls -01 ---L Egy trükk: Tegyük fel, az adott tartalomjegyzékben meg akarjuk keresni az összes törött symlinket, és törölni akarjuk mindet. Ezt ezzel a szkripttel érhetjük el: #!/bin/bash for i in `hacker_ls -01 ---L --%n` do rm "$i" done Ha pedig nem az aktuális tartalomjegyzékben akarjuk megkeresni és letörölni a törött symlinkeket, akkor használjuk ezt a szkriptet: #!/bin/bash for i in `hacker_ls -P01 ---L --%n $1` do rm "$i" done E fenti szkript használata: TISZTIT konyvtarneve (amennyiben úgy neveztük el e szkriptet, hogy "TISZTIT") V = bőbeszédű üzemmód. Ilyenkor például tartalomjegyzékek összehasonlításánál kiírja a lista elejére, mely mappák közös elemeit listázza ki épp. & = A két megadott tartalomjegyzéket hasonlítja össze, és kiírja azokat az állományokat, amiket EGYEZŐNEK talált. Az hogy mikor tekint két állománybejegyzést egyezőnek, a relációstringtől függ, azaz attól ami 5 mínuszjellel kezdődik. A benne felsorolt karakterek jelentései közt ÉS kapcsolat van azaz mindegyiknek teljesülnie kell az egyezésnek tekintéshez! A jelentések: N : A két bejegyzés NEVE azonos L : Ha symlinkről van szó, egyeznie kell azon neveknek is amikre a symlinkek mutatnak. (többszörös láncolást nem követ végig, csak a közvetlen célt vizsgálja) l : Nem egyezik 2 állomány ha az egyik symlink a másik nem, vagy ha mindkettő symlink, de az egyik törött. m : A fileméretek egyezőek d : A fájltípusok egyezőek H : A jogosultságok egyezőek t : egyezik a tulajdonos g : egyezik a csoport V : egyezik az utolsó változtatás ideje E : egyezik az utolsó elérés ideje M : egyezik az utolsó módosítás ideje b : egyezik az EXT filerendszer összes speciális flagja (pld IMMUTABLE bit, stb) A formátumstringre vonatkozó szabályok: A formátumstringben a speciális jelentéssel bíró karaktereket a % jel kell megelőzze. Ha a % jelet olyan karakter követi melynek nincs meghatározott jelentése, kiírja a % jelet is és e karaktert is. Ami karaktert nem előz meg % prefix, azt is kiírja. A speciális karakterek: %% - a % jel %/ - újsor karakter %d - egy karakter, mely az állomány típusát jelzi. Ezek a következők: d: altartalomjegyzék (azaz könyvtár), -: közönséges(reguláris) fájl, l: szimbolikus link, b: blokkdevice, c: karakteres eszköz, s: socket, f: fifo, ?: ismeretlen %H - a chmod parancsnál oktális módon megadható mind a 4 számjegy egymás után, azaz hosszú formában kiírva a fájl jogai oktális módon. %r - a chmod parancsnál oktális módon megadható 3 számjegy egymás után, azaz rövid formában kiírva a fájl jogai oktális módon. %l - a fájla mutató hard linkek számát írja ki. %i - az inode-number számát írja ki. %T - A tuladonos neve %t - A tuladonos userid számát írja ki %G - A csoport neve %g - A csoport groupid számát írja ki %m - Az állomány mérete %I - Az ioblocksize értéke %b - Az EXT fájlrendszerre jellemző nem POSIX-szabvány szerinti speciális bitek (flagek) értéke egyetlen decimális egész számként. (unsigned long int). %B - Az EXT fájlrendszerre jellemző nem POSIX-szabvány szerinti speciális bitek (flagek) értéke STRINGként. Pontosan úgy, ahogy azt az lsattr parancs írná ki. %A - Allokált blokkok száma (allocatedblocks) %V - Az utolsó változtatás dátuma és ideje %v - Az utolsó változtatás dátuma (csak a dátum, eee.hh.nn formában) %y - Az utolsó változtatás ideje (csak az idő, OO:PP:SS formában) %f - Az utolsó változtatás ideje (csak az idő, OO:PP formában) %u - Az utolsó változtatás dátumának napstringje (pontosan 3 karakter) %z - Az utolsó változás dátuma napjának számkódja (0=vasárnap, 1=hétfő, stb) pontosan 1 számjegy %E - Az utolsó elérés dátuma és ideje %e - Az utolsó elérés dátuma (csak a dátum, eee.hh.nn formában) %Y - Az utolsó elérés ideje (csak az idő, OO:PP:SS formában) %F - Az utolsó elérés ideje (csak az idő, OO:PP formában) %U - Az utolsó elérés dátumának napstringje (pontosan 3 karakter) %Z - Az utolsó elérés dátuma napjának számkódja (0=vasárnap, 1=hétfő, stb) pontosan 1 számjegy %M - Az utolsó módosítás dátuma és ideje %a - Az utolsó módosítás dátuma (csak a dátum, eee.hh.nn formában) %Q - Az utolsó módosítás ideje (csak az idő, OO:PP:SS formában) %X - Az utolsó módosítás ideje (csak az idő, OO:PP formában) %q - Az utolsó módosítás dátumának napstringje (pontosan 3 karakter) %x - Az utolsó módosítás dátuma napjának számkódja (0=vasárnap, 1=hétfő, stb) pontosan 1 számjegy %n - Az állomány neve %J - Az állomány jogainak 9 karakter hosszú stringje, a megszokott "rwxrwxrwx" stílusban. Én e módszert nem kedvelem, mert helypazarló, kezdőknek, "mazsoláknak", "r=0" usereknek való, "Igaz Kocka" megvetéssel fordul el e stílustól, de hátha valaki olyan perverz, hogy ezt szeretné épp használni. %L - Azon állomány neve, amire a symlink mutat %> - e kapcsoló esetén, ha symlinket iratunk ki, a symlink neve előtt kiír egy "=>" karakterpárost ha a link élő, illetve egy "->" párost ha a link törött. Ha nem linket iratunk ki, akkor csak 2 darab szóközt ír ennek a helyén. azért, hogy a mezőhossz megmaradjon. A formátumstringben megadható bizonyos tételek mezőhossza és igazitási módja. Azon tételeknél, melyek hossza változó lehet. Ezek a következők: %l, %T, %G, %m, %n, %L A hossz és formátummegadás a következőképp történik: %j15m - ez a méretet 15 karakteres mezőben írja ki, jobbra igazítva. %j30n - ez a file (vagy a könyvtár) nevét 30 karakteres mezőben írja ki, jobbra igazítva. %b15m - ez a méretet 15 karakteres mezőben írja ki, balra igazítva. %b30n - ez a file (vagy a könyvtár) nevét 30 karakteres mezőben írja ki, balra igazítva. Hasonlóképp adhatjuk meg a többi felsorolt mezőnél is. Ha nem adunk meg b vagy j karaktert csak számot, akkor alapértelmezés szerinti irányba igazít. Ez a következő: nevek esetében ( %T, %G, %n, %L ) balra igazít, számok esetében ( %l, %m ) jobbra. Például: %20m egy 20 karakteres mezőbe írja ki jobbra zárva a méretet. %20n egy 20 karakteres mezőbe írja ki balra zárva a file nevét. Ha nem fér bele a mezőhosszba a kiiratandó adat, akkor nem veszi figyelembe a mezőhosszat hanem kiírja az egészet. Ha olyan adatnál adunk hossz-specifikációt (akár j vagy b-vel együtt akár enélkül) amely fix hosszúságú, azaz nem a fentebb felsoroltak valamelyike, akkor azt a hosszt egyszerűen nem veszi figyelembe, hanem kiírja a maga megszokott fix hosszúságában. Például: %45H vagy %j45H - ez hiába adtunk meg 45-öt, akkor is csak 4 karakter hosszan írja ki a file jogosultságainak oktális értékét.

Hú, ez nagyon király! viszont szerintem igenis közzé kéne tenni a kódodat, ha még nem is tökéletes, hogy mások, akik kevésbé értenek a témához, tanulhassanak belőle. Én például nagyon örülnék neki. Amúgy nem merült fel benned, hogy a launchpadra kiteszed, vagy a githubra? Tök sok király projekt van kint, és még wikije is lehet, ahol a leírását mindig karbantarthatod. Valamint - nekem tök kéne egy ilyen program, mármint könyvtár különbség listázó, mert nem rég "tértem meg" ubuntura, és hiányzik a total commander hasonló funkciója. a wine-t meg még nem sikerült belőnöm, hogy menjen alatta. Amúgy te hogy lettél hekker? Én is szeretném megtanulni, már persze jó értelmben, a hackelést. Sajnos a suliban csak winfost oktatnak, abból is csak ilyen hülyeségeket, hogy office meg ilyenek, és ráadásul nem is libreofficet, pedig szerintem az is tök jó!

    yozsi88Az általad tanult operációs rendszer neve helyesen: Windows.

    • [törölve]

    yozsi88Kedves Yozsi, egész meghatódtam: te vagy az első az életemben, aki hekkernek (vagy hackernek) szólított! Igazából cseppet sem vagyok ám biztos benne, megillet-e engem ez a megtisztelő cím. De mindenekelőtt: gyorsan segítek neked. Ha nem félsz a parancssor használatától, vagy legalábbis nem nagyon, akkor ott üsd be, hogy mc mire felugrik neked egy olyan kis kétpaneles prograny, mint a szeretett windózod alatt a Norton Commander (ha ismerted azt netán). Elvileg magyar nyelvű lesz. És ennek a menüjében találsz ám olyat, ami a könyvtárakat összehasonlítja neked... A "winfos" írásmód miatt ne izgulj, e fórumon sokan ezt nem szeretik, nem tudom miért, de én is gyakran így írom. Teljesen megértem az érzelmeidet. Hekkernek lenni... Ne azt akard hogy az legyél. Aki ezért küzd, sosem lesz az. Bárki az lesz azonban, aki IGAZÁN szeret valamit, és állandóan azzal foglalkozik. Én például főleg irodalomból vagyok "hekker": eddig írtam 57 regényt (sci-fi) és sok apróságot. A számítástechnikával még akkoriban kezdtem foglalkozni amikor a C-64 volt "nagy gép". Gépi kódban programoztam, írtam rá saját programnyelvet(oprendszert) is. Azon a gépen ez a kettő nem különült el élesen egymástól. Temérdek idődbe kerül mire "hekker" leszel bármiben is. Ez nem a számtech sajátja. Ha autók bütykölésében akarsz hacker lenni ott is ugyanez megy. (csak az több pénzedbe kerülne). Én például nem járok kirándulni, meg kocsmákba, meg nők után, nekem ez a szórakozás. Az életem. Nem munkának tartom hanem élvezetnek. El se tudom képzelni, hogyan élhetnék számítógép nélkül. Mindent ezen csinálok: filmet nézek, zenét hallgatok... és programozom. Jellemző a hackerekre (rám is) hogy képtelen mennyiségű időt képesek beleölni egy feladat elvégzésébe, amit mások feleslegesnek tartanak. Például azt kutattam, hogyan lehet beállítani, hogy a NumLock bekapcsolva legyen már a gép elindulásakor. Megoldottam. Nehogy már minden induláskor eggyel több gombot kelljen lenyomnom, hát az barbár nyomor! De egészen biztos hogy mire megoldottam, több időmbe tellett mint amit annak az egy gombnak a plusz lenyomása a hátralevő életem alatt összesen igénybe vett volna. Ha itt hacker akarsz lenni, okvetlenül meg kell ismerkedned a parancssorral, és hiába fikáznak engem egyes "hobby-linuxozók", követned kell a példámat hogy előnyben részesíted a parancssoros alkalmazásokat ha teheted. Másképp nem szoksz ehhez hozzá. Grafikus progikat a hülye is tud használni. Abban semmi pláne nincs. És ha erre jön valaki hogy ő a gépet használni akarja és nem programozni meg a rendszert túrni, vonj vállat és mondd neki hogy igaza van akkor ő tegye azt. Az ő dolga. Épp csak az olyan fickóból soha a büdös életben nem lesz hekker. A hekkerre épp az a jellemző, hogy a gépet nem csak munkaeszköznek tartja, hanem a barátjának is, és SZERETI túrni a rendszert. Őt igenis ez boldogítja. Ha olvasod a blogomat itt e fórumon, abban számos okosságot találsz, miként tedd egyedivé a masinádat, például saját billentyűzetkiosztás csinálása, stb. Egy hacker szereti, ha a masinája vagy legalábbis az általa használt szoftverkörnyezet egyedi. És meg kell tanuld ezért a "héjprogramozást", azaz legalább egyszerűbb shell szkriptek írását. Van erre jó magyar könyv, egy Büki nevű úr írta. A progik amikben minimum el kell mélyedned ehhez: bash, sed, grep, awk, s ismerned kell a "szabályos kifejezések" (regular expression) lélektanát. "Igazi" programnyelvnek pedig kizárólag a C és később a C++ elsajátítását javaslom. Sokan fújolnak hogy a C felett "eljárt az idő", meg az "nem kezdőknek való", stb. Hát nézd, ha csak annyit akarsz tudni hogy a géped minden bekapcsolásnál kiírja az aktuális névnapot a képernyőre s erre írj egy programot, akkor nem muszáj a C. De komolyabb munkára igenis az kell. Meg a C++. Persze van sok más okosság is, PHP, Python, Perl, de szerintem ha mondjuk a Perl-be kezdesz, hát izé, hamar rájösz hogy a C fényévekkel könnyebb. És elterjedtebb. És minden normális rendszerben van C fordító. A PHP meg főleg szerveroldali feladatokra való. A Python nem tudom milyen, bevallom azt nem ismerem, de első ránézésre hasonlít a C-re, azaz ha a C jól megy neked később a pythont könnyen megtanulod. És nekem a C-64 után az első nyelv amit megtanultam itt a C volt. Senki nem segített, és rém szar irodalmam volt hozzá. NEM TARTOTTAM NEHÉZNEK. Lehet persze ez egyéni ízlés kérdése is. Később amikor mutattam valakinek a könyvet amiből tanultam, azt mondta, meghajtja a fejét előttem hogy nekem ez ebből ment, otthon, tanfolyam nélkül, mert ez a létező legszarabb könyv hírnevét érte el. Ma már vannak sokkal jobb szakirodalmak is. A hekker életét leginkább épp a szakirodalom hiánya keserítheti meg. E programomban a legnagyobb kihívást nekem egy nyúlfarknyi kis rutin okozta, ami az EXT fájlrendszer-specifikus flagek beolvasását végzi. Végül nem maradt más hátra a számomra, mint elővenni az lsattr forráskódját, s végigelemeztem azt. Sorra elkezdtem mindent kigyilkolni belőle amiről úgy gondoltam hogy felesleges. (A // és /* ... */ a barátom: Amikor nem működött, újra engedélyeztem a részeket... ) A végén nem maradt csak egy fél képernyőnyi rutin. (Persze ekkor már nem is szépen karakterekkel listázta nekem a biteket csak egy egész számot írt ki, de ez nem zavar). Ennyi lett belőle: #define HAVE_EXT2_IOCTLS #ifdef O_LARGEFILE #define OPEN_FLAGS (O_RDONLY|O_NONBLOCK|O_LARGEFILE) #else #define OPEN_FLAGS (O_RDONLY|O_NONBLOCK) #endif int fgetflags (const char * name, unsigned long * flags); int fgetflags (const char * name, unsigned long * flags) { int fd, r, f = 0; fd = open (name, OPEN_FLAGS); if (fd == -1) return -1; r = ioctl (fd, EXT2_IOC_GETFLAGS, &f); *flags = f; close (fd); return r; } Természetesen a "flags" tartalmazza majd a flagek bitmezőjét. Ezért a kis részért vagy 3 napot küzdöttem... Ehhez képest a programom összes többi része egy "laza csuklómozdulat" volt, rutinmunka. Így ránézve persze nincs ebben sem semmi különös, TECHNIKAILAG nem bonyolult, csak amíg rájöttem, mert azok a francos leírások illetve azok hiánya... Wiki akkor kell majd ha a program kész lesz. De ha neki akarsz esni hogy nézegesd, leírtam mit kell tenned: küldesz nekem egy email címet, s arra elpostázom neked. Nagyon szívesen, mert miért is ne...

      • [törölve]

      KendekAmíg a W$ készítői teljesen alaptalan FUD kampányokat (=ujjukból szopott félrevezető rágalmakat) terjesztenek a Linuxról, addig szerintem ez igazán a minimum amihez jogunk van. Amilyen az adjonisten, olyan a fogadjisten. Nincs rá törvény, hogy egy linuxos szent kell legyen.

      • [törölve]

      KendekJa és az intelligenciát nem ebben kell lemérni, hanem hogy miként viselkednek egy kezdővel szemben a linuxosok. Vagy akár a nem egészen kezdőkkel is ha valami nem hétköznapi dologgal foglalkozik vagy abban kérdez. Mint velem is sokszor megesik. Aztán jönnek a trollok ugye... Na ehhez kéne az intelligencia, hogy ez ne így legyen...

      [törölve]Ha akarsz, tekints trollnak, nem számít. Nem értek veled egyet több helyen sem. mc Tudtommal előbb fel kell telepíteni, nem az alaptelepítés része. Windows. „ ...követned kell a példámat hogy előnyben részesíted a parancssoros alkalmazásokat ha teheted. Másképp nem szoksz ehhez hozzá. Grafikus progikat a hülye is tud használni. Abban semmi pláne nincs.” Ezt nem is kommentálom. Azért megkérdezném kinek akarsz programot írni. Magadnak és még néhány barátodnak, vagy szélesebb körnek. Mert ha szélesebb körnek, akkor nem tehetsz az ő véleményükre, géphasználati szokásaikra. Vagy ne csodálkozz a körülötted folyamatosan kialakuló vitákra. Python: Nyugodtan választhatja elsőnek is. Komoly irodalom, rengeteg tutorial, segítők. Nagyon jól használható nyelv. Illetve abszolút kezdőknek is bátran merem ajánlani a Gambas-t. Aránylag hamar lehet sikerélmény, és ez hatalmas mozgatórugó a tanulásban.

        rapfenNe csodálkozz rajta. Mindig talál magának valamit amit minden végső határon túl ideologizálhat. Különösen akkor, ha másoknak ez nem tetszik. Pedig tudhatná hogy semmi sem fekete és fehér, hanem az a bizonyos "szürke" zóna hordozza magában a lényeget.(pl. az mc grafikus program, és igenis az, az, az...)

        • [törölve]

        rapfenJobb helyeken az mc az alaptelepítés része. Lehet hogy ubiban nem. Na és? sudo apt-get install mc Ezt bepötyögi és van mc-je. Ezen felül csak arra érdemes válaszolnom a felvetéseid közül, kinek akarok programot írni. Válaszom: is-is. Megoszlás: 99% -ban: MAGAMNAK. 1%-ban: A velem hasonló ízlésű mukiknak. Ha az 1% mennyiségileg 0 fő lesz, amint látod azzal se vesztek sokat. De azért közzé teszem, mert nekem semmibe se kerül, s hátha lesz a Linuxot magyar nyelven használók táborából még - jó esetben - akár egy teljes tucatnyi ürge is, akinek tetszik a dolog. Általában különben régen rossz ha valaki MÁSOKNAK ír programot. Az ugyanis munka. Nem élvezet. Ha munka, akkor vagy pénzt kér érte, vagy ha nem, akkor magasan tesz a minőségre, mert "ingyen van örülj neki így is bameg!". Az igazi hacker (vagy aki kissé hasonlít rájuk) mindig MAGÁNAK ír meg valamit, mert élvezi, mert érdekli a téma. Örömmel csinálja. És ezért sosem olyan lesz amilyennek azt MÁSOK szeretnék látni, hanem amilyent ő megálmodott, amilyennek Ő MAGA szereti. Önzés? Lehet. De ő ilyen. MŰVÉSZ. Bit-művész. Abba se illene beleszólni, a Mona Lisát milyennek kéne mások szerint megrajzolni ugye... Aztán a hacker közzéteszi a programját. Örül, ha dicsérik érte. De ez nem olyan nagyon fontos. Neki már az is boldogság hogy van a feladatra egy program, ami épp olyan, amilyennek ő azt szereti. Én még a regényeimet is elsősorban magamnak írom, nemhogy a programokat... Lehet hogy a python jó nyelv. De ha továbblépek a C++ -ról, nekem minden bizonnyal a D nyelv jön majd. Az tűnik logikus fejlődési lépésnek.

        • [törölve]

        Na már tudja a kis aranyos a könyvtárak különbségét is képezni. És arra is van kapcsoló, hogy amennyiben a tételek nevét a teljes elérési útvonallal együtt jelenítjük meg, abban (ha kívánjuk) a kezdő "." karaktert (amennyiben van olyan) behelyettesítse az aktuális könyvtár teljes útbonalával. Azaz ha mondjuk a /home/juzer/munka könyvtárban van egy file.txt fájl, és meghívjuk a progit hogy hacker_ls -P~ akkor (mivel nem adtunk meg könyvtárt s így alapértelmezés szerint az a "." -ra értelmeződik) ezért a file.txt állomány neve úgy fog megjelenni, hogy /home/juzer/munka/file.txt Ha így hívjuk meg: hacker_ls -P akkor meg így: ./file.txt Ha meg így hívjuk meg: hacker_ls akkor ezt látjuk: file.txt Az efféle teljes útvonalra való kiegészítés akkor jöhet jól, ha a kimenetét továbbküldjük pipe-vel további feldolgozásra, vagy fájlba irányítjuk.

          [törölve]Szia! Nagyon érdekel a C programozás, és szeretném megtanulni. Az iskola könyvtárában van egy könyv, aminek Együtt könnyebb a programozás C a neve. Ezt ismered? Mi a véleményed róla: Mi volt az a angyon rossz könyv, ami neked sok bosszúságot okozozz? Azt szeretném elkerülni mindenképp. Én még nem szabtam testre az ubuntumat, mert még csak most ismerkedem vele. Az mc programot telepítettem, ahogy írtad. Először nem találtam, de aztán kerestem az interneten, és megtudtam, hogy azt a terminálban kell futtatni, nem grafikus, mint a total commander. De ez így jobb is szerintem, mert tényleg tök hülyeség csak a fájlok neveiért grafikus rendszert csinálni, amikor az csak szöveg. Gondolom sokkal gyorsabb ez a linuxos program, mint a total commander - bár a másolásokban nem találtam sokkal gyorsabbnak, pedig szerintem jobban optimalizált, mivel nem grafikus program. Ezt azért kicsit furcsállom, de biztos megvan a magyarázata. Köszönöm a tanácsot, anélkül nem sikerült volna telepítenem, csak a grafikus felületen, de így tök sokat tanultam belőle.

            yozsi88"De ez így jobb is szerintem, mert tényleg tök hülyeség csak a fájlok neveiért grafikus rendszert csinálni, amikor az csak szöveg." Valóban, tök jó leimplementálni a görgetést, a kurzor mozgást, a szegélyeket egy 50 éves technológia segítségével. Sokkal jobb mint meghívni egy kész programkönyvtárat.

              taxy443Várj csak pár hónapot. :-) Tudod hány ilyet láttam, aki beregisztrált, hogy ő már néhány hete Ubuntu meg Linux hívő, meg parancssor az isten. Aztán jó esetben csak eltűntek néhány hónap múlva a ködben, és sose látni őket az aktívak közt. Rosszabb esetben pedig munkát adnak a moderátoroknak a ... Linux, és mit csináljanak a felhasználók című topikokkal. Van pár ilyen mentett oldalam. :-) Szóval nyugtával dicsérd a napot. Majd 2-3 év aktív használat után vissza lehet térni rá.

                yozsi88"Gondolom sokkal gyorsabb ez a linuxos program, mint a total commander - bár a másolásokban nem találtam sokkal gyorsabbnak, pedig szerintem jobban optimalizált, mivel nem grafikus program. Ezt azért kicsit furcsállom, de biztos megvan a magyarázata." Vár még rád pár év tanulás.

                  • [törölve]

                  rapfenNos, ebben bizony sajnos kénytelen vagyok igazat adni neked. Nagyon sajnos. Marhára nem szívesen. De micsinyájjak, ebben egyetértek, mert ez amit leírtál, többnyire bizony így van. Annyira így, hogy terminál se kell hozzá. A legtöbb új "Linux-hívő" nemhogy a termináltól kikészül, de már attól idegrángást kap, ha valamelyik program ami nem az alaptelepítés része, mondjuk Skype, olyan rém bonyolultan tehető csak fel, hogy mondjuk engedélyezni kell hozzá egy tárolót. Aztán az van hogy így ismerkedik a rendszerrel talán 3 órát is (de ennyi időt is csak a különösen makacs ürgék szánnak rá) és menekül vissza az elektronikus Liberójához, aminek Windows a neve, mert azt már ismeri, újat tanulni nem akar, vállalja inkább az ismert nyűgöket, neki ugyanis kell a szellemi pelenka, az olyan "tiszta és száraz érzés"...

                  • [törölve]

                  a mester+1 az utolsó sorodra. Kivételesen. Mert ebben meg neked van igazad. De azért ne ítéld el, kezdő még, és mindenki így kezdte.

                  • [törölve]

                  yozsi88Ehm... Figyu. A fájlmásolás sebessége rengeteg mindentől függhet, de tutira nem attól, hogy ehhez grafikus vagy parancssoros progit használsz. Parancssort ne azért használj, hogy a program maga gyorsabb legyen. Igazából e postod után biztos vagyok benne, hogy EGYELŐRE semmi szükséged még parancssorra. Ne érts félre, nem megalázni akarlak, nem ítéllek el és még hülyének se tartalak. De higgy nekem: ha most nagyon belemászol ebbe, annyi minden rengeteg bajod lesz hogy hamarosan megbánod mint a kutya ami hetet kölykedzett és mész vissza kedvenc windózerodhoz. Aztán majd terjeszted a wines fórumokon, hogy te adtál egy lehetőséget a Linuxnak de az még a windowsnál is messze szarabb. Én imádom a parancssort, de előbb tanuld meg kezelni a gépedet magabiztosan a hétköznapi feladataidban. Az ubi olyan, hogy általában nem muszáj hozzá a parancssor ismerete a napi munkákban. Az igaz hogy ha a parancssort nem ismered, nem ismered a Linuxot igazi mélységeiben, s nem is nevezheted magadat nemhogy hackernek, de még csak "power user"-nek sem. De egy házat se kezdhetsz építeni az ötödik emelettől kezdve. A fájlmásolás sebessége főleg attól függ, hogy milyen gyorsan pörög a merevlemezed, mekkora a lemez puffere, mekkora a RAM-od, milyen gyors a géped adatbusza, milyen fáljrendszert használsz és az épp mennyire töredezett, sőt, hogy épp mit másolsz: tízezer 1 megabájtos fájl átmásolása lényegesen lassabb, mint egyetlen tízezer megabájtos fájl másolása! Meg hogy az épp a fájlokat másoló program mellett hány másik program igényel épp abban az időtartamban lemezműveleteket. És van még pár dolog, amitől függhet ezeken kívül is a fájlmásolás sebessége. De attól hogy grafikus felületen oldod-e meg, attól úgy körülbelül - nem hiszem hogy túlzok - mindössze talán néhány milliszekundumot. A parancssoros programok előnye nem ez. Hanem: - méretben kisebbek, azaz kevesebb helyet foglalnak a lemezen neked. Ez néha fontos lehet, hogy ugye mennyi fér rá egy CD-re vagy pendrájvra. - A memóriaigényük pláne SOKKAL kisebb, ugyanazt a feladatot megoldó grafikus program nemritkán tízszer is több RAM-ot eszik mint a parancssoros. (sőt, annál is többet...) - Grafikus programoknak sok a függőségük. Azaz néha egyáltalán nem is futnak bizonyos disztrók alatt, hacsak nem telepítesz nekik annyi egyéb másik programot is, amik kitesznek egy újabb fél disztrót. - Egy parancssoros program az esetek többségében sokkal rugalmasabban paraméterezhető (parancssori kapcsolókkal, illetve részben config fájlokkal) mint a grafikus programok. - A parancssoros programok szkriptekbe ágyazhatóak, azaz a kimenetük továbbítható más programok számára további feldolgozásokra. (Én főleg ezt tartom a legislegnagyobb előnyüknek). - A parancssoros programok olyan disztrók alatt is alkalmazhatóak, amiknek egyáltalán nincs is semmiféle grafikus felületük. Sok ilyen disztró van. Főleg szerver célra. Egyelőre ne programozni tanulj. Az helyes és nemes cél, nem is akarlak lebeszélni róla, még a C nyelv is remek választás. De ELŐBB tanuld meg magabiztosan kezelni az ubuntudat, így ahogy van, grafikusan. Ha már ezzel MINDENT meg tudsz tenni, amit korábban a Windows alatt, na AKKOR ismerkedj meg a parancssorral. És azután jöhet a C nyelv, igen. Amíg azt hiszed, a fájlmásolás sebessége jelentős mértékben a grafikus felülettől (vagy annak hiányától) függ, addig sajnos nemhogy a Linuxszal nem vagy tisztában, de még a számítógéped legalapvetőbb működési tulajdonságaival sem. Hogy őszinte legyek, ez a részedről kb olyan vélemény volt, mintha azt mondtad volna, egy autó csúcssebessége jelentős mértékben attól függ, mennyire kényelmes a sofőr ülése. Ez nem okvetlenül a te hibád, egész sereg dolog lehet amiben igazi profi vagy hozzám vagy más linuxosokhoz képest, egyszerűen nem ilyesmivel foglalkoztál eddig. De akkor se tudod mindezt. Tehát meg kell tanulnod. Ennek pedig ez a sorrendje amit leírtam neked. A "rossz C könyv" címére nem emlékszem már sajnos, de ez ne aggasszon, legkevesebb 15 évvel ezelőtt tanultam abból, mostanában már biztos más könyvek a menők e témában. Az általad írt címűt viszont nem ismerem, bocs.

                  • [törölve]

                  [törölve]Fejlődök. Eddig az egész progi egyetlen .cpp fájlban volt. De eldöntöttem, szétszedem több állományba, objektumokként. Így azokat esetleges későbbi programjaimban is könnyen használhatom majd. Persze emiatt írok hozzá egy primitív makefájlt is. Ha ezzel is megvagyok (ez nem kerül sok időbe, csak most aránylag sok melóm van a munkahelyen) akkor viszont az lesz, hogy beépítem a progimba ugyanazt, amit a "vidir" progi tud. Ami arra képes, hogy segítségével az $EDITOR változóban beállított szövegszerkesztővel szerkeszthetjük a tartalomjegyzékek bejegyzéseit, pld átnevezhetjük ott a fájlokat. Kellemetlen meglepetés ért amikor belenéztem a forráskódjába: PERL nyelven van írva! Én meg azzal soha életemben nem foglalkoztam... De most már asszem egész jól értem, mit csinál és miért. Na ha lesz egy kis időm, ezt leprogramozom C nyelven, bele a hacker_ls -be. Elvégre az amúgyis beolvassa a tartalomjegyzéket, akkor már miért ne tudhatná azt is amit a "vidir"... Az $EDITOR meghívása különben sem nehéz technikailag.

                  Ennyivel később: 9 év