<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Hogyan? &#187; bash</title>
	<atom:link href="http://hogyan.org/cimkek/bash/feed" rel="self" type="application/rss+xml" />
	<link>http://hogyan.org</link>
	<description>Linux és Windows hogyanok, leírások</description>
	<lastBuildDate>Fri, 12 Mar 2010 05:45:18 +0000</lastBuildDate>
	
	<language></language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>SFV fájlok ellenőrzése</title>
		<link>http://hogyan.org/sfv-fajlok-ellenorzese</link>
		<comments>http://hogyan.org/sfv-fajlok-ellenorzese#comments</comments>
		<pubDate>Thu, 04 Feb 2010 17:55:56 +0000</pubDate>
		<dc:creator>Bugge</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[program]]></category>
		<category><![CDATA[sfv]]></category>

		<guid isPermaLink="false">http://hogyan.org/?p=4344</guid>
		<description><![CDATA[Biztos mindenkivel előfordult már, hogy letöltött egy nagyobb fájlt, mondjuk 30Gb-t ami össze van tömörítve 100 kisebb részre. Általában ezekhez mindig mellékelnek egy valami.sfv nevű fájlt. Ezzel egyszerűen tudjuk ellenőrizni, hogy a letöltés közben megsérült-e valamelyik fájl.

Az Ubuntunak nem része alapból az ellenőrzést végző program ezért elsőnek telepítenünk kell.

sudo apt-get install cksfv

Miután telepítettük már ellenőrizhetjük [...]]]></description>
			<content:encoded><![CDATA[<p>Biztos mindenkivel előfordult már, hogy letöltött egy nagyobb fájlt, mondjuk 30Gb-t ami össze van tömörítve 100 kisebb részre. Általában ezekhez mindig mellékelnek egy valami.sfv nevű fájlt. Ezzel egyszerűen tudjuk ellenőrizni, hogy a letöltés közben megsérült-e valamelyik fájl.</p>
<p><span id="more-4344"></span></p>
<p>Az Ubuntunak nem része alapból az ellenőrzést végző program ezért elsőnek telepítenünk kell.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> cksfv</pre></div></div>

<p>Miután telepítettük már ellenőrizhetjük is a fájlokat a következő paranccsal:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">cksfv <span style="color: #660033;">-g</span> ellenorzofajl.sfv</pre></div></div>

<p>A fájl abban a könyvtárban legyen ahol az ellenőrizendő fájlok vannak.</p>
<p>Ha mindent jól csináltunk akkor a valami ilyesmit kell kapnunk:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">filename.r72 OK
filename.r73 OK
filename.r74 OK
filename.r75 different CRC
filename.r76 OK
filename.r77 OK
filename.r78 OK</pre></div></div>

<p>Itt egyértelműen látszik, hogy a filename.r75 hibás. Így csak azt az 1 fájlt kell újra letöltenem.</p>

	Címkék: <a href="http://hogyan.org/cimkek/bash" title="bash" rel="tag">bash</a>, <a href="http://hogyan.org/cimkek/program" title="program" rel="tag">program</a>, <a href="http://hogyan.org/cimkek/sfv" title="sfv" rel="tag">sfv</a>, <a href="http://hogyan.org/cimkek/ubuntu" title="Ubuntu" rel="tag">Ubuntu</a>
]]></content:encoded>
			<wfw:commentRss>http://hogyan.org/sfv-fajlok-ellenorzese/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Fájlkeresés terminálból Linux alatt</title>
		<link>http://hogyan.org/fajlkereses-terminalbol-linux-alatt</link>
		<comments>http://hogyan.org/fajlkereses-terminalbol-linux-alatt#comments</comments>
		<pubDate>Thu, 10 Sep 2009 05:39:17 +0000</pubDate>
		<dc:creator>charlie</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[használat]]></category>
		<category><![CDATA[parancssor]]></category>
		<category><![CDATA[program]]></category>

		<guid isPermaLink="false">http://hogyan.org/?p=3196</guid>
		<description><![CDATA[A most következő leírásban bemutatom, hogyan tudunk fájlokat keresni Linux terminálját (konzolt) használva, tehát nem grafikus felületről.

A keresést a find nevű programmal tudjuk végrehajtani. A programnak első paraméterként azt kell átadnunk, hogy hol keresünk, majd ezután jönnek a különböző szűkítések.
Ha kiadjuk a find parancsot paraméterek nélkül, akkor az adott mappában (könyvtárban) és az ez alattiakban [...]]]></description>
			<content:encoded><![CDATA[<p>A most következő leírásban bemutatom, hogyan tudunk fájlokat keresni Linux terminálját (konzolt) használva, tehát nem grafikus felületről.</p>
<p><span id="more-3196"></span></p>
<p>A keresést a <strong>find</strong> nevű programmal tudjuk végrehajtani. A programnak első paraméterként azt kell átadnunk, hogy hol keresünk, majd ezután jönnek a különböző szűkítések.</p>
<p>Ha kiadjuk a <strong>find</strong> parancsot paraméterek nélkül, akkor az adott mappában (könyvtárban) és az ez alattiakban lévő fájlokat és mappákat listázza ki.</p>
<p>Ha paraméterként csak egy elérési útvonalat adunk meg, akkor az ott és az alatt lévő fájlokat és mappákat listázza ki.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">find</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>charlie</pre></div></div>

<p>Lehetőségünk van több elérési út megadására is, ekkor mindegyikben keresni fog.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">find</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>charlie <span style="color: #000000; font-weight: bold;">/</span>root</pre></div></div>

<p>Pár példán keresztül nézzük, milyen paramétereket lehet átadni. a /path mappában keresek itt most.</p>
<p><strong>Üres mappák keresése</strong></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">find</span> <span style="color: #000000; font-weight: bold;">/</span>path <span style="color: #660033;">-depth</span> <span style="color: #660033;">-type</span> d <span style="color: #660033;">-empty</span></pre></div></div>

<p>A type értékkel adjuk meg, hogy mappát keresünk. A mappát itt a d betű takarja. A empty paraméterrel pedig megadjuk, hogy üres elemeket keresünk.</p>
<p><strong>Üres fájlok keresése</strong></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">find</span> <span style="color: #000000; font-weight: bold;">/</span>path <span style="color: #660033;">-depth</span> <span style="color: #660033;">-type</span> f <span style="color: #660033;">-empty</span></pre></div></div>

<p>Ugyanaz mint mappák esetén, csak itt a type f paramétert kap, ami a fájlokat jelenti.</p>
<p><strong>Fájlnévre keresés</strong></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">find</span> <span style="color: #000000; font-weight: bold;">/</span>path <span style="color: #660033;">-name</span> <span style="color: #ff0000;">'*név*'</span></pre></div></div>

<p>A name paraméterben tudjuk átadni, hogy adott fájlnévre, névtöredékre keressen. A joker karakterek használhatóak. Ne felejtsük el idézőjelek közé tenni a fájlnevet!</p>
<p><strong>Adott kiterjesztésű fájl keresése</strong></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">find</span> <span style="color: #000000; font-weight: bold;">/</span>path <span style="color: #660033;">-name</span> <span style="color: #ff0000;">&quot;*.kiterjesztes&quot;</span></pre></div></div>

<p><strong>Megadott jogú fájl keresése</strong></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">find</span> <span style="color: #000000; font-weight: bold;">/</span>path <span style="color: #660033;">-perm</span> <span style="color: #660033;">-JOGOK</span></pre></div></div>

<p>A perm kapcsolóval kereshetünk jogosultság alapján is. Ide a fájl jogokat kell megadni oktálisa, számokkal. Pl. a mindenki által írható fájlok: 666 a mindenki által írható mappák 777</p>
<p><a href="http://hogyan.org/linux-jogosultsagok">A Linuxos jogosultságokról bővebben itt lehet olvasni.</a></p>
<p><strong>Megadott kiterjesztésű és megadott jogú fájl keresése</strong></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">find</span> <span style="color: #000000; font-weight: bold;">/</span>path <span style="color: #660033;">-name</span> <span style="color: #ff0000;">'*.kiterjesztes'</span> <span style="color: #660033;">-perm</span> <span style="color: #000000;">644</span></pre></div></div>

<p>Természetesen több feltételt is megadhatunk&#8230;</p>
<p><strong>Olyan fájlok keresése amik az utolsó <em>N</em> órában lettek módosítva</strong></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">find</span> <span style="color: #000000; font-weight: bold;">/</span>path <span style="color: #660033;">-mtime</span> n</pre></div></div>

<p>Ahol <strong><em>N</em></strong>:</p>
<ul>
<li>0 esetén az utolsó 24 óra</li>
<li>1 esetén az utolsó 48 óra</li>
<li>2 esetén az utolsó 72 óra</li>
</ul>
<p><strong>Megadott (root) tulajdonosú fájlok keresése</strong></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">find</span> <span style="color: #000000; font-weight: bold;">/</span>path <span style="color: #660033;">-user</span> root</pre></div></div>

<p>A user paraméterrel megadhatjuk, hogy a megadott nevű felhasználó tulajdonában lévő fájlokat vagy mappákat keressük.</p>
<p><strong>Keresés eredményeképpen kapott fájlok törlése</strong></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">find</span> <span style="color: #000000; font-weight: bold;">/</span>path <span style="color: #660033;">-name</span> mytestfile <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">xargs</span> <span style="color: #c20cb9; font-weight: bold;">rm</span></pre></div></div>

<p>A find parancs által adott találatokat pipeon keresztül ( | ) átirányíthatjuk az xargs-nak, melynek segítségével műveleteket hajthatunk végre a fájlokkal, mappákkal.</p>

	Címkék: <a href="http://hogyan.org/cimkek/bash" title="bash" rel="tag">bash</a>, <a href="http://hogyan.org/cimkek/hasznalat" title="használat" rel="tag">használat</a>, <a href="http://hogyan.org/cimkek/linux" title="Linux" rel="tag">Linux</a>, <a href="http://hogyan.org/cimkek/parancssor" title="parancssor" rel="tag">parancssor</a>, <a href="http://hogyan.org/cimkek/program" title="program" rel="tag">program</a>
]]></content:encoded>
			<wfw:commentRss>http://hogyan.org/fajlkereses-terminalbol-linux-alatt/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Program fordítás Linuxon</title>
		<link>http://hogyan.org/program-forditas-linuxon</link>
		<comments>http://hogyan.org/program-forditas-linuxon#comments</comments>
		<pubDate>Wed, 19 Aug 2009 07:01:40 +0000</pubDate>
		<dc:creator>vladi</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[program]]></category>
		<category><![CDATA[telepítés]]></category>

		<guid isPermaLink="false">http://hogyan.org/?p=2949</guid>
		<description><![CDATA[A kezdő Linux felhasználók – a terminál használata mellett – idegenkedve tekintenek a programok forrásból történő telepítésére. Úgy vélem ez leginkább tudatlanságból fakadó előítélet csupán. Így jelen írásomban ezzel a kérdéssel foglalkozok. Igyekszem majd gyakorlati példákon át bemutatni, hogyan is zajlik ez a folyamat a valós életben. Bízom benne, hogy a cikk végére érve a [...]]]></description>
			<content:encoded><![CDATA[<p>A kezdő Linux felhasználók – a terminál használata mellett – idegenkedve tekintenek a programok forrásból történő telepítésére. Úgy vélem ez leginkább tudatlanságból fakadó előítélet csupán. Így jelen írásomban ezzel a kérdéssel foglalkozok. Igyekszem majd gyakorlati példákon át bemutatni, hogyan is zajlik ez a folyamat a valós életben. Bízom benne, hogy a cikk végére érve a kétkedők is felismerik: ez a bonyolult folyamat sem olyan komplikált, mint amilyennek első ránézésre látszik. Remélem hasznos olvasmány lesz a nyílt forrású rendszerek iránt érdeklődőknek.<br />
<span id="more-2949"></span><br />
<strong>Mikor ne?</strong></p>
<div id="attachment_3008" class="wp-caption aligncenter" style="width: 510px"><a href="http://hogyan.org/files/2009/08/OSI-logo.png" rel="lightbox[2949]"><img class="size-medium wp-image-3008" src="http://hogyan.org/files/2009/08/OSI-logo-500x416.png" alt="OSI logo" width="500" height="416" /></a>
<p class="wp-caption-text">OSI logo</p>
</div>
<p style="text-align: justify">Mielőtt elmélyülnénk a téma elméleti és gyakorlati kérdéseiben, nem árt tisztázni néhány dolgot. Elsősorban azt, mikor nem célszerű programfordításhoz folyamodni. Mivel a legtöbb ember számára a számítógép eszköz és nem cél, így érdemes a felesleges és sok esetben körülményes munkát megspórolni.</p>
<p style="text-align: justify">A Linux terjesztési módjából (disztribúció) adó lehetőség, hogy könnyen és gyorsan juthatunk programokhoz. Minden terjesztésnek van saját csomagkezelése és program gyűjteménye, így a programok telepítését érdemes lehetőleg ezekre bízni. A könnyű és gyors telepítésen kívül a csomagkezelés számos előnyt biztosít a felhasználóknak. Ilyen a frissítések kezelése és a programok központi nyilvántartása.</p>
<p style="text-align: justify">Összegezve axiómának is elfogadhatjuk, hogy amíg egy program elérhető csomagként, addig felesleges fordítással bajlódni. Viszont ha a keresett programot nem találjuk meg a disztribúció hivatalos tárolóiban, érdemes nem hivatalos tárolókkal is próbálkozni (3rd party repo). Ne csüggedjünk, ha esetleg ezekkel sem jártunk sikerrel. Mivel gyakran előfordul, hogy a program készítői csinálnak csomagot a legnépszerűbb disztribúciókhoz. Látogassunk el tehát a kérdéses program weboldalára. Esetleg a freshmeat vagy soruceforge oldalakra. Amennyiben itt sem találtunk megfelelő csomagok máris léphetünk a következő szintre.</p>
<p><strong>Mikor?</strong></p>
<p style="text-align: justify">Hogy végre a témáról is írjak, nézzük milyen esetekben szükséges forrásból telepíteni. Először is – ahogy fentebb már említettem &#8211; nem találtunk csomagok. Esetleg találtunk csomagot, de az nem felel meg az elképzeléseinknek, mert valamilyen okból egy újabb programverzióra van szükségünk.</p>
<p>Netán egy-két funkciót elfelejtettek beleforgatni a disztribútorok. Sebaj! Fordítsuk hát le magunk!</p>
<p><strong>Áááácsi! Mi a fene ez az egész?</strong></p>
<p>Nos úgy érzem, itt megint tennünk kell egy kis kitérőt, mivel néhány alapfogalmat nagyvonalúan elfelejtettem megmagyarázni. Lássuk, melyek ezek:</p>
<p style="text-align: justify"><span style="text-decoration: underline">Csomag (Package):</span> a Linux disztribúciókhoz mellékelt programok terjesztése csomagok formájában történik. Számos jelentős formátuma ismert, ilyenek az .rpm csomagok (Fedora, Mandriva, SuSE, RedHat disztribúcióknál), .deb csomagok (Ubuntu, Debian) és a .tgz csomagok (Slackware, Zenwalk)</p>
<p style="text-align: justify"><span style="text-decoration: underline">Csomagkezelő (Packager):</span> az a grafikus vagy konzolos program, mely a csomagok letöltését, telepítését, firssítését, nyilvántartását és eltávolítását végzi. Legismertebb ezek közül a gyakorlatilag minden disztribúción működésre bírható Synaptic.</p>
<p style="text-align: justify"><span style="text-decoration: underline">Repó (Repo, repository, vagy csomagkönyvtár/raktár):</span> olyan ftp, vagy http szerveken elhelyezett könyvtárak, melyekben a mellékelt csomagok sokaságát – mit sokaságát: garmadáját – találhatjuk.</p>
<p style="text-align: justify"><span style="text-decoration: underline">Forráskód (source code):</span> a nyílt forrású programok (open source software) jellemzője, hogy a program futtatható állományain kívül elérhetővé teszik a program forrását, vagyis azt a kódsorozatot amit a programozó leírt. Ezek sokszor önmagukban nem használhatóak, mivel a számítógép számára értelmezhetetlen parancsokat tartalmaznak. Hogy futtathatóak legyenek, le kell őket fordítani gépi kódra. Ez a fordítási feladatot (compiling) látja el a fordító (compiler).</p>
<p><strong>Lássunk már hozzá!</strong></p>
<p>Ennyi bevezető után ideje komolyra fordítani a szót. Az írásban először a fordítás elméleti kérdéseit tisztázom, majd a második részben néhány konkrét fordítási feladatot is bemutatok.</p>
<p style="text-align: justify">A fordítás első lépése természetesen a kiszemelt program beszerzése.<br />
Látogassuk hát meg a kiszemelt program weboldalát, és töltsük le a forráskódot. A forrás általában .tar.gz vagy tar.bz2 formátumba van tömörítve. Töltsük le tetszőleges helyre – például a /home/ könyvtárunkba, majd tömörítsük ki. A forráskódok szabványos helye a legtöbb disztribúció esetén a /usr/src/ vagy a /usr/local/src/ könyvtár. Persze máshova is kitömöríthetjük, de érdemes linuxos fájlrendszert választani.</p>
<p><em>Kicsomagolás tar programmal:</em></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">tar</span> <span style="color: #660033;">-xzvf</span> csomag-verzio.tar.gz</pre></div></div>

<p>A tar programról részletes leírást a manual oldalaiban találunk.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">man</span> <span style="color: #c20cb9; font-weight: bold;">tar</span>
<span style="color: #c20cb9; font-weight: bold;">tar</span> <span style="color: #660033;">--help</span></pre></div></div>

<p>Hogyha sikerült kicsomagolni a forrásállományokat a következő lépésben két fontos dolgot kell ellenőriznünk. A egyik a készítők utasításai a fordításra nézve, a másik a függőségek ellenőrzése.</p>
<p><strong>Fordítási utasítások:</strong>
</p>
<p style="text-align: justify"><a href="http://hogyan.org/files/2009/08/I-want-GNU.jpeg" rel="lightbox[2949]"><img class="alignright size-full wp-image-3009" src="http://hogyan.org/files/2009/08/I-want-GNU.jpeg" alt="I want GNU" width="253" height="321" /></a>A kitömörített forráskönyvtárban találunk két fontos fájlt – legtöbb esetben, ha nem trehány a készítő – a README és INSTALL text állományokat. Ezeket nyissuk meg tetszőleges szövegszerkesztővel és olvassuk át őket. Amennyiben az INSTALL fájl <a href="http://vladi-mir.fw.hu/img/INSTALL" target="_blank">ezt</a> tartalmazza, egyszerű dolgunk van, mivel ez egy szokványos leírás a telepítés menetéről. Nem is érdemes részletesen átolvasni. Viszont ha eltér ettől, és külön utasításokat tartalmaz a fordításra vonatkozóan, mindenképpen ezeket az utasításokat kövessük! A fordításra, és függőségekre vonatkozó információkat természetesen megtaláljuk a program weboldalán is könnyen elérhető helyen a wikiben vagy a dokumentumok között installation vagy compileing címszóval. Időként sajnos előfordul, hogy a két információ ellentmond egymásnak. Ilyenkor érdemes a forráskönyvtárban találtat hitelesnek tekinteni.</p>
<p><strong>Függőségek ellenőrzése:</strong></p>
<p style="text-align: justify">A fordításhoz mindenekelőtt szükségünk lesz a fordítóra. A legtöbb GNU/Linuxos program C vagy C++ nyelven íródott, így a GNU Compiler Collection nevű programcsomagra, alias: gcc. Ez egy fodító gyűjtemény C és C++ illetve még néhány más nyelven íródott programok fordításához. Ezen kívül elengedhetetlen még az make program telepítése. Ezekkel egyszerűbb a bonyolult programok fordítása, illetve a legtöbb programot ezek használatával lehet lefordítani. Ezek beszerzése igen egyszerű, mivel gyakorlatilag az összes disztribúcióhoz mellékelik csomagban.</p>
<p>Ha a fordító megvan, már csak a kérdéses programhoz szükséges függőségeket kell telepíteni. Most tegyünk itt egy kis kitérőt a függőségek kérdésének tisztázása érdekében.</p>
<p>A GNU/Linux disztribúciók csomagkezelésének felépítéséből adódik a függőségek rendszere. Ennek lényege, hogy egy megosztott könyvtárat (lib), vagy bizonyos programokat más programok is használhatnak működésük közben. De ezek hiányában nem működnek. A legtöbb program tehát függ más programok meglététől. Néhány példával bemutatva ez a jelenség, hogy közérthetőbb legyen:</p>
<p>- Egy program – mondjuk a méltán népszerű amarok lejátszó – KDE ablakkezelővel működik. Tehát csak a KDE-lib (függvénykönyvtárak) megléte mellett hajlandó működni. (Mellékesen ez magyarázza azt is, hogy miért tud működni más ablakkezelővel is.)</p>
<p>- Az mplayer-gui grafikus felület a közkedvelt mplayer médialejátszóhoz. Mplayer telepítése nélkül – teljesen nyilvánvaló módon – működésképtelen.</p>
<p>Sokszor szemére vetik a GNU/Linux disztribúcióknak, hogy túl bonyolult, és körülményes a függőségi rendszer, átláthatatlan pókhálót alkot. Nos valójában ez csak részben igaz. Mivel a függőségek rendszere pusztán néhány szintű – legtöbb esetben 2-3 maximum 5-6 – valamint a csomagkezelő rendszer átveszi a felhasználótól a függőségek kezelését, így távolról sem olyan bonyolult, mint amilyennek látszik.</p>
<p>Visszatérve a fordításra, a fordítandó programnak is lehetnek függőségei. Ezek tételesen fel vannak sorolva a már megismert textfájlokban illetve a program weboldalán. Elő hát a csomagkezelővel és telepítsük a szükséges függőségeket. De vigyázat! Nem elég a programokat telepíteni, szükségesek – már ha vannak – lesznek a development fájlok is! A függőségeket verziószámmal adják meg. Tehát ha például azt látjuk, hogy a kérdéses programnak az egyik függősége:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">qt4 <span style="color: #000000; font-weight: bold;">&gt;</span>= <span style="color: #000000;">4.3</span></pre></div></div>

<p>akkor 4.3-as qt4-re vagy újabb verzióra és qt4-dev csomagokra lesz szükség.</p>
<p>Érdemes megjegyezni, hogy nem minden függőség kötelező. Vannak opcionálisak is, melyek hiányában a program működőképes ugyan, de néhány funkcióról le kell mondanunk. Ezekről tájékoztatást szintén a már megismert helyeken olvashatunk.</p>
<p><strong>Konfiguráció – configure script:</strong></p>
<p>Ennyi előkészület után elérkeztünk a fordítás első igazi lépéséhez, ez a konfiguráció. A forrás állapotú programot számtalan eltérő rendszeren kívánják használni, így valami módon biztosítani kellett a hordozhatóságot. Gondoljunk csak bele: az egyes GNU/Linux disztribúciók kiadásról-kiadásra eltérnek egymástól, ráadásul az egyes disztribúciók is különbözhetnek egymástól. Arról nem is beszélve, hogy más operációs rendszerek – mint az egyes BSD disztribúciók, vagy akár az MS Windowsok – egészen más felépítésűek. Mégis futtathatóak ugyan azok a programok. Mint például a Firefox böngésző. Hogy ez az átjárhatóság biztosított legyen, a programmal fordítás előtt meg kell ismertetni azt a környezetet, amiben működni fog. Ennek első lépését a configure szkript végzi. A configure tulajdonképpen egy bash szkript, ami megvizsgálja a rendszert, számba veszi a függőségeket.</p>
<p>Elindítható a</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>configure</pre></div></div>

<p>paranccsal.</p>
<p>Amennyiben nem talál egy szükséges függőséget, hibát jelez, és leáll. Ez esetben újra vissza kell térni a korábbi függőség teljesítés részére a procedúrának.</p>
<p>A configure szkript egy másik hasznos lehetőséget biztosít, méghozzá azt, hogy magát a lefordítandó programot is konfigurálhatjuk igényeink szerint. Már amennyire ezt a program összetettsége és felépítése lehetővé teszi. Ezen kívül befolyásolhatjuk is a működését. Bizonyos esetekben például más könyvtárat adhatunk meg neki, mint amit automatikusan beállít, illetve bizonyos esetekben szükség is van a közbeavatkozásra. Olyan helyzetekre gondolok, amikor – bár szabályosan telepítettünk minden függőséget – nem találja a szükséges programokat. Ekkor kézzel kell megmutatnunk neki, hol vannak a hiányolt függőségek.</p>
<p>Ezekről részletes leírást a</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>configure <span style="color: #660033;">--help</span></pre></div></div>

<p>parancs kiadásával kaphatunk.<br />
Ilyen speciális esetekre később még mutatok néhány példát.</p>
<p><strong>Az alkotás folyamata – make:</strong></p>
<p>Amikor a configure szkript végre hibátlanul lefutott, elérkeztünk történetünk csúcspontjához, a fordításhoz. Azok a kedves olvasóim, akik idáig eljutottak, vendégeim egy hideg italra a közelgő tikkasztó nyáron. A configure szkript futásának végén létrejönnek a Makefile állományok. Ezeket egy kitöltött kérdőívhez tudnám hasonlítani. A kérdőív kitöltését a configure szkript végezte. A kitöltetlen kérdőív a Makefile.in. Az make program a kérdőívre adott válaszok alapján <em>elvégezteti</em> a fordítást a gcc fordítóval.</p>
<p>Nincs más dolgunk tehát, mint kiadni a</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">make</span></pre></div></div>

<p>parancsot, és hátradőlve megvárni míg a program lefordul.</p>
<p>Ez egy roppant hosszadalmas folyamat. A program nagyságától és bonyolultságától valamint a számítógép teljesítményétől függően pár perctől akár órákig is eltarthat. A folyamat végén a forráskönyvtárban létrejönnek a program futtatható állományai és a futásához szükséges egyéb állományok.</p>
<p>A make program a <em>fordíttatáson</em> kívül ellát még néhány fontos feladatot. A fordítást követően a fájlrendszerben a megfelelő helyre másolja a lefordított programállományokat.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span></pre></div></div>

<p>parancs hatására.</p>
<p>Ez tulajdonképpen a telepítés. De a létrejött bináris állományokat le is töröltethetjük vele – mondjuk akkor, ha csak utólag vettük észre, hogy valamit nem fordítottunk bele &#8211; a</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">make</span> clean</pre></div></div>

<p>parancs kiadásával. Valamint a már feltelepített program eltávolítását is ez a program végzi. Ehhez a forrás állományban állva a</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">make</span> uninstall</pre></div></div>

<p>parancsot kell kiadnunk.</p>
<p style="text-align: center"><a href="http://hogyan.org/files/2009/08/23202321945.jpeg" rel="lightbox[2949]"><img class="size-full wp-image-3010  aligncenter" src="http://hogyan.org/files/2009/08/23202321945.jpeg" alt="23202321945" width="485" height="305" /></a></p>
<p>Ha mindezzel végeztünk, hőn áhított programunk már ott lapul a fájlrendszerben alig várva, hogy munkára foghassuk. Most nézzünk néhány tanulságos példát arról, hogy néz ki ez a folyamat a való életben. Remélhetőleg így megvilágosodnak a most talán még homályos foltok is.</p>
<p><strong>Példák:</strong></p>
<p><strong>Avi-ogm info</strong></p>
<div id="attachment_3012" class="wp-caption aligncenter" style="width: 510px"><a href="http://hogyan.org/files/2009/08/AVI-OGM-info.png" rel="lightbox[2949]"><img class="size-medium wp-image-3012" src="http://hogyan.org/files/2009/08/AVI-OGM-info-500x362.png" alt="AVI-OGM info" width="500" height="362" /></a>
<p class="wp-caption-text">AVI-OGM info</p>
</div>
<p>Az avi-ogm info egy viszonylag egyszerű program. Avi, mp3 és egyéb média fájlokról olvas be adatokat.</p>
<p>A readmeben ezek a lényegi információk:<br />
Függőségek:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">- Requirement :
        - gtk+-2.4 or &gt;
        - gtkmm-2.4 or &gt;
        - libogg-1.1 or &gt;
        - libvorbis-1.0 or &gt;
        - libxml2-2.0 or &gt;
        - ffmpeg</pre></div></div>

<p>Fordítás:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;"> './configure' (Help : './configure --help')
        'make'
        'make install'</pre></div></div>

<p>Így egyszerű dolgom volt. Függőségek beszerzése után a configure szkript simán lefutott:</p>
<p>&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>configure</pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for style of include used by make... GNU
checking for gcc... gcc</pre></div></div>

<p>&#8230;<br />
Itt a configure a rendszer felépítését vizsgálja.</p>
<p>&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">checking for FFMPEG... yes
checking for GTK... yes
checking for GLIB... yes
checking for GTKMM... yes
checking for OGGVORBIS... yes
checking for XML... yes</pre></div></div>

<p>&#8230;<br />
Majd a függőségeket ellenőrzi.</p>
<p>&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">config.status: creating Makefile
config.status: creating po/Makefile.in
config.status: WARNING:  po/Makefile.in.in seems to ignore the --datarootdir setting
config.status: creating src/Makefile
config.status: creating pixmaps/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing po-directories commands
config.status: creating po/POTFILES
config.status: creating po/Makefile</pre></div></div>

<p>&#8230;<br />
Rendben létrejöttek a Makefile állományok.</p>
<p>&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">make</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">make all-recursive
make[1]: Entering directory `/usr/src/avi-ogminfo-2.0.5'
Making all in po
make[2]: Entering directory `/usr/src/avi-ogminfo-2.0.5/po'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/usr/src/avi-ogminfo-2.0.5/po'
Making all in src
make[2]: Entering directory `/usr/src/avi-ogminfo-2.0.5/src'
if g++ -DHAVE_CONFIG_H -I. -I. -I..  -I.. -DLOCALEDIR=\&quot;&quot;/usr/local/share/locale&quot;\&quot;   -g -O2 -I/usr/include/ffmpeg</pre></div></div>

<p>&#8230;<br />
Fordul éppen.</p>
<p>&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">make[2]: Entering directory `/usr/src/avi-ogminfo-2.0.5/pixmaps'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/usr/src/avi-ogminfo-2.0.5/pixmaps'
make[2]: Entering directory `/usr/src/avi-ogminfo-2.0.5'
make[2]: Nothing to be done for `all-am'.
make[2]: Leaving directory `/usr/src/avi-ogminfo-2.0.5'
make[1]: Leaving directory `/usr/src/avi-ogminfo-2.0.5'</pre></div></div>

<p>&#8230;<br />
Sikeresen lefordult.</p>
<p>&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">Making install in po
make[1]: Entering directory `/usr/src/avi-ogminfo-2.0.5/po'
/bin/sh ../mkinstalldirs /usr/local/share
installing fr.gmo as /usr/local/share/locale/fr/LC_MESSAGES/avi-ogminfo.mo
...
make[2]: Nothing to be done for `install-exec-am'.
test -z &quot;/usr/local/share/applications&quot; || mkdir -p -- &quot;/usr/local/share/applications&quot;
 /usr/bin/install -c -m 644 'Avi-OgmInfo.desktop' '/usr/local/share/applications/Avi-OgmInfo.desktop'
make[2]: Leaving directory `/usr/src/avi-ogminfo-2.0.5'
make[1]: Leaving directory `/usr/src/avi-ogminfo-2.0.5'
[root@localhost avi-ogminfo-2.0.5]#</pre></div></div>

<p>&#8230;<br />
Majd fel is települt, munkára kész.</p>
<p><strong>Transmission</strong></p>
<p><a href="http://hogyan.org/files/2009/08/22153546694.jpeg" rel="lightbox[2949]"><img class="alignright size-full wp-image-3013" src="http://hogyan.org/files/2009/08/22153546694.jpeg" alt="22153546694" width="169" height="143" /></a></p>
<p>A második példa a transmission nevű torrent kliens, melynek fordítása már beavatkozást igényel.</p>
<p>&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">Configuration:
&nbsp;
        Source code location:    .
        Compiler:                g++
        Build libtransmission:   yes
        Build Daemon:            yes
        Build BeOS client:       no
        Build GTK+ client:       no
        Build OS X client:       no
        Build wxWidgets client:  no</pre></div></div>

<p>&#8230;<br />
A configure szkrip lefutása után ez fogad. Csakhogy ez nekem így nem jó, szükségem lenne még a GTK+ kliensre is.</p>
<p>A configure help átnézése után ezt találtam:<br />
&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>configure <span style="color: #660033;">--help</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">`configure' configures transmission 1.06 to adapt to many kinds of systems.
Usage: ./configure [OPTION]... [VAR=VALUE]...
...
Optional Packages:
  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
  --with-pic              try to use only PIC/non-PIC objects [default=use
                          both]
  --with-tags[=TAGS]      include additional configurations [automatic]
  --with-gtk              Build gtk client
  --with-wxdir=PATH       Use uninstalled version of wxWidgets in PATH
  --with-wx-config=CONFIG wx-config script to use (optional)
  --with-wx-prefix=PREFIX Prefix where wxWidgets is installed (optional)
  --with-wx-exec-prefix=PREFIX
                          Exec prefix where wxWidgets is installed (optional)
  --with-wx               Build wxWidgets client</pre></div></div>

<p>&#8230;<br />
Tehát külön kell megmondani neki.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>configure <span style="color: #660033;">--with-gtk</span></pre></div></div>

<p>Így már csinál nekem grafikus felületet. Szépen lefordul és települ is gond nélkül.</p>
<p><strong>Smplayer</strong></p>
<div id="attachment_3014" class="wp-caption aligncenter" style="width: 510px"><a href="http://hogyan.org/files/2009/08/SMPlayer.jpg" rel="lightbox[2949]"><img class="size-medium wp-image-3014 " src="http://hogyan.org/files/2009/08/SMPlayer-500x338.jpg" alt="SMPlayer" width="500" height="338" /></a>
<p class="wp-caption-text">SMPlayer</p>
</div>
<p>Utolsó példámban a nagyszerű médialejátszó, az mplayer egyik legkiválóbb grafikus felületét az smplayer fordítását mutatom be, mivel némileg eltért az eddig bemutatottaktól.</p>
<p>A forrás könyvtárában talált install.txt állomány egészen más, mint amivel eddig találkozhattunk. Annak áttanulmányozása után úgy határoztam, hogy qt4-el fogom lefordítani. Ehhez a dokumentum tanulsága szerint csak a make parancsot kellett kiadni.</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">Type &quot;make&quot;. With a little bit of lucky, that's all.</pre></div></div>

<p>Jópofa.</p>
<p>&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">make</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">./get_svn_revision.sh
cd src &amp;&amp; qmake  &amp;&amp; DATA_PATH=\\\&quot;/usr/local/share/smplayer\\\&quot; CONF_PATH=\\\&quot;/usr/local/etc/smplayer\\\&quot; TRANSLATION_PATH=\\\&quot;/usr/local/share/smplayer/translations\\\&quot; DOC_PATH=\\\&quot;/usr/local/share/doc/packages/smplayer\\\&quot; THEMES_PATH=\\\&quot;/usr/local/share/smplayer/themes\\\&quot; SHORTCUTS_PATH=\\\&quot;/usr/local/share/smplayer/shortcuts\\\&quot; make
WARNING: Found potential symbol conflict of inputdvddirectory.cpp (inputdvddirectory.cpp) in SOURCES
WARNING: Found potential symbol conflict of inputdvddirectory.h (inputdvddirectory.h) in HEADERS
WARNING: Found potential symbol conflict of filepropertiesdialog.cpp (filepropertiesdialog.cpp) in SOURCES
WARNING: Found potential symbol conflict of filepropertiesdialog.h (filepropertiesdialog.h) in HEADERS
WARNING: Found potential symbol conflict of eqslider.cpp (eqslider.cpp) in SOURCES
WARNING: Found potential symbol conflict of eqslider.h (eqslider.h) in HEADERS
...
Makefile:1327: warning: ignoring old commands for target `.moc/moc_prefadvanced.cpp'
Makefile:1426: warning: overriding commands for target `.moc/moc_about.cpp'
Makefile:1363: warning: ignoring old commands for target `.moc/moc_about.cpp'
Makefile:1429: warning: overriding commands for target `.moc/moc_inputmplayerversion.cpp'
Makefile:1360: warning: ignoring old commands for target `.moc/moc_inputmplayerversion.cpp'
/usr/lib/qt-3.3/bin/uic inputdvddirectory.ui -o .ui/inputdvddirectory.h
uic: File generated with too recent version of Qt Designer (4.0 vs. 3.3.8b)
make[1]: *** [.ui/inputdvddirectory.h] Error 1
make[1]: Leaving directory `/usr/src/smplayer-0.6.0rc2/src'
make: *** [src/smplayer] Error 2</pre></div></div>

<p>&#8230;<br />
Nem volt szerencsém. Ezt tisztességesen elvarningol.</p>
<p>Az install.txt további tanulmányozása után választ kaptam a problémára:<br />
&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">But it may fail. Don't worry.
&nbsp;
If it fails it is probably because the Qt 3 qmake has been used instead of
the Qt 4 one. It seems that some distros (ubuntu for example) have renamed that
tool to qmake-qt4. Others may have installed in another directory.
Look at the contents of the qt4-devel package (or whatever its name is) and
find out where it is.
&nbsp;
Now type something like this (just examples):
&nbsp;
make QMAKE=qmake-qt4
or
make QMAKE=/usr/share/qt4/bin/qmake</pre></div></div>

<p>&#8230;</p>
<p>Tehát máshogy kell közelíteni a problémához. Nem a make programot használja, hame a qt4-es qmaket.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #007800;">QMAKE</span>=qmake-qt4</pre></div></div>

<p>Így már lefordul, települ és szépen el is indul.</p>
<p>Ennyit dióhéjban erről a rendkívül hasznos eljárásról. Persze a téma ennél nagyságrendekkel összetettebb, de úgy vélem a kezdeti sikerek eléréséhez ennyi ismeret már elegendő lehet. Az itt bemutatott példák egészen máshogy nézhetnek ki más renszereken. Remélem sikerült egy kicsit közelebb hozni ezt a témát az érdeklődőknek. Kívánok mindenkinek sikerekben gazdag program forgatást.</p>

	Címkék: <a href="http://hogyan.org/cimkek/bash" title="bash" rel="tag">bash</a>, <a href="http://hogyan.org/cimkek/linux" title="Linux" rel="tag">Linux</a>, <a href="http://hogyan.org/cimkek/program" title="program" rel="tag">program</a>, <a href="http://hogyan.org/cimkek/telepites" title="telepítés" rel="tag">telepítés</a>
]]></content:encoded>
			<wfw:commentRss>http://hogyan.org/program-forditas-linuxon/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Kapcsolódás WPA Wifi hálózathoz terminálból</title>
		<link>http://hogyan.org/kapcsolodas-wpa-wifi-halozathoz-terminalbol</link>
		<comments>http://hogyan.org/kapcsolodas-wpa-wifi-halozathoz-terminalbol#comments</comments>
		<pubDate>Sat, 15 Aug 2009 05:43:55 +0000</pubDate>
		<dc:creator>charlie</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[beállítások]]></category>
		<category><![CDATA[hálózat]]></category>

		<guid isPermaLink="false">http://hogyan.org/?p=2979</guid>
		<description><![CDATA[Ebben a leírásban bemutatom, hogyan tudunk kapcsolódni WPA1 vagy WPA2 titkosítású (ugye WEP &#8220;titkosítás&#8221; nem használunk, mert nem biztonságos) hálózathoz, terminálból, grafikus felület nélkül.
(a leírtak működnek általában más disztribúciókon is, nem csak Debian alatt)

Nézzük meg, hogy a rendszer rendesen felismerte e a WIFI kártyát

ifconfig -a

wlan0 vagy hasonló nevű (Atheros wifi kártya esetén van egy ath0 [...]]]></description>
			<content:encoded><![CDATA[<p>Ebben a leírásban bemutatom, hogyan tudunk kapcsolódni WPA1 vagy WPA2 titkosítású (ugye WEP &#8220;titkosítás&#8221; nem használunk, mert nem biztonságos) hálózathoz, terminálból, grafikus felület nélkül.</p>
<p>(a leírtak működnek általában más disztribúciókon is, nem csak Debian alatt)</p>
<p><span id="more-2979"></span></p>
<p>Nézzük meg, hogy a rendszer rendesen felismerte e a WIFI kártyát</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">ifconfig</span> <span style="color: #660033;">-a</span></pre></div></div>

<p>wlan0 vagy hasonló nevű (Atheros wifi kártya esetén van egy ath0 interfész is, ez esetben azt kell használnunk) nevű hálózati interfészt keressünk. Az eth kezdetűek a vezetékes ethernet kártyák.</p>
<p>Telepítenünk kell a wpasupplicant nevű csomagot. Debian (Ubuntu, stb.) alapú rendszereknél a következő paranccsal tehetjük meg:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">aptitude</span> <span style="color: #c20cb9; font-weight: bold;">install</span> wpasupplicant</pre></div></div>

<p>Telepítés után nyissuk meg a konfigurációs fájlját (ha nem root jogokkal léptünk már be, akkor a sudo parancsot ne feledjük beírni elé!):</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">editor <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>wpa_supplicant.conf</pre></div></div>

<p>Majd írjuk be a következő opciókat a fájlba:</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;">network={
             ssid=<span style="color: #7f007f;">&quot;wifi_nev&quot;</span>
             psk=<span style="color: #7f007f;">&quot;wifi_kulcs&quot;</span>
}</pre></div></div>

<p>A hálózat SSD-jét a wifi_nev helyére, a hálózat kulcsát pedig a wifi_kulcs helyére írjuk be. Majd lépjünk ki és mentsük a fájlt (nano esetén ALT+X és Y, vim estén pedig a :wq beírásával)</p>
<p>Most már csak tudatnunk kell a rendszerrel, hogy a megadott beállításokat használja. Ezt a következő paranccsal tehetjük meg (ha nem wlan0 a wifi kártyánk neve, akkor írjuk át!):</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">wpa_supplicant <span style="color: #660033;">-B</span> <span style="color: #660033;">-iwlan0</span> -c<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>wpa_supplicant.conf <span style="color: #660033;">-Dwext</span></pre></div></div>

<p>Majd pedig kérjünk egy IP címet a DHCP kiszolgálótól</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">dhclient wlan0</pre></div></div>

<p>Ha minden jól megy, akkor kapnunk kell egy IP címet a DHCP kiszolgálótól (routertől, stb).</p>

	Címkék: <a href="http://hogyan.org/cimkek/bash" title="bash" rel="tag">bash</a>, <a href="http://hogyan.org/cimkek/beallitasok" title="beállítások" rel="tag">beállítások</a>, <a href="http://hogyan.org/cimkek/debian" title="Debian" rel="tag">Debian</a>, <a href="http://hogyan.org/cimkek/halozat" title="hálózat" rel="tag">hálózat</a>
]]></content:encoded>
			<wfw:commentRss>http://hogyan.org/kapcsolodas-wpa-wifi-halozathoz-terminalbol/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>KDE 4.3 telepítése Kubuntu Jauntyra</title>
		<link>http://hogyan.org/kde-4-3-telepitese-kubuntu-jauntyra</link>
		<comments>http://hogyan.org/kde-4-3-telepitese-kubuntu-jauntyra#comments</comments>
		<pubDate>Tue, 11 Aug 2009 05:26:53 +0000</pubDate>
		<dc:creator>charlie</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[Jaunty]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[telepítés]]></category>

		<guid isPermaLink="false">http://hogyan.org/?p=2960</guid>
		<description><![CDATA[Most, hogy megjelent a végleges KDE 4.3 ideje frissítenünk a Kubuntunkon futó KDE-t. Ehhez egy külső tárolót kell csak beállítanunk rendszerünkbe.

Egy kis ízelítő videó KDE 4.3-ról

Elvégezhetjük a tároló hozzáadását Synaptic segítségével, azonban Konzolból (terminál) és Kate (vagy más szövegszerkesztő) segítségével sokkal gyorsabban megoldható.
Szóval, először is szerkesztenünk kell a sources.list fájlt, mely a tárolókat tartalmazza.
Nyomjunk a [...]]]></description>
			<content:encoded><![CDATA[<p>Most, hogy megjelent a <a href="http://kde.hu/hir/kde-430-caizen-kiadasi-kozlemeny">végleges KDE 4.3</a> ideje frissítenünk a Kubuntunkon futó KDE-t. Ehhez egy külső tárolót kell csak beállítanunk rendszerünkbe.</p>
<p><span id="more-2960"></span></p>
<p>Egy kis ízelítő videó KDE 4.3-ról</p>
<p><object classid="d27cdb6e-ae6d-11cf-96b8-444553540000" width="550" height="442"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/kmMdm9liMn4&amp;hl=en&amp;fs=1&amp;rel=0&amp;color1=0x3a3a3a&amp;color2=0x999999" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="550" height="442" src="http://www.youtube.com/v/kmMdm9liMn4&amp;hl=en&amp;fs=1&amp;rel=0&amp;color1=0x3a3a3a&amp;color2=0x999999" allowfullscreen="true"></embed></object></p>
<p>Elvégezhetjük a tároló hozzáadását Synaptic segítségével, azonban Konzolból (terminál) és Kate (vagy más szövegszerkesztő) segítségével sokkal gyorsabban megoldható.</p>
<p>Szóval, először is szerkesztenünk kell a sources.list fájlt, mely a tárolókat tartalmazza.</p>
<p>Nyomjunk a KDE-ben egy ALT+F2-t, erre előjön a Futtatás ablak. Ide írjuk be a következő parancsot, mellyel root jogokkal megnyitjuk szerkesztésre a tárolókat tartalmazó konfigurációs fájlt:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">kdesu kate <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apt<span style="color: #000000; font-weight: bold;">/</span>sources.list</pre></div></div>

<div id="attachment_2971" class="wp-caption aligncenter" style="width: 510px"><a href="http://hogyan.org/files/2009/08/kde-futtatas.png" rel="lightbox[2960]"><img class="size-medium wp-image-2971" src="http://hogyan.org/files/2009/08/kde-futtatas-500x375.png" alt="KDE4 Futtatás" width="500" height="375" /></a>
<p class="wp-caption-text">KDE4 Futtatás</p>
</div>
<p>A megnyíló Kateben menjünk a szöveg végére, nyissunk egy új sort enterrel, majd a következő két sort másoljuk be (és a végén nyomjunk egy entert, hogy a fájl vége egy üres sor legyen)</p>

<div class="wp_syntax"><div class="code"><pre class="apt" style="font-family:monospace;">deb http://ppa.launchpad.net/kubuntu-ppa/backports/ubuntu jaunty main
deb http://ppa.launchpad.net/kubuntu-ppa/staging/ubuntu jaunty main</pre></div></div>

<div id="attachment_2972" class="wp-caption aligncenter" style="width: 510px"><a href="http://hogyan.org/files/2009/08/kate.png" rel="lightbox[2960]"><img class="size-medium wp-image-2972" src="http://hogyan.org/files/2009/08/kate-500x375.png" alt="Kate /etc/apt/sources.list" width="500" height="375" /></a>
<p class="wp-caption-text">Kate /etc/apt/sources.list</p>
</div>
<p>Mentsük a fájlt, majd nyissunk egy Konzolt. A konzolba adjuk ki a következő parancsot, mely telepíti a <a href="http://hogyan.org/hitelesitesi-kulcs-hozzaadasa-ubuntu-linuxhoz">PPA tároló hitelesítési kulcsát</a></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-key</span> adv <span style="color: #660033;">--keyserver</span> keyserver.ubuntu.com <span style="color: #660033;">--recv-keys</span> 8AC93F7A</pre></div></div>

<p>Miután hozzáadta rendszerünkhöz a kulcsot, frissítsük a tárolókat, majd a rendszert. Konzolból a következő parancsokkal tehetjük meg ezt:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">aptitude</span> update
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> upgrade
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">aptitude</span> dist-upgrade</pre></div></div>

<p>Pár kép a KDE 4.3 környezetről, ízelítőként</p>
<div id="attachment_2967" class="wp-caption aligncenter" style="width: 510px"><a href="http://hogyan.org/files/2009/08/kde430-desktop.png" rel="lightbox[2960]"><img class="size-medium wp-image-2967" src="http://hogyan.org/files/2009/08/kde430-desktop-500x312.png" alt="KDE 4.3 desktop" width="500" height="312" /></a>
<p class="wp-caption-text">KDE 4.3 desktop</p>
</div>
<div id="attachment_2966" class="wp-caption aligncenter" style="width: 510px"><a href="http://hogyan.org/files/2009/08/kde43-social.png" rel="lightbox[2960]"><img class="size-medium wp-image-2966" src="http://hogyan.org/files/2009/08/kde43-social-500x312.png" alt="KDE 4.3 social" width="500" height="312" /></a>
<p class="wp-caption-text">KDE 4.3 social</p>
</div>
<div id="attachment_2965" class="wp-caption aligncenter" style="width: 510px"><a href="http://hogyan.org/files/2009/08/kde43-desktop.png" rel="lightbox[2960]"><img class="size-medium wp-image-2965" src="http://hogyan.org/files/2009/08/kde43-desktop-500x312.png" alt="KDE 4.3 Desktop" width="500" height="312" /></a>
<p class="wp-caption-text">KDE 4.3 Desktop</p>
</div>
<div id="attachment_2968" class="wp-caption aligncenter" style="width: 510px"><a href="http://hogyan.org/files/2009/08/kde430-games.png" rel="lightbox[2960]"><img class="size-medium wp-image-2968" src="http://hogyan.org/files/2009/08/kde430-games-500x312.png" alt="KDE 4.3 games" width="500" height="312" /></a>
<p class="wp-caption-text">KDE 4.3 games</p>
</div>

	Címkék: <a href="http://hogyan.org/cimkek/bash" title="bash" rel="tag">bash</a>, <a href="http://hogyan.org/cimkek/jaunty" title="Jaunty" rel="tag">Jaunty</a>, <a href="http://hogyan.org/cimkek/kde" title="KDE" rel="tag">KDE</a>, <a href="http://hogyan.org/cimkek/telepites" title="telepítés" rel="tag">telepítés</a>, <a href="http://hogyan.org/cimkek/ubuntu" title="Ubuntu" rel="tag">Ubuntu</a>
]]></content:encoded>
			<wfw:commentRss>http://hogyan.org/kde-4-3-telepitese-kubuntu-jauntyra/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Több fájl kitömörítése egyszerre Linuxon</title>
		<link>http://hogyan.org/tobb-fajl-kitomoritese-egyszerre-linuxon</link>
		<comments>http://hogyan.org/tobb-fajl-kitomoritese-egyszerre-linuxon#comments</comments>
		<pubDate>Sat, 08 Aug 2009 05:40:31 +0000</pubDate>
		<dc:creator>charlie</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[tippek]]></category>

		<guid isPermaLink="false">http://hogyan.org/?p=2724</guid>
		<description><![CDATA[Adott egy mappában sok tömörített fájl (pl. rar vagy zip), melyet jó lenne lehetőség szerint egy paranccsal kicsomagolni.
Szerencsére könnyen meg lehet ezt oldani egy bash ciklussal. (A leírás célja, hogy bemutassam a BASH for ciklusát egy működő példával)

Az ilyen egyszerű ciklusokra egyszerűen használható a for ciklus.
Nézzük milyen a &#8220;formulája&#8221;:

1
2
3
4
for &#91;var&#93; in &#91;ertek&#93;
do
   parancs [...]]]></description>
			<content:encoded><![CDATA[<p>Adott egy mappában sok tömörített fájl (pl. rar vagy zip), melyet jó lenne lehetőség szerint egy paranccsal kicsomagolni.</p>
<p>Szerencsére könnyen meg lehet ezt oldani egy bash ciklussal. (A leírás célja, hogy bemutassam a BASH for ciklusát egy működő példával)</p>
<p><span id="more-2724"></span></p>
<p>Az ilyen egyszerű ciklusokra egyszerűen használható a <strong>for</strong> ciklus.</p>
<p>Nézzük milyen a &#8220;formulája&#8221;:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">for</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>var<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>ertek<span style="color: #7a0874; font-weight: bold;">&#93;</span>
<span style="color: #000000; font-weight: bold;">do</span>
   parancs $<span style="color: #7a0874; font-weight: bold;">&#91;</span>var<span style="color: #7a0874; font-weight: bold;">&#93;</span>;
<span style="color: #000000; font-weight: bold;">done</span></pre></td></tr></table></div>

<p>Az első sorban megadott [var] változó a folyamatosan (egymás után, amíg el nem fogynak) felveszi a [ertek] helyén szereplő dolgot. Majd ezután a ciklusban a harmadik sorban végrehajtódik egy parancs, melynke paraméterül a [var] értéket adtuk meg.</p>
<p>Nézzünk egy egyszerű példát, mely kiírja 1-5-ig a számokat:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">for</span> i <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000;">1</span> <span style="color: #000000;">2</span> <span style="color: #000000;">3</span> <span style="color: #000000;">4</span> <span style="color: #000000;">5</span>
<span style="color: #000000; font-weight: bold;">do</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$i</span>
<span style="color: #000000; font-weight: bold;">done</span></pre></td></tr></table></div>

<p>Az echo parancs kiírja, azt ami az i változóban van, egészen addig amíg el nem fogy.</p>
<p>Írhatjuk a parancsot akár egy sorba is:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">for</span> i <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000;">1</span> <span style="color: #000000;">2</span> <span style="color: #000000;">3</span> <span style="color: #000000;">4</span> <span style="color: #000000;">5</span>; <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$i</span>; <span style="color: #000000; font-weight: bold;">done</span></pre></td></tr></table></div>

<p>Nem csak előre megadott értékeket használhatunk, hanem akár egy parancs kimenetét is.</p>
<p>Nézzük meg 1-10-ig a számokat.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">for</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span> <span style="color: #007800;">i</span>=<span style="color: #000000;">0</span> ; <span style="color: #007800;">$i</span><span style="color: #000000; font-weight: bold;">&lt;</span><span style="color: #000000;">10</span> ; <span style="color: #007800;">i</span>=<span style="color: #007800;">$i</span>+<span style="color: #000000;">1</span> <span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #000000; font-weight: bold;">do</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$i</span>
<span style="color: #000000; font-weight: bold;">done</span></pre></td></tr></table></div>

<p>Az i kezdetben 0, majd mindig hozzáadódik 1 (i=$i+1), egészen addig míg el nem éri a 10-et ($i&lt;10)</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">for</span> i <span style="color: #000000; font-weight: bold;">in</span> $<span style="color: #7a0874; font-weight: bold;">&#40;</span> <span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #000000; font-weight: bold;">do</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> Fájl: <span style="color: #007800;">$i</span>
<span style="color: #000000; font-weight: bold;">done</span></pre></td></tr></table></div>

<p>A fenti ciklus a $( ls )-ben lévő parancsot végrehajtja, majd annak az eredményét helyettesíti be. Jelen esetben egy fájllistát kapunk.</p>
<p>Nézzük akkor, hogyan tudunk tömörített fájlokat kicsomagolni.</p>
<p>Először keressük meg az rar kiterjesztésű fájlokat, majd azokat rakjuk egy kitomorit nevű változóba</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">for</span> kitomorit <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000; font-weight: bold;">*</span>.rar</pre></td></tr></table></div>

<p>Majd adjuk át ezt paraméterként az unrarnak (az e jelenti, hogy kicsomagolás)</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>3
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;">unrar e <span style="color: #ff0000;">&quot;<span style="color: #007800;">$kitomorit</span>&quot;</span></pre></td></tr></table></div>

<p>Egybe a parancs:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">for</span> kitomorit <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000; font-weight: bold;">*</span>.rar
<span style="color: #000000; font-weight: bold;">do</span>
unrar e <span style="color: #ff0000;">&quot;<span style="color: #007800;">$kitomorit</span>&quot;</span>
<span style="color: #000000; font-weight: bold;">done</span></pre></td></tr></table></div>

<p>Vagy egy sorban</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">for</span> kitomorit <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000; font-weight: bold;">*</span>.rar; <span style="color: #000000; font-weight: bold;">do</span> unrar e <span style="color: #ff0000;">&quot;<span style="color: #007800;">$kitomorit</span>&quot;</span>; <span style="color: #000000; font-weight: bold;">done</span></pre></td></tr></table></div>

<p>Zip fájlok esetén (egy sorban):</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">for</span> kitomorit <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000; font-weight: bold;">*</span>.zip; <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #c20cb9; font-weight: bold;">unzip</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$kitomorit</span>&quot;</span>; <span style="color: #000000; font-weight: bold;">done</span></pre></td></tr></table></div>

<p>Remélem ezzel a kis példával sikerült bemutatnom a bashban használható for ciklust.</p>

	Címkék: <a href="http://hogyan.org/cimkek/bash" title="bash" rel="tag">bash</a>, <a href="http://hogyan.org/cimkek/linux" title="Linux" rel="tag">Linux</a>, <a href="http://hogyan.org/cimkek/tippek" title="tippek" rel="tag">tippek</a>
]]></content:encoded>
			<wfw:commentRss>http://hogyan.org/tobb-fajl-kitomoritese-egyszerre-linuxon/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>BASH használati tippek</title>
		<link>http://hogyan.org/bash-hasznalati-tippek</link>
		<comments>http://hogyan.org/bash-hasznalati-tippek#comments</comments>
		<pubDate>Mon, 20 Jul 2009 05:07:16 +0000</pubDate>
		<dc:creator>kanyi</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[használat]]></category>
		<category><![CDATA[parancssor]]></category>
		<category><![CDATA[tippek]]></category>

		<guid isPermaLink="false">http://hogyan.org/?p=2744</guid>
		<description><![CDATA[Linux parancssori trükköket szeretnék leírni. Akik eddig idegenkedtek a Linux parancssorától talán így könnyebben és többet fogják használni, öreg rókák pedig feleleveníthetik tudásukat. Remélem sokaknak hasznos lesz.

A leírás ezek alapján készült:
tuxarena.blogspot.com/2009/06/6-bash-productivity-tips.html
tuxarena.blogspot.com/2009/07/5-bash-tips-part-ii.html
1. használd a !! parancsot
!! után egy Enter és újra futtatod a legutóbbi parancsodat. (ugyan az mint a Ctrl+P és utána egy Enter)
2. Használj emacs [...]]]></description>
			<content:encoded><![CDATA[<p>Linux parancssori trükköket szeretnék leírni. Akik eddig idegenkedtek a Linux parancssorától talán így könnyebben és többet fogják használni, öreg rókák pedig feleleveníthetik tudásukat. Remélem sokaknak hasznos lesz.</p>
<p><span id="more-2744"></span></p>
<p>A leírás ezek alapján készült:</p>
<p><a title="http://tuxarena.blogspot.com/2009/06/6-bash-productivity-tips.html" href="http://tuxarena.blogspot.com/2009/06/6-bash-productivity-tips.html">tuxarena.blogspot.com/2009/06/6-bash-productivity-tips.html</a><br />
<a title="http://tuxarena.blogspot.com/2009/07/5-bash-tips-part-ii.html" href="http://tuxarena.blogspot.com/2009/07/5-bash-tips-part-ii.html">tuxarena.blogspot.com/2009/07/5-bash-tips-part-ii.html</a></p>
<h3>1. használd a !! parancsot</h3>
<p>!! után egy Enter és újra futtatod a legutóbbi parancsodat. (ugyan az mint a Ctrl+P és utána egy Enter)</p>
<h3>2. Használj emacs szerű billentyűparancsokat</h3>
<p>Ezekben az esetekben Ctrl vagy Alt gomb mellé használsz még valamilyen billentyűt, aminek nagy előnye hogy így tudsz navigálni és változtatni a szövegen a Terminálban úgy hogy nem kell messzire vinned az ujjaidat a gépelési pozíciótól. (Nem kell kinyúlni a Home, Delete, vagy nyíl billentyűkhöz)<br />
Sok ezek közül működik manual oldalakon belül is, vagy a nano editorban, vagy less és more lapozáskor.</p>
<p><strong>Ctrl+D</strong> -vagy EOF (end-of-file) kilépsz az aktuális Bash promptból<br />
<strong>Ctrl+P</strong> – vissza az utolsó végrehajtott parancsra executed<br />
<strong>Ctrl+N</strong> – előre a következő végrehajtott parancsra<br />
<strong>Ctrl+U</strong> – mindent töröl a kurzortól balra<br />
<strong>Ctrl+K</strong> – mindent töröl a kurzortól jobbra<br />
<strong>Ctrl+B</strong> – vissza egy karaktert<br />
<strong>Ctrl+F</strong> – előre egy karaktert<br />
<strong>Alt+B</strong> – vissza egy szót<br />
<strong>Alt+F</strong> – előre egy szót</p>
<h3>3. Csinálj színes man oldalakat</h3>
<p>Azt hiszem ez a tipp növeli a hatékonyságot, mert ha egyszer a manuál színes akkor könnyebb keresni, könnyebben átlátható. Csak add a következő sorokat a ~/.bashrc fájlhoz ahol a ~ te home mappád. (minden sornak export-al kell kezdődnie)</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">LESS_TERMCAP_mb</span>=$<span style="color: #ff0000;">'\E[01;31m'</span> <span style="color: #666666; font-style: italic;"># begin blinking</span>
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">LESS_TERMCAP_md</span>=$<span style="color: #ff0000;">'\E[01;38;5;74m'</span> <span style="color: #666666; font-style: italic;"># begin bold</span>
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">LESS_TERMCAP_me</span>=$<span style="color: #ff0000;">'\E[0m'</span> <span style="color: #666666; font-style: italic;"># end mode</span>
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">LESS_TERMCAP_se</span>=$<span style="color: #ff0000;">'\E[0m'</span> <span style="color: #666666; font-style: italic;"># end standout-mode</span>
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">LESS_TERMCAP_so</span>=$<span style="color: #ff0000;">'\E[38;5;246m'</span> <span style="color: #666666; font-style: italic;"># begin standout-mode - info box export LESS_TERMCAP_ue=$'\E[0m' # end underline</span>
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">LESS_TERMCAP_us</span>=$<span style="color: #ff0000;">'\E[04;38;5;146m'</span> <span style="color: #666666; font-style: italic;"># begin underline</span></pre></div></div>

<p>Utána üsd be:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">source</span> ~<span style="color: #000000; font-weight: bold;">/</span>.bashrc</pre></div></div>

<h3>4. Használd a saját scriptjeidet</h3>
<p>Ha van egy kis tudásod a Bash script íráshoz, tudsz kreálni magadnak saját parancsokat amit utána be tehetsz egy olyan mappába ami benne van a $PATH útvonalában.  ( $PATH a terminálban és megmutatja hogy hova lehet rakni a fájlokat) Olyasmit használhatsz mint ~/bin vagy ~/usr/bin, ahol ~ a te home mappád</p>
<p>Meg kéne nézni hogy hogyan kérhető le a $PATH útvonala</p>
<h3>5. Copy/paste használat Shift+Insert</h3>
<p>Habár ez nem bash specifikus parancs, azért nagyon hasznos amikor gyorsan van szükséged copy/paste párosra némi szöveghez a terminálban. Ugyan az mint amikor ügyesen használod az egér középső gombját.</p>
<h3>6. Használj aliasokat</h3>
<p>Bash egyik legerősebb képessége az aliasok használata. Ezek általában rövid parancsok amik segítségével hosszabb bonyolultabb, összetettebb parancsot vagy parancsokat tudsz futtatni. Például ahhoz hogy frissítsd és telepítsd a frissítéseket ezt lehet használni:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> update <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> upgrade</pre></div></div>

<p>ha csinálsz hozzá egy aliast és azt hozzáadod a ~/.bashrc fájlodhoz:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">alias</span> <span style="color: #007800;">update</span>=<span style="color: #ff0000;">'sudo apt-get update &amp;&amp; sudo apt-get upgrade'</span></pre></div></div>

<p>most már minden alkalommal elég csak update-et gépelni és a gép elvégzi azokat a parancsokat amit az egyszeres idézőjelek között van.</p>
<h3>7. Használd a Ctrl+R (visszafelé keresés)</h3>
<p>Ctrl+R egy visszafelé keresést hajt végre a keresési előzményekben. Pl. írt be ezt a parancsot:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">df</span> <span style="color: #660033;">-h</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sda1</pre></div></div>

<p>utána nyomd meg a Ctrl+R kombinációt majd csak  df-et gépeld be, a legtöbbet használt parancs automatikusan kiegészül, (ha nem nyomkodjuk a tab-ot) már csak entert kell nyomni az indításához. Ctrl+R keres az előzményekben, hogy mit gépeltél már be és visszatér a legutolsó parancsal amit talál:</p>
<p>esetünkben:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">df</span> <span style="color: #660033;">-h</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sda1</pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">/dev/sda1 83G 65G 14G 83% /
(reverse-i-search)`df': df -h | grep /dev/sda1</pre></div></div>

<h3>8. Használd a !PARANCS utasítást</h3>
<p>Ahol a PARANCS az bármelyik parancs lehet amit már futtattál, vagy csak a parancs kezdete. Pl:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">for</span> i <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000; font-weight: bold;">*</span>.ogg; <span style="color: #000000; font-weight: bold;">do</span> vorbiscomment <span style="color: #660033;">-l</span> <span style="color: #007800;">$i</span>; <span style="color: #000000; font-weight: bold;">done</span></pre></div></div>

<p>&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">ls</span></pre></div></div>

<p>&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">!</span><span style="color: #000000; font-weight: bold;">for</span>
<span style="color: #000000; font-weight: bold;">for</span> i <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000; font-weight: bold;">*</span>.ogg; <span style="color: #000000; font-weight: bold;">do</span> vorbiscomment <span style="color: #660033;">-l</span> <span style="color: #007800;">$i</span>; <span style="color: #000000; font-weight: bold;">done</span></pre></div></div>

<p>Fentebb a példában !for parancsot használtuk (utána meg egy entert) ami futtatta a legutolsó eseményt az előzményekből ami a for-al kezdődött</p>
<h3>9. Kilépési státusz: echo”$?”</h3>
<p>visszatér a legutolsó parancs kilépési értékével, 0-t ad ha a parancs befejeződött sikeresen. És egy nem 0 értéket minden egyéb esetben.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>motd <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">head</span> <span style="color: #660033;">-1</span>
Linux debian 2.6.26-<span style="color: #000000;">2</span>-<span style="color: #000000;">686</span> <span style="color: #666666; font-style: italic;">#1 SMP Sun Jun 21 04:57:38 UTC 2009 i686</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;$?&quot;</span>
<span style="color: #000000;">0</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>mots
<span style="color: #c20cb9; font-weight: bold;">cat</span>: <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>mots: No such <span style="color: #c20cb9; font-weight: bold;">file</span> or directory</pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;$?&quot;</span>
<span style="color: #000000;">1</span></pre></div></div>

<h3>10. Használd  sudo !! parancsot</h3>
<p>A hozzászólások közül kimazsolázott remek példa&#8230; Ismételd meg a legutóbbi parancsot úgy hogy előtte sudo-t használsz:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #000000; font-weight: bold;">!!</span></pre></div></div>

<p>Pl.:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">apt-get</span> update</pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">E: Could not open lock file /var/lib/apt/lists/lock - open (13 Permission denied)
E: Unable to lock the list directory</pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #000000; font-weight: bold;">!!</span>
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> update</pre></div></div>

<h3>11. Futtass megadott parancsot az előzményekből: !SZÁM</h3>
<p>Futtatja a megfelelő számú parancsot az előzményekből. Pl. !250 (visszafelé a 250. parancsot futtatja, !1 stb..)</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">history</span> <span style="color: #000000;">3</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">534 for i in *.ogg; do vorbiscomment -l $i; done
535 history
536 history | tail -3</pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">!</span><span style="color: #000000;">534</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">for</span> i <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000; font-weight: bold;">*</span>.ogg; <span style="color: #000000; font-weight: bold;">do</span> vorbiscomment <span style="color: #660033;">-l</span> <span style="color: #007800;">$i</span>; <span style="color: #000000; font-weight: bold;">done</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">Error opening input file '*.ogg'.</pre></div></div>

<p>A fenti példában az 543 volt futtatva amikor beírtuk hogy !543</p>

	Címkék: <a href="http://hogyan.org/cimkek/bash" title="bash" rel="tag">bash</a>, <a href="http://hogyan.org/cimkek/hasznalat" title="használat" rel="tag">használat</a>, <a href="http://hogyan.org/cimkek/linux" title="Linux" rel="tag">Linux</a>, <a href="http://hogyan.org/cimkek/parancssor" title="parancssor" rel="tag">parancssor</a>, <a href="http://hogyan.org/cimkek/tippek" title="tippek" rel="tag">tippek</a>
]]></content:encoded>
			<wfw:commentRss>http://hogyan.org/bash-hasznalati-tippek/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Youtube videó letöltés és konvertálás Linuxon (szkript)</title>
		<link>http://hogyan.org/youtube-video-letoltes-es-konvertalas-linuxon-szkript</link>
		<comments>http://hogyan.org/youtube-video-letoltes-es-konvertalas-linuxon-szkript#comments</comments>
		<pubDate>Wed, 24 Jun 2009 06:53:37 +0000</pubDate>
		<dc:creator>blaselinux</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[multimédia]]></category>
		<category><![CDATA[youtube]]></category>

		<guid isPermaLink="false">http://hogyan.org/?p=2345</guid>
		<description><![CDATA[Az itt olvasható leírást követve, el tudunk készíteni egy youtube videó letöltő szkriptet, ami egyúttal mp3 formátumba is konvertálja a letöltött tartalmat. Remélhetőleg ez a leírás segítséget nyújt a bash szkriptek írásához szükséges alapok elsajátításában.

A szkript futtatásához szükségünk van 2 program telepítésére (youtube-dl, mencoder), ezeket a következő parancs kiadásával tudjuk a legegyszerűbben telepíteni:

sudo apt-get install [...]]]></description>
			<content:encoded><![CDATA[<p>Az itt olvasható leírást követve, el tudunk készíteni egy youtube videó letöltő szkriptet, ami egyúttal mp3 formátumba is konvertálja a letöltött tartalmat. Remélhetőleg ez a leírás segítséget nyújt a bash szkriptek írásához szükséges alapok elsajátításában.<br />
<span id="more-2345"></span><br />
A szkript futtatásához szükségünk van 2 program telepítésére (youtube-dl, mencoder), ezeket a következő parancs kiadásával tudjuk a legegyszerűbben telepíteni:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> youtube-dl mencoder</pre></div></div>

<p>A szkriptünket a következő paranccsal és értékekkel tudjuk majd működésre bírni:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">youtube.sh http:<span style="color: #000000; font-weight: bold;">//</span>www.youtube.com<span style="color: #000000; font-weight: bold;">/</span>watch?<span style="color: #007800;">v</span>=XXXXXXXXXXX szerzo-cim</pre></div></div>

<p>A youtube.sh a szkriptünk neve, az utána következő link a letöltendő videó címe, végül pedig egy név, amellyel szeretnénk elmenteni az állományunkat. Vágjunk is bele.<br />
Első lépésként hozzunk létre egy üres fájlt a neve legyen youtube.sh:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">touch</span> youtube.sh</pre></div></div>

<p>Nyissuk meg szerkesztésre a kedvenc szövegszerkesztőnkkel. Lehet grafikus felületen a gedit, kedit, vagy karakteres felületen az mcedit, nano&#8230; stb. Én a nano-t fogom használni.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">nano</span> youtube.sh</pre></div></div>

<p>Mivel bash szkriptet írunk, a fájl elején meg kell adnunk ezt, mégpedig a következő sorral:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span></pre></div></div>

<p>Majd, hogy a későbbiekben könnyebben tudjunk dolgozni, állítsunk be egy könyvtárat, amibe szeretnénk dolgozni. Én egy saját könyvtárat hoztam létre a $HOME könyvtáramban.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">download</span>=<span style="color: #007800;">$HOME</span><span style="color: #000000; font-weight: bold;">/</span>youtube</pre></div></div>

<p>Ha nem alapértelmezett könyvtárról van szó, akkor érdemes ellenőrizni a létezését. (Igazából érdemes ellenőrizni minden esetben.) Egy feltételes utasítással ellenőrizzük a létezését, illetve nem létezését. A következő sorokban megvizsgáljuk, hogy a download változóban eltárolt könyvtár nem létezik-e, ha ez igaz, akkor létrehozzuk a könyvtárat.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #000000; font-weight: bold;">!</span> <span style="color: #660033;">-e</span> <span style="color: #007800;">$download</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>
    <span style="color: #000000; font-weight: bold;">then</span>
        <span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #007800;">$download</span>
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;A &quot;</span><span style="color: #007800;">$download</span><span style="color: #ff0000;">&quot; könyvtár létrehozva&quot;</span> <span style="color: #666666; font-style: italic;"># The directory is created </span>
<span style="color: #000000; font-weight: bold;">fi</span></pre></div></div>

<p>Az előzőekben ismertetett módon leellenőrizzük az flv könyvtár létezését.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #000000; font-weight: bold;">!</span> <span style="color: #660033;">-e</span> <span style="color: #007800;">$download</span><span style="color: #000000; font-weight: bold;">/</span>flv <span style="color: #7a0874; font-weight: bold;">&#93;</span>
    <span style="color: #000000; font-weight: bold;">then</span>
        <span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #007800;">$download</span><span style="color: #000000; font-weight: bold;">/</span>flv
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;A &quot;</span><span style="color: #007800;">$download</span><span style="color: #ff0000;">&quot;/flv könyvtár létrehozva&quot;</span> <span style="color: #666666; font-style: italic;"># The directory is created </span>
<span style="color: #000000; font-weight: bold;">fi</span></pre></div></div>

<p>Belépünk a munka könyvtárunkba.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #007800;">$download</span></pre></div></div>

<p>Egy üzenettel jelezzük, hogy éppen mit is csinál a szkriptünk.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;A letöltés megkezdése&quot;</span> <span style="color: #666666; font-style: italic;"># Start the download</span></pre></div></div>

<p>majd letöltjük a fájlt. A $1 változó a szkriptünk meghívása mögött álló szöveget tartalmazza, ami a hivatkozást kell tartalmaznia. Pl.: youtube.sh http://www.youtube.com/watch?v=XXXXXXXXXXX</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">youtube-dl $<span style="color: #000000;">1</span></pre></div></div>

<p>Majd kiíratjuk, hogy sikeresen letöltöttük a videó fájlt:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;A video letöltve&quot;</span> <span style="color: #666666; font-style: italic;"># Video is downloaded</span></pre></div></div>

<p>A következő paranccsal létrehozunk egy video változót, melyben eltároljuk a szkript meghívásánál megadott link egyenlőségjel mögötti karaktereit, ugyanis a youtube-dl ezzel a névvel fogja elmenteni a videót.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">video</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> $<span style="color: #000000;">1</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #660033;">-F</span>= <span style="color: #ff0000;">'{print $2 }'</span><span style="color: #000000; font-weight: bold;">`</span></pre></div></div>

<p>Itt egy új változóval ismerkedünk meg ez a $2 (nem azonos az awk mögötti $2-vel!). Ez a szkript meghívásakor másodikként megadott karaktersorozatot tartalmazza, amelyben az mp3 nevét kell megadnunk. Tehát a szkript helyes meghívása a következőképpen fog kinézni: youtube.sh http://www.youtube.com/watch?v=XXXXXXXXXXX szerzo-cim</p>
<p>A zene változó a következőt fogja tartalmazni: szerzo-cim.mp3</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">zene</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> $<span style="color: #000000;">2</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> -F. <span style="color: #ff0000;">'{print $1}'</span><span style="color: #000000; font-weight: bold;">`</span>.mp3</pre></div></div>

<p>A változók beállítása után egy üzenettel jelezzük, hogy a konvertálást fogjuk elkezdeni:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;A konvertálás megkezdése&quot;</span> <span style="color: #666666; font-style: italic;"># Start the convert</span></pre></div></div>

<p>Majd ténylegesen készítünk egy mp3 fájlt a videóból (az eredeti fájl megmarad):</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">mencoder <span style="color: #007800;">$video</span>.flv <span style="color: #660033;">-of</span> rawaudio <span style="color: #660033;">-oac</span> copy <span style="color: #660033;">-ovc</span> copy <span style="color: #660033;">-o</span> <span style="color: #007800;">$zene</span></pre></div></div>

<p>Ismételten jelezzük, hogy hol tart a szkriptünk:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Az mp3 elkészült&quot;</span> <span style="color: #666666; font-style: italic;"># The mp3 is ready</span></pre></div></div>

<p>A video változó értékét beállítjuk az általunk megadott névre. A következőt fogja tartalmazni: szerzo-cim.flv</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">video</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$zene</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> -F. <span style="color: #ff0000;">'{print $1}'</span><span style="color: #000000; font-weight: bold;">`</span>.flv</pre></div></div>

<p>Majd átnevezzük az flv fájlunkat:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">mv</span> <span style="color: #000000; font-weight: bold;">*</span>.flv <span style="color: #007800;">$video</span></pre></div></div>

<p>Végül áthelyezzük a videót az flv könyvtárba:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">mv</span> <span style="color: #007800;">$video</span> <span style="color: #007800;">$download</span><span style="color: #000000; font-weight: bold;">/</span>flv<span style="color: #000000; font-weight: bold;">/</span></pre></div></div>

<p>Lezárásképpen jelezhetjük, hogy a szkriptünk lefutott:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;A program sikeresen lefutott!&quot;</span> <span style="color: #666666; font-style: italic;"># The script ran succesfully</span></pre></div></div>

<p>A szkriptet ízlésünknek megfelelően lehet módosítani. Például, ha nincs szükségünk az flv videóra, akkor törölhetjük is, illetve akár mindkét fájlt más könyvtárakba is helyezhetjük, minden csak rajtunk múlik.<br />
A szkript tovább fejlesztése várható. Igyekszem hamarosan grafikus felületet készíteni hozzá, illetve flv-ből avi-t készíteni.</p>
<p>A szkript egyben:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
<span style="color: #666666; font-style: italic;">#######################################################</span>
<span style="color: #666666; font-style: italic;">##           Youtube downloader and converter</span>
<span style="color: #666666; font-style: italic;">##      Create by blaselinux: (blaselinux KUKAC gmail.com)</span>
<span style="color: #666666; font-style: italic;">##              Licence GNU GPL v3 or later.</span>
<span style="color: #666666; font-style: italic;">##       http://www.gnu.org/licenses/gpl.html</span>
<span style="color: #666666; font-style: italic;">##              http://gnu.hu/gplv3.html</span>
<span style="color: #666666; font-style: italic;">#######################################################</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Set the download variable to the working directory</span>
<span style="color: #007800;">download</span>=<span style="color: #007800;">$HOME</span><span style="color: #000000; font-weight: bold;">/</span>youtube
&nbsp;
<span style="color: #666666; font-style: italic;"># Check the working directory; exist or not, if not the script make it</span>
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #000000; font-weight: bold;">!</span> <span style="color: #660033;">-e</span> <span style="color: #007800;">$download</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>
    <span style="color: #000000; font-weight: bold;">then</span>
        <span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #007800;">$download</span>
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;A &quot;</span><span style="color: #007800;">$download</span><span style="color: #ff0000;">&quot; könyvtár létrehozva&quot;</span> <span style="color: #666666; font-style: italic;"># The directory is created</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #000000; font-weight: bold;">!</span> <span style="color: #660033;">-e</span> <span style="color: #007800;">$download</span><span style="color: #000000; font-weight: bold;">/</span>flv <span style="color: #7a0874; font-weight: bold;">&#93;</span>
    <span style="color: #000000; font-weight: bold;">then</span>
        <span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #007800;">$download</span><span style="color: #000000; font-weight: bold;">/</span>flv
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;A &quot;</span><span style="color: #007800;">$download</span><span style="color: #ff0000;">&quot;/flv könyvtár létrehozva&quot;</span> <span style="color: #666666; font-style: italic;"># The directory is created</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Go to the working directory</span>
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #007800;">$download</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;A letöltés megkezdése&quot;</span> <span style="color: #666666; font-style: italic;"># Start the download</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Download the video</span>
youtube-dl $<span style="color: #000000;">1</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;A video letöltve&quot;</span> <span style="color: #666666; font-style: italic;"># The video is downloaded</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Set the video variable</span>
<span style="color: #007800;">video</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> $<span style="color: #000000;">1</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #660033;">-F</span>= <span style="color: #ff0000;">'{print $2 }'</span><span style="color: #000000; font-weight: bold;">`</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Set the zene variable</span>
<span style="color: #007800;">zene</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> $<span style="color: #000000;">2</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> -F. <span style="color: #ff0000;">'{print $1}'</span><span style="color: #000000; font-weight: bold;">`</span>.mp3
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;A konvertálás megkezdése&quot;</span> <span style="color: #666666; font-style: italic;"># Start the convert</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Convert the flv file to mp3</span>
mencoder <span style="color: #007800;">$video</span>.flv <span style="color: #660033;">-of</span> rawaudio <span style="color: #660033;">-oac</span> copy <span style="color: #660033;">-ovc</span> copy <span style="color: #660033;">-o</span> <span style="color: #007800;">$zene</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Az mp3 elkészült&quot;</span> <span style="color: #666666; font-style: italic;"># The mp3 is ready</span>
&nbsp;
<span style="color: #007800;">video</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$zene</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> -F. <span style="color: #ff0000;">'{print $1}'</span><span style="color: #000000; font-weight: bold;">`</span>.flv
&nbsp;
<span style="color: #666666; font-style: italic;"># Rename the flv file</span>
<span style="color: #c20cb9; font-weight: bold;">mv</span> <span style="color: #000000; font-weight: bold;">*</span>.flv <span style="color: #007800;">$video</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Move the flv file to the flv directory</span>
<span style="color: #c20cb9; font-weight: bold;">mv</span> <span style="color: #007800;">$video</span> <span style="color: #007800;">$download</span><span style="color: #000000; font-weight: bold;">/</span>flv<span style="color: #000000; font-weight: bold;">/</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;A program sikeresen lefutott!&quot;</span> <span style="color: #666666; font-style: italic;"># The script ran succesfully</span></pre></div></div>

<p>Az elkészítés után ne felejtsünk el futtatási jogot adni az állományra:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">chmod</span> +x youtube.sh</pre></div></div>

<p>A kész szkript letölthető <a href="http://linuxegyszeruen.homelinux.org/request.php?41">innen</a>.</p>

	Címkék: <a href="http://hogyan.org/cimkek/bash" title="bash" rel="tag">bash</a>, <a href="http://hogyan.org/cimkek/linux" title="Linux" rel="tag">Linux</a>, <a href="http://hogyan.org/cimkek/multimedia" title="multimédia" rel="tag">multimédia</a>, <a href="http://hogyan.org/cimkek/youtube" title="youtube" rel="tag">youtube</a>
]]></content:encoded>
			<wfw:commentRss>http://hogyan.org/youtube-video-letoltes-es-konvertalas-linuxon-szkript/feed</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Egyszerű archiváló bash szkript készítése</title>
		<link>http://hogyan.org/egyszeru-archivalo-bash-szkript-keszitese</link>
		<comments>http://hogyan.org/egyszeru-archivalo-bash-szkript-keszitese#comments</comments>
		<pubDate>Fri, 01 May 2009 05:52:57 +0000</pubDate>
		<dc:creator>blaselinux</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[parancssor]]></category>
		<category><![CDATA[szkript]]></category>

		<guid isPermaLink="false">http://hogyan.org/?p=1334</guid>
		<description><![CDATA[Ebben a leírásban bemutatom, hogyan lehet elkészíteni egy egyszerű archiváló bash szkriptet. Egy általam készített szkripten keresztül mutatom be a lépéseket, melyek csupán egy lehetőséget biztosítanak, a végleges működés mindig rajtunk múlik. Kezdjünk is bele.

Először is nyissuk meg kedvenc szövegszerkesztőnket.
Mielőtt bármit csinálnánk adjuk meg, hogy milyen szkriptet is csinálunk:

#!/bin/bash

Én először könyvtárat váltottam, így egyszerűbben tudok [...]]]></description>
			<content:encoded><![CDATA[<p>Ebben a leírásban bemutatom, hogyan lehet elkészíteni egy egyszerű archiváló bash szkriptet. Egy általam készített szkripten keresztül mutatom be a lépéseket, melyek csupán egy lehetőséget biztosítanak, a végleges működés mindig rajtunk múlik. Kezdjünk is bele.<br />
<span id="more-1334"></span><br />
Először is nyissuk meg kedvenc szövegszerkesztőnket.<br />
Mielőtt bármit csinálnánk adjuk meg, hogy milyen szkriptet is csinálunk:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span></pre></div></div>

<p>Én először könyvtárat váltottam, így egyszerűbben tudok későbbiekben parancsokat kiadni az adott könyvtárra. Tehát:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>archivalando<span style="color: #000000; font-weight: bold;">/</span>fajlok<span style="color: #000000; font-weight: bold;">/</span>eleresi<span style="color: #000000; font-weight: bold;">/</span>utja</pre></div></div>

<p>Én szeretném mindig az előző hónapban létrehozott fájlokat archiválni, ezért le kell ezt is kezelni. Az aktuális hónapot egy egyszerű paranccsal le tudom kérdezni:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">date</span> +<span style="color: #000000; font-weight: bold;">%</span>m</pre></div></div>

<p>Állítsuk be az előző hónapot egy változóba:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">old_honap</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">date</span> <span style="color: #660033;">--date</span>=<span style="color: #ff0000;">&quot;1 month ago&quot;</span> +<span style="color: #000000; font-weight: bold;">%</span>m<span style="color: #000000; font-weight: bold;">`</span></pre></div></div>

<p>Ezután egy változóba felveszem az előző év és hónap értékét, hogy tudjak szűrni erre a paraméterre:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">ido</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">date</span> <span style="color: #660033;">--date</span>=<span style="color: #ff0000;">&quot;1 month ago&quot;</span> +<span style="color: #000000; font-weight: bold;">%</span>Y-<span style="color: #000000; font-weight: bold;">%</span>m<span style="color: #000000; font-weight: bold;">`</span></pre></div></div>

<p>Majd elmentem egy segéd fájlba az archiválandó fájlok nevét, amit így később egyszerűen ki tudok nyerni:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #660033;">-l</span> ..<span style="color: #000000; font-weight: bold;">/</span>arcvivalandofajlokkonyvtara <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #660033;">-v</span> ^d <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #007800;">$ido</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'{print $8}'</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt; archive_<span style="color: #007800;">$old_honap</span><span style="color: #000000; font-weight: bold;">/</span>backup.txt</pre></div></div>

<p>Leellenőrzöm, hogy létezik-e már a könyvtár, amit szeretnék létrehozni. (Itt lehet módosítani aszerint, hogyan kezelje a szkript ha már létezik a könyvtár.)</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-e</span> <span style="color: #000000; font-weight: bold;">/</span>archivalando<span style="color: #000000; font-weight: bold;">/</span>fajlok<span style="color: #000000; font-weight: bold;">/</span>eleresi<span style="color: #000000; font-weight: bold;">/</span>utja<span style="color: #000000; font-weight: bold;">/</span>archive_<span style="color: #007800;">$old_honap</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Az archive_<span style="color: #007800;">$old_honap</span> konyvtar letezik&quot;</span>
<span style="color: #000000; font-weight: bold;">else</span>
        <span style="color: #c20cb9; font-weight: bold;">mkdir</span> archive_<span style="color: #007800;">$old_honap</span>
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Az archive_<span style="color: #007800;">$old_honap</span> konyvtarat letrehoztam&quot;</span>
<span style="color: #000000; font-weight: bold;">fi</span></pre></div></div>

<p>Majd létrehozunk egy könyvtárat az archív fájljaink számára:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-e</span> <span style="color: #000000; font-weight: bold;">/</span>archiv<span style="color: #000000; font-weight: bold;">/</span>fajlok<span style="color: #000000; font-weight: bold;">/</span>eleresi<span style="color: #000000; font-weight: bold;">/</span>utja<span style="color: #000000; font-weight: bold;">/</span>backup <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;A backup konyvtar letezik&quot;</span>
<span style="color: #000000; font-weight: bold;">else</span>
        <span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #000000; font-weight: bold;">/</span>archiv<span style="color: #000000; font-weight: bold;">/</span>fajlok<span style="color: #000000; font-weight: bold;">/</span>eleresi<span style="color: #000000; font-weight: bold;">/</span>utja<span style="color: #000000; font-weight: bold;">/</span>backup
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;A backup konyvtarat letrehoztam&quot;</span>
<span style="color: #000000; font-weight: bold;">fi</span></pre></div></div>

<p>Ezután átmozgathatjuk az elmentendő fájlokat a könyvtárba:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">cat</span> archive_<span style="color: #007800;">$old_honap</span><span style="color: #000000; font-weight: bold;">/</span>backup.txt <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #c20cb9; font-weight: bold;">read</span> sor; <span style="color: #000000; font-weight: bold;">do</span>
        <span style="color: #c20cb9; font-weight: bold;">mv</span> <span style="color: #007800;">$sor</span> archive_<span style="color: #007800;">$old_honap</span>
<span style="color: #000000; font-weight: bold;">done</span></pre></div></div>

<p>Ezután törölhetjük a segéd fájlt, mivel ezt nem szeretnénk elmenteni:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">rm</span> archive_<span style="color: #007800;">$old_honap</span><span style="color: #000000; font-weight: bold;">/</span>backup.txt</pre></div></div>

<p>Beállítjuk, hogy melyik könyvtár legyen tömörítve és milyen fájlként mentse el, illetve hova a program. Ezt változókban tároljuk:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">OUTPUT</span>=.<span style="color: #000000; font-weight: bold;">/</span>backup<span style="color: #000000; font-weight: bold;">/</span>archive_$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">date</span> +<span style="color: #000000; font-weight: bold;">%</span>Y<span style="color: #7a0874; font-weight: bold;">&#41;</span>-<span style="color: #007800;">$old_honap</span>.tgz
&nbsp;
<span style="color: #007800;">BUDIR</span>=<span style="color: #ff0000;">&quot;./archive_<span style="color: #007800;">$old_honap</span>&quot;</span></pre></div></div>

<p>Majd elvégezzük az archiválást:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">tar</span> <span style="color: #660033;">-czf</span> <span style="color: #007800;">$OUTPUT</span> <span style="color: #007800;">$BUDIR</span></pre></div></div>

<p>Utolsó előtti műveletként törölhetjük a létrehozott könyvtárat tartalmával együtt, azonban vigyázzunk vele, esetleges adat vesztést okozhat, ezért nyugodtan ki is lehet kommentezni:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-R</span> .<span style="color: #000000; font-weight: bold;">/</span>archive_<span style="color: #007800;">$old_honap</span></pre></div></div>

<p>Végül üzenetet küldhetünk magunknak a program sikerességéről, vagy esetleges hibájáról:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$?</span> == <span style="color: #000000;">0</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
    <span style="color: #666666; font-style: italic;">#Display confirmation message</span>
    <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;A <span style="color: #007800;">$OUTPUT</span> fajl letrejott a <span style="color: #007800;">$BUDIR</span> konyvtarbol.&quot;</span>
<span style="color: #000000; font-weight: bold;">else</span>
    <span style="color: #666666; font-style: italic;">#Display error message message</span>
    <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Hiba tortent a <span style="color: #007800;">$OUTPUT</span> fajl <span style="color: #007800;">$BUDIR</span> konyvtarbol valo letrehozasa kozben.&quot;</span>
<span style="color: #000000; font-weight: bold;">fi</span></pre></div></div>

<p>Mielőtt használnák a szkriptünket ne felejtsünk el futtatási jogot adni rá:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">chmod</span> +x archive_szkript.sh</pre></div></div>

<p>Íme a program egyben:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#######################################################</span>
&nbsp;
<span style="color: #666666; font-style: italic;">##              Simple archive script...      </span>
&nbsp;
<span style="color: #666666; font-style: italic;">##  Create by blaselinux: (blaselinux@gmail.com)</span>
&nbsp;
<span style="color: #666666; font-style: italic;">##              Licence GNU GPL v3 or later.</span>
&nbsp;
<span style="color: #666666; font-style: italic;">##       http://www.gnu.org/licenses/gpl.html</span>
&nbsp;
<span style="color: #666666; font-style: italic;">##              http://gnu.hu/gplv3.html</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#######################################################</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Change the directory to the archive files</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>blaselinux<span style="color: #000000; font-weight: bold;">/</span>Sablonok<span style="color: #000000; font-weight: bold;">/</span>archive_teszt
&nbsp;
<span style="color: #666666; font-style: italic;"># Set the old_month</span>
&nbsp;
<span style="color: #007800;">old_honap</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">date</span> <span style="color: #660033;">--date</span>=<span style="color: #ff0000;">&quot;1 month ago&quot;</span> +<span style="color: #000000; font-weight: bold;">%</span>m<span style="color: #000000; font-weight: bold;">`</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Checking the files</span>
&nbsp;
<span style="color: #007800;">ido</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">date</span> <span style="color: #660033;">--date</span>=<span style="color: #ff0000;">&quot;1 month ago&quot;</span> +<span style="color: #000000; font-weight: bold;">%</span>Y-<span style="color: #000000; font-weight: bold;">%</span>m<span style="color: #000000; font-weight: bold;">`</span>
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #660033;">-l</span> ..<span style="color: #000000; font-weight: bold;">/</span>archive_teszt <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #660033;">-v</span> ^d <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #007800;">$ido</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'{print $8}'</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt; archive_<span style="color: #007800;">$old_honap</span><span style="color: #000000; font-weight: bold;">/</span>backup.txt
&nbsp;
<span style="color: #666666; font-style: italic;"># Checking the directory</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-e</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>blaselinux<span style="color: #000000; font-weight: bold;">/</span>Sablonok<span style="color: #000000; font-weight: bold;">/</span>archive_teszt<span style="color: #000000; font-weight: bold;">/</span>archive_<span style="color: #007800;">$old_honap</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Az archive_<span style="color: #007800;">$old_honap</span> konyvtar letezik&quot;</span>
<span style="color: #000000; font-weight: bold;">else</span>
        <span style="color: #c20cb9; font-weight: bold;">mkdir</span> archive_<span style="color: #007800;">$old_honap</span>
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Az archive_<span style="color: #007800;">$old_honap</span> konyvtarat letrehoztam&quot;</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Make a backup directory if it doesn't exist</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-e</span> <span style="color: #000000; font-weight: bold;">/</span>archiv<span style="color: #000000; font-weight: bold;">/</span>fajlok<span style="color: #000000; font-weight: bold;">/</span>eleresi<span style="color: #000000; font-weight: bold;">/</span>utja<span style="color: #000000; font-weight: bold;">/</span>backup <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;A backup konyvtar letezik&quot;</span>
<span style="color: #000000; font-weight: bold;">else</span>
        <span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #000000; font-weight: bold;">/</span>archiv<span style="color: #000000; font-weight: bold;">/</span>fajlok<span style="color: #000000; font-weight: bold;">/</span>eleresi<span style="color: #000000; font-weight: bold;">/</span>utja<span style="color: #000000; font-weight: bold;">/</span>backup
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;A backup konyvtarat letrehoztam&quot;</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Moving the files</span>
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">cat</span> archive_<span style="color: #007800;">$old_honap</span><span style="color: #000000; font-weight: bold;">/</span>backup.txt <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #c20cb9; font-weight: bold;">read</span> sor; <span style="color: #000000; font-weight: bold;">do</span>
        <span style="color: #c20cb9; font-weight: bold;">mv</span> <span style="color: #007800;">$sor</span> archive_<span style="color: #007800;">$old_honap</span>
<span style="color: #000000; font-weight: bold;">done</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Delete the aide file</span>
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">rm</span> archive_<span style="color: #007800;">$old_honap</span><span style="color: #000000; font-weight: bold;">/</span>backup.txt
&nbsp;
<span style="color: #007800;">OUTPUT</span>=.<span style="color: #000000; font-weight: bold;">/</span>backup<span style="color: #000000; font-weight: bold;">/</span>archive_$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">date</span> +<span style="color: #000000; font-weight: bold;">%</span>Y<span style="color: #7a0874; font-weight: bold;">&#41;</span>-<span style="color: #007800;">$old_honap</span>.tgz
&nbsp;
<span style="color: #007800;">BUDIR</span>=<span style="color: #ff0000;">&quot;./archive_<span style="color: #007800;">$old_honap</span>&quot;</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Az archivalas elkezdese a <span style="color: #007800;">$BUDIR</span> konyvtarbol a <span style="color: #007800;">$OUTPUT</span> fajlba&quot;</span>
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">tar</span> <span style="color: #660033;">-czf</span> <span style="color: #007800;">$OUTPUT</span> <span style="color: #007800;">$BUDIR</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Delete the ./archive_$old_honap directory with files.</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Please be careful!!!</span>
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-R</span> .<span style="color: #000000; font-weight: bold;">/</span>archive_<span style="color: #007800;">$old_honap</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$?</span> == <span style="color: #000000;">0</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
    <span style="color: #666666; font-style: italic;">#Display confirmation message</span>
    <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;A <span style="color: #007800;">$OUTPUT</span> fajl letrejott a <span style="color: #007800;">$BUDIR</span> konyvtarbol.&quot;</span>
<span style="color: #000000; font-weight: bold;">else</span>
    <span style="color: #666666; font-style: italic;">#Display error message message</span>
    <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Hiba tortent a <span style="color: #007800;">$OUTPUT</span> fajl <span style="color: #007800;">$BUDIR</span> konyvtarbol valo letrehozasa kozben.&quot;</span>
<span style="color: #000000; font-weight: bold;">fi</span></pre></div></div>

<p>Készen is volnánk. Remélhetőleg érthető a magyarázat, használjátok egészséggel.</p>
<p>A szkript letölthető <a href="http://linuxegyszeruen.homelinux.org/request.php?35">innen</a>.</p>
<p>Köszönet iKL-nek a segítségért!</p>

	Címkék: <a href="http://hogyan.org/cimkek/bash" title="bash" rel="tag">bash</a>, <a href="http://hogyan.org/cimkek/linux" title="Linux" rel="tag">Linux</a>, <a href="http://hogyan.org/cimkek/parancssor" title="parancssor" rel="tag">parancssor</a>, <a href="http://hogyan.org/cimkek/szkript" title="szkript" rel="tag">szkript</a>
]]></content:encoded>
			<wfw:commentRss>http://hogyan.org/egyszeru-archivalo-bash-szkript-keszitese/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Bash prompt testreszabása</title>
		<link>http://hogyan.org/bash-prompt-testreszabas</link>
		<comments>http://hogyan.org/bash-prompt-testreszabas#comments</comments>
		<pubDate>Sun, 17 Feb 2008 12:35:53 +0000</pubDate>
		<dc:creator>charlie</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[parancssor]]></category>
		<category><![CDATA[rendszer]]></category>

		<guid isPermaLink="false">http://hogyan.org/bash-prompt-testreszabas</guid>
		<description><![CDATA[Bash shell esetén egyszerűen testre lehet szabni a promptot (a prompt az, ami a kurzor előtt megjelenik)
Alapértelmezett prompt Ubuntuban,felhasználónév@gépnév:mappaformátumban
A prompt beállításait a ~/.bashrc fájlban beállíthatjuk (a ~ jelenti a home mappánkat, ami a /home/felhasznalonev). Ha minden felhasználónak szeretnénk beállítani akkor a /etc/bash.bashrc fájlt kell szerkeszteni.

Írjuk be azt, hogy

PS1='[\u@\h \W]\$ '

A PS1=&#8217;értékek &#8216; sorral határozhatjuk meg [...]]]></description>
			<content:encoded><![CDATA[<p>Bash shell esetén egyszerűen testre lehet szabni a promptot (a prompt az, ami a kurzor előtt megjelenik)</p>
<p>Alapértelmezett prompt Ubuntuban,<em>felhasználónév@gépnév:mappa</em>formátumban</p>
<p>A prompt beállításait a ~/.bashrc fájlban beállíthatjuk (a ~ jelenti a home mappánkat, ami a /home/felhasznalonev). Ha minden felhasználónak szeretnénk beállítani akkor a /etc/bash.bashrc fájlt kell szerkeszteni.<br />
<span id="more-54"></span></p>
<div id="attachment_1899" class="wp-caption aligncenter" style="width: 280px"><a href="http://hogyan.org/files/2008/02/bash_prompt.gif" rel="lightbox[54]"><img src="http://hogyan.org/files/2008/02/bash_prompt.gif" alt="Alapértelmezett prompt" title="Alapértelmezett prompt" width="270" height="95" class="size-full wp-image-1899" /></a>
<p class="wp-caption-text">Alapértelmezett prompt</p>
</div>
<p>Írjuk be azt, hogy</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">PS1</span>=<span style="color: #ff0000;">'[\u@\h \W]\$ '</span></pre></div></div>

<p>A PS1=&#8217;értékek &#8216; sorral határozhatjuk meg a prompt kinézetét. Az utolsó &#8216; jel előtt mindenképp kell egy szóköz!</p>
<p>A következő paramétereket használhatjuk:</p>
<ul>
<li><strong>\d</strong>: dátum &#8220;napneve hónap nap&#8221; format (e.g., &#8220;v febr 17&#8243;)</li>
<li><strong>\H</strong>: gépnév</li>
<li><strong>\j</strong>: aktuális folyamatok számának mutatása</li>
<li><strong>\l</strong>: the basename of the shell&#8217;s terminal device name</li>
<li><strong>\n</strong>: sortörés</li>
<li><strong>\s</strong>: the name of the shell, the basename of $0 (the portion following the final slash)</li>
<li><strong>\t</strong>: 24 órás idő HH:MM:SS formában (13:17:30)</li>
<li><strong>\T</strong>: 12 órás idő HH:MM:SS formában</li>
<li><strong>\@</strong>: 12 órás idő, de/du formában</li>
<li><strong>\A</strong>: aktuális idő 24 órás HH:MM formátumba</li>
<li><strong>\u</strong>: aktuális felhasználó neve</li>
<li><strong>\v</strong>: bash verziója (pl., 2.00)</li>
<li><strong>\V</strong>: bash verziója, plusz patch szint (pl., 2.00.0)</li>
<li><strong>\w</strong>: aktális mappa, HOME mappa ~ jellel (pl. ~/Dokumentumok ami a /home/valaki/Dokumentumok-at jelöli)</li>
<li><strong>\W</strong>: Aktuális mappa neve, HOME mappába ~ jellel, de nem öröklődik a ~ jel</li>
<li><strong>\!</strong>: hány parancs van a historyba</li>
<li><strong>\#</strong>: the command number of this command</li>
<li><strong>\$    $ jel, ha root akkor # jel</strong></li>
<li><strong>\nnn   the character corresponding to the octal number nnn</strong></li>
<li><strong>\\</strong>: visszatört (\ altgr+q)</li>
</ul>
<p>Néhány példa beállítás</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">PS1</span>=<span style="color: #ff0000;">'\[\e[0;32m\]\u\[\e[m\] \[\e[1;34m\]\w\[\e[m\] \[\e[1;32m\]\$ \[\e[m\]\[\e[1;37m\] '</span></pre></div></div>

<p style="text-align: center" align="left"><img style="width: 220px;height: 21px;margin-top: 1px;margin-bottom: 1px" src="http://hogyan.org/files/2008/02/13.gif" alt="Ubuntu prompt" /></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">PS1</span>=<span style="color: #ff0000;">'\[\e[0;34m\][\W]\[\e[m\] '</span></pre></div></div>

<p style="text-align: center" align="left"><img style="width: 132px;height: 21px;margin-top: 1px;margin-bottom: 1px" src="http://hogyan.org/files/2008/02/22.gif" alt="Ubuntu prompt" /></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">PS1</span>=<span style="color: #ff0000;">'\n[\[\e[36;40m\]\u\[\e[0m\]] \[\e[32;40m\]\W \[\e[0m\]\$ '</span></pre></div></div>

<p style="text-align: center" align="left"><img style="width: 212px;height: 38px;margin-top: 1px;margin-bottom: 1px" src="http://hogyan.org/files/2008/02/32.gif" alt="Ubuntu prompt" /></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">PS1</span>=$<span style="color: #ff0000;">'\A \u at \e[1m\h\e[0m load: $(cut -d &quot; &quot; -f1-3 /proc/loadavg) $(dirs) \$ '</span></pre></div></div>

<p style="text-align: center" align="left"><img style="width: 493px;height: 22px;margin-top: 1px;margin-bottom: 1px" src="http://hogyan.org/files/2008/02/42.gif" alt="Ubuntu prompt" /></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">PS1</span>=<span style="color: #ff0000;">'\w\\$ '</span></pre></div></div>

<p style="text-align: center" align="left"><img style="width: 36px;height: 21px;margin-top: 1px;margin-bottom: 1px" src="http://hogyan.org/files/2008/02/51.gif" alt="Ubuntu prompt" /></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">PS1</span>=<span style="color: #ff0000;">'\t \H//\w&gt; '</span></pre></div></div>

<p style="text-align: center" align="left"><img style="width: 172px;height: 21px;margin-top: 1px;margin-bottom: 1px" src="http://hogyan.org/files/2008/02/61.gif" alt="Ubuntu prompt" /></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">PS1</span>=<span style="color: #ff0000;">'\w\[\e[37;1m\]&gt; \[\e[0m\] '</span></pre></div></div>

<p style="text-align: center" align="left"><img style="width: 148px;height: 21px;margin-top: 1px;margin-bottom: 1px" src="http://hogyan.org/files/2008/02/71.gif" alt="Ubuntu prompt" /></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">PS1</span>=<span style="color: #ff0000;">'\[\e[32;1m\]\u@\h:\w\[\e[34;1m\]$ \[\e[0m\] '</span></pre></div></div>

<p style="text-align: center" align="left"><img style="width: 268px;height: 21px;margin-top: 1px;margin-bottom: 1px" src="http://hogyan.org/files/2008/02/81.gif" alt="Ubuntu prompt" /></p>

	Címkék: <a href="http://hogyan.org/cimkek/bash" title="bash" rel="tag">bash</a>, <a href="http://hogyan.org/cimkek/linux" title="Linux" rel="tag">Linux</a>, <a href="http://hogyan.org/cimkek/parancssor" title="parancssor" rel="tag">parancssor</a>, <a href="http://hogyan.org/cimkek/rendszer" title="rendszer" rel="tag">rendszer</a>
]]></content:encoded>
			<wfw:commentRss>http://hogyan.org/bash-prompt-testreszabas/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
