<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
	>
<channel>
	<title>Comments on: Aaargh #2</title>
	<atom:link href="http://laak.info/blog/aaargh-2/feed" rel="self" type="application/rss+xml" />
	<link>http://laak.info/blog/aaargh-2</link>
	<description>Se on vain puhetta</description>
	<pubDate>Wed, 07 Jan 2009 04:06:46 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Timo</title>
		<link>http://laak.info/blog/aaargh-2/comment-page-1#comment-14668</link>
		<dc:creator>Timo</dc:creator>
		<pubDate>Tue, 18 Sep 2007 16:57:44 +0000</pubDate>
		<guid isPermaLink="false">http://laak.info/blog/aaargh-2#comment-14668</guid>
		<description>Tähän väliin voisi kommentoida, että findia ja greppiä on nyt tullut tarvittua...</description>
		<content:encoded><![CDATA[<p>Tähän väliin voisi kommentoida, että findia ja greppiä on nyt tullut tarvittua&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Timo</title>
		<link>http://laak.info/blog/aaargh-2/comment-page-1#comment-12938</link>
		<dc:creator>Timo</dc:creator>
		<pubDate>Sun, 17 Jun 2007 15:26:32 +0000</pubDate>
		<guid isPermaLink="false">http://laak.info/blog/aaargh-2#comment-12938</guid>
		<description>Antaahan se eväitä vaikka mihin, mutta jos noita ei yleensä tarvitse käyttää, niin kynnys opetteluun on aika korkea. Yleensä kosken komentoriviin vasta sitten, kun muuten ei onnistu.

Ja toki yksi typo saa usein kauheuksia aikaan, joten siinäkin mielessä tekstikomentojen kanssa pitää olla tarkkana.</description>
		<content:encoded><![CDATA[<p>Antaahan se eväitä vaikka mihin, mutta jos noita ei yleensä tarvitse käyttää, niin kynnys opetteluun on aika korkea. Yleensä kosken komentoriviin vasta sitten, kun muuten ei onnistu.</p>
<p>Ja toki yksi typo saa usein kauheuksia aikaan, joten siinäkin mielessä tekstikomentojen kanssa pitää olla tarkkana.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ii</title>
		<link>http://laak.info/blog/aaargh-2/comment-page-1#comment-12937</link>
		<dc:creator>ii</dc:creator>
		<pubDate>Sun, 17 Jun 2007 15:22:47 +0000</pubDate>
		<guid isPermaLink="false">http://laak.info/blog/aaargh-2#comment-12937</guid>
		<description>No, juuri tuollaista pakkausoperaatiota ei välttämättä tarvitse tehdä, mutta viime viikolla tuli töissä vastaan tilanne, jossa piti useista alikansioista etsiä tietynpäätteiset tiedostot, ja jos niissä oli teksti 'foo', mutta ei tekstiä 'bar', teksti 'foo' oli vaihdettava 'quux':ksi. Tiedostoja oli kansioissa muutaman sataa, ehtoihin täsmäsi joitain kymmeniä, osumia tiedostossa oli yhdestä kuuteen. Putkitin findia, greppiä ja sediä - ihan perustyökaluja siis - ja ongelma ratkaistu.

En väitä, että joka päivä tulisi tuollaisia tapahtumia vastaan, mutta en myöskään väitä, että komentorivi olisi soveltuva vain tuollaisille monimutkaisemmille tehtäville. Peruskäytössäkin komentorivi antaa paljon voimaa ja ennenkaikkea nopeutta. Huono työmies syyttää työkaluja.

Myönnettäköön toki sekin, että yhdenmukaisuus ja selkeys parametreissä olisi ihan oikeasti mukava juttu. Jusson mainitsema -R ja -r chmodissa on varmaan tullut jokaista vastaan.</description>
		<content:encoded><![CDATA[<p>No, juuri tuollaista pakkausoperaatiota ei välttämättä tarvitse tehdä, mutta viime viikolla tuli töissä vastaan tilanne, jossa piti useista alikansioista etsiä tietynpäätteiset tiedostot, ja jos niissä oli teksti &#8216;foo&#8217;, mutta ei tekstiä &#8216;bar&#8217;, teksti &#8216;foo&#8217; oli vaihdettava &#8216;quux&#8217;:ksi. Tiedostoja oli kansioissa muutaman sataa, ehtoihin täsmäsi joitain kymmeniä, osumia tiedostossa oli yhdestä kuuteen. Putkitin findia, greppiä ja sediä - ihan perustyökaluja siis - ja ongelma ratkaistu.</p>
<p>En väitä, että joka päivä tulisi tuollaisia tapahtumia vastaan, mutta en myöskään väitä, että komentorivi olisi soveltuva vain tuollaisille monimutkaisemmille tehtäville. Peruskäytössäkin komentorivi antaa paljon voimaa ja ennenkaikkea nopeutta. Huono työmies syyttää työkaluja.</p>
<p>Myönnettäköön toki sekin, että yhdenmukaisuus ja selkeys parametreissä olisi ihan oikeasti mukava juttu. Jusson mainitsema -R ja -r chmodissa on varmaan tullut jokaista vastaan.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Timo</title>
		<link>http://laak.info/blog/aaargh-2/comment-page-1#comment-12931</link>
		<dc:creator>Timo</dc:creator>
		<pubDate>Sun, 17 Jun 2007 10:13:28 +0000</pubDate>
		<guid isPermaLink="false">http://laak.info/blog/aaargh-2#comment-12931</guid>
		<description>Kuinka usein tuollaista pakkausoperaatiota tarvitsee tehdä?</description>
		<content:encoded><![CDATA[<p>Kuinka usein tuollaista pakkausoperaatiota tarvitsee tehdä?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ii</title>
		<link>http://laak.info/blog/aaargh-2/comment-page-1#comment-12930</link>
		<dc:creator>ii</dc:creator>
		<pubDate>Sun, 17 Jun 2007 10:12:03 +0000</pubDate>
		<guid isPermaLink="false">http://laak.info/blog/aaargh-2#comment-12930</guid>
		<description>Graafisten ja tekstipohjaisten komenteluiden eroista on toki tapeltu vuosia. Yleisesti voisi sanoa, että wimp-käyttöliittymät ovat helppoja omaksua ja cli-käyttöliittymät tehokkaita käyttää.

Ja lukeehan niissä manuaaleissa esimerkkejä, 'man zip' sanoo: "zip -r foo.zip foo".

Kuinka guissa pakataan zippiin kaikki alihakemistoissa sijaitsevat .txt-tiedostot, joissa lukee 'quux' muttei 'foo'?</description>
		<content:encoded><![CDATA[<p>Graafisten ja tekstipohjaisten komenteluiden eroista on toki tapeltu vuosia. Yleisesti voisi sanoa, että wimp-käyttöliittymät ovat helppoja omaksua ja cli-käyttöliittymät tehokkaita käyttää.</p>
<p>Ja lukeehan niissä manuaaleissa esimerkkejä, &#8216;man zip&#8217; sanoo: &#8220;zip -r foo.zip foo&#8221;.</p>
<p>Kuinka guissa pakataan zippiin kaikki alihakemistoissa sijaitsevat .txt-tiedostot, joissa lukee &#8216;quux&#8217; muttei &#8216;foo&#8217;?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Timo</title>
		<link>http://laak.info/blog/aaargh-2/comment-page-1#comment-12813</link>
		<dc:creator>Timo</dc:creator>
		<pubDate>Thu, 14 Jun 2007 06:28:13 +0000</pubDate>
		<guid isPermaLink="false">http://laak.info/blog/aaargh-2#comment-12813</guid>
		<description>http://www.macworld.com/weblogs/macosxhints/2006/12/manpages/index.php ;)

Voisi olettaa, että systeemi on niin älykäs, ettei ylikirjoita mitään, vaan tekee uuden tiedoston. Aivan kuten Windows ja Mac OS X tekevät kun GUI:ssa zippaa tavaraa. OS X:ssä sinne ilmestyy Archive.zip ja jos sellainen on jo olemassa, niin Archive 2.zip jne.

Eivät nuo helpit ja manuskat aina niin selkeitä ole. Tuokin help voisi näyttää edes esimerkin, mutta ei väkisin. Esim. tuosta parametrilistasta ei tiedä, mitkä ovat pakollisia ja mitkä eivät.

Yleisviisaus on, että jos toiminnon tekemiseen tarvitsee ohjetta, toiminto on silloin huonosti suunniteltu.</description>
		<content:encoded><![CDATA[<p><a href="http://www.macworld.com/weblogs/macosxhints/2006/12/manpages/index.php" rel="nofollow">http://www.macworld.com/weblogs/macosxhints/2006/12/manpages/index.php</a> ;)</p>
<p>Voisi olettaa, että systeemi on niin älykäs, ettei ylikirjoita mitään, vaan tekee uuden tiedoston. Aivan kuten Windows ja Mac OS X tekevät kun GUI:ssa zippaa tavaraa. OS X:ssä sinne ilmestyy Archive.zip ja jos sellainen on jo olemassa, niin Archive 2.zip jne.</p>
<p>Eivät nuo helpit ja manuskat aina niin selkeitä ole. Tuokin help voisi näyttää edes esimerkin, mutta ei väkisin. Esim. tuosta parametrilistasta ei tiedä, mitkä ovat pakollisia ja mitkä eivät.</p>
<p>Yleisviisaus on, että jos toiminnon tekemiseen tarvitsee ohjetta, toiminto on silloin huonosti suunniteltu.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jane</title>
		<link>http://laak.info/blog/aaargh-2/comment-page-1#comment-12810</link>
		<dc:creator>Jane</dc:creator>
		<pubDate>Thu, 14 Jun 2007 05:11:33 +0000</pubDate>
		<guid isPermaLink="false">http://laak.info/blog/aaargh-2#comment-12810</guid>
		<description>Tähän voisi sanoa, että &lt;b&gt;THIS IS SPARTAAAAAAA&lt;/b&gt;!

Hyvää tuuria sinulla sinänsä, että zip ei esim. tehnyt tuosta tekstitiedostosta kaikessa hiljaisuudessa zip-tiedostoa kirjoittamalla sen päälle ja pistänyt sinne kaikkia hakemistossa olevia tiedostoja. Varsin ystävällisesti tehty, että huomattaa tiedoston olevan väärää formaattia, koska moni muu spartalaisempi sovellus olisi toiminut toisin.

jane@nam:~ % zip
Copyright (c) 1990-2006 Info-ZIP - Type 'zip "-L"' for software license.
Zip 2.32 (June 19th 2006). Usage:
zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]


Varsin selkeästihän zip kertoo miten sitä käytetään. Tuo "recurse into directories" on mielestäni myös niin selkeästi ilmaistu kuin sen vaan voi. Olisihan tuohon voinut piirtää kuvan mukaan, mutta kai nyt jokainen lukutaitoinen selviää ilmankin :)

Jokatapauksessa, tarjoan sinulle komentoriville ihan tolkuttoman avun: "man"-komento ja "-h"-vipu.

Nyt vain rohkeasti harjoittelemaan, että "man zip" ja "zip -h". Ja tätä voit soveltaa muihinkin ilkeisiin komentorivisovelluksiin. Kivaa kesää ;)</description>
		<content:encoded><![CDATA[<p>Tähän voisi sanoa, että <b>THIS IS SPARTAAAAAAA</b>!</p>
<p>Hyvää tuuria sinulla sinänsä, että zip ei esim. tehnyt tuosta tekstitiedostosta kaikessa hiljaisuudessa zip-tiedostoa kirjoittamalla sen päälle ja pistänyt sinne kaikkia hakemistossa olevia tiedostoja. Varsin ystävällisesti tehty, että huomattaa tiedoston olevan väärää formaattia, koska moni muu spartalaisempi sovellus olisi toiminut toisin.</p>
<p>jane@nam:~ % zip<br />
Copyright (c) 1990-2006 Info-ZIP - Type &#8216;zip &#8220;-L&#8221;&#8216; for software license.<br />
Zip 2.32 (June 19th 2006). Usage:<br />
zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]</p>
<p>Varsin selkeästihän zip kertoo miten sitä käytetään. Tuo &#8220;recurse into directories&#8221; on mielestäni myös niin selkeästi ilmaistu kuin sen vaan voi. Olisihan tuohon voinut piirtää kuvan mukaan, mutta kai nyt jokainen lukutaitoinen selviää ilmankin :)</p>
<p>Jokatapauksessa, tarjoan sinulle komentoriville ihan tolkuttoman avun: &#8220;man&#8221;-komento ja &#8220;-h&#8221;-vipu.</p>
<p>Nyt vain rohkeasti harjoittelemaan, että &#8220;man zip&#8221; ja &#8220;zip -h&#8221;. Ja tätä voit soveltaa muihinkin ilkeisiin komentorivisovelluksiin. Kivaa kesää ;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Timo</title>
		<link>http://laak.info/blog/aaargh-2/comment-page-1#comment-12795</link>
		<dc:creator>Timo</dc:creator>
		<pubDate>Wed, 13 Jun 2007 16:07:15 +0000</pubDate>
		<guid isPermaLink="false">http://laak.info/blog/aaargh-2#comment-12795</guid>
		<description>PostgreSQL:n omaa komentokehotetta (tekisi ihan piruillessani mieli sanoa MS-DOS-kehote ;) käynnistäessä käyttäjätunnus pitää antaa -U -vivulla, sillä -u on vanhentunut. Eihän sitä kaikki voi aina toimia loogisesti. Ssh-yhteyttä ottaessa vipu on tietysti sitten -l, eikä mikään -u niinkuin user.

Oliko jossakin tulevissa Ubuntun versioissa komentoriviä uudistettu niin, että se osaa antaa jo ehdotuksia ja ohjeistaa käyttäjää automaattisesti?</description>
		<content:encoded><![CDATA[<p>PostgreSQL:n omaa komentokehotetta (tekisi ihan piruillessani mieli sanoa MS-DOS-kehote ;) käynnistäessä käyttäjätunnus pitää antaa -U -vivulla, sillä -u on vanhentunut. Eihän sitä kaikki voi aina toimia loogisesti. Ssh-yhteyttä ottaessa vipu on tietysti sitten -l, eikä mikään -u niinkuin user.</p>
<p>Oliko jossakin tulevissa Ubuntun versioissa komentoriviä uudistettu niin, että se osaa antaa jo ehdotuksia ja ohjeistaa käyttäjää automaattisesti?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jusso</title>
		<link>http://laak.info/blog/aaargh-2/comment-page-1#comment-12794</link>
		<dc:creator>Jusso</dc:creator>
		<pubDate>Wed, 13 Jun 2007 14:55:16 +0000</pubDate>
		<guid isPermaLink="false">http://laak.info/blog/aaargh-2#comment-12794</guid>
		<description>tuo -r (recursive) -vipu on kyllä sen verran universaali, että komentorivityökalujen kanssa pähkäillessä osaa jokseenkin olettaa että moinen löytyy. Asia erkseen toki sitten chmod ja muut, jotka haluavatkin -R -vivun.  -r kun tarkoittaa tiedostojen oikeuksia säätäessä lukuoikeudettomuutta. Hieman nurinkurisleta tuntuva järjestys (kohde, tiedosto) on loogisempi kun ottaa huomioon että yhdellä komennolla voi zip-pakettiin lisätä useita tiedostoja, kaikki zip-tiedoston jälkeen luetellut tiedostot pakataan mukaan pakettiin, eli zip paketti.zip eka.txt toka.jpg kolmas.html.</description>
		<content:encoded><![CDATA[<p>tuo -r (recursive) -vipu on kyllä sen verran universaali, että komentorivityökalujen kanssa pähkäillessä osaa jokseenkin olettaa että moinen löytyy. Asia erkseen toki sitten chmod ja muut, jotka haluavatkin -R -vivun.  -r kun tarkoittaa tiedostojen oikeuksia säätäessä lukuoikeudettomuutta. Hieman nurinkurisleta tuntuva järjestys (kohde, tiedosto) on loogisempi kun ottaa huomioon että yhdellä komennolla voi zip-pakettiin lisätä useita tiedostoja, kaikki zip-tiedoston jälkeen luetellut tiedostot pakataan mukaan pakettiin, eli zip paketti.zip eka.txt toka.jpg kolmas.html.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Timo</title>
		<link>http://laak.info/blog/aaargh-2/comment-page-1#comment-12793</link>
		<dc:creator>Timo</dc:creator>
		<pubDate>Wed, 13 Jun 2007 13:55:45 +0000</pubDate>
		<guid isPermaLink="false">http://laak.info/blog/aaargh-2#comment-12793</guid>
		<description>Jatketaan: 
Jos siis haluat zipata komentoriviltä tiedoston, niin miten se tapahtuu?

Äkkiseltään voisi olettaa, että toimenpide on muotoa "tee toiminto X kohteelle Y". Niin kuin vaikkapa deletoidessa "rm tiedosto" tai siirryttäessä hakemistoon "cd hakemisto". 

Ei tietenkään.

&lt;code&gt;zip tiedosto.txt 
        zip warning: missing end signature--probably not a zip file (did you
        zip warning: remember to use binary mode when you transferred it?)

zip error: Zip file structure invalid (tiedosto.txt)
&lt;/code&gt;

Huomatkaa virheilmoitus, joka antaa ymmärtää, että tiedosto on mahdollisesti siirretty väärin sen sijaan, että se sanoisi  suoraan, että komento oli päin persettä.

Pitää antaa kohde, minne se tiedosto zipataan. Eli siis zip tiedosto kohde? Ei, vaan toisin päin. 

&lt;code&gt;zip tiedosto.zip tiedosto.txt 
  adding: tiedosto.txt (stored 0%)
&lt;/code&gt;

Entäs, kun haluat zipata kansion?

No tällöin pitää lisätä erikseen -r -vipu, jotta myös kansion sisältö tulee pakettiin mukaan.

&lt;code&gt;zip -r kansio.zip kansio
  adding: kansio/ (stored 0%)
  adding: kansio/tiedosto.txt (stored 0%)
&lt;/code&gt;

Ja näitähän ei voi tietysti ennalta arvata tai päätellä. Ne pitää tietää ja jos ei tiedä, niin lukea ohjeista, jotka eivät aina ihan selkeimpiä mahdollisia ole.

Kyseisessä tekstitiedostossa oli 8 merkkiä tekstiä, joten pakkausaste on luonnollisesti olematon, siksi stored 0%.</description>
		<content:encoded><![CDATA[<p>Jatketaan:<br />
Jos siis haluat zipata komentoriviltä tiedoston, niin miten se tapahtuu?</p>
<p>Äkkiseltään voisi olettaa, että toimenpide on muotoa &#8220;tee toiminto X kohteelle Y&#8221;. Niin kuin vaikkapa deletoidessa &#8220;rm tiedosto&#8221; tai siirryttäessä hakemistoon &#8220;cd hakemisto&#8221;. </p>
<p>Ei tietenkään.</p>
<p><code>zip tiedosto.txt<br />
        zip warning: missing end signature--probably not a zip file (did you<br />
        zip warning: remember to use binary mode when you transferred it?)</p>
<p>zip error: Zip file structure invalid (tiedosto.txt)<br />
</code></p>
<p>Huomatkaa virheilmoitus, joka antaa ymmärtää, että tiedosto on mahdollisesti siirretty väärin sen sijaan, että se sanoisi  suoraan, että komento oli päin persettä.</p>
<p>Pitää antaa kohde, minne se tiedosto zipataan. Eli siis zip tiedosto kohde? Ei, vaan toisin päin. </p>
<p><code>zip tiedosto.zip tiedosto.txt<br />
  adding: tiedosto.txt (stored 0%)<br />
</code></p>
<p>Entäs, kun haluat zipata kansion?</p>
<p>No tällöin pitää lisätä erikseen -r -vipu, jotta myös kansion sisältö tulee pakettiin mukaan.</p>
<p><code>zip -r kansio.zip kansio<br />
  adding: kansio/ (stored 0%)<br />
  adding: kansio/tiedosto.txt (stored 0%)<br />
</code></p>
<p>Ja näitähän ei voi tietysti ennalta arvata tai päätellä. Ne pitää tietää ja jos ei tiedä, niin lukea ohjeista, jotka eivät aina ihan selkeimpiä mahdollisia ole.</p>
<p>Kyseisessä tekstitiedostossa oli 8 merkkiä tekstiä, joten pakkausaste on luonnollisesti olematon, siksi stored 0%.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
