<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mvaling</id>
	<title>ICO wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mvaling"/>
	<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php/Special:Contributions/Mvaling"/>
	<updated>2026-05-05T16:10:01Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:Esimene.jpg&amp;diff=45343</id>
		<title>File:Esimene.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:Esimene.jpg&amp;diff=45343"/>
		<updated>2012-01-05T13:46:03Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: uploaded a new version of &amp;quot;File:Esimene.jpg&amp;quot;:&amp;amp;#32;Reverted to version as of 14:18, 20 May 2010&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:Teine.jpg&amp;diff=45342</id>
		<title>File:Teine.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:Teine.jpg&amp;diff=45342"/>
		<updated>2012-01-05T13:45:20Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: uploaded a new version of &amp;quot;File:Teine.jpg&amp;quot;:&amp;amp;#32;Reverted to version as of 14:19, 20 May 2010&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:Kolmas.jpg&amp;diff=45341</id>
		<title>File:Kolmas.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:Kolmas.jpg&amp;diff=45341"/>
		<updated>2012-01-05T13:45:00Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: uploaded a new version of &amp;quot;File:Kolmas.jpg&amp;quot;:&amp;amp;#32;Reverted to version as of 14:19, 20 May 2010&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34268</id>
		<title>Xargs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34268"/>
		<updated>2011-06-22T09:41:02Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Sissejuhatus==&lt;br /&gt;
xargs käsku kasutatakse juhtudeks, kus on vaja jaotada mingi käsu tegevused väiksemateks gruppideks. xargs sai loodud probleemi tõttu, kus käsul on liiga palju argumente ning kernel (kuni versioonini 2.6.23) ei ole võimeline käivitama käsku.&lt;br /&gt;
*xargs loeb argumente standard sisendist&lt;br /&gt;
*xargs standard sisendi argumendid on piiritletud tühikutega või reavahetustega&lt;br /&gt;
*peale standard sisendi lugemist käivitatakse soovitud käsk üks või mitu korda standard sisendist saadud argumentidega.&lt;br /&gt;
&lt;br /&gt;
Näide, kus käsu käivitamine ebaõnnestub liigsete argumentide hulga tõttu:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ mv * /mingi/teine/kataloog/&lt;br /&gt;
bash: /bin/mv: Argument list too long&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Xargs#K.C3.B5ikide_kaustas_olevate_peidetud_failide_ja_kaustade_.C3.BCmbert.C3.B5stmine|Toimiv näide]], kuidas ümber tõsta suurt hulka faile/kaustu.&lt;br /&gt;
&lt;br /&gt;
==Süntaks==&lt;br /&gt;
&#039;&#039;&amp;lt;argumendid&amp;gt;&#039;&#039; | &#039;&#039;&#039;xargs&#039;&#039;&#039; &#039;&#039;&amp;lt;võtmed&amp;gt; &amp;lt;käsk &amp;lt;võtmed&amp;gt;&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Põhilised võtmed===&lt;br /&gt;
*&#039;&#039;&#039;-a &amp;lt;failinimi&amp;gt;&#039;&#039;&#039; - argumendid loetakse failist standard sisendi asemel&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;-0&#039;&#039;&#039; - määrab ära, et argumendid on eraldatud &#039;&#039;null karakteriga&#039;&#039;, vajalik selleks kui argument sisaldab tühikut või reavahetust&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;-n &amp;lt;argumentide arv&amp;gt;&#039;&#039;&#039; - määrab maksimaalse argumentide arvu, mis antakse soovitud käsu sisendiks.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;-d &amp;lt;eraldaja&amp;gt;&#039;&#039;&#039; - võimalik määrata argumentide eraldaja käsitsi, vaikimisi tühik või reavahetus&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;-p&#039;&#039;&#039; - küsib kinnitust iga käsu rea käivitamise kohta.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;-r&#039;&#039;&#039; - määrab ära, et käsku ei käivitata kui standard sisend on tühi, st sisaldab ainult tühikuid&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;-t&#039;&#039;&#039; - enne käsu käivitamist, trükitakse käsu rida standard vea väljundisse&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;-E &amp;lt;lõpu tähis&amp;gt;&#039;&#039;&#039; - võimalik määrata faili lõpu tähis, vajalik võtme &#039;&#039;&#039;-a&#039;&#039;&#039; kasutamisel&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;-e&amp;lt;lõpu tähis&amp;gt;&#039;&#039;&#039; - võtme -E sünonüüm, pole POSIX ühilduv&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--help&#039;&#039;&#039; - kuvatakse käsu &#039;&#039;&#039;xargs&#039;&#039;&#039; abiinfo&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--version&#039;&#039;&#039; - trükib käsu &#039;&#039;&#039;xargs&#039;&#039;&#039; versiooni numbri&lt;br /&gt;
&lt;br /&gt;
===Sekundaarsed võtmed===&lt;br /&gt;
*&#039;&#039;&#039;-I &amp;lt;asendus tekst&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;-i&amp;lt;asendus tekst&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;-L &amp;lt;ridade arv&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;-l&amp;lt;ridade arv&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;-s &amp;lt;maksimaalsete tähtede arv&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;--show-limits&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;-x&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;-P &amp;lt;maksimaalsete protsesside arv&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rohkem infot - http://www.softpanorama.org/Tools/xargs.shtml&lt;br /&gt;
&lt;br /&gt;
==Näited==&lt;br /&gt;
===Argumentide väljastamine kolme kaupa===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3 echo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
või&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;echo&#039;&#039;&#039; on &#039;&#039;&#039;xargs&#039;&#039;&#039; vaikimisi käsk, seega ei ole tarvis määrata käsku.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-n 3&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust kuvatakse kolme kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
1 2 3&lt;br /&gt;
4 5 6&lt;br /&gt;
7 8&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendiga failide kustutamine avatud kataloogis===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find . -name *.log | xargs rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;&#039;-name *.log&#039;&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendiga failide kustutamine avatud kataloogis, kus faili nimedes on tühikud või reavahetused===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find . -name *.log -print0 | xargs -0 rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;&#039;-name *.log&#039;&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;-print0&#039;&#039;&#039; - leitud argumendid eraldatakse &#039;&#039;null karakteriga&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-0&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust eraldaja ei ole tühik ega reavahetus vaid &#039;&#039;null karakter&#039;&#039;. Vajalik selleks, kui faili nimed sisaldavad tühikuid või reavahetusi.&lt;br /&gt;
&lt;br /&gt;
===Kõikide arvuti kasutajate kuvamine viie kaupa===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cut -d: -f1 &amp;lt; /etc/passwd | sort | xargs -n 5&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;cut&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-d:&#039;&#039;&#039; - välja eraldajaks on &amp;quot;:&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;-f1&#039;&#039;&#039; - valitakse esimene väli&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-n 5&#039;&#039;&#039; - standard sisendi argumente kuvatakse viie kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ cut -d: -f1 &amp;lt; /etc/passwd | sort | xargs -n 5&lt;br /&gt;
avahi avahi-autoipd backup bin daemon&lt;br /&gt;
games gdm gnats hplip irc&lt;br /&gt;
kernoops libuuid list lp mail&lt;br /&gt;
man messagebus news nobody proxy&lt;br /&gt;
pulse root rtkit saned speech-dispatcher&lt;br /&gt;
sync sys syslog student usbmux&lt;br /&gt;
uucp www-data&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kõikide kaustas olevate peidetud failide ja kaustade ümbertõstmine===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
find . -path &amp;quot;./*&amp;quot; -name &amp;quot;[!.]*&amp;quot; -print0 | xargs -r0 mv --target=&amp;quot;/mingi/teine/kataloog&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse hetkel avatud kaustast&lt;br /&gt;
*&#039;&#039;&#039;-path &amp;quot;./*&amp;quot;&#039;&#039;&#039; - määrab ära otsingu sügavuse, praegusel juhul ka alamfailid ja -kaustad&lt;br /&gt;
*&#039;&#039;&#039;-name &amp;quot;[!.]*&amp;quot;&#039;&#039;&#039; - määrab ära, et otsitakse punktiga algavaid faile ning kaustu&lt;br /&gt;
*&#039;&#039;&#039;-print0&#039;&#039;&#039; - leitud argumendid eraldatakse &#039;&#039;null karakteriga&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
* &#039;&#039;&#039;-r0&#039;&#039;&#039; - &#039;&#039;&#039;r&#039;&#039;&#039; määrab ära, et käsku &#039;&#039;&#039;mv&#039;&#039;&#039; ei käivitata kui standard sisend on tühi ning &#039;&#039;&#039;0&#039;&#039;&#039; määrab standard sisendi eraldajaks &#039;&#039;null karakteri&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;mv&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;--target=&amp;quot;/mingi/teine/kataloog&amp;quot;&#039;&#039;&#039; - kaustad ning failid tõstetakse ümber asukohta &#039;&#039;/mingi/teine/kataloog&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
xargs vajadus tekkis kunagi Linuxi kerneli ARG_MAX parameetri tõttu, mis sätestas maksimaalsete argumentide hulga. Alates linux-2.6.23 kernelist on antud parameeter eemaldatud. &lt;br /&gt;
&lt;br /&gt;
Kuid siiski on xargs senini kasulik töövahend, näiteks:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find -name &amp;quot;*~&amp;quot; -exec rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
sellise käsu käivitamisel luuakse iga faili kohta eraldi kustutamise protsess.&lt;br /&gt;
&lt;br /&gt;
Kui aga:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find -name &amp;quot;*~&amp;quot; | xargs rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
siis ei käivitata iga kustutuse jaoks eraldi protsessi, vaid xargs kontrollib maksimaalsete argumentide hulka ning vastavalt sellele on ka käivitatud protsesside hulk väiksem.&lt;br /&gt;
&lt;br /&gt;
==Allikad/Allikad==&lt;br /&gt;
&lt;br /&gt;
*http://en.wikipedia.org/wiki/Xargs&lt;br /&gt;
*http://www.gnu.org/software/coreutils/faq/coreutils-faq.html#Argument-list-too-long&lt;br /&gt;
*http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/&lt;br /&gt;
*http://www.linuxtutorialblog.com/post/tutorial-the-best-tips-tricks-for-bash&lt;br /&gt;
*http://www.softpanorama.org/Tools/xargs.shtml&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Marko Valing, AK31, 2010/2011&lt;br /&gt;
&lt;br /&gt;
[[Category:IT_infrastruktuuri_teenused]]&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34267</id>
		<title>Xargs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34267"/>
		<updated>2011-06-22T09:40:05Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: /* Kokkuvõte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Artikkel on pooleli!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
xargs käsku kasutatakse juhtudeks, kus on vaja jaotada mingi käsu tegevused väiksemateks gruppideks. xargs sai loodud probleemi tõttu, kus käsul on liiga palju argumente ning kernel (kuni versioonini 2.6.23) ei ole võimeline käivitama käsku.&lt;br /&gt;
*xargs loeb argumente standard sisendist&lt;br /&gt;
*xargs standard sisendi argumendid on piiritletud tühikutega või reavahetustega&lt;br /&gt;
*peale standard sisendi lugemist käivitatakse soovitud käsk üks või mitu korda standard sisendist saadud argumentidega.&lt;br /&gt;
&lt;br /&gt;
Näide, kus käsu käivitamine ebaõnnestub liigsete argumentide hulga tõttu:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ mv * /mingi/teine/kataloog/&lt;br /&gt;
bash: /bin/mv: Argument list too long&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Xargs#K.C3.B5ikide_kaustas_olevate_peidetud_failide_ja_kaustade_.C3.BCmbert.C3.B5stmine|Toimiv näide]], kuidas ümber tõsta suurt hulka faile/kaustu.&lt;br /&gt;
&lt;br /&gt;
==Süntaks==&lt;br /&gt;
&#039;&#039;&amp;lt;argumendid&amp;gt;&#039;&#039; | &#039;&#039;&#039;xargs&#039;&#039;&#039; &#039;&#039;&amp;lt;võtmed&amp;gt; &amp;lt;käsk &amp;lt;võtmed&amp;gt;&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Põhilised võtmed===&lt;br /&gt;
*&#039;&#039;&#039;-a &amp;lt;failinimi&amp;gt;&#039;&#039;&#039; - argumendid loetakse failist standard sisendi asemel&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;-0&#039;&#039;&#039; - määrab ära, et argumendid on eraldatud &#039;&#039;null karakteriga&#039;&#039;, vajalik selleks kui argument sisaldab tühikut või reavahetust&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;-n &amp;lt;argumentide arv&amp;gt;&#039;&#039;&#039; - määrab maksimaalse argumentide arvu, mis antakse soovitud käsu sisendiks.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;-d &amp;lt;eraldaja&amp;gt;&#039;&#039;&#039; - võimalik määrata argumentide eraldaja käsitsi, vaikimisi tühik või reavahetus&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;-p&#039;&#039;&#039; - küsib kinnitust iga käsu rea käivitamise kohta.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;-r&#039;&#039;&#039; - määrab ära, et käsku ei käivitata kui standard sisend on tühi, st sisaldab ainult tühikuid&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;-t&#039;&#039;&#039; - enne käsu käivitamist, trükitakse käsu rida standard vea väljundisse&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;-E &amp;lt;lõpu tähis&amp;gt;&#039;&#039;&#039; - võimalik määrata faili lõpu tähis, vajalik võtme &#039;&#039;&#039;-a&#039;&#039;&#039; kasutamisel&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;-e&amp;lt;lõpu tähis&amp;gt;&#039;&#039;&#039; - võtme -E sünonüüm, pole POSIX ühilduv&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--help&#039;&#039;&#039; - kuvatakse käsu &#039;&#039;&#039;xargs&#039;&#039;&#039; abiinfo&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--version&#039;&#039;&#039; - trükib käsu &#039;&#039;&#039;xargs&#039;&#039;&#039; versiooni numbri&lt;br /&gt;
&lt;br /&gt;
===Sekundaarsed võtmed===&lt;br /&gt;
*&#039;&#039;&#039;-I &amp;lt;asendus tekst&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;-i&amp;lt;asendus tekst&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;-L &amp;lt;ridade arv&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;-l&amp;lt;ridade arv&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;-s &amp;lt;maksimaalsete tähtede arv&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;--show-limits&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;-x&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;-P &amp;lt;maksimaalsete protsesside arv&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rohkem infot - http://www.softpanorama.org/Tools/xargs.shtml&lt;br /&gt;
&lt;br /&gt;
==Näited==&lt;br /&gt;
===Argumentide väljastamine kolme kaupa===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3 echo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
või&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;echo&#039;&#039;&#039; on &#039;&#039;&#039;xargs&#039;&#039;&#039; vaikimisi käsk, seega ei ole tarvis määrata käsku.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-n 3&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust kuvatakse kolme kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
1 2 3&lt;br /&gt;
4 5 6&lt;br /&gt;
7 8&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendiga failide kustutamine avatud kataloogis===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find . -name *.log | xargs rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;&#039;-name *.log&#039;&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendiga failide kustutamine avatud kataloogis, kus faili nimedes on tühikud või reavahetused===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find . -name *.log -print0 | xargs -0 rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;&#039;-name *.log&#039;&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;-print0&#039;&#039;&#039; - leitud argumendid eraldatakse &#039;&#039;null karakteriga&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-0&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust eraldaja ei ole tühik ega reavahetus vaid &#039;&#039;null karakter&#039;&#039;. Vajalik selleks, kui faili nimed sisaldavad tühikuid või reavahetusi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Kõikide arvuti kasutajate kuvamine viie kaupa===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cut -d: -f1 &amp;lt; /etc/passwd | sort | xargs -n 5&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;cut&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-d:&#039;&#039;&#039; - välja eraldajaks on &amp;quot;:&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;-f1&#039;&#039;&#039; - valitakse esimene väli&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-n 5&#039;&#039;&#039; - standard sisendi argumente kuvatakse viie kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ cut -d: -f1 &amp;lt; /etc/passwd | sort | xargs -n 5&lt;br /&gt;
avahi avahi-autoipd backup bin daemon&lt;br /&gt;
games gdm gnats hplip irc&lt;br /&gt;
kernoops libuuid list lp mail&lt;br /&gt;
man messagebus news nobody proxy&lt;br /&gt;
pulse root rtkit saned speech-dispatcher&lt;br /&gt;
sync sys syslog student usbmux&lt;br /&gt;
uucp www-data&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Kõikide kaustas olevate peidetud failide ja kaustade ümbertõstmine===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
find . -path &amp;quot;./*&amp;quot; -name &amp;quot;[!.]*&amp;quot; -print0 | xargs -r0 mv --target=&amp;quot;/mingi/teine/kataloog&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse hetkel avatud kaustast&lt;br /&gt;
*&#039;&#039;&#039;-path &amp;quot;./*&amp;quot;&#039;&#039;&#039; - määrab ära otsingu sügavuse, praegusel juhul ka alamfailid ja -kaustad&lt;br /&gt;
*&#039;&#039;&#039;-name &amp;quot;[!.]*&amp;quot;&#039;&#039;&#039; - määrab ära, et otsitakse punktiga algavaid faile ning kaustu&lt;br /&gt;
*&#039;&#039;&#039;-print0&#039;&#039;&#039; - leitud argumendid eraldatakse &#039;&#039;null karakteriga&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
* &#039;&#039;&#039;-r0&#039;&#039;&#039; - &#039;&#039;&#039;r&#039;&#039;&#039; määrab ära, et käsku &#039;&#039;&#039;mv&#039;&#039;&#039; ei käivitata kui standard sisend on tühi ning &#039;&#039;&#039;0&#039;&#039;&#039; määrab standard sisendi eraldajaks &#039;&#039;null karakteri&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;mv&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;--target=&amp;quot;/mingi/teine/kataloog&amp;quot;&#039;&#039;&#039; - kaustad ning failid tõstetakse ümber asukohta &#039;&#039;/mingi/teine/kataloog&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
xargs vajadus tekkis kunagi Linuxi kerneli ARG_MAX parameetri tõttu, mis sätestas maksimaalsete argumentide hulga. Alates linux-2.6.23 kernelist on antud parameeter eemaldatud. &lt;br /&gt;
&lt;br /&gt;
Kuid siiski on xargs senini kasulik töövahend, näiteks:&lt;br /&gt;
&amp;lt;source code=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find -name &amp;quot;*~&amp;quot; -exec rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
sellise käsu käivitamisel luuakse iga faili kohta eraldi kustutamise protsess.&lt;br /&gt;
&lt;br /&gt;
Kui aga:&lt;br /&gt;
&amp;lt;source code=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find -name &amp;quot;*~&amp;quot; | xargs rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
siis ei käivitata iga kustutuse jaoks eraldi protsessi, vaid xargs kontrollib maksimaalsete argumentide hulka ning vastavalt sellele on ka käivitatud protsesside hulk väiksem.&lt;br /&gt;
&lt;br /&gt;
==Allikad/Allikad==&lt;br /&gt;
&lt;br /&gt;
*http://en.wikipedia.org/wiki/Xargs&lt;br /&gt;
*http://www.gnu.org/software/coreutils/faq/coreutils-faq.html#Argument-list-too-long&lt;br /&gt;
*http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/&lt;br /&gt;
*http://www.linuxtutorialblog.com/post/tutorial-the-best-tips-tricks-for-bash&lt;br /&gt;
*http://www.softpanorama.org/Tools/xargs.shtml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Marko Valing, AK31, 2010/2011&lt;br /&gt;
&lt;br /&gt;
[[Category:IT_infrastruktuuri_teenused]]&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34266</id>
		<title>Xargs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34266"/>
		<updated>2011-06-22T06:46:05Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: /* Süntaks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Artikkel on pooleli!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
xargs käsku kasutatakse juhtudeks, kus on vaja jaotada mingi käsu tegevused väiksemateks gruppideks. xargs sai loodud probleemi tõttu, kus käsul on liiga palju argumente ning kernel (kuni versioonini 2.6.23) ei ole võimeline käivitama käsku.&lt;br /&gt;
*xargs loeb argumente standard sisendist&lt;br /&gt;
*xargs standard sisendi argumendid on piiritletud tühikutega või reavahetustega&lt;br /&gt;
*peale standard sisendi lugemist käivitatakse soovitud käsk üks või mitu korda standard sisendist saadud argumentidega.&lt;br /&gt;
&lt;br /&gt;
Näide, kus käsu käivitamine ebaõnnestub liigsete argumentide hulga tõttu:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ mv * /mingi/teine/kataloog/&lt;br /&gt;
bash: /bin/mv: Argument list too long&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Xargs#K.C3.B5ikide_kaustas_olevate_peidetud_failide_ja_kaustade_.C3.BCmbert.C3.B5stmine|Toimiv näide]], kuidas ümber tõsta suurt hulka faile/kaustu.&lt;br /&gt;
&lt;br /&gt;
==Süntaks==&lt;br /&gt;
&#039;&#039;&amp;lt;argumendid&amp;gt;&#039;&#039; | &#039;&#039;&#039;xargs&#039;&#039;&#039; &#039;&#039;&amp;lt;võtmed&amp;gt; &amp;lt;käsk &amp;lt;võtmed&amp;gt;&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Põhilised võtmed===&lt;br /&gt;
*&#039;&#039;&#039;-a &amp;lt;failinimi&amp;gt;&#039;&#039;&#039; - argumendid loetakse failist standard sisendi asemel&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;-0&#039;&#039;&#039; - määrab ära, et argumendid on eraldatud &#039;&#039;null karakteriga&#039;&#039;, vajalik selleks kui argument sisaldab tühikut või reavahetust&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;-n &amp;lt;argumentide arv&amp;gt;&#039;&#039;&#039; - määrab maksimaalse argumentide arvu, mis antakse soovitud käsu sisendiks.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;-d &amp;lt;eraldaja&amp;gt;&#039;&#039;&#039; - võimalik määrata argumentide eraldaja käsitsi, vaikimisi tühik või reavahetus&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;-p&#039;&#039;&#039; - küsib kinnitust iga käsu rea käivitamise kohta.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;-r&#039;&#039;&#039; - määrab ära, et käsku ei käivitata kui standard sisend on tühi, st sisaldab ainult tühikuid&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;-t&#039;&#039;&#039; - enne käsu käivitamist, trükitakse käsu rida standard vea väljundisse&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;-E &amp;lt;lõpu tähis&amp;gt;&#039;&#039;&#039; - võimalik määrata faili lõpu tähis, vajalik võtme &#039;&#039;&#039;-a&#039;&#039;&#039; kasutamisel&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;-e&amp;lt;lõpu tähis&amp;gt;&#039;&#039;&#039; - võtme -E sünonüüm, pole POSIX ühilduv&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--help&#039;&#039;&#039; - kuvatakse käsu &#039;&#039;&#039;xargs&#039;&#039;&#039; abiinfo&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;--version&#039;&#039;&#039; - trükib käsu &#039;&#039;&#039;xargs&#039;&#039;&#039; versiooni numbri&lt;br /&gt;
&lt;br /&gt;
===Sekundaarsed võtmed===&lt;br /&gt;
*&#039;&#039;&#039;-I &amp;lt;asendus tekst&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;-i&amp;lt;asendus tekst&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;-L &amp;lt;ridade arv&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;-l&amp;lt;ridade arv&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;-s &amp;lt;maksimaalsete tähtede arv&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;--show-limits&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;-x&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;-P &amp;lt;maksimaalsete protsesside arv&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rohkem infot - http://www.softpanorama.org/Tools/xargs.shtml&lt;br /&gt;
&lt;br /&gt;
==Näited==&lt;br /&gt;
===Argumentide väljastamine kolme kaupa===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3 echo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
või&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;echo&#039;&#039;&#039; on &#039;&#039;&#039;xargs&#039;&#039;&#039; vaikimisi käsk, seega ei ole tarvis määrata käsku.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-n 3&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust kuvatakse kolme kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
1 2 3&lt;br /&gt;
4 5 6&lt;br /&gt;
7 8&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendiga failide kustutamine avatud kataloogis===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find . -name *.log | xargs rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;&#039;-name *.log&#039;&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendiga failide kustutamine avatud kataloogis, kus faili nimedes on tühikud või reavahetused===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find . -name *.log -print0 | xargs -0 rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;&#039;-name *.log&#039;&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;-print0&#039;&#039;&#039; - leitud argumendid eraldatakse &#039;&#039;null karakteriga&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-0&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust eraldaja ei ole tühik ega reavahetus vaid &#039;&#039;null karakter&#039;&#039;. Vajalik selleks, kui faili nimed sisaldavad tühikuid või reavahetusi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Kõikide arvuti kasutajate kuvamine viie kaupa===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cut -d: -f1 &amp;lt; /etc/passwd | sort | xargs -n 5&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;cut&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-d:&#039;&#039;&#039; - välja eraldajaks on &amp;quot;:&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;-f1&#039;&#039;&#039; - valitakse esimene väli&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-n 5&#039;&#039;&#039; - standard sisendi argumente kuvatakse viie kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ cut -d: -f1 &amp;lt; /etc/passwd | sort | xargs -n 5&lt;br /&gt;
avahi avahi-autoipd backup bin daemon&lt;br /&gt;
games gdm gnats hplip irc&lt;br /&gt;
kernoops libuuid list lp mail&lt;br /&gt;
man messagebus news nobody proxy&lt;br /&gt;
pulse root rtkit saned speech-dispatcher&lt;br /&gt;
sync sys syslog student usbmux&lt;br /&gt;
uucp www-data&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Kõikide kaustas olevate peidetud failide ja kaustade ümbertõstmine===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
find . -path &amp;quot;./*&amp;quot; -name &amp;quot;[!.]*&amp;quot; -print0 | xargs -r0 mv --target=&amp;quot;/mingi/teine/kataloog&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse hetkel avatud kaustast&lt;br /&gt;
*&#039;&#039;&#039;-path &amp;quot;./*&amp;quot;&#039;&#039;&#039; - määrab ära otsingu sügavuse, praegusel juhul ka alamfailid ja -kaustad&lt;br /&gt;
*&#039;&#039;&#039;-name &amp;quot;[!.]*&amp;quot;&#039;&#039;&#039; - määrab ära, et otsitakse punktiga algavaid faile ning kaustu&lt;br /&gt;
*&#039;&#039;&#039;-print0&#039;&#039;&#039; - leitud argumendid eraldatakse &#039;&#039;null karakteriga&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
* &#039;&#039;&#039;-r0&#039;&#039;&#039; - &#039;&#039;&#039;r&#039;&#039;&#039; määrab ära, et käsku &#039;&#039;&#039;mv&#039;&#039;&#039; ei käivitata kui standard sisend on tühi ning &#039;&#039;&#039;0&#039;&#039;&#039; määrab standard sisendi eraldajaks &#039;&#039;null karakteri&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;mv&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;--target=&amp;quot;/mingi/teine/kataloog&amp;quot;&#039;&#039;&#039; - kaustad ning failid tõstetakse ümber asukohta &#039;&#039;/mingi/teine/kataloog&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
(probleem pole nii õudne, kuid eksisteerib)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Allikad/Allikad==&lt;br /&gt;
&lt;br /&gt;
*http://en.wikipedia.org/wiki/Xargs&lt;br /&gt;
*http://www.gnu.org/software/coreutils/faq/coreutils-faq.html#Argument-list-too-long&lt;br /&gt;
*http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/&lt;br /&gt;
*http://www.linuxtutorialblog.com/post/tutorial-the-best-tips-tricks-for-bash&lt;br /&gt;
*http://www.softpanorama.org/Tools/xargs.shtml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Marko Valing, AK31, 2010/2011&lt;br /&gt;
&lt;br /&gt;
[[Category:IT_infrastruktuuri_teenused]]&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34265</id>
		<title>Xargs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34265"/>
		<updated>2011-06-22T06:07:32Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: /* Kõikide kaustas olevate peidetud failide ja kaustade ümbertõstmine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Artikkel on pooleli!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
xargs käsku kasutatakse juhtudeks, kus on vaja jaotada mingi käsu tegevused väiksemateks gruppideks. xargs sai loodud probleemi tõttu, kus käsul on liiga palju argumente ning kernel (kuni versioonini 2.6.23) ei ole võimeline käivitama käsku.&lt;br /&gt;
*xargs loeb argumente standard sisendist&lt;br /&gt;
*xargs standard sisendi argumendid on piiritletud tühikutega või reavahetustega&lt;br /&gt;
*peale standard sisendi lugemist käivitatakse soovitud käsk üks või mitu korda standard sisendist saadud argumentidega.&lt;br /&gt;
&lt;br /&gt;
Näide, kus käsu käivitamine ebaõnnestub liigsete argumentide hulga tõttu:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ mv * /mingi/teine/kataloog/&lt;br /&gt;
bash: /bin/mv: Argument list too long&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Xargs#K.C3.B5ikide_kaustas_olevate_peidetud_failide_ja_kaustade_.C3.BCmbert.C3.B5stmine|Toimiv näide]], kuidas ümber tõsta suurt hulka faile/kaustu.&lt;br /&gt;
&lt;br /&gt;
==Süntaks==&lt;br /&gt;
&#039;&#039;&amp;lt;argumendid&amp;gt;&#039;&#039; | &#039;&#039;&#039;xargs&#039;&#039;&#039; &#039;&#039;&amp;lt;võtmed&amp;gt; &amp;lt;käsk &amp;lt;võtmed&amp;gt;&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näited==&lt;br /&gt;
===Argumentide väljastamine kolme kaupa===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3 echo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
või&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;echo&#039;&#039;&#039; on &#039;&#039;&#039;xargs&#039;&#039;&#039; vaikimisi käsk, seega ei ole tarvis määrata käsku.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-n 3&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust kuvatakse kolme kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
1 2 3&lt;br /&gt;
4 5 6&lt;br /&gt;
7 8&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendiga failide kustutamine avatud kataloogis===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find . -name *.log | xargs rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;&#039;-name *.log&#039;&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendiga failide kustutamine avatud kataloogis, kus faili nimedes on tühikud või reavahetused===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find . -name *.log -print0 | xargs -0 rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;&#039;-name *.log&#039;&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;-print0&#039;&#039;&#039; - leitud argumendid eraldatakse &#039;&#039;null karakteriga&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-0&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust eraldaja ei ole tühik ega reavahetus vaid &#039;&#039;null karakter&#039;&#039;. Vajalik selleks, kui faili nimed sisaldavad tühikuid või reavahetusi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Kõikide arvuti kasutajate kuvamine viie kaupa===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cut -d: -f1 &amp;lt; /etc/passwd | sort | xargs -n 5&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;cut&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-d:&#039;&#039;&#039; - välja eraldajaks on &amp;quot;:&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;-f1&#039;&#039;&#039; - valitakse esimene väli&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-n 5&#039;&#039;&#039; - standard sisendi argumente kuvatakse viie kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ cut -d: -f1 &amp;lt; /etc/passwd | sort | xargs -n 5&lt;br /&gt;
avahi avahi-autoipd backup bin daemon&lt;br /&gt;
games gdm gnats hplip irc&lt;br /&gt;
kernoops libuuid list lp mail&lt;br /&gt;
man messagebus news nobody proxy&lt;br /&gt;
pulse root rtkit saned speech-dispatcher&lt;br /&gt;
sync sys syslog student usbmux&lt;br /&gt;
uucp www-data&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Kõikide kaustas olevate peidetud failide ja kaustade ümbertõstmine===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
find . -path &amp;quot;./*&amp;quot; -name &amp;quot;[!.]*&amp;quot; -print0 | xargs -r0 mv --target=&amp;quot;/mingi/teine/kataloog&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse hetkel avatud kaustast&lt;br /&gt;
*&#039;&#039;&#039;-path &amp;quot;./*&amp;quot;&#039;&#039;&#039; - määrab ära otsingu sügavuse, praegusel juhul ka alamfailid ja -kaustad&lt;br /&gt;
*&#039;&#039;&#039;-name &amp;quot;[!.]*&amp;quot;&#039;&#039;&#039; - määrab ära, et otsitakse punktiga algavaid faile ning kaustu&lt;br /&gt;
*&#039;&#039;&#039;-print0&#039;&#039;&#039; - leitud argumendid eraldatakse &#039;&#039;null karakteriga&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
* &#039;&#039;&#039;-r0&#039;&#039;&#039; - &#039;&#039;&#039;r&#039;&#039;&#039; määrab ära, et käsku &#039;&#039;&#039;mv&#039;&#039;&#039; ei käivitata kui standard sisend on tühi ning &#039;&#039;&#039;0&#039;&#039;&#039; määrab standard sisendi eraldajaks &#039;&#039;null karakteri&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;mv&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;--target=&amp;quot;/mingi/teine/kataloog&amp;quot;&#039;&#039;&#039; - kaustad ning failid tõstetakse ümber asukohta &#039;&#039;/mingi/teine/kataloog&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
(probleem pole nii õudne, kuid eksisteerib)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Allikad/Allikad==&lt;br /&gt;
&lt;br /&gt;
*http://en.wikipedia.org/wiki/Xargs&lt;br /&gt;
*http://www.gnu.org/software/coreutils/faq/coreutils-faq.html#Argument-list-too-long&lt;br /&gt;
*http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/&lt;br /&gt;
*http://www.linuxtutorialblog.com/post/tutorial-the-best-tips-tricks-for-bash&lt;br /&gt;
*http://www.softpanorama.org/Tools/xargs.shtml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Marko Valing, AK31, 2010/2011&lt;br /&gt;
&lt;br /&gt;
[[Category:IT_infrastruktuuri_teenused]]&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34264</id>
		<title>Xargs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34264"/>
		<updated>2011-06-22T06:00:51Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: /* Kõikide kaustas olevate peidetud failide ja kaustade ümbertõstmine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Artikkel on pooleli!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
xargs käsku kasutatakse juhtudeks, kus on vaja jaotada mingi käsu tegevused väiksemateks gruppideks. xargs sai loodud probleemi tõttu, kus käsul on liiga palju argumente ning kernel (kuni versioonini 2.6.23) ei ole võimeline käivitama käsku.&lt;br /&gt;
*xargs loeb argumente standard sisendist&lt;br /&gt;
*xargs standard sisendi argumendid on piiritletud tühikutega või reavahetustega&lt;br /&gt;
*peale standard sisendi lugemist käivitatakse soovitud käsk üks või mitu korda standard sisendist saadud argumentidega.&lt;br /&gt;
&lt;br /&gt;
Näide, kus käsu käivitamine ebaõnnestub liigsete argumentide hulga tõttu:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ mv * /mingi/teine/kataloog/&lt;br /&gt;
bash: /bin/mv: Argument list too long&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Xargs#K.C3.B5ikide_kaustas_olevate_peidetud_failide_ja_kaustade_.C3.BCmbert.C3.B5stmine|Toimiv näide]], kuidas ümber tõsta suurt hulka faile/kaustu.&lt;br /&gt;
&lt;br /&gt;
==Süntaks==&lt;br /&gt;
&#039;&#039;&amp;lt;argumendid&amp;gt;&#039;&#039; | &#039;&#039;&#039;xargs&#039;&#039;&#039; &#039;&#039;&amp;lt;võtmed&amp;gt; &amp;lt;käsk &amp;lt;võtmed&amp;gt;&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näited==&lt;br /&gt;
===Argumentide väljastamine kolme kaupa===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3 echo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
või&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;echo&#039;&#039;&#039; on &#039;&#039;&#039;xargs&#039;&#039;&#039; vaikimisi käsk, seega ei ole tarvis määrata käsku.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-n 3&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust kuvatakse kolme kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
1 2 3&lt;br /&gt;
4 5 6&lt;br /&gt;
7 8&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendiga failide kustutamine avatud kataloogis===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find . -name *.log | xargs rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;&#039;-name *.log&#039;&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendiga failide kustutamine avatud kataloogis, kus faili nimedes on tühikud või reavahetused===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find . -name *.log -print0 | xargs -0 rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;&#039;-name *.log&#039;&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;-print0&#039;&#039;&#039; - leitud argumendid eraldatakse &#039;&#039;null karakteriga&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-0&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust eraldaja ei ole tühik ega reavahetus vaid &#039;&#039;null karakter&#039;&#039;. Vajalik selleks, kui faili nimed sisaldavad tühikuid või reavahetusi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Kõikide arvuti kasutajate kuvamine viie kaupa===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cut -d: -f1 &amp;lt; /etc/passwd | sort | xargs -n 5&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;cut&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-d:&#039;&#039;&#039; - välja eraldajaks on &amp;quot;:&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;-f1&#039;&#039;&#039; - valitakse esimene väli&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-n 5&#039;&#039;&#039; - standard sisendi argumente kuvatakse viie kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ cut -d: -f1 &amp;lt; /etc/passwd | sort | xargs -n 5&lt;br /&gt;
avahi avahi-autoipd backup bin daemon&lt;br /&gt;
games gdm gnats hplip irc&lt;br /&gt;
kernoops libuuid list lp mail&lt;br /&gt;
man messagebus news nobody proxy&lt;br /&gt;
pulse root rtkit saned speech-dispatcher&lt;br /&gt;
sync sys syslog student usbmux&lt;br /&gt;
uucp www-data&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Kõikide kaustas olevate peidetud failide ja kaustade ümbertõstmine===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
find . -path &amp;quot;./*&amp;quot; -name &amp;quot;[!.]*&amp;quot; -print0 | xargs -r0 mv --target=&amp;quot;/mingi/teine/kataloog&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse hetkel avatud kaustast&lt;br /&gt;
*&#039;&#039;&#039;-path &amp;quot;./*&amp;quot;&#039;&#039;&#039; - määrab ära otsingu sügavuse, praegusel juhul ka alamfailid ja -kaustad&lt;br /&gt;
*&#039;&#039;&#039;-name &amp;quot;[!.]*&amp;quot;&#039;&#039;&#039; - määrab ära, et otsitakse punktiga algavaid faile ning kaustu&lt;br /&gt;
*&#039;&#039;&#039;-print0&#039;&#039;&#039; - leitud argumendid eraldatakse &#039;&#039;null karakteriga&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-r0&#039;&#039;&#039; -  &#039;&#039;&#039;r&#039;&#039;&#039; määrab ära, et käsku &#039;&#039;&#039;mv&#039;&#039;&#039; ei käivitata kui standard sisend on tühi ning &#039;&#039;&#039;0&#039;&#039;&#039; määrab standard sisendi eraldajaks &#039;&#039;null karakteri&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;mv&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;--target=&amp;quot;/mingi/teine/kataloog&amp;quot;&#039;&#039;&#039; - kaustad ning failid tõstetakse ümber asukohta &#039;&#039;/mingi/teine/kataloog&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
(probleem pole nii õudne, kuid eksisteerib)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Allikad/Allikad==&lt;br /&gt;
&lt;br /&gt;
*http://en.wikipedia.org/wiki/Xargs&lt;br /&gt;
*http://www.gnu.org/software/coreutils/faq/coreutils-faq.html#Argument-list-too-long&lt;br /&gt;
*http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/&lt;br /&gt;
*http://www.linuxtutorialblog.com/post/tutorial-the-best-tips-tricks-for-bash&lt;br /&gt;
*http://www.softpanorama.org/Tools/xargs.shtml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Marko Valing, AK31, 2010/2011&lt;br /&gt;
&lt;br /&gt;
[[Category:IT_infrastruktuuri_teenused]]&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34263</id>
		<title>Xargs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34263"/>
		<updated>2011-06-22T05:56:35Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: /* Sissejuhatus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Artikkel on pooleli!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
xargs käsku kasutatakse juhtudeks, kus on vaja jaotada mingi käsu tegevused väiksemateks gruppideks. xargs sai loodud probleemi tõttu, kus käsul on liiga palju argumente ning kernel (kuni versioonini 2.6.23) ei ole võimeline käivitama käsku.&lt;br /&gt;
*xargs loeb argumente standard sisendist&lt;br /&gt;
*xargs standard sisendi argumendid on piiritletud tühikutega või reavahetustega&lt;br /&gt;
*peale standard sisendi lugemist käivitatakse soovitud käsk üks või mitu korda standard sisendist saadud argumentidega.&lt;br /&gt;
&lt;br /&gt;
Näide, kus käsu käivitamine ebaõnnestub liigsete argumentide hulga tõttu:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ mv * /mingi/teine/kataloog/&lt;br /&gt;
bash: /bin/mv: Argument list too long&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Xargs#K.C3.B5ikide_kaustas_olevate_peidetud_failide_ja_kaustade_.C3.BCmbert.C3.B5stmine|Toimiv näide]], kuidas ümber tõsta suurt hulka faile/kaustu.&lt;br /&gt;
&lt;br /&gt;
==Süntaks==&lt;br /&gt;
&#039;&#039;&amp;lt;argumendid&amp;gt;&#039;&#039; | &#039;&#039;&#039;xargs&#039;&#039;&#039; &#039;&#039;&amp;lt;võtmed&amp;gt; &amp;lt;käsk &amp;lt;võtmed&amp;gt;&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näited==&lt;br /&gt;
===Argumentide väljastamine kolme kaupa===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3 echo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
või&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;echo&#039;&#039;&#039; on &#039;&#039;&#039;xargs&#039;&#039;&#039; vaikimisi käsk, seega ei ole tarvis määrata käsku.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-n 3&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust kuvatakse kolme kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
1 2 3&lt;br /&gt;
4 5 6&lt;br /&gt;
7 8&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendiga failide kustutamine avatud kataloogis===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find . -name *.log | xargs rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;&#039;-name *.log&#039;&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendiga failide kustutamine avatud kataloogis, kus faili nimedes on tühikud või reavahetused===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find . -name *.log -print0 | xargs -0 rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;&#039;-name *.log&#039;&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;-print0&#039;&#039;&#039; - leitud argumendid eraldatakse &#039;&#039;null karakteriga&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-0&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust eraldaja ei ole tühik ega reavahetus vaid &#039;&#039;null karakter&#039;&#039;. Vajalik selleks, kui faili nimed sisaldavad tühikuid või reavahetusi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Kõikide arvuti kasutajate kuvamine viie kaupa===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cut -d: -f1 &amp;lt; /etc/passwd | sort | xargs -n 5&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;cut&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-d:&#039;&#039;&#039; - välja eraldajaks on &amp;quot;:&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;-f1&#039;&#039;&#039; - valitakse esimene väli&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-n 5&#039;&#039;&#039; - standard sisendi argumente kuvatakse viie kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ cut -d: -f1 &amp;lt; /etc/passwd | sort | xargs -n 5&lt;br /&gt;
avahi avahi-autoipd backup bin daemon&lt;br /&gt;
games gdm gnats hplip irc&lt;br /&gt;
kernoops libuuid list lp mail&lt;br /&gt;
man messagebus news nobody proxy&lt;br /&gt;
pulse root rtkit saned speech-dispatcher&lt;br /&gt;
sync sys syslog student usbmux&lt;br /&gt;
uucp www-data&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Kõikide kaustas olevate peidetud failide ja kaustade ümbertõstmine===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
find . -path &#039;./*&#039; -name &#039;[!.]*&#039; -print0 | xargs -r0 mv --target=&#039;/mingi/teine/kataloog&#039;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse hetkel avatud kaustast&lt;br /&gt;
*&#039;&#039;&#039;-path &amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;./*&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; - määrab ära otsingu sügavuse, praegusel juhul ka alamfailid ja -kaustad&lt;br /&gt;
*&#039;&#039;&#039;-name &amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;[!.]*&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; - määrab ära, et otsitakse punktiga algavaid faile ning kaustu&lt;br /&gt;
*&#039;&#039;&#039;-print0&#039;&#039;&#039; - leitud argumendid eraldatakse &#039;&#039;null karakteriga&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-r0&#039;&#039;&#039; -  &#039;&#039;&#039;r&#039;&#039;&#039; määrab ära, et käsku &#039;&#039;&#039;mv&#039;&#039;&#039; ei käivitata kui standard sisend on tühi ning &#039;&#039;&#039;0&#039;&#039;&#039; määrab standard sisendi eraldajaks &#039;&#039;null karakteri&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;mv&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;--target=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;/mingi/teine/kataloog&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; - kaustad ning failid tõstetakse ümber asukohta &#039;&#039;/mingi/teine/kataloog&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
(probleem pole nii õudne, kuid eksisteerib)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Allikad/Allikad==&lt;br /&gt;
&lt;br /&gt;
*http://en.wikipedia.org/wiki/Xargs&lt;br /&gt;
*http://www.gnu.org/software/coreutils/faq/coreutils-faq.html#Argument-list-too-long&lt;br /&gt;
*http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/&lt;br /&gt;
*http://www.linuxtutorialblog.com/post/tutorial-the-best-tips-tricks-for-bash&lt;br /&gt;
*http://www.softpanorama.org/Tools/xargs.shtml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Marko Valing, AK31, 2010/2011&lt;br /&gt;
&lt;br /&gt;
[[Category:IT_infrastruktuuri_teenused]]&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34262</id>
		<title>Xargs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34262"/>
		<updated>2011-06-22T05:54:40Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: /* Kõikide kaustas olevate peidetud failide ja kaustade ümbertõstmine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Artikkel on pooleli!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
xargs käsku kasutatakse juhtudeks, kus on vaja jaotada mingi käsu tegevused väiksemateks gruppideks. xargs sai loodud probleemi tõttu, kus käsul on liiga palju argumente ning kernel (kuni versioonini 2.6.23) ei ole võimeline käivitama käsku.&lt;br /&gt;
*xargs loeb argumente standard sisendist&lt;br /&gt;
*xargs standard sisendi argumendid on piiritletud tühikutega või reavahetustega&lt;br /&gt;
*peale standard sisendi lugemist käivitatakse soovitud käsk üks või mitu korda standard sisendist saadud argumentidega.&lt;br /&gt;
&lt;br /&gt;
Näide, kus käsu käivitamine ebaõnnestub liigsete argumentide hulga tõttu:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ mv * /mingi/teine/kataloog/&lt;br /&gt;
bash: /bin/mv: Argument list too long&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Süntaks==&lt;br /&gt;
&#039;&#039;&amp;lt;argumendid&amp;gt;&#039;&#039; | &#039;&#039;&#039;xargs&#039;&#039;&#039; &#039;&#039;&amp;lt;võtmed&amp;gt; &amp;lt;käsk &amp;lt;võtmed&amp;gt;&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näited==&lt;br /&gt;
===Argumentide väljastamine kolme kaupa===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3 echo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
või&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;echo&#039;&#039;&#039; on &#039;&#039;&#039;xargs&#039;&#039;&#039; vaikimisi käsk, seega ei ole tarvis määrata käsku.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-n 3&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust kuvatakse kolme kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
1 2 3&lt;br /&gt;
4 5 6&lt;br /&gt;
7 8&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendiga failide kustutamine avatud kataloogis===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find . -name *.log | xargs rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;&#039;-name *.log&#039;&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendiga failide kustutamine avatud kataloogis, kus faili nimedes on tühikud või reavahetused===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find . -name *.log -print0 | xargs -0 rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;&#039;-name *.log&#039;&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;-print0&#039;&#039;&#039; - leitud argumendid eraldatakse &#039;&#039;null karakteriga&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-0&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust eraldaja ei ole tühik ega reavahetus vaid &#039;&#039;null karakter&#039;&#039;. Vajalik selleks, kui faili nimed sisaldavad tühikuid või reavahetusi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Kõikide arvuti kasutajate kuvamine viie kaupa===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cut -d: -f1 &amp;lt; /etc/passwd | sort | xargs -n 5&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;cut&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-d:&#039;&#039;&#039; - välja eraldajaks on &amp;quot;:&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;-f1&#039;&#039;&#039; - valitakse esimene väli&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-n 5&#039;&#039;&#039; - standard sisendi argumente kuvatakse viie kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ cut -d: -f1 &amp;lt; /etc/passwd | sort | xargs -n 5&lt;br /&gt;
avahi avahi-autoipd backup bin daemon&lt;br /&gt;
games gdm gnats hplip irc&lt;br /&gt;
kernoops libuuid list lp mail&lt;br /&gt;
man messagebus news nobody proxy&lt;br /&gt;
pulse root rtkit saned speech-dispatcher&lt;br /&gt;
sync sys syslog student usbmux&lt;br /&gt;
uucp www-data&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Kõikide kaustas olevate peidetud failide ja kaustade ümbertõstmine===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
find . -path &#039;./*&#039; -name &#039;[!.]*&#039; -print0 | xargs -r0 mv --target=&#039;/mingi/teine/kataloog&#039;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse hetkel avatud kaustast&lt;br /&gt;
*&#039;&#039;&#039;-path &amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;./*&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; - määrab ära otsingu sügavuse, praegusel juhul ka alamfailid ja -kaustad&lt;br /&gt;
*&#039;&#039;&#039;-name &amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;[!.]*&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; - määrab ära, et otsitakse punktiga algavaid faile ning kaustu&lt;br /&gt;
*&#039;&#039;&#039;-print0&#039;&#039;&#039; - leitud argumendid eraldatakse &#039;&#039;null karakteriga&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-r0&#039;&#039;&#039; -  &#039;&#039;&#039;r&#039;&#039;&#039; määrab ära, et käsku &#039;&#039;&#039;mv&#039;&#039;&#039; ei käivitata kui standard sisend on tühi ning &#039;&#039;&#039;0&#039;&#039;&#039; määrab standard sisendi eraldajaks &#039;&#039;null karakteri&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;mv&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;--target=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;/mingi/teine/kataloog&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; - kaustad ning failid tõstetakse ümber asukohta &#039;&#039;/mingi/teine/kataloog&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
(probleem pole nii õudne, kuid eksisteerib)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Allikad/Allikad==&lt;br /&gt;
&lt;br /&gt;
*http://en.wikipedia.org/wiki/Xargs&lt;br /&gt;
*http://www.gnu.org/software/coreutils/faq/coreutils-faq.html#Argument-list-too-long&lt;br /&gt;
*http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/&lt;br /&gt;
*http://www.linuxtutorialblog.com/post/tutorial-the-best-tips-tricks-for-bash&lt;br /&gt;
*http://www.softpanorama.org/Tools/xargs.shtml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Marko Valing, AK31, 2010/2011&lt;br /&gt;
&lt;br /&gt;
[[Category:IT_infrastruktuuri_teenused]]&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34261</id>
		<title>Xargs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34261"/>
		<updated>2011-06-22T05:53:59Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: /* Kõikide kaustas olevate peidetud failide ja kaustade ümbertõstmine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Artikkel on pooleli!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
xargs käsku kasutatakse juhtudeks, kus on vaja jaotada mingi käsu tegevused väiksemateks gruppideks. xargs sai loodud probleemi tõttu, kus käsul on liiga palju argumente ning kernel (kuni versioonini 2.6.23) ei ole võimeline käivitama käsku.&lt;br /&gt;
*xargs loeb argumente standard sisendist&lt;br /&gt;
*xargs standard sisendi argumendid on piiritletud tühikutega või reavahetustega&lt;br /&gt;
*peale standard sisendi lugemist käivitatakse soovitud käsk üks või mitu korda standard sisendist saadud argumentidega.&lt;br /&gt;
&lt;br /&gt;
Näide, kus käsu käivitamine ebaõnnestub liigsete argumentide hulga tõttu:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ mv * /mingi/teine/kataloog/&lt;br /&gt;
bash: /bin/mv: Argument list too long&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Süntaks==&lt;br /&gt;
&#039;&#039;&amp;lt;argumendid&amp;gt;&#039;&#039; | &#039;&#039;&#039;xargs&#039;&#039;&#039; &#039;&#039;&amp;lt;võtmed&amp;gt; &amp;lt;käsk &amp;lt;võtmed&amp;gt;&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näited==&lt;br /&gt;
===Argumentide väljastamine kolme kaupa===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3 echo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
või&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;echo&#039;&#039;&#039; on &#039;&#039;&#039;xargs&#039;&#039;&#039; vaikimisi käsk, seega ei ole tarvis määrata käsku.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-n 3&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust kuvatakse kolme kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
1 2 3&lt;br /&gt;
4 5 6&lt;br /&gt;
7 8&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendiga failide kustutamine avatud kataloogis===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find . -name *.log | xargs rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;&#039;-name *.log&#039;&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendiga failide kustutamine avatud kataloogis, kus faili nimedes on tühikud või reavahetused===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find . -name *.log -print0 | xargs -0 rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;&#039;-name *.log&#039;&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;-print0&#039;&#039;&#039; - leitud argumendid eraldatakse &#039;&#039;null karakteriga&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-0&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust eraldaja ei ole tühik ega reavahetus vaid &#039;&#039;null karakter&#039;&#039;. Vajalik selleks, kui faili nimed sisaldavad tühikuid või reavahetusi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Kõikide arvuti kasutajate kuvamine viie kaupa===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cut -d: -f1 &amp;lt; /etc/passwd | sort | xargs -n 5&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;cut&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-d:&#039;&#039;&#039; - välja eraldajaks on &amp;quot;:&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;-f1&#039;&#039;&#039; - valitakse esimene väli&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-n 5&#039;&#039;&#039; - standard sisendi argumente kuvatakse viie kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ cut -d: -f1 &amp;lt; /etc/passwd | sort | xargs -n 5&lt;br /&gt;
avahi avahi-autoipd backup bin daemon&lt;br /&gt;
games gdm gnats hplip irc&lt;br /&gt;
kernoops libuuid list lp mail&lt;br /&gt;
man messagebus news nobody proxy&lt;br /&gt;
pulse root rtkit saned speech-dispatcher&lt;br /&gt;
sync sys syslog student usbmux&lt;br /&gt;
uucp www-data&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Kõikide kaustas olevate peidetud failide ja kaustade ümbertõstmine===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
find . -path &#039;./*&#039; -name &#039;[!.]*&#039; -print0 | xargs -r0 mv --target=&#039;/mingi/teine/kataloog&#039;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse hetkel avatud kaustast&lt;br /&gt;
*&#039;&#039;&#039;-path &amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;./*&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; - määrab ära otsingu sügavuse, praegusel juhul ka alamfailid ja -kaustad&lt;br /&gt;
*&#039;&#039;&#039;-name &amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;[!.]*&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; - määrab ära, et otsitakse punktiga algavaid faile ning kaustu&lt;br /&gt;
*&#039;&#039;&#039;-print0&#039;&#039;&#039; - leitud argumendid eraldatakse &#039;&#039;null karakteriga&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-r0&#039;&#039;&#039; -  &#039;&#039;&#039;r&#039;&#039;&#039; määrab ära, et käsku &#039;&#039;&#039;mv&#039;&#039;&#039; ei käivitata kui standard sisend on tühi ning &#039;&#039;&#039;0&#039;&#039;&#039; määrab standard sisendi eraldajaks &#039;&#039;null karakteri&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;mv&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;--target=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;/mingi/teine/kataloog&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; - kaustad ning failid tõstetakse ümber &#039;&#039;/mingi/teine/kataloog&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
(probleem pole nii õudne, kuid eksisteerib)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Allikad/Allikad==&lt;br /&gt;
&lt;br /&gt;
*http://en.wikipedia.org/wiki/Xargs&lt;br /&gt;
*http://www.gnu.org/software/coreutils/faq/coreutils-faq.html#Argument-list-too-long&lt;br /&gt;
*http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/&lt;br /&gt;
*http://www.linuxtutorialblog.com/post/tutorial-the-best-tips-tricks-for-bash&lt;br /&gt;
*http://www.softpanorama.org/Tools/xargs.shtml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Marko Valing, AK31, 2010/2011&lt;br /&gt;
&lt;br /&gt;
[[Category:IT_infrastruktuuri_teenused]]&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34260</id>
		<title>Xargs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34260"/>
		<updated>2011-06-22T05:53:22Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: /* Näited */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Artikkel on pooleli!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
xargs käsku kasutatakse juhtudeks, kus on vaja jaotada mingi käsu tegevused väiksemateks gruppideks. xargs sai loodud probleemi tõttu, kus käsul on liiga palju argumente ning kernel (kuni versioonini 2.6.23) ei ole võimeline käivitama käsku.&lt;br /&gt;
*xargs loeb argumente standard sisendist&lt;br /&gt;
*xargs standard sisendi argumendid on piiritletud tühikutega või reavahetustega&lt;br /&gt;
*peale standard sisendi lugemist käivitatakse soovitud käsk üks või mitu korda standard sisendist saadud argumentidega.&lt;br /&gt;
&lt;br /&gt;
Näide, kus käsu käivitamine ebaõnnestub liigsete argumentide hulga tõttu:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ mv * /mingi/teine/kataloog/&lt;br /&gt;
bash: /bin/mv: Argument list too long&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Süntaks==&lt;br /&gt;
&#039;&#039;&amp;lt;argumendid&amp;gt;&#039;&#039; | &#039;&#039;&#039;xargs&#039;&#039;&#039; &#039;&#039;&amp;lt;võtmed&amp;gt; &amp;lt;käsk &amp;lt;võtmed&amp;gt;&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näited==&lt;br /&gt;
===Argumentide väljastamine kolme kaupa===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3 echo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
või&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;echo&#039;&#039;&#039; on &#039;&#039;&#039;xargs&#039;&#039;&#039; vaikimisi käsk, seega ei ole tarvis määrata käsku.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-n 3&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust kuvatakse kolme kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
1 2 3&lt;br /&gt;
4 5 6&lt;br /&gt;
7 8&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendiga failide kustutamine avatud kataloogis===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find . -name *.log | xargs rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;&#039;-name *.log&#039;&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendiga failide kustutamine avatud kataloogis, kus faili nimedes on tühikud või reavahetused===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find . -name *.log -print0 | xargs -0 rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;&#039;-name *.log&#039;&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;-print0&#039;&#039;&#039; - leitud argumendid eraldatakse &#039;&#039;null karakteriga&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-0&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust eraldaja ei ole tühik ega reavahetus vaid &#039;&#039;null karakter&#039;&#039;. Vajalik selleks, kui faili nimed sisaldavad tühikuid või reavahetusi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Kõikide arvuti kasutajate kuvamine viie kaupa===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cut -d: -f1 &amp;lt; /etc/passwd | sort | xargs -n 5&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;cut&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-d:&#039;&#039;&#039; - välja eraldajaks on &amp;quot;:&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;-f1&#039;&#039;&#039; - valitakse esimene väli&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-n 5&#039;&#039;&#039; - standard sisendi argumente kuvatakse viie kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ cut -d: -f1 &amp;lt; /etc/passwd | sort | xargs -n 5&lt;br /&gt;
avahi avahi-autoipd backup bin daemon&lt;br /&gt;
games gdm gnats hplip irc&lt;br /&gt;
kernoops libuuid list lp mail&lt;br /&gt;
man messagebus news nobody proxy&lt;br /&gt;
pulse root rtkit saned speech-dispatcher&lt;br /&gt;
sync sys syslog student usbmux&lt;br /&gt;
uucp www-data&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Kõikide kaustas olevate peidetud failide ja kaustade ümbertõstmine===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
find . -path &#039;./*&#039; -name &#039;[!.]*&#039; -print0 | xargs -r0 mv --target=&#039;/mingi/teine/kataloog&#039;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse hetkel avatud kaustast&lt;br /&gt;
*&#039;&#039;&#039;-path &amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;./*&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; - määrab ära otsingu sügavuse, praegusel juhul ka alamfailid ja -kaustad&lt;br /&gt;
*&#039;&#039;&#039;-name &amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;[!.]*&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; - määrab ära, et otsitakse punktiga algavaid faile ning kaustu&lt;br /&gt;
*&#039;&#039;&#039;-print0&#039;&#039;&#039; - leitud argumendid eraldatakse &#039;&#039;null karakteriga&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-r0&#039;&#039;&#039; -  &#039;&#039;&#039;r&#039;&#039;&#039; määrab ära, et käsku &#039;&#039;&#039;mv&#039;&#039;&#039; ei käivitata kui standard sisend on tühi ning &#039;&#039;&#039;0&#039;&#039;&#039; määrab standard sisendi eraldajaks &#039;&#039;null karakteri&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;mv&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;--target=&#039;/mingi/teine/kataloog&#039;&#039;&#039;&#039; - kaustad ning failid tõstetakse ümber &#039;&#039;/mingi/teine/kataloog&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
(probleem pole nii õudne, kuid eksisteerib)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Allikad/Allikad==&lt;br /&gt;
&lt;br /&gt;
*http://en.wikipedia.org/wiki/Xargs&lt;br /&gt;
*http://www.gnu.org/software/coreutils/faq/coreutils-faq.html#Argument-list-too-long&lt;br /&gt;
*http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/&lt;br /&gt;
*http://www.linuxtutorialblog.com/post/tutorial-the-best-tips-tricks-for-bash&lt;br /&gt;
*http://www.softpanorama.org/Tools/xargs.shtml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Marko Valing, AK31, 2010/2011&lt;br /&gt;
&lt;br /&gt;
[[Category:IT_infrastruktuuri_teenused]]&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34259</id>
		<title>Xargs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34259"/>
		<updated>2011-06-21T21:19:12Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Artikkel on pooleli!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
xargs käsku kasutatakse juhtudeks, kus on vaja jaotada mingi käsu tegevused väiksemateks gruppideks. xargs sai loodud probleemi tõttu, kus käsul on liiga palju argumente ning kernel (kuni versioonini 2.6.23) ei ole võimeline käivitama käsku.&lt;br /&gt;
*xargs loeb argumente standard sisendist&lt;br /&gt;
*xargs standard sisendi argumendid on piiritletud tühikutega või reavahetustega&lt;br /&gt;
*peale standard sisendi lugemist käivitatakse soovitud käsk üks või mitu korda standard sisendist saadud argumentidega.&lt;br /&gt;
&lt;br /&gt;
Näide, kus käsu käivitamine ebaõnnestub liigsete argumentide hulga tõttu:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ mv * /mingi/teine/kataloog/&lt;br /&gt;
bash: /bin/mv: Argument list too long&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Süntaks==&lt;br /&gt;
&#039;&#039;&amp;lt;argumendid&amp;gt;&#039;&#039; | &#039;&#039;&#039;xargs&#039;&#039;&#039; &#039;&#039;&amp;lt;võtmed&amp;gt; &amp;lt;käsk &amp;lt;võtmed&amp;gt;&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näited==&lt;br /&gt;
===Argumentide väljastamine kolme kaupa===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3 echo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
või&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;echo&#039;&#039;&#039; on &#039;&#039;&#039;xargs&#039;&#039;&#039; vaikimisi käsk, seega ei ole tarvis määrata käsku.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-n 3&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust kuvatakse kolme kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
1 2 3&lt;br /&gt;
4 5 6&lt;br /&gt;
7 8&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendiga failide kustutamine avatud kataloogis===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find . -name *.log | xargs rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;&#039;-name *.log&#039;&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendiga failide kustutamine avatud kataloogis, kus faili nimedes on tühikud või reavahetused===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find . -name *.log -print0 | xargs -0 rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;&#039;-name *.log&#039;&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;-print0&#039;&#039;&#039; - leitud argumendid eraldatakse &#039;&#039;null karakteriga&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-0&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust eraldaja ei ole tühik ega reavahetus vaid &#039;&#039;null karakter&#039;&#039;. Vajalik selleks, kui faili nimed sisaldavad tühikuid või reavahetusi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Kõikide arvuti kasutajate kuvamine viie kaupa===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cut -d: -f1 &amp;lt; /etc/passwd | sort | xargs -n 5&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;cut&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-d:&#039;&#039;&#039; - välja eraldajaks on &amp;quot;:&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;-f1&#039;&#039;&#039; - valitakse esimene väli&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-n 5&#039;&#039;&#039; standard sisendi argumente kuvatakse viie kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ cut -d: -f1 &amp;lt; /etc/passwd | sort | xargs -n 5&lt;br /&gt;
avahi avahi-autoipd backup bin daemon&lt;br /&gt;
games gdm gnats hplip irc&lt;br /&gt;
kernoops libuuid list lp mail&lt;br /&gt;
man messagebus news nobody proxy&lt;br /&gt;
pulse root rtkit saned speech-dispatcher&lt;br /&gt;
sync sys syslog student usbmux&lt;br /&gt;
uucp www-data&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
(probleem pole nii õudne, kuid eksisteerib)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Allikad/Allikad==&lt;br /&gt;
&lt;br /&gt;
*http://en.wikipedia.org/wiki/Xargs&lt;br /&gt;
*http://www.gnu.org/software/coreutils/faq/coreutils-faq.html#Argument-list-too-long&lt;br /&gt;
*http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/&lt;br /&gt;
*http://www.linuxtutorialblog.com/post/tutorial-the-best-tips-tricks-for-bash&lt;br /&gt;
*http://www.softpanorama.org/Tools/xargs.shtml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Marko Valing, AK31, 2010/2011&lt;br /&gt;
&lt;br /&gt;
[[Category:IT_infrastruktuuri_teenused]]&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34258</id>
		<title>Xargs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34258"/>
		<updated>2011-06-21T21:18:34Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Artikkel on pooleli!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
xargs käsku kasutatakse juhtudeks, kus on vaja jaotada mingi käsu tegevused väiksemateks gruppideks. xargs sai loodud probleemi tõttu, kus käsul on liiga palju argumente ning kernel (kuni versioonini 2.6.23) ei ole võimeline käivitama käsku.&lt;br /&gt;
*xargs loeb argumente standard sisendist&lt;br /&gt;
*xargs standard sisendi argumendid on piiritletud tühikutega või reavahetustega&lt;br /&gt;
*peale standard sisendi lugemist käivitatakse soovitud käsk üks või mitu korda standard sisendist saadud argumentidega.&lt;br /&gt;
&lt;br /&gt;
Näide, kus käsu käivitamine ebaõnnestub liigsete argumentide hulga tõttu:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ mv * /mingi/teine/kataloog/&lt;br /&gt;
bash: /bin/mv: Argument list too long&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Süntaks==&lt;br /&gt;
&#039;&#039;&amp;lt;argumendid&amp;gt;&#039;&#039; | &#039;&#039;&#039;xargs&#039;&#039;&#039; &#039;&#039;&amp;lt;võtmed&amp;gt; &amp;lt;käsk &amp;lt;võtmed&amp;gt;&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Näited==&lt;br /&gt;
===Argumentide väljastamine kolme kaupa===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3 echo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
või&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;echo&#039;&#039;&#039; on &#039;&#039;&#039;xargs&#039;&#039;&#039; vaikimisi käsk, seega ei ole tarvis määrata käsku.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-n 3&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust kuvatakse kolme kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
1 2 3&lt;br /&gt;
4 5 6&lt;br /&gt;
7 8&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendiga failide kustutamine avatud kataloogis===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find . -name *.log | xargs rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;&#039;-name *.log&#039;&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendiga failide kustutamine avatud kataloogis, kus faili nimedes on tühikud või reavahetused===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find . -name *.log -print0 | xargs -0 rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;&#039;-name *.log&#039;&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;-print0&#039;&#039;&#039; - leitud argumendid eraldatakse &#039;&#039;null karakteriga&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-0&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust eraldaja ei ole tühik ega reavahetus vaid &#039;&#039;null karakter&#039;&#039;. Vajalik selleks, kui faili nimed sisaldavad tühikuid või reavahetusi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Kõikide arvuti kasutajate kuvamine viie kaupa===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cut -d: -f1 &amp;lt; /etc/passwd | sort | xargs -n 5&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;cut&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-d:&#039;&#039;&#039; - välja eraldajaks on &amp;quot;:&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;-f1&#039;&#039;&#039; - valitakse esimene väli&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-n 5&#039;&#039;&#039; standard sisendi argumente kuvatakse viie kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ cut -d: -f1 &amp;lt; /etc/passwd | sort | xargs -n 5&lt;br /&gt;
avahi avahi-autoipd backup bin daemon&lt;br /&gt;
games gdm gnats hplip irc&lt;br /&gt;
kernoops libuuid list lp mail&lt;br /&gt;
man messagebus news nobody proxy&lt;br /&gt;
pulse root rtkit saned speech-dispatcher&lt;br /&gt;
sync sys syslog student usbmux&lt;br /&gt;
uucp www-data&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
(probleem pole nii õudne, kuid eksisteerib)&lt;br /&gt;
==Allikad/Allikad==&lt;br /&gt;
&lt;br /&gt;
*http://en.wikipedia.org/wiki/Xargs&lt;br /&gt;
*http://www.gnu.org/software/coreutils/faq/coreutils-faq.html#Argument-list-too-long&lt;br /&gt;
*http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/&lt;br /&gt;
*http://www.linuxtutorialblog.com/post/tutorial-the-best-tips-tricks-for-bash&lt;br /&gt;
*http://www.softpanorama.org/Tools/xargs.shtml&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Marko Valing, AK31, 2010/2011&lt;br /&gt;
&lt;br /&gt;
[[Category:IT_infrastruktuuri_teenused]]&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34257</id>
		<title>Xargs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34257"/>
		<updated>2011-06-21T21:18:09Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: /* Näited */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Artikkel on pooleli!=&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
xargs käsku kasutatakse juhtudeks, kus on vaja jaotada mingi käsu tegevused väiksemateks gruppideks. xargs sai loodud probleemi tõttu, kus käsul on liiga palju argumente ning kernel (kuni versioonini 2.6.23) ei ole võimeline käivitama käsku.&lt;br /&gt;
*xargs loeb argumente standard sisendist&lt;br /&gt;
*xargs standard sisendi argumendid on piiritletud tühikutega või reavahetustega&lt;br /&gt;
*peale standard sisendi lugemist käivitatakse soovitud käsk üks või mitu korda standard sisendist saadud argumentidega.&lt;br /&gt;
&lt;br /&gt;
Näide, kus käsu käivitamine ebaõnnestub liigsete argumentide hulga tõttu:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ mv * /mingi/teine/kataloog/&lt;br /&gt;
bash: /bin/mv: Argument list too long&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Süntaks==&lt;br /&gt;
&#039;&#039;&amp;lt;argumendid&amp;gt;&#039;&#039; | &#039;&#039;&#039;xargs&#039;&#039;&#039; &#039;&#039;&amp;lt;võtmed&amp;gt; &amp;lt;käsk &amp;lt;võtmed&amp;gt;&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Näited==&lt;br /&gt;
===Argumentide väljastamine kolme kaupa===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3 echo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
või&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;echo&#039;&#039;&#039; on &#039;&#039;&#039;xargs&#039;&#039;&#039; vaikimisi käsk, seega ei ole tarvis määrata käsku.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-n 3&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust kuvatakse kolme kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
1 2 3&lt;br /&gt;
4 5 6&lt;br /&gt;
7 8&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendiga failide kustutamine avatud kataloogis===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find . -name *.log | xargs rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;&#039;-name *.log&#039;&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendiga failide kustutamine avatud kataloogis, kus faili nimedes on tühikud või reavahetused===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find . -name *.log -print0 | xargs -0 rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;&#039;-name *.log&#039;&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;-print0&#039;&#039;&#039; - leitud argumendid eraldatakse &#039;&#039;null karakteriga&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-0&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust eraldaja ei ole tühik ega reavahetus vaid &#039;&#039;null karakter&#039;&#039;. Vajalik selleks, kui faili nimed sisaldavad tühikuid või reavahetusi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Kõikide arvuti kasutajate kuvamine viie kaupa===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cut -d: -f1 &amp;lt; /etc/passwd | sort | xargs -n 5&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;cut&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-d:&#039;&#039;&#039; - välja eraldajaks on &amp;quot;:&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;-f1&#039;&#039;&#039; - valitakse esimene väli&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-n 5&#039;&#039;&#039; standard sisendi argumente kuvatakse viie kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ cut -d: -f1 &amp;lt; /etc/passwd | sort | xargs -n 5&lt;br /&gt;
avahi avahi-autoipd backup bin daemon&lt;br /&gt;
games gdm gnats hplip irc&lt;br /&gt;
kernoops libuuid list lp mail&lt;br /&gt;
man messagebus news nobody proxy&lt;br /&gt;
pulse root rtkit saned speech-dispatcher&lt;br /&gt;
sync sys syslog student usbmux&lt;br /&gt;
uucp www-data&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
(probleem pole nii õudne, kuid eksisteerib)&lt;br /&gt;
==Allikad/Allikad==&lt;br /&gt;
&lt;br /&gt;
*http://en.wikipedia.org/wiki/Xargs&lt;br /&gt;
*http://www.gnu.org/software/coreutils/faq/coreutils-faq.html#Argument-list-too-long&lt;br /&gt;
*http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/&lt;br /&gt;
*http://www.linuxtutorialblog.com/post/tutorial-the-best-tips-tricks-for-bash&lt;br /&gt;
*http://www.softpanorama.org/Tools/xargs.shtml&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Marko Valing, AK31, 2010/2011&lt;br /&gt;
&lt;br /&gt;
[[Category:IT_infrastruktuuri_teenused]]&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34256</id>
		<title>Xargs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34256"/>
		<updated>2011-06-21T21:17:31Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: /* Näited */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Artikkel on pooleli!=&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
xargs käsku kasutatakse juhtudeks, kus on vaja jaotada mingi käsu tegevused väiksemateks gruppideks. xargs sai loodud probleemi tõttu, kus käsul on liiga palju argumente ning kernel (kuni versioonini 2.6.23) ei ole võimeline käivitama käsku.&lt;br /&gt;
*xargs loeb argumente standard sisendist&lt;br /&gt;
*xargs standard sisendi argumendid on piiritletud tühikutega või reavahetustega&lt;br /&gt;
*peale standard sisendi lugemist käivitatakse soovitud käsk üks või mitu korda standard sisendist saadud argumentidega.&lt;br /&gt;
&lt;br /&gt;
Näide, kus käsu käivitamine ebaõnnestub liigsete argumentide hulga tõttu:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ mv * /mingi/teine/kataloog/&lt;br /&gt;
bash: /bin/mv: Argument list too long&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Süntaks==&lt;br /&gt;
&#039;&#039;&amp;lt;argumendid&amp;gt;&#039;&#039; | &#039;&#039;&#039;xargs&#039;&#039;&#039; &#039;&#039;&amp;lt;võtmed&amp;gt; &amp;lt;käsk &amp;lt;võtmed&amp;gt;&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Näited==&lt;br /&gt;
===Argumentide väljastamine kolme kaupa===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3 echo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
või&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;echo&#039;&#039;&#039; on &#039;&#039;&#039;xargs&#039;&#039;&#039; vaikimisi käsk, seega ei ole tarvis määrata käsku.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-n 3&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust kuvatakse kolme kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
1 2 3&lt;br /&gt;
4 5 6&lt;br /&gt;
7 8&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendiga failide kustutamine avatud kataloogis===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find . -name *.log | xargs rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;&#039;-name *.log&#039;&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendiga failide kustutamine avatud kataloogis, kus faili nimedes on tühikud või reavahetused===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find . -name *.log -print0 | xargs -0 rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;&#039;-name *.log&#039;&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;-print0&#039;&#039;&#039; - leitud argumendid eraldatakse &#039;&#039;null karakteriga&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-0&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust eraldaja ei ole tühik ega reavahetus vaid &#039;&#039;null karakter&#039;&#039;. Vajalik selleks, kui faili nimed sisaldavad tühikuid või reavahetusi.&lt;br /&gt;
&lt;br /&gt;
===Kõikide arvuti kasutajate kuvamine viie kaupa===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cut -d: -f1 &amp;lt; /etc/passwd | sort | xargs -n 5&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;cut&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-d:&#039;&#039;&#039; - välja eraldajaks on &amp;quot;:&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;-f1&#039;&#039;&#039; - valitakse esimene väli&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-n 5&#039;&#039;&#039; standard sisendi argumente kuvatakse viie kaupa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ cut -d: -f1 &amp;lt; /etc/passwd | sort | xargs -n 5&lt;br /&gt;
avahi avahi-autoipd backup bin daemon&lt;br /&gt;
games gdm gnats hplip irc&lt;br /&gt;
kernoops libuuid list lp mail&lt;br /&gt;
man messagebus news nobody proxy&lt;br /&gt;
pulse root rtkit saned speech-dispatcher&lt;br /&gt;
sync sys syslog student usbmux&lt;br /&gt;
uucp www-data&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
(probleem pole nii õudne, kuid eksisteerib)&lt;br /&gt;
==Allikad/Allikad==&lt;br /&gt;
&lt;br /&gt;
*http://en.wikipedia.org/wiki/Xargs&lt;br /&gt;
*http://www.gnu.org/software/coreutils/faq/coreutils-faq.html#Argument-list-too-long&lt;br /&gt;
*http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/&lt;br /&gt;
*http://www.linuxtutorialblog.com/post/tutorial-the-best-tips-tricks-for-bash&lt;br /&gt;
*http://www.softpanorama.org/Tools/xargs.shtml&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Marko Valing, AK31, 2010/2011&lt;br /&gt;
&lt;br /&gt;
[[Category:IT_infrastruktuuri_teenused]]&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34255</id>
		<title>Xargs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34255"/>
		<updated>2011-06-21T21:10:12Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: /* Määratud laiendiga failide kustutamine avatud kataloogis, kus faili nimedes on tühikud või reavahetused */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Artikkel on pooleli!=&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
xargs käsku kasutatakse juhtudeks, kus on vaja jaotada mingi käsu tegevused väiksemateks gruppideks. xargs sai loodud probleemi tõttu, kus käsul on liiga palju argumente ning kernel (kuni versioonini 2.6.23) ei ole võimeline käivitama käsku.&lt;br /&gt;
*xargs loeb argumente standard sisendist&lt;br /&gt;
*xargs standard sisendi argumendid on piiritletud tühikutega või reavahetustega&lt;br /&gt;
*peale standard sisendi lugemist käivitatakse soovitud käsk üks või mitu korda standard sisendist saadud argumentidega.&lt;br /&gt;
&lt;br /&gt;
Näide, kus käsu käivitamine ebaõnnestub liigsete argumentide hulga tõttu:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ mv * /mingi/teine/kataloog/&lt;br /&gt;
bash: /bin/mv: Argument list too long&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Süntaks==&lt;br /&gt;
&#039;&#039;&amp;lt;argumendid&amp;gt;&#039;&#039; | &#039;&#039;&#039;xargs&#039;&#039;&#039; &#039;&#039;&amp;lt;võtmed&amp;gt; &amp;lt;käsk &amp;lt;võtmed&amp;gt;&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Näited==&lt;br /&gt;
===Argumentide väljastamine kolme kaupa===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3 echo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
või&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;echo&#039;&#039;&#039; on &#039;&#039;&#039;xargs&#039;&#039;&#039; vaikimisi käsk, seega ei ole tarvis määrata käsku.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-n 3&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust kuvatakse kolme kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
1 2 3&lt;br /&gt;
4 5 6&lt;br /&gt;
7 8&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendiga failide kustutamine avatud kataloogis===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find . -name *.log | xargs rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;&#039;-name *.log&#039;&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendiga failide kustutamine avatud kataloogis, kus faili nimedes on tühikud või reavahetused===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find . -name *.log -print0 | xargs -0 rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;&#039;-name *.log&#039;&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;-print0&#039;&#039;&#039; - leitud argumendid eraldatakse &#039;&#039;null karakteriga&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-0&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust eraldaja ei ole tühik ega reavahetus vaid &#039;&#039;null karakter&#039;&#039;. Vajalik selleks, kui faili nimed sisaldavad tühikuid või reavahetusi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5-6tk, Kuidas kustutada sadatuhat faili?&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
(probleem pole nii õudne, kuid eksisteerib)&lt;br /&gt;
==Allikad/Allikad==&lt;br /&gt;
&lt;br /&gt;
*http://en.wikipedia.org/wiki/Xargs&lt;br /&gt;
*http://www.gnu.org/software/coreutils/faq/coreutils-faq.html#Argument-list-too-long&lt;br /&gt;
*http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/&lt;br /&gt;
*http://www.linuxtutorialblog.com/post/tutorial-the-best-tips-tricks-for-bash&lt;br /&gt;
*http://www.softpanorama.org/Tools/xargs.shtml&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Marko Valing, AK31, 2010/2011&lt;br /&gt;
&lt;br /&gt;
[[Category:IT_infrastruktuuri_teenused]]&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34254</id>
		<title>Xargs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34254"/>
		<updated>2011-06-21T21:10:01Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: /* Määratud laiendiga failide kustutamine avatud kataloogis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Artikkel on pooleli!=&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
xargs käsku kasutatakse juhtudeks, kus on vaja jaotada mingi käsu tegevused väiksemateks gruppideks. xargs sai loodud probleemi tõttu, kus käsul on liiga palju argumente ning kernel (kuni versioonini 2.6.23) ei ole võimeline käivitama käsku.&lt;br /&gt;
*xargs loeb argumente standard sisendist&lt;br /&gt;
*xargs standard sisendi argumendid on piiritletud tühikutega või reavahetustega&lt;br /&gt;
*peale standard sisendi lugemist käivitatakse soovitud käsk üks või mitu korda standard sisendist saadud argumentidega.&lt;br /&gt;
&lt;br /&gt;
Näide, kus käsu käivitamine ebaõnnestub liigsete argumentide hulga tõttu:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ mv * /mingi/teine/kataloog/&lt;br /&gt;
bash: /bin/mv: Argument list too long&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Süntaks==&lt;br /&gt;
&#039;&#039;&amp;lt;argumendid&amp;gt;&#039;&#039; | &#039;&#039;&#039;xargs&#039;&#039;&#039; &#039;&#039;&amp;lt;võtmed&amp;gt; &amp;lt;käsk &amp;lt;võtmed&amp;gt;&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Näited==&lt;br /&gt;
===Argumentide väljastamine kolme kaupa===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3 echo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
või&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;echo&#039;&#039;&#039; on &#039;&#039;&#039;xargs&#039;&#039;&#039; vaikimisi käsk, seega ei ole tarvis määrata käsku.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-n 3&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust kuvatakse kolme kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
1 2 3&lt;br /&gt;
4 5 6&lt;br /&gt;
7 8&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendiga failide kustutamine avatud kataloogis, kus faili nimedes on tühikud või reavahetused===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find . -name *.log | xargs rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;&#039;-name *.log&#039;&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendiga failide kustutamine avatud kataloogis, kus faili nimedes on tühikud või reavahetused===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find . -name *.log -print0 | xargs -0 rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;&#039;-name *.log&#039;&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;-print0&#039;&#039;&#039; - leitud argumendid eraldatakse &#039;&#039;null karakteriga&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-0&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust eraldaja ei ole tühik ega reavahetus vaid &#039;&#039;null karakter&#039;&#039;. Vajalik selleks, kui faili nimed sisaldavad tühikuid või reavahetusi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5-6tk, Kuidas kustutada sadatuhat faili?&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
(probleem pole nii õudne, kuid eksisteerib)&lt;br /&gt;
==Allikad/Allikad==&lt;br /&gt;
&lt;br /&gt;
*http://en.wikipedia.org/wiki/Xargs&lt;br /&gt;
*http://www.gnu.org/software/coreutils/faq/coreutils-faq.html#Argument-list-too-long&lt;br /&gt;
*http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/&lt;br /&gt;
*http://www.linuxtutorialblog.com/post/tutorial-the-best-tips-tricks-for-bash&lt;br /&gt;
*http://www.softpanorama.org/Tools/xargs.shtml&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Marko Valing, AK31, 2010/2011&lt;br /&gt;
&lt;br /&gt;
[[Category:IT_infrastruktuuri_teenused]]&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34253</id>
		<title>Xargs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34253"/>
		<updated>2011-06-21T21:03:11Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: /* Argumentide väljastamine kolme kaupa */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Artikkel on pooleli!=&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
xargs käsku kasutatakse juhtudeks, kus on vaja jaotada mingi käsu tegevused väiksemateks gruppideks. xargs sai loodud probleemi tõttu, kus käsul on liiga palju argumente ning kernel (kuni versioonini 2.6.23) ei ole võimeline käivitama käsku.&lt;br /&gt;
*xargs loeb argumente standard sisendist&lt;br /&gt;
*xargs standard sisendi argumendid on piiritletud tühikutega või reavahetustega&lt;br /&gt;
*peale standard sisendi lugemist käivitatakse soovitud käsk üks või mitu korda standard sisendist saadud argumentidega.&lt;br /&gt;
&lt;br /&gt;
Näide, kus käsu käivitamine ebaõnnestub liigsete argumentide hulga tõttu:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ mv * /mingi/teine/kataloog/&lt;br /&gt;
bash: /bin/mv: Argument list too long&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Süntaks==&lt;br /&gt;
&#039;&#039;&amp;lt;argumendid&amp;gt;&#039;&#039; | &#039;&#039;&#039;xargs&#039;&#039;&#039; &#039;&#039;&amp;lt;võtmed&amp;gt; &amp;lt;käsk &amp;lt;võtmed&amp;gt;&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Näited==&lt;br /&gt;
===Argumentide väljastamine kolme kaupa===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3 echo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
või&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;echo&#039;&#039;&#039; on &#039;&#039;&#039;xargs&#039;&#039;&#039; vaikimisi käsk, seega ei ole tarvis määrata käsku.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-n 3&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust kuvatakse kolme kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
1 2 3&lt;br /&gt;
4 5 6&lt;br /&gt;
7 8&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendiga failide kustutamine avatud kataloogis===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find . -name *.log -print0 | xargs -0 rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;&#039;-name *.log&#039;&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;-print0&#039;&#039;&#039; - leitud argumendid eraldatakse &#039;&#039;null karakteriga&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-0&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust eraldaja ei ole tühik ega reavahetus vaid &#039;&#039;null karakter&#039;&#039;. Vajalik selleks, kui faili nimed sisaldavad tühikuid või reavahetusi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5-6tk, Kuidas kustutada sadatuhat faili?&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
(probleem pole nii õudne, kuid eksisteerib)&lt;br /&gt;
==Allikad/Allikad==&lt;br /&gt;
&lt;br /&gt;
*http://en.wikipedia.org/wiki/Xargs&lt;br /&gt;
*http://www.gnu.org/software/coreutils/faq/coreutils-faq.html#Argument-list-too-long&lt;br /&gt;
*http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/&lt;br /&gt;
*http://www.linuxtutorialblog.com/post/tutorial-the-best-tips-tricks-for-bash&lt;br /&gt;
*http://www.softpanorama.org/Tools/xargs.shtml&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Marko Valing, AK31, 2010/2011&lt;br /&gt;
&lt;br /&gt;
[[Category:IT_infrastruktuuri_teenused]]&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34252</id>
		<title>Xargs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34252"/>
		<updated>2011-06-21T20:58:29Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: /* Määratud laiendige failide kustutamine avatud kataloogis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Artikkel on pooleli!=&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
xargs käsku kasutatakse juhtudeks, kus on vaja jaotada mingi käsu tegevused väiksemateks gruppideks. xargs sai loodud probleemi tõttu, kus käsul on liiga palju argumente ning kernel (kuni versioonini 2.6.23) ei ole võimeline käivitama käsku.&lt;br /&gt;
*xargs loeb argumente standard sisendist&lt;br /&gt;
*xargs standard sisendi argumendid on piiritletud tühikutega või reavahetustega&lt;br /&gt;
*peale standard sisendi lugemist käivitatakse soovitud käsk üks või mitu korda standard sisendist saadud argumentidega.&lt;br /&gt;
&lt;br /&gt;
Näide, kus käsu käivitamine ebaõnnestub liigsete argumentide hulga tõttu:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ mv * /mingi/teine/kataloog/&lt;br /&gt;
bash: /bin/mv: Argument list too long&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Süntaks==&lt;br /&gt;
&#039;&#039;&amp;lt;argumendid&amp;gt;&#039;&#039; | &#039;&#039;&#039;xargs&#039;&#039;&#039; &#039;&#039;&amp;lt;võtmed&amp;gt; &amp;lt;käsk &amp;lt;võtmed&amp;gt;&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Näited==&lt;br /&gt;
===Argumentide väljastamine kolme kaupa===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;-n 3&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust kuvatakse kolme kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
1 2 3&lt;br /&gt;
4 5 6&lt;br /&gt;
7 8&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendiga failide kustutamine avatud kataloogis===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find . -name *.log -print0 | xargs -0 rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;&#039;-name *.log&#039;&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;-print0&#039;&#039;&#039; - leitud argumendid eraldatakse &#039;&#039;null karakteriga&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-0&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust eraldaja ei ole tühik ega reavahetus vaid &#039;&#039;null karakter&#039;&#039;. Vajalik selleks, kui faili nimed sisaldavad tühikuid või reavahetusi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5-6tk, Kuidas kustutada sadatuhat faili?&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
(probleem pole nii õudne, kuid eksisteerib)&lt;br /&gt;
==Allikad/Allikad==&lt;br /&gt;
&lt;br /&gt;
*http://en.wikipedia.org/wiki/Xargs&lt;br /&gt;
*http://www.gnu.org/software/coreutils/faq/coreutils-faq.html#Argument-list-too-long&lt;br /&gt;
*http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/&lt;br /&gt;
*http://www.linuxtutorialblog.com/post/tutorial-the-best-tips-tricks-for-bash&lt;br /&gt;
*http://www.softpanorama.org/Tools/xargs.shtml&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Marko Valing, AK31, 2010/2011&lt;br /&gt;
&lt;br /&gt;
[[Category:IT_infrastruktuuri_teenused]]&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34251</id>
		<title>Xargs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34251"/>
		<updated>2011-06-21T20:52:21Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: /* Sissejuhatus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Artikkel on pooleli!=&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
xargs käsku kasutatakse juhtudeks, kus on vaja jaotada mingi käsu tegevused väiksemateks gruppideks. xargs sai loodud probleemi tõttu, kus käsul on liiga palju argumente ning kernel (kuni versioonini 2.6.23) ei ole võimeline käivitama käsku.&lt;br /&gt;
*xargs loeb argumente standard sisendist&lt;br /&gt;
*xargs standard sisendi argumendid on piiritletud tühikutega või reavahetustega&lt;br /&gt;
*peale standard sisendi lugemist käivitatakse soovitud käsk üks või mitu korda standard sisendist saadud argumentidega.&lt;br /&gt;
&lt;br /&gt;
Näide, kus käsu käivitamine ebaõnnestub liigsete argumentide hulga tõttu:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ mv * /mingi/teine/kataloog/&lt;br /&gt;
bash: /bin/mv: Argument list too long&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Süntaks==&lt;br /&gt;
&#039;&#039;&amp;lt;argumendid&amp;gt;&#039;&#039; | &#039;&#039;&#039;xargs&#039;&#039;&#039; &#039;&#039;&amp;lt;võtmed&amp;gt; &amp;lt;käsk &amp;lt;võtmed&amp;gt;&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Näited==&lt;br /&gt;
===Argumentide väljastamine kolme kaupa===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;-n 3&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust kuvatakse kolme kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
1 2 3&lt;br /&gt;
4 5 6&lt;br /&gt;
7 8&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendige failide kustutamine avatud kataloogis===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find . -name *.log -print0 | xargs -0 rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;&#039;-name *.log&#039;&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;-print0&#039;&#039;&#039; - leitud argumendid eraldatakse &#039;&#039;null karakteriga&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-0&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust eraldaja ei ole tühik ega reavahetus vaid &#039;&#039;null karakter&#039;&#039;. Vajalik selleks, kui faili nimed sisaldavad tühikuid või reavahetusi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5-6tk, Kuidas kustutada sadatuhat faili?&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
(probleem pole nii õudne, kuid eksisteerib)&lt;br /&gt;
==Allikad/Allikad==&lt;br /&gt;
&lt;br /&gt;
*http://en.wikipedia.org/wiki/Xargs&lt;br /&gt;
*http://www.gnu.org/software/coreutils/faq/coreutils-faq.html#Argument-list-too-long&lt;br /&gt;
*http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/&lt;br /&gt;
*http://www.linuxtutorialblog.com/post/tutorial-the-best-tips-tricks-for-bash&lt;br /&gt;
*http://www.softpanorama.org/Tools/xargs.shtml&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Marko Valing, AK31, 2010/2011&lt;br /&gt;
&lt;br /&gt;
[[Category:IT_infrastruktuuri_teenused]]&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34250</id>
		<title>Xargs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34250"/>
		<updated>2011-06-21T20:51:56Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: /* Näited */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Artikkel on pooleli!=&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
xargs käsku kasutatakse juhtudeks, kus on vaja jaotada mingi käsu tegevused väiksemateks gruppideks. xargs sai loodud probleemi tõttu, kus käsul on liiga palju argumente ning kernel (kuni versioonini 2.6.23) ei ole võimeline käivitama käsku.&lt;br /&gt;
*xargs loeb argumente standard sisendist&lt;br /&gt;
*xargs standard sisendi argumendid on piiritletud tühikutega või reavahetustega&lt;br /&gt;
*peale standard sisendi lugemist käivitatakse soovitud käsk üks või mitu korda standard sisendist saadud argumentidega.&lt;br /&gt;
&lt;br /&gt;
Näide, kus käsu käivitamine ebaõnnestub liigsete argumentide hulga tõttu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv * /mingi/teine/kataloog/&lt;br /&gt;
bash: /bin/mv: Argument list too long&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Süntaks==&lt;br /&gt;
&#039;&#039;&amp;lt;argumendid&amp;gt;&#039;&#039; | &#039;&#039;&#039;xargs&#039;&#039;&#039; &#039;&#039;&amp;lt;võtmed&amp;gt; &amp;lt;käsk &amp;lt;võtmed&amp;gt;&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Näited==&lt;br /&gt;
===Argumentide väljastamine kolme kaupa===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;-n 3&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust kuvatakse kolme kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
1 2 3&lt;br /&gt;
4 5 6&lt;br /&gt;
7 8&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendige failide kustutamine avatud kataloogis===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find . -name *.log -print0 | xargs -0 rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;.&#039;&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;&#039;-name *.log&#039;&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;-print0&#039;&#039;&#039; - leitud argumendid eraldatakse &#039;&#039;null karakteriga&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;&#039;-0&#039;&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust eraldaja ei ole tühik ega reavahetus vaid &#039;&#039;null karakter&#039;&#039;. Vajalik selleks, kui faili nimed sisaldavad tühikuid või reavahetusi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5-6tk, Kuidas kustutada sadatuhat faili?&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
(probleem pole nii õudne, kuid eksisteerib)&lt;br /&gt;
==Allikad/Allikad==&lt;br /&gt;
&lt;br /&gt;
*http://en.wikipedia.org/wiki/Xargs&lt;br /&gt;
*http://www.gnu.org/software/coreutils/faq/coreutils-faq.html#Argument-list-too-long&lt;br /&gt;
*http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/&lt;br /&gt;
*http://www.linuxtutorialblog.com/post/tutorial-the-best-tips-tricks-for-bash&lt;br /&gt;
*http://www.softpanorama.org/Tools/xargs.shtml&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Marko Valing, AK31, 2010/2011&lt;br /&gt;
&lt;br /&gt;
[[Category:IT_infrastruktuuri_teenused]]&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34249</id>
		<title>Xargs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34249"/>
		<updated>2011-06-21T20:50:42Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: /* Määratud laiendige failide kustutamine avatud kataloogis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Artikkel on pooleli!=&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
xargs käsku kasutatakse juhtudeks, kus on vaja jaotada mingi käsu tegevused väiksemateks gruppideks. xargs sai loodud probleemi tõttu, kus käsul on liiga palju argumente ning kernel (kuni versioonini 2.6.23) ei ole võimeline käivitama käsku.&lt;br /&gt;
*xargs loeb argumente standard sisendist&lt;br /&gt;
*xargs standard sisendi argumendid on piiritletud tühikutega või reavahetustega&lt;br /&gt;
*peale standard sisendi lugemist käivitatakse soovitud käsk üks või mitu korda standard sisendist saadud argumentidega.&lt;br /&gt;
&lt;br /&gt;
Näide, kus käsu käivitamine ebaõnnestub liigsete argumentide hulga tõttu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv * /mingi/teine/kataloog/&lt;br /&gt;
bash: /bin/mv: Argument list too long&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Süntaks==&lt;br /&gt;
&#039;&#039;&amp;lt;argumendid&amp;gt;&#039;&#039; | &#039;&#039;&#039;xargs&#039;&#039;&#039; &#039;&#039;&amp;lt;võtmed&amp;gt; &amp;lt;käsk &amp;lt;võtmed&amp;gt;&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Näited==&lt;br /&gt;
===Argumentide väljastamine kolme kaupa===&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | &#039;&#039;&#039;xargs&#039;&#039;&#039; -n 3&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;-n 3&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust kuvatakse kolme kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
1 2 3&lt;br /&gt;
4 5 6&lt;br /&gt;
7 8&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendige failide kustutamine avatud kataloogis===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find . -name *.log -print0 | xargs -0 rm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;.&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;-name *.log&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
*&#039;&#039;-print0&#039;&#039; - leitud argumendid eraldatakse &#039;&#039;null karakteriga&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;-0&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust eraldaja ei ole tühik ega reavahetus vaid &#039;&#039;null karakter&#039;&#039;. Vajalik selleks, kui faili nimed sisaldavad tühikuid või reavahetusi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5-6tk, Kuidas kustutada sadatuhat faili?&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
(probleem pole nii õudne, kuid eksisteerib)&lt;br /&gt;
==Allikad/Allikad==&lt;br /&gt;
&lt;br /&gt;
*http://en.wikipedia.org/wiki/Xargs&lt;br /&gt;
*http://www.gnu.org/software/coreutils/faq/coreutils-faq.html#Argument-list-too-long&lt;br /&gt;
*http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/&lt;br /&gt;
*http://www.linuxtutorialblog.com/post/tutorial-the-best-tips-tricks-for-bash&lt;br /&gt;
*http://www.softpanorama.org/Tools/xargs.shtml&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Marko Valing, AK31, 2010/2011&lt;br /&gt;
&lt;br /&gt;
[[Category:IT_infrastruktuuri_teenused]]&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34248</id>
		<title>Xargs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34248"/>
		<updated>2011-06-21T20:49:53Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: /* Argumentide väljastamine kolme kaupa */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Artikkel on pooleli!=&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
xargs käsku kasutatakse juhtudeks, kus on vaja jaotada mingi käsu tegevused väiksemateks gruppideks. xargs sai loodud probleemi tõttu, kus käsul on liiga palju argumente ning kernel (kuni versioonini 2.6.23) ei ole võimeline käivitama käsku.&lt;br /&gt;
*xargs loeb argumente standard sisendist&lt;br /&gt;
*xargs standard sisendi argumendid on piiritletud tühikutega või reavahetustega&lt;br /&gt;
*peale standard sisendi lugemist käivitatakse soovitud käsk üks või mitu korda standard sisendist saadud argumentidega.&lt;br /&gt;
&lt;br /&gt;
Näide, kus käsu käivitamine ebaõnnestub liigsete argumentide hulga tõttu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv * /mingi/teine/kataloog/&lt;br /&gt;
bash: /bin/mv: Argument list too long&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Süntaks==&lt;br /&gt;
&#039;&#039;&amp;lt;argumendid&amp;gt;&#039;&#039; | &#039;&#039;&#039;xargs&#039;&#039;&#039; &#039;&#039;&amp;lt;võtmed&amp;gt; &amp;lt;käsk &amp;lt;võtmed&amp;gt;&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Näited==&lt;br /&gt;
===Argumentide väljastamine kolme kaupa===&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | &#039;&#039;&#039;xargs&#039;&#039;&#039; -n 3&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;-n 3&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust kuvatakse kolme kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
1 2 3&lt;br /&gt;
4 5 6&lt;br /&gt;
7 8&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendige failide kustutamine avatud kataloogis===&lt;br /&gt;
$ &#039;&#039;&#039;find&#039;&#039;&#039; . -name *.log -print0 | &#039;&#039;&#039;xargs&#039;&#039;&#039; -0 rm&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;.&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;-name *.log&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
*&#039;&#039;-print0&#039;&#039; - leitud argumendid eraldatakse &#039;&#039;null karakteriga&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;-0&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust eraldaja ei ole tühik ega reavahetus vaid &#039;&#039;null karakter&#039;&#039;. Vajalik selleks, kui faili nimed sisaldavad tühikuid või reavahetusi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5-6tk, Kuidas kustutada sadatuhat faili?&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
(probleem pole nii õudne, kuid eksisteerib)&lt;br /&gt;
==Allikad/Allikad==&lt;br /&gt;
&lt;br /&gt;
*http://en.wikipedia.org/wiki/Xargs&lt;br /&gt;
*http://www.gnu.org/software/coreutils/faq/coreutils-faq.html#Argument-list-too-long&lt;br /&gt;
*http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/&lt;br /&gt;
*http://www.linuxtutorialblog.com/post/tutorial-the-best-tips-tricks-for-bash&lt;br /&gt;
*http://www.softpanorama.org/Tools/xargs.shtml&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Marko Valing, AK31, 2010/2011&lt;br /&gt;
&lt;br /&gt;
[[Category:IT_infrastruktuuri_teenused]]&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34247</id>
		<title>Xargs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34247"/>
		<updated>2011-06-21T20:49:26Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: /* Määratud laiendige failide kustutamine avatud kataloogis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Artikkel on pooleli!=&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
xargs käsku kasutatakse juhtudeks, kus on vaja jaotada mingi käsu tegevused väiksemateks gruppideks. xargs sai loodud probleemi tõttu, kus käsul on liiga palju argumente ning kernel (kuni versioonini 2.6.23) ei ole võimeline käivitama käsku.&lt;br /&gt;
*xargs loeb argumente standard sisendist&lt;br /&gt;
*xargs standard sisendi argumendid on piiritletud tühikutega või reavahetustega&lt;br /&gt;
*peale standard sisendi lugemist käivitatakse soovitud käsk üks või mitu korda standard sisendist saadud argumentidega.&lt;br /&gt;
&lt;br /&gt;
Näide, kus käsu käivitamine ebaõnnestub liigsete argumentide hulga tõttu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv * /mingi/teine/kataloog/&lt;br /&gt;
bash: /bin/mv: Argument list too long&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Süntaks==&lt;br /&gt;
&#039;&#039;&amp;lt;argumendid&amp;gt;&#039;&#039; | &#039;&#039;&#039;xargs&#039;&#039;&#039; &#039;&#039;&amp;lt;võtmed&amp;gt; &amp;lt;käsk &amp;lt;võtmed&amp;gt;&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Näited==&lt;br /&gt;
===Argumentide väljastamine kolme kaupa===&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | &#039;&#039;&#039;xargs&#039;&#039;&#039; -n 3&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;-n 3&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust kuvatakse kolme kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
1 2 3&lt;br /&gt;
4 5 6&lt;br /&gt;
7 8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendige failide kustutamine avatud kataloogis===&lt;br /&gt;
$ &#039;&#039;&#039;find&#039;&#039;&#039; . -name *.log -print0 | &#039;&#039;&#039;xargs&#039;&#039;&#039; -0 rm&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;.&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;-name *.log&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
*&#039;&#039;-print0&#039;&#039; - leitud argumendid eraldatakse &#039;&#039;null karakteriga&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;-0&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust eraldaja ei ole tühik ega reavahetus vaid &#039;&#039;null karakter&#039;&#039;. Vajalik selleks, kui faili nimed sisaldavad tühikuid või reavahetusi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5-6tk, Kuidas kustutada sadatuhat faili?&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
(probleem pole nii õudne, kuid eksisteerib)&lt;br /&gt;
==Allikad/Allikad==&lt;br /&gt;
&lt;br /&gt;
*http://en.wikipedia.org/wiki/Xargs&lt;br /&gt;
*http://www.gnu.org/software/coreutils/faq/coreutils-faq.html#Argument-list-too-long&lt;br /&gt;
*http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/&lt;br /&gt;
*http://www.linuxtutorialblog.com/post/tutorial-the-best-tips-tricks-for-bash&lt;br /&gt;
*http://www.softpanorama.org/Tools/xargs.shtml&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Marko Valing, AK31, 2010/2011&lt;br /&gt;
&lt;br /&gt;
[[Category:IT_infrastruktuuri_teenused]]&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34246</id>
		<title>Xargs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34246"/>
		<updated>2011-06-21T20:48:38Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: /* Süntaks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Artikkel on pooleli!=&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
xargs käsku kasutatakse juhtudeks, kus on vaja jaotada mingi käsu tegevused väiksemateks gruppideks. xargs sai loodud probleemi tõttu, kus käsul on liiga palju argumente ning kernel (kuni versioonini 2.6.23) ei ole võimeline käivitama käsku.&lt;br /&gt;
*xargs loeb argumente standard sisendist&lt;br /&gt;
*xargs standard sisendi argumendid on piiritletud tühikutega või reavahetustega&lt;br /&gt;
*peale standard sisendi lugemist käivitatakse soovitud käsk üks või mitu korda standard sisendist saadud argumentidega.&lt;br /&gt;
&lt;br /&gt;
Näide, kus käsu käivitamine ebaõnnestub liigsete argumentide hulga tõttu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv * /mingi/teine/kataloog/&lt;br /&gt;
bash: /bin/mv: Argument list too long&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Süntaks==&lt;br /&gt;
&#039;&#039;&amp;lt;argumendid&amp;gt;&#039;&#039; | &#039;&#039;&#039;xargs&#039;&#039;&#039; &#039;&#039;&amp;lt;võtmed&amp;gt; &amp;lt;käsk &amp;lt;võtmed&amp;gt;&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Näited==&lt;br /&gt;
===Argumentide väljastamine kolme kaupa===&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | &#039;&#039;&#039;xargs&#039;&#039;&#039; -n 3&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;-n 3&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust kuvatakse kolme kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
1 2 3&lt;br /&gt;
4 5 6&lt;br /&gt;
7 8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendige failide kustutamine avatud kataloogis===&lt;br /&gt;
$ find . -name *.log -print0 | xargs -0 rm&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;.&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;-name *.log&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
*&#039;&#039;-print0&#039;&#039; - leitud argumendid eraldatakse &#039;&#039;null karakteriga&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;-0&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust eraldaja ei ole tühik ega reavahetus vaid &#039;&#039;null karakter&#039;&#039;. Vajalik selleks, kui faili nimed sisaldavad tühikuid või reavahetusi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5-6tk, Kuidas kustutada sadatuhat faili?&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
(probleem pole nii õudne, kuid eksisteerib)&lt;br /&gt;
==Allikad/Allikad==&lt;br /&gt;
&lt;br /&gt;
*http://en.wikipedia.org/wiki/Xargs&lt;br /&gt;
*http://www.gnu.org/software/coreutils/faq/coreutils-faq.html#Argument-list-too-long&lt;br /&gt;
*http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/&lt;br /&gt;
*http://www.linuxtutorialblog.com/post/tutorial-the-best-tips-tricks-for-bash&lt;br /&gt;
*http://www.softpanorama.org/Tools/xargs.shtml&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Marko Valing, AK31, 2010/2011&lt;br /&gt;
&lt;br /&gt;
[[Category:IT_infrastruktuuri_teenused]]&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34245</id>
		<title>Xargs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34245"/>
		<updated>2011-06-21T20:48:07Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: /* Süntaks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Artikkel on pooleli!=&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
xargs käsku kasutatakse juhtudeks, kus on vaja jaotada mingi käsu tegevused väiksemateks gruppideks. xargs sai loodud probleemi tõttu, kus käsul on liiga palju argumente ning kernel (kuni versioonini 2.6.23) ei ole võimeline käivitama käsku.&lt;br /&gt;
*xargs loeb argumente standard sisendist&lt;br /&gt;
*xargs standard sisendi argumendid on piiritletud tühikutega või reavahetustega&lt;br /&gt;
*peale standard sisendi lugemist käivitatakse soovitud käsk üks või mitu korda standard sisendist saadud argumentidega.&lt;br /&gt;
&lt;br /&gt;
Näide, kus käsu käivitamine ebaõnnestub liigsete argumentide hulga tõttu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv * /mingi/teine/kataloog/&lt;br /&gt;
bash: /bin/mv: Argument list too long&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Süntaks==&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;amp; &#039;&#039;&amp;lt;argumendid&amp;gt;&#039;&#039; | &#039;&#039;&#039;xargs&#039;&#039;&#039; &#039;&#039;&amp;lt;võtmed&amp;gt; &amp;lt;käsk &amp;lt;võtmed&amp;gt;&amp;gt;&#039;&#039;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Näited==&lt;br /&gt;
===Argumentide väljastamine kolme kaupa===&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | &#039;&#039;&#039;xargs&#039;&#039;&#039; -n 3&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;-n 3&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust kuvatakse kolme kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
1 2 3&lt;br /&gt;
4 5 6&lt;br /&gt;
7 8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendige failide kustutamine avatud kataloogis===&lt;br /&gt;
$ find . -name *.log -print0 | xargs -0 rm&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;.&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;-name *.log&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
*&#039;&#039;-print0&#039;&#039; - leitud argumendid eraldatakse &#039;&#039;null karakteriga&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;-0&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust eraldaja ei ole tühik ega reavahetus vaid &#039;&#039;null karakter&#039;&#039;. Vajalik selleks, kui faili nimed sisaldavad tühikuid või reavahetusi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5-6tk, Kuidas kustutada sadatuhat faili?&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
(probleem pole nii õudne, kuid eksisteerib)&lt;br /&gt;
==Allikad/Allikad==&lt;br /&gt;
&lt;br /&gt;
*http://en.wikipedia.org/wiki/Xargs&lt;br /&gt;
*http://www.gnu.org/software/coreutils/faq/coreutils-faq.html#Argument-list-too-long&lt;br /&gt;
*http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/&lt;br /&gt;
*http://www.linuxtutorialblog.com/post/tutorial-the-best-tips-tricks-for-bash&lt;br /&gt;
*http://www.softpanorama.org/Tools/xargs.shtml&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Marko Valing, AK31, 2010/2011&lt;br /&gt;
&lt;br /&gt;
[[Category:IT_infrastruktuuri_teenused]]&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34244</id>
		<title>Xargs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34244"/>
		<updated>2011-06-21T20:47:35Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: /* Määratud laiendige failide kustutamine avatud kataloogis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Artikkel on pooleli!=&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
xargs käsku kasutatakse juhtudeks, kus on vaja jaotada mingi käsu tegevused väiksemateks gruppideks. xargs sai loodud probleemi tõttu, kus käsul on liiga palju argumente ning kernel (kuni versioonini 2.6.23) ei ole võimeline käivitama käsku.&lt;br /&gt;
*xargs loeb argumente standard sisendist&lt;br /&gt;
*xargs standard sisendi argumendid on piiritletud tühikutega või reavahetustega&lt;br /&gt;
*peale standard sisendi lugemist käivitatakse soovitud käsk üks või mitu korda standard sisendist saadud argumentidega.&lt;br /&gt;
&lt;br /&gt;
Näide, kus käsu käivitamine ebaõnnestub liigsete argumentide hulga tõttu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv * /mingi/teine/kataloog/&lt;br /&gt;
bash: /bin/mv: Argument list too long&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Süntaks==&lt;br /&gt;
&#039;&#039;&amp;lt;argumendid&amp;gt;&#039;&#039; | &#039;&#039;&#039;xargs&#039;&#039;&#039; &#039;&#039;&amp;lt;võtmed&amp;gt; &amp;lt;käsk &amp;lt;võtmed&amp;gt;&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Näited==&lt;br /&gt;
===Argumentide väljastamine kolme kaupa===&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | &#039;&#039;&#039;xargs&#039;&#039;&#039; -n 3&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;-n 3&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust kuvatakse kolme kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
1 2 3&lt;br /&gt;
4 5 6&lt;br /&gt;
7 8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendige failide kustutamine avatud kataloogis===&lt;br /&gt;
$ find . -name *.log -print0 | xargs -0 rm&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;find&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;.&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
*&#039;&#039;-name *.log&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
*&#039;&#039;-print0&#039;&#039; - leitud argumendid eraldatakse &#039;&#039;null karakteriga&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
*&#039;&#039;-0&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust eraldaja ei ole tühik ega reavahetus vaid &#039;&#039;null karakter&#039;&#039;. Vajalik selleks, kui faili nimed sisaldavad tühikuid või reavahetusi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5-6tk, Kuidas kustutada sadatuhat faili?&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
(probleem pole nii õudne, kuid eksisteerib)&lt;br /&gt;
==Allikad/Allikad==&lt;br /&gt;
&lt;br /&gt;
*http://en.wikipedia.org/wiki/Xargs&lt;br /&gt;
*http://www.gnu.org/software/coreutils/faq/coreutils-faq.html#Argument-list-too-long&lt;br /&gt;
*http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/&lt;br /&gt;
*http://www.linuxtutorialblog.com/post/tutorial-the-best-tips-tricks-for-bash&lt;br /&gt;
*http://www.softpanorama.org/Tools/xargs.shtml&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Marko Valing, AK31, 2010/2011&lt;br /&gt;
&lt;br /&gt;
[[Category:IT_infrastruktuuri_teenused]]&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34243</id>
		<title>Xargs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34243"/>
		<updated>2011-06-21T20:47:04Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: /* Argumentide echo kolme kaupa */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Artikkel on pooleli!=&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
xargs käsku kasutatakse juhtudeks, kus on vaja jaotada mingi käsu tegevused väiksemateks gruppideks. xargs sai loodud probleemi tõttu, kus käsul on liiga palju argumente ning kernel (kuni versioonini 2.6.23) ei ole võimeline käivitama käsku.&lt;br /&gt;
*xargs loeb argumente standard sisendist&lt;br /&gt;
*xargs standard sisendi argumendid on piiritletud tühikutega või reavahetustega&lt;br /&gt;
*peale standard sisendi lugemist käivitatakse soovitud käsk üks või mitu korda standard sisendist saadud argumentidega.&lt;br /&gt;
&lt;br /&gt;
Näide, kus käsu käivitamine ebaõnnestub liigsete argumentide hulga tõttu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv * /mingi/teine/kataloog/&lt;br /&gt;
bash: /bin/mv: Argument list too long&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Süntaks==&lt;br /&gt;
&#039;&#039;&amp;lt;argumendid&amp;gt;&#039;&#039; | &#039;&#039;&#039;xargs&#039;&#039;&#039; &#039;&#039;&amp;lt;võtmed&amp;gt; &amp;lt;käsk &amp;lt;võtmed&amp;gt;&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Näited==&lt;br /&gt;
===Argumentide väljastamine kolme kaupa===&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | &#039;&#039;&#039;xargs&#039;&#039;&#039; -n 3&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;-n 3&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust kuvatakse kolme kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
1 2 3&lt;br /&gt;
4 5 6&lt;br /&gt;
7 8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Määratud laiendige failide kustutamine avatud kataloogis===&lt;br /&gt;
$ find . -name *.log -print0 | xargs -0 rm&lt;br /&gt;
&lt;br /&gt;
*find võtmete selgitus:&lt;br /&gt;
&#039;&#039;.&#039;&#039; - otsitakse faile avatud kataloogis&lt;br /&gt;
&#039;&#039;-name *.log&#039;&#039; - failid on mistahes nimega kuid laiendiga &#039;&#039;.log&#039;&#039;&lt;br /&gt;
&#039;&#039;-print0&#039;&#039; - leitud argumendid eraldatakse &#039;&#039;null karakteriga&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;xargs&#039;&#039;&#039; võtmete selgitus:&lt;br /&gt;
&#039;&#039;-0&#039;&#039; määrab, et käsu &#039;&#039;standard sisendi&#039;&#039; tulemust eraldaja ei ole tühik ega reavahetus vaid &#039;&#039;null karakter&#039;&#039;. Vajalik selleks, kui faili nimed sisaldavad tühikuid või reavahetusi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5-6tk, Kuidas kustutada sadatuhat faili?&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
(probleem pole nii õudne, kuid eksisteerib)&lt;br /&gt;
==Allikad/Allikad==&lt;br /&gt;
&lt;br /&gt;
*http://en.wikipedia.org/wiki/Xargs&lt;br /&gt;
*http://www.gnu.org/software/coreutils/faq/coreutils-faq.html#Argument-list-too-long&lt;br /&gt;
*http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/&lt;br /&gt;
*http://www.linuxtutorialblog.com/post/tutorial-the-best-tips-tricks-for-bash&lt;br /&gt;
*http://www.softpanorama.org/Tools/xargs.shtml&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Marko Valing, AK31, 2010/2011&lt;br /&gt;
&lt;br /&gt;
[[Category:IT_infrastruktuuri_teenused]]&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34242</id>
		<title>Xargs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34242"/>
		<updated>2011-06-21T20:34:37Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: /* Näited */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Artikkel on pooleli!=&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
xargs käsku kasutatakse juhtudeks, kus on vaja jaotada mingi käsu tegevused väiksemateks gruppideks. xargs sai loodud probleemi tõttu, kus käsul on liiga palju argumente ning kernel (kuni versioonini 2.6.23) ei ole võimeline käivitama käsku.&lt;br /&gt;
*xargs loeb argumente standard sisendist&lt;br /&gt;
*xargs standard sisendi argumendid on piiritletud tühikutega või reavahetustega&lt;br /&gt;
*peale standard sisendi lugemist käivitatakse soovitud käsk üks või mitu korda standard sisendist saadud argumentidega.&lt;br /&gt;
&lt;br /&gt;
Näide, kus käsu käivitamine ebaõnnestub liigsete argumentide hulga tõttu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv * /mingi/teine/kataloog/&lt;br /&gt;
bash: /bin/mv: Argument list too long&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Süntaks==&lt;br /&gt;
&#039;&#039;&amp;lt;argumendid&amp;gt;&#039;&#039; | &#039;&#039;&#039;xargs&#039;&#039;&#039; &#039;&#039;&amp;lt;võtmed&amp;gt; &amp;lt;käsk &amp;lt;võtmed&amp;gt;&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Näited==&lt;br /&gt;
===Argumentide &#039;&#039;echo&#039;&#039; kolme kaupa===&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | &#039;&#039;&#039;xargs&#039;&#039;&#039; -n 3&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-n 3&#039;&#039;&#039; määrab, et käsu echo tulemust kuvatakse kolme kaupa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo 1 2 3 4 5 6 7 8 | xargs -n 3&lt;br /&gt;
1 2 3&lt;br /&gt;
4 5 6&lt;br /&gt;
7 8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5-6tk, Kuidas kustutada sadatuhat faili?&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
(probleem pole nii õudne, kuid eksisteerib)&lt;br /&gt;
==Allikad/Allikad==&lt;br /&gt;
&lt;br /&gt;
*http://en.wikipedia.org/wiki/Xargs&lt;br /&gt;
*http://www.gnu.org/software/coreutils/faq/coreutils-faq.html#Argument-list-too-long&lt;br /&gt;
*http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/&lt;br /&gt;
*http://www.linuxtutorialblog.com/post/tutorial-the-best-tips-tricks-for-bash&lt;br /&gt;
*http://www.softpanorama.org/Tools/xargs.shtml&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Marko Valing, AK31, 2010/2011&lt;br /&gt;
&lt;br /&gt;
[[Category:IT_infrastruktuuri_teenused]]&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34241</id>
		<title>Xargs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34241"/>
		<updated>2011-06-21T20:15:38Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: /* Süntaks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Artikkel on pooleli!=&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
xargs käsku kasutatakse juhtudeks, kus on vaja jaotada mingi käsu tegevused väiksemateks gruppideks. xargs sai loodud probleemi tõttu, kus käsul on liiga palju argumente ning kernel (kuni versioonini 2.6.23) ei ole võimeline käivitama käsku.&lt;br /&gt;
*xargs loeb argumente standard sisendist&lt;br /&gt;
*xargs standard sisendi argumendid on piiritletud tühikutega või reavahetustega&lt;br /&gt;
*peale standard sisendi lugemist käivitatakse soovitud käsk üks või mitu korda standard sisendist saadud argumentidega.&lt;br /&gt;
&lt;br /&gt;
Näide, kus käsu käivitamine ebaõnnestub liigsete argumentide hulga tõttu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv * /mingi/teine/kataloog/&lt;br /&gt;
bash: /bin/mv: Argument list too long&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Süntaks==&lt;br /&gt;
&#039;&#039;&amp;lt;argumendid&amp;gt;&#039;&#039; | &#039;&#039;&#039;xargs&#039;&#039;&#039; &#039;&#039;&amp;lt;võtmed&amp;gt; &amp;lt;käsk &amp;lt;võtmed&amp;gt;&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Näited==&lt;br /&gt;
5-6tk, Kuidas kustutada sadatuhat faili?&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
(probleem pole nii õudne, kuid eksisteerib)&lt;br /&gt;
==Allikad/Allikad==&lt;br /&gt;
&lt;br /&gt;
*http://en.wikipedia.org/wiki/Xargs&lt;br /&gt;
*http://www.gnu.org/software/coreutils/faq/coreutils-faq.html#Argument-list-too-long&lt;br /&gt;
*http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/&lt;br /&gt;
*http://www.linuxtutorialblog.com/post/tutorial-the-best-tips-tricks-for-bash&lt;br /&gt;
*http://www.softpanorama.org/Tools/xargs.shtml&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Marko Valing, AK31, 2010/2011&lt;br /&gt;
&lt;br /&gt;
[[Category:IT_infrastruktuuri_teenused]]&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34240</id>
		<title>Xargs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34240"/>
		<updated>2011-06-21T20:10:51Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: /* Süntaks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Artikkel on pooleli!=&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
xargs käsku kasutatakse juhtudeks, kus on vaja jaotada mingi käsu tegevused väiksemateks gruppideks. xargs sai loodud probleemi tõttu, kus käsul on liiga palju argumente ning kernel (kuni versioonini 2.6.23) ei ole võimeline käivitama käsku.&lt;br /&gt;
*xargs loeb argumente standard sisendist&lt;br /&gt;
*xargs standard sisendi argumendid on piiritletud tühikutega või reavahetustega&lt;br /&gt;
*peale standard sisendi lugemist käivitatakse soovitud käsk üks või mitu korda standard sisendist saadud argumentidega.&lt;br /&gt;
&lt;br /&gt;
Näide, kus käsu käivitamine ebaõnnestub liigsete argumentide hulga tõttu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv * /mingi/teine/kataloog/&lt;br /&gt;
bash: /bin/mv: Argument list too long&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Süntaks==&lt;br /&gt;
&#039;&#039;&amp;lt;argumendid&amp;gt;&#039;&#039; | &#039;&#039;&#039;xargs&#039;&#039;&#039; &#039;&#039;&amp;lt;võtmed&amp;gt; &amp;lt;käsk&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Näited==&lt;br /&gt;
5-6tk, Kuidas kustutada sadatuhat faili?&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
(probleem pole nii õudne, kuid eksisteerib)&lt;br /&gt;
==Allikad/Allikad==&lt;br /&gt;
&lt;br /&gt;
*http://en.wikipedia.org/wiki/Xargs&lt;br /&gt;
*http://www.gnu.org/software/coreutils/faq/coreutils-faq.html#Argument-list-too-long&lt;br /&gt;
*http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/&lt;br /&gt;
*http://www.linuxtutorialblog.com/post/tutorial-the-best-tips-tricks-for-bash&lt;br /&gt;
*http://www.softpanorama.org/Tools/xargs.shtml&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Marko Valing, AK31, 2010/2011&lt;br /&gt;
&lt;br /&gt;
[[Category:IT_infrastruktuuri_teenused]]&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34239</id>
		<title>Xargs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34239"/>
		<updated>2011-06-21T20:05:29Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Artikkel on pooleli!=&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
xargs käsku kasutatakse juhtudeks, kus on vaja jaotada mingi käsu tegevused väiksemateks gruppideks. xargs sai loodud probleemi tõttu, kus käsul on liiga palju argumente ning kernel (kuni versioonini 2.6.23) ei ole võimeline käivitama käsku.&lt;br /&gt;
*xargs loeb argumente standard sisendist&lt;br /&gt;
*xargs standard sisendi argumendid on piiritletud tühikutega või reavahetustega&lt;br /&gt;
*peale standard sisendi lugemist käivitatakse soovitud käsk üks või mitu korda standard sisendist saadud argumentidega.&lt;br /&gt;
&lt;br /&gt;
Näide, kus käsu käivitamine ebaõnnestub liigsete argumentide hulga tõttu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv * /mingi/teine/kataloog/&lt;br /&gt;
bash: /bin/mv: Argument list too long&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Süntaks==&lt;br /&gt;
&lt;br /&gt;
==Näited==&lt;br /&gt;
5-6tk, Kuidas kustutada sadatuhat faili?&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
(probleem pole nii õudne, kuid eksisteerib)&lt;br /&gt;
==Allikad/Allikad==&lt;br /&gt;
&lt;br /&gt;
*http://en.wikipedia.org/wiki/Xargs&lt;br /&gt;
*http://www.gnu.org/software/coreutils/faq/coreutils-faq.html#Argument-list-too-long&lt;br /&gt;
*http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/&lt;br /&gt;
*http://www.linuxtutorialblog.com/post/tutorial-the-best-tips-tricks-for-bash&lt;br /&gt;
*http://www.softpanorama.org/Tools/xargs.shtml&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Marko Valing, AK31, 2010/2011&lt;br /&gt;
&lt;br /&gt;
[[Category:IT_infrastruktuuri_teenused]]&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34238</id>
		<title>Xargs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34238"/>
		<updated>2011-06-21T19:32:11Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Artikkel on pooleli!=&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
Miks vaja? Mis probleemi lahendab?&lt;br /&gt;
==Süntaks==&lt;br /&gt;
==Näited==&lt;br /&gt;
5-6tk, Kuidas kustutada sadatuhat faili?&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
(probleem pole nii õudne, kuid eksisteerib)&lt;br /&gt;
==Allikad/Allikad==&lt;br /&gt;
*http://en.wikipedia.org/wiki/Xargs&lt;br /&gt;
*http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/&lt;br /&gt;
*http://www.linuxtutorialblog.com/post/tutorial-the-best-tips-tricks-for-bash&lt;br /&gt;
*http://www.softpanorama.org/Tools/xargs.shtml&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Marko Valing, AK31, 2010/2011&lt;br /&gt;
&lt;br /&gt;
[[Category:IT_infrastruktuuri_teenused]]&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34159</id>
		<title>Xargs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=34159"/>
		<updated>2011-06-17T07:19:02Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: /* Allikad/Allikad */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Artikkel on pooleli!=&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
Miks vaja? Mis probleemi lahendab?&lt;br /&gt;
==Süntaks==&lt;br /&gt;
==Näited==&lt;br /&gt;
5-6tk, Kuidas kustutada sadatuhat faili?&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
(probleem pole nii õudne, kuid eksisteerib)&lt;br /&gt;
==Allikad/Allikad==&lt;br /&gt;
*http://en.wikipedia.org/wiki/Xargs&lt;br /&gt;
*http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/&lt;br /&gt;
*http://www.linuxtutorialblog.com/post/tutorial-the-best-tips-tricks-for-bash&lt;br /&gt;
*http://www.softpanorama.org/Tools/xargs.shtml&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
Marko Valing, AK31, 2010/2011&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=30425</id>
		<title>Xargs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=30425"/>
		<updated>2011-05-06T14:22:30Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Artikkel on pooleli!=&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
Miks vaja? Mis probleemi lahendab?&lt;br /&gt;
==Süntaks==&lt;br /&gt;
==Näited==&lt;br /&gt;
5-6tk, Kuidas kustutada sadatuhat faili?&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
(probleem pole nii õudne, kuid eksisteerib)&lt;br /&gt;
==Allikad/Allikad==&lt;br /&gt;
*http://en.wikipedia.org/wiki/Xargs&lt;br /&gt;
*http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/&lt;br /&gt;
*http://www.linuxplanet.com/linuxplanet/tutorials/6522/1&lt;br /&gt;
*http://www.linuxtutorialblog.com/post/tutorial-the-best-tips-tricks-for-bash&lt;br /&gt;
*http://www.softpanorama.org/Tools/xargs.shtml&lt;br /&gt;
==Autor==&lt;br /&gt;
Marko Valing, AK31, 2010/2011&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=30424</id>
		<title>Xargs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=30424"/>
		<updated>2011-05-06T14:21:45Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Artikkel on pooleli!=&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
Miks vaja? Mis probleemi lahendab?&lt;br /&gt;
==Süntaks==&lt;br /&gt;
==Näited==&lt;br /&gt;
5-6tk, Kuidas kustutada sadatuhat faili?&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
(probleem pole nii õudne, kuid eksisteerib)&lt;br /&gt;
==Allikad/Allikad==&lt;br /&gt;
http://en.wikipedia.org/wiki/Xargs&lt;br /&gt;
http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/&lt;br /&gt;
http://www.linuxplanet.com/linuxplanet/tutorials/6522/1&lt;br /&gt;
http://www.linuxtutorialblog.com/post/tutorial-the-best-tips-tricks-for-bash&lt;br /&gt;
http://www.softpanorama.org/Tools/xargs.shtml&lt;br /&gt;
==Autor==&lt;br /&gt;
Marko Valing, AK31, 2010/2011&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=30418</id>
		<title>Xargs</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Xargs&amp;diff=30418"/>
		<updated>2011-05-06T13:42:58Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: Created page with &amp;#039;==Autor== Marko Valing, AK31, 2010/2011&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
Marko Valing, AK31, 2010/2011&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Category:I375/I803/I853_IT_Infrastructure_services&amp;diff=30414</id>
		<title>Category:I375/I803/I853 IT Infrastructure services</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Category:I375/I803/I853_IT_Infrastructure_services&amp;diff=30414"/>
		<updated>2011-05-06T13:36:38Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: /* Labor 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Üldinfo=&lt;br /&gt;
Aine info: [https://itcollege.ois.ee/study-material/round?round_id=2230 IT infrastruktuuri teenused ÕIS leht]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~mernits/infrastruktuur/ Aine õppematerjalid]&lt;br /&gt;
&lt;br /&gt;
Üldine info: [http://enos.itcollege.ee/~mernits/infrastruktuur/aine_sisu_mindmap%202009.html MindMap (flash)]&lt;br /&gt;
&lt;br /&gt;
=Loengud=&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~mernits/infrastruktuur/loeng00%20-%20Sissejuhatav%20loeng.odp Loeng 00 - Sissejuhatav loeng - NB Tähtajad ja nõuded]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~mernits/infrastruktuur/loeng01%20-%20E-post.odp Loeng 01 E-post]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~mernits/infrastruktuur/loeng03%20-%20Failiserver.odp Loeng 03 Failiserver]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~mernits/infrastruktuur/loeng04%20-%20Veebiserver.odp Loeng 04 Veebiserver]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~mernits/infrastruktuur/loeng05%20-%20Dokumentatsioon.odp Loeng 05 Dokummentatsioon]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~mernits/infrastruktuur/loeng06%20-%20VPN.odp Loeng 06 VPN]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~mernits/infrastruktuur/loeng07%20-%20iptables.odp Loeng 07 Tulemüürid]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~mernits/infrastruktuur/loeng08%20-%20SAN%20-%20NAS%20-%20CAS.odp Loeng 08 SAN NAS CAS]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~mernits/infrastruktuur/loeng09%20-%20Virtualiseerimine.odp Loeng 09 Virtualiseerimine]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~mernits/infrastruktuur/loeng10%20-%20DHCP.odp Loeng 10 DHCP]&lt;br /&gt;
&lt;br /&gt;
Abimaterjal:&lt;br /&gt;
* [http://tools.ietf.org/html/rfc2131 RFC2131] &lt;br /&gt;
* [http://kuutorvaja.eenet.ee/wiki/Isc-dhcpd_server Kuutõrvaja DHCP materjal] &lt;br /&gt;
&lt;br /&gt;
Abimaterjal laboriks: &lt;br /&gt;
* Maskeraad [[Ufw]]&lt;br /&gt;
* DHCP serveri seadistamine [[DHCP]]&lt;br /&gt;
* [http://www.debian-administration.org/article/343/Configuring_Dynamic_DNS__DHCP_on_Debian_Stable Dünaamiline DNS kirjete uuendamine DHCP poolt]&lt;br /&gt;
* [http://debianclusters.org/index.php/Troubleshooting_DHCP DHCP probleemide lahendamine]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~mernits/infrastruktuur/loeng11%20-%20Monitooring.odp Loeng 11 Monitooring]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~mernits/infrastruktuur/loeng12%20-%20LDAP.odp Loeng 12 LDAP]&lt;br /&gt;
&lt;br /&gt;
=Laborid=&lt;br /&gt;
&lt;br /&gt;
Laboratoorsed tööd jagunevad kolme gruppi.&lt;br /&gt;
&lt;br /&gt;
==Labor 1==&lt;br /&gt;
Eemärgiks on omandada oskused levinumate infrastruktuuri teenuste seadistamiseks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Antud valikust tuleb teha kolm laborit:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[e-posti labor]]&lt;br /&gt;
&lt;br /&gt;
[[Failiserveri labor]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Tulemüüri labor]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~mernits/infrastruktuur/dns/DNS_BIND.html DNS labor] - Iga kasutaja konfigureerib endale domeeni (näiteks masin.ee) ja seadistab mitu A kirjet (ns.masin.ee) ja www.masin.ee ja mitu CNAME kirjet www, samba, sql ja sales )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Veebiserveri labor v.2]] - Konfigureerige veebiserver vastavalt DNS laboris kirjeldatud nimedele www.domeen.ee ja sales.domeen.ee ja lisage neile https tugi.&lt;br /&gt;
&lt;br /&gt;
==Labor 2==&lt;br /&gt;
&lt;br /&gt;
Laborit tehakse rühmatööna. Töö tulemusena loob grupp wiki (aine kategooria alla).&lt;br /&gt;
&lt;br /&gt;
Teema valib grupp ja kinnitab õppejõud.&lt;br /&gt;
&lt;br /&gt;
Näiteteemad:&lt;br /&gt;
&lt;br /&gt;
[[Stunnel]]&lt;br /&gt;
&lt;br /&gt;
[[WordPress Mu + LDAP autentimine]]&lt;br /&gt;
&lt;br /&gt;
[[Puppet]]&lt;br /&gt;
&lt;br /&gt;
[[pssh]]&lt;br /&gt;
&lt;br /&gt;
[[X2go]]&lt;br /&gt;
&lt;br /&gt;
[[xargs]]&lt;br /&gt;
&lt;br /&gt;
[[zsh]]&lt;br /&gt;
&lt;br /&gt;
[[OpenBSD tulemüür PF]]&lt;br /&gt;
&lt;br /&gt;
[[partimage]]&lt;br /&gt;
&lt;br /&gt;
[[BackTrack]] - suht referatiivne teema&lt;br /&gt;
 &lt;br /&gt;
[[metasploit]] - suht referatiivne teema&lt;br /&gt;
&lt;br /&gt;
[[Openfiler]] - suht referatiivne teema&lt;br /&gt;
&lt;br /&gt;
[[Ubuntu server kettajao suuruse muutmine]]  - probleem...pole graafilist gpartedit, millega kettajagu/failisüsteemi suuremaks/väiksemaks venitada&lt;br /&gt;
&lt;br /&gt;
[[Ubuntu automaatsed turvauuendused]] - vaata linki https://help.ubuntu.com/community/AutomaticSecurityUpdates&lt;br /&gt;
&lt;br /&gt;
[[Varnish]] - vaata &lt;br /&gt;
http://www.howtoforge.com/putting-varnish-in-front-of-apache-on-ubuntu-debian&lt;br /&gt;
&lt;br /&gt;
[[ufw]]&lt;br /&gt;
&lt;br /&gt;
[[upstart]]&lt;br /&gt;
&lt;br /&gt;
Vaata ka Operatsioonisüsteemide administreerimise teemasid.&lt;br /&gt;
&lt;br /&gt;
==Labor 3==&lt;br /&gt;
&lt;br /&gt;
Labor kolme käigus omandatakse oskus teenuseid varundada ja taastada.&lt;br /&gt;
&lt;br /&gt;
Tuleb kaitsta Labor 1 raames teostatud laboreid, teenuste taastamise aspektist.&lt;br /&gt;
&lt;br /&gt;
Õppejõud teeb labori katki (Näiteks rikub ära konfiguratsiooni, kirjutab ketta täis, kustutab logid jne..) ja õppur taastab teenuse ja leiab probleemi.&lt;br /&gt;
&lt;br /&gt;
=Kaugõppele=&lt;br /&gt;
Kaugõppijad saavad asendada labor 2 (valitud teenuse seadistamine) referaadiga õppejõuga kooskõlastatud teemal.&lt;br /&gt;
Referaat tuleb esitada wiki.itcollege.ee IT infrastruktuuri teenused kategoorias.&lt;br /&gt;
&lt;br /&gt;
=Juurteenuste kursus=&lt;br /&gt;
[http://enos.itcollege.ee/~mernits/skriptimine/bash/src/juurteenused.html Interneti juurteenused]&lt;br /&gt;
&lt;br /&gt;
==Põhitõed==&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Skriptimiskeeled_aine_aruanded_2010_s%C3%BCgis&amp;diff=22885</id>
		<title>Skriptimiskeeled aine aruanded 2010 sügis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Skriptimiskeeled_aine_aruanded_2010_s%C3%BCgis&amp;diff=22885"/>
		<updated>2011-01-28T08:56:37Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: /* Marko Valing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Skriptimiskeeled]]&lt;br /&gt;
=Siia tulevad kodus tehtud tööde lingid=&lt;br /&gt;
&lt;br /&gt;
==Esitaja nimi==&lt;br /&gt;
*[[Skript, mis teeb maailma paremaks - BASH]]&lt;br /&gt;
*[[Skript, mis teeb maailma paremaks - Python]]&lt;br /&gt;
*[[Skript, mis teeb maailma paremaks - PowerShell]]&lt;br /&gt;
*[[Arvustused sellele skriptile]]&lt;br /&gt;
==Vabad ideed==&lt;br /&gt;
*[[Skript mis otsib üles turvaaukudega tarkvara]]&lt;br /&gt;
&lt;br /&gt;
==Alvar Unuks AK41==&lt;br /&gt;
Suurima andmemahuga paketite leidmine&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
!#/bin/bash&lt;br /&gt;
sed -ne &#039;/^Package: \(.*\)/{s//\1/;h;};/^Installed-Size: \(.*\)/{s//\1/;G;s/\n/ /;p;}&#039; /var/lib/dpkg/status | sort -rn&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Reget Kalamees DK21==&lt;br /&gt;
[[Skript otsib vabade Wifi AP-de hulgast kõige kiirema ühenduse ja haagib end selle külge]]&lt;br /&gt;
&lt;br /&gt;
==Kaspar Prei==&lt;br /&gt;
[[Skript leiab dublikaat failid]]&lt;br /&gt;
&lt;br /&gt;
==Lembit Elmik AK21==&lt;br /&gt;
&lt;br /&gt;
* Bash - Skript, mis kontrollib võrguühenduse olemasolu ning selle puudusel diagnoosib häda.&lt;br /&gt;
[[V6rgudiagnoosiskript]]&lt;br /&gt;
&lt;br /&gt;
* Python - SSH vigaste logimiste järgi source IP hosts.deny faili ja lisatud IP&#039;d mailile (saadetud õppejõu mailile)&lt;br /&gt;
&lt;br /&gt;
* PowerShell - Arvuti andmete (mälu hulk, protsessori tüüp jne.) kuvamine&lt;br /&gt;
&lt;br /&gt;
==Marko Valing==&lt;br /&gt;
*[[XML päringute kontroll]] - BASH&lt;br /&gt;
*[[XML dokumentide parsija]] - Python&lt;br /&gt;
*[[Teenusemonitor]] - Powershell&lt;br /&gt;
&lt;br /&gt;
==Lauri Liibert AK21==&lt;br /&gt;
* BASH [[Skript, mis otsib üles failid mille poole ei ole ammu pöördutud ja arhiveerib]]&lt;br /&gt;
* [[Skript, mis otsib üles failid mille poole ei ole ammu pöördutud ja arhiveerib - Python]]&lt;br /&gt;
* [[Skript, mis küsib ACL-i objekte AD-st - Powershell]]&lt;br /&gt;
&lt;br /&gt;
==Siim Liivand AK41==&lt;br /&gt;
* bash: [[skript, mis teeb midagi vajalikku hunniku graafikafailidega]]&lt;br /&gt;
* python: -&lt;br /&gt;
* powershell: -&lt;br /&gt;
&lt;br /&gt;
==Sander Tuulik AK41==&lt;br /&gt;
[[Skript mis otsib kõik pildi,video,muusika,dokumendi failid ja jagab need kaustadesse - BASH]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Skript mis otsib kõik pildi,video,muusika,dokumendi failid ja jagab need kaustadesse - Python]]&lt;br /&gt;
&lt;br /&gt;
==Kristjan Karmo AK41==&lt;br /&gt;
* [[Skript, mis teeb varukoopia WordPressi instantsist - BASH]]&lt;br /&gt;
* [[Skript, mis teeb varukoopia WordPressi instantsist - Python]]&lt;br /&gt;
* [[Skript, mis arhiveerib etteantud laiendiga failid - PowerShell]]&lt;br /&gt;
&lt;br /&gt;
==Chris Sinihelm AK41==&lt;br /&gt;
[[Skript, mis tõstab kõik väikesed .txt failid ühte folderisse - BASH]] &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Skript, millega saab public folderitesse õiguseid lisada - PowerShell]] &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Skript, mis otsib üles duplikaatfailid - Python]]&lt;br /&gt;
&lt;br /&gt;
==Nadežda Furs A31==&lt;br /&gt;
&lt;br /&gt;
==Sigmar Muuga DK31==&lt;br /&gt;
Skript, mis vaatab /var/log/auth.log faili ja võtab sealt enim ebaõnnestunud IP aadressid, mis üritasid teha sisse logimist SSH kaudu(lävend võiks näiteks olla 10 ebaõnnestunud katset) ning saadab need kas e-mailile või lisab tulemüüri reeglitesse(IPTABLES näiteks).&lt;br /&gt;
&lt;br /&gt;
Jah, ma tean, et on ka paremaid viise hoste blokeerida, näiteks kasutada hosts-allow parameetrit ssh konfiguratsioonis.&lt;br /&gt;
&lt;br /&gt;
===Bash versioon===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Skript, mis loeb läbi UNIX-i auth.log faili ja koostab IPTables block reeglid IP aadressidele,&lt;br /&gt;
# mille pealt on autentimine ebaõnnestunud vähemalt etteantud arv kordi&lt;br /&gt;
&lt;br /&gt;
# käivitamise näide:&lt;br /&gt;
# sh check_ip.sh /var/log/auth.log /etc/iptables_blocked.txt&lt;br /&gt;
&lt;br /&gt;
# Autor: Sigmar Muuga, DK31&lt;br /&gt;
&lt;br /&gt;
# mitme ebaõnnestumise korral me IP blokeerime&lt;br /&gt;
BLOCK_LEVEL=5&lt;br /&gt;
# auth.log faili asukoht&lt;br /&gt;
AUTH_LOG_FILE=$1&lt;br /&gt;
# tüüpilised veasituatsioonid&lt;br /&gt;
ERROR_PATTERNS=&amp;quot;error | illegal | not\ allowed&amp;quot;&lt;br /&gt;
# väljundfaili nimi (või asukoht)&lt;br /&gt;
IP_TABLES_FILE=$2&lt;br /&gt;
&lt;br /&gt;
# kontrollime etteantud argumenti&lt;br /&gt;
if [ -z &amp;quot;$1&amp;quot; ]; then&lt;br /&gt;
	echo &amp;quot;No command-line arguments.&amp;quot;&lt;br /&gt;
	exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ -z &amp;quot;$2&amp;quot; ]; then&lt;br /&gt;
	echo &amp;quot;No IPTABLES file specified.&amp;quot;&lt;br /&gt;
	exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# kontrollime, et faili saaks kirjutada&lt;br /&gt;
touch &amp;quot;$IP_TABLES_FILE&amp;quot;&lt;br /&gt;
if [ -e $IP_TABLES_FILE ]; then&lt;br /&gt;
	echo &amp;quot;IPTABLES file: &amp;quot;$IP_TABLES_FILE&lt;br /&gt;
else&lt;br /&gt;
	echo &amp;quot;Cannot write IPTABLES file!&amp;quot;&lt;br /&gt;
	exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# itereerime yle logiridade&lt;br /&gt;
more $AUTH_LOG_FILE | egrep &amp;quot;$ERROR_PATTERNS&amp;quot; | while read line; do&lt;br /&gt;
	address=$(echo $line | grep -Eo &#039;([0-9]{1,3}\.){3}[0-9]{1,3}&#039;)&lt;br /&gt;
	# kas on valiidne IP&lt;br /&gt;
	if [ ${#address} -gt 0 ]; then&lt;br /&gt;
		# loeme esinevuskorrad&lt;br /&gt;
		occurences=$(grep -c $address $AUTH_LOG_FILE)&lt;br /&gt;
		if [ $occurences -ge $BLOCK_LEVEL ]; then # kui on juba piisavalt feilinud IP&lt;br /&gt;
			added_occurences=$(grep -c $address $IP_TABLES_FILE)&lt;br /&gt;
			#kontrollime, et poleks juba lisatud&lt;br /&gt;
			if [ $added_occurences -lt 1 ]; then&lt;br /&gt;
				echo &amp;quot;Blacklisting &amp;quot;$address&amp;quot; with &amp;quot;$occurences&amp;quot; occurences&amp;quot;&lt;br /&gt;
				#kirjutame IPTABLES reegli&lt;br /&gt;
				echo &amp;quot;iptables -A INPUT -s &amp;quot;$address&amp;quot; -j DROP&amp;quot; &amp;gt;&amp;gt; $IP_TABLES_FILE&lt;br /&gt;
			fi&lt;br /&gt;
		fi&lt;br /&gt;
	fi&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
===Pythoni versioon===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
# -*- coding: latin-1 -*-&lt;br /&gt;
&lt;br /&gt;
import sys&lt;br /&gt;
import getopt&lt;br /&gt;
import os&lt;br /&gt;
import re&lt;br /&gt;
&lt;br /&gt;
# Skript, mis loeb läbi UNIX-i auth.log faili ja koostab IPTables block reeglid IP aadressidele,&lt;br /&gt;
# mille pealt on autentimine ebaõnnestunud vähemalt etteantud arv kordi&lt;br /&gt;
 &lt;br /&gt;
# käivitamise näide:&lt;br /&gt;
# py check_ip.py --logfile=/path/to/logfile --iptablesfile=/path/to/iptablesfile&lt;br /&gt;
 &lt;br /&gt;
# Autor: Sigmar Muuga, DK31&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    # mitme ebaõnnestumise korral me IP blokeerime&lt;br /&gt;
    BLOCK_LEVEL=5&lt;br /&gt;
    &lt;br /&gt;
    # kuvab kasutamise info&lt;br /&gt;
    def usage():&lt;br /&gt;
        print &#039;Programmi kasutamine:&#039;&lt;br /&gt;
        print &#039;py check_ip.py --logfile=/path/to/logfile --iptablesfile=/path/to/iptablesfile&#039;&lt;br /&gt;
    &lt;br /&gt;
    # loendab stringi esinemised etteantud failis&lt;br /&gt;
    def matchCountInFile(str, filename):&lt;br /&gt;
        log_file = open(filename, &#039;r&#039;)&lt;br /&gt;
        count = 0&lt;br /&gt;
        for line in log_file:&lt;br /&gt;
            if re.search(str, line):&lt;br /&gt;
                count=count+1&lt;br /&gt;
        return count&lt;br /&gt;
    &lt;br /&gt;
    try:&lt;br /&gt;
        # loeme ja kontrollime getopti abil argumendid&lt;br /&gt;
        opts, args = getopt.getopt(sys.argv[1:], &amp;quot;li:v&amp;quot;, [&amp;quot;logfile=&amp;quot;, &amp;quot;iptablesfile=&amp;quot;])&lt;br /&gt;
        AUTH_LOG_FILE = &#039;&#039;&lt;br /&gt;
        IP_TABLES_FILE = &#039;&#039;&lt;br /&gt;
        for opt, arg in opts:&lt;br /&gt;
            if opt == &#039;--logfile&#039;:&lt;br /&gt;
                AUTH_LOG_FILE = arg&lt;br /&gt;
            elif opt == &#039;--iptablesfile&#039;:&lt;br /&gt;
                IP_TABLES_FILE = arg&lt;br /&gt;
&lt;br /&gt;
        print &#039;AUTH_LOG_FILE=&#039; + AUTH_LOG_FILE&lt;br /&gt;
        print &#039;IP_TABLES_FILE=&#039; + IP_TABLES_FILE&lt;br /&gt;
&lt;br /&gt;
        if AUTH_LOG_FILE.__len__() &amp;lt; 1:&lt;br /&gt;
            raise Exception(&#039;Invalid auth log filename&#039;)&lt;br /&gt;
        if IP_TABLES_FILE.__len__() &amp;lt; 1:&lt;br /&gt;
            raise Exception(&#039;Invalid iptables filename&#039;)&lt;br /&gt;
        &lt;br /&gt;
        if not os.path.isfile(AUTH_LOG_FILE):&lt;br /&gt;
            raise Exception(&#039;Auth log file does not exist&#039;)&lt;br /&gt;
&lt;br /&gt;
        ip_pattern = re.compile(&#039;([0-9]{1,3}\.){3}[0-9]{1,3}&#039;)&lt;br /&gt;
        &lt;br /&gt;
        # valmistame logifaili lugemiseks ette&lt;br /&gt;
        log_file = open(AUTH_LOG_FILE, &#039;r&#039;)&lt;br /&gt;
        ip_address_array = []&lt;br /&gt;
        ip_tables_filehandle = None&lt;br /&gt;
        # itereerime yle logiridade&lt;br /&gt;
        for log_line in log_file:&lt;br /&gt;
            # read, mis on veaga&lt;br /&gt;
            if (re.search(&#039;error&#039;, log_line) != None or re.search(&#039;illegal&#039;,  log_line) != None or re.search(&#039;not allowed&#039;, log_line) != None):&lt;br /&gt;
                ip_address_match = re.search(ip_pattern, log_line)&lt;br /&gt;
                if (ip_address_match == None):&lt;br /&gt;
                    continue&lt;br /&gt;
                # leiame rea pealt IP aadressi&lt;br /&gt;
                ip_address = ip_address_match.group(0)&lt;br /&gt;
                occurences = matchCountInFile(ip_address, AUTH_LOG_FILE)&lt;br /&gt;
                # vajadusel blacklistime&lt;br /&gt;
                if occurences &amp;gt;= BLOCK_LEVEL and not ip_address in ip_address_array:&lt;br /&gt;
                    ip_address_array.append(ip_address)&lt;br /&gt;
                    print &amp;quot;Blacklisting &amp;quot; + ip_address + &amp;quot; with &amp;quot; + str(occurences) + &amp;quot; occurences&amp;quot;&lt;br /&gt;
                    if ip_tables_filehandle == None:&lt;br /&gt;
                        ip_tables_filehandle = open(IP_TABLES_FILE, &#039;w&#039;)&lt;br /&gt;
                    ip_tables_filehandle.write(&amp;quot;iptables -A INPUT -s &amp;quot; + ip_address + &amp;quot; -j DROP\n&amp;quot;)&lt;br /&gt;
        log_file.close()&lt;br /&gt;
&lt;br /&gt;
        if (ip_tables_filehandle != None):&lt;br /&gt;
            ip_tables_filehandle.close()&lt;br /&gt;
&lt;br /&gt;
    except getopt.GetoptError, err:&lt;br /&gt;
        print str(err)&lt;br /&gt;
        usage()&lt;br /&gt;
        sys.exit(2)&lt;br /&gt;
&lt;br /&gt;
# k2ivitame meetodi&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Siim Kullerkupp AK21==&lt;br /&gt;
&lt;br /&gt;
*[[Skript, mis otsib arvutist kõik .mp3 failid ja teeb nendest playlisti-Powershell]]&lt;br /&gt;
*[[Skript, mis otsib pilte ja loob kaustad aasta järgi ning tõstab vastava aasta pildi vastava aasta kausta-Python]]&lt;br /&gt;
*[[Skript, mis teeb teatud kaustast backupi ja kustutab üle 30 päeva vanad backupid ära-BASH]]&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Teenusemonitor&amp;diff=22881</id>
		<title>Teenusemonitor</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Teenusemonitor&amp;diff=22881"/>
		<updated>2011-01-28T08:44:37Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Skriptimiskeeled]]&lt;br /&gt;
== Ülesanne ==&lt;br /&gt;
Skript, mis kontrollib, kas mingi teenus (näiteks Spooler) töötab ning kui ei tööta, siis saadab e-kirja, teatega, et teenus ei tööta.&lt;br /&gt;
== Skript ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
# Skript, mis saadab määratud e-posti aadressile kirja, kui protsess ei tööta &lt;br /&gt;
# Nõutavad sisendid kasutaja poolt:&lt;br /&gt;
# Protsessi nimi -&amp;gt; muutuja $protsess&lt;br /&gt;
# Saatja e-posti aadress -&amp;gt; muutuja $saatja&lt;br /&gt;
# Saaja e-posti aadress -&amp;gt; muutuja $saaja&lt;br /&gt;
# SMTP serveri aadress -&amp;gt; muutuja $smtp_server&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$protsess = &amp;quot;spoolsv&amp;quot;  # Muutujale tuleb anda väärtuseks protsessi nimi, mida soovitakse kontrollida, näiteks spoolsv&lt;br /&gt;
$saatja= &amp;quot;nimi@domeen.com&amp;quot; # Muutujale tuleb anda väärtuseks saatja e-posti aadress kujul: nimi@domeen.com&lt;br /&gt;
$saaja = &amp;quot;nimi@domeen.com&amp;quot; # Muutujale tuleb anda väärtuseks saaja e-posti aadress kujul: nimi@domeen.com&lt;br /&gt;
$smtp_server = &amp;quot;mail.domeen.com&amp;quot; # Muutujale tuleb anda väärtuseks kasutatava SMTP serveri aadresss&lt;br /&gt;
$aeg = Get-Date # Muutujale antakse väärtuseks kuupäev ja kellaaeg&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Kontrollime tsükliga, kas protsess eksisteerib otsides Get-Process käsuga protsessi nime, &lt;br /&gt;
# -ErrorAction 0 tagab, et ei kuvataks veateateid&lt;br /&gt;
do {}&lt;br /&gt;
While (Get-Process $protsess -ErrorAction 0 | select -Property Responding)&lt;br /&gt;
#Tsükkel katkeb, juhul kui protsessi ei eksisteeri ning saadetakse mail&lt;br /&gt;
# Kirjeldame SMTP serveri&lt;br /&gt;
$smtp = new-object system.Net.Mail.SmtpClient($smtp_server)&lt;br /&gt;
# Loome uue kirja objekti&lt;br /&gt;
$kiri = new-object System.Net.Mail.MailMessage&lt;br /&gt;
# Määrame muutujaga saatja&lt;br /&gt;
$kiri.from = $saatja&lt;br /&gt;
# Määrame muutujaga saaja (lisatakse saajate nimekirja)&lt;br /&gt;
$kiri.to.add($saaja)&lt;br /&gt;
# Määrame kirja pealkirja&lt;br /&gt;
$kiri.subject = &amp;quot;$protsess ei tööta!&amp;quot;&lt;br /&gt;
# Määrame kirja teksti&lt;br /&gt;
$kiri.body = &amp;quot;Protsess $protsess ei tööta! Aeg: $aeg&amp;quot;&lt;br /&gt;
# Saadame kirja, luues uue ühenduse SMTP serveriga.&lt;br /&gt;
$smtp.send($kiri)&lt;br /&gt;
# Skripti lõpp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autor ==&lt;br /&gt;
--[[User:Mvaling|Marko Valing, AK31(2010)]] 21:48, 27 January 2011 (EET)&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=XML_dokumentide_parsija&amp;diff=22880</id>
		<title>XML dokumentide parsija</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=XML_dokumentide_parsija&amp;diff=22880"/>
		<updated>2011-01-28T08:43:53Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Skripti kirjeldus==&lt;br /&gt;
Kasutajalt küsitakse esimeseks sisendiks XML dokumendi nimi või &amp;quot;*&amp;quot;, juhul kui soovitakse kõikki kaustas olevaid XML dokumente töödelda. Seejärel kontrollitakse, et sisendiks antud dokumendi laiend oleks õige või pannakse massiivi kõikide kaustas olevate XML dokumentide nimed. Seejärel võetakse massiivist ükshaaval XML dokumendi nimed ning parsitakse, st võetakse XML dokumendist DataFile elementide vahel base64 kood, mis dekodeeritakse ning salvestatakse DataFile atribuutdi Filename järgi. Luuakse kaust/kaustad, hakatakse parsima, pärast vaadatakse mitu faili on kaustas ning kausta suurus&lt;br /&gt;
&lt;br /&gt;
==Skript==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
# Impordime vajalikud teegid&lt;br /&gt;
import os&lt;br /&gt;
import sys&lt;br /&gt;
import glob&lt;br /&gt;
import time&lt;br /&gt;
import base64&lt;br /&gt;
import xml.dom.minidom&lt;br /&gt;
from xml.dom.minidom import parse&lt;br /&gt;
&lt;br /&gt;
# Loome vajalikud muutujad/massiivid&lt;br /&gt;
XMLDocument=&amp;quot;&amp;quot;&lt;br /&gt;
XMLDocuments=list()&lt;br /&gt;
&lt;br /&gt;
# Küsime kasutajalt faili nime või * juhul kui ta soovib töödelda kõikki kaustas olevaid faile&lt;br /&gt;
while (not os.path.exists(XMLDocument)):&lt;br /&gt;
    XMLDocument = raw_input(&amp;quot;Sisesta XML dokumendi nimi või * juhul kui soovid töödelda kõikki kaustas olevaid XML dokumente: &amp;quot;)&lt;br /&gt;
    # Kui kasutaja sisestas &amp;quot;*&amp;quot; siis salvestatakse kõik samas kaustas olevate XML dokumentide nimed massiivi ning kaktestatakse while tsükkel&lt;br /&gt;
    if XMLDocument == &amp;quot;*&amp;quot;:&lt;br /&gt;
        print &amp;quot;Kasutaja sisestas *&amp;quot;&lt;br /&gt;
        for files in glob.glob(&amp;quot;*.xml&amp;quot;):&lt;br /&gt;
            XMLDocuments.append(files)&lt;br /&gt;
        break&lt;br /&gt;
    # Kontrollime, kas kasutaja sisestatud dokumendi nime laiend on &amp;quot;.xml&amp;quot;&lt;br /&gt;
    elif XMLDocument[-4:] != &amp;quot;.xml&amp;quot;:&lt;br /&gt;
        print &amp;quot;Vale laiendiga nimi!&amp;quot;&lt;br /&gt;
    # Kui eelmistest kadalippidest läbitud kontrollime üle, kas dokument on olemas, et kuvada vastava sisuline teade&lt;br /&gt;
    elif not os.path.exists(XMLDocument):&lt;br /&gt;
        print &amp;quot;Faili ei eksisteeri!&amp;quot;&lt;br /&gt;
    # Juhul kui kasutaja sisestab ühe dokumendi lisame massiivi&lt;br /&gt;
    else:&lt;br /&gt;
        XMLDocuments.append(XMLDocument)&lt;br /&gt;
&lt;br /&gt;
# Kõik massiivis olevad dokumendid töötleme läbi&lt;br /&gt;
for XMLDocumentName in XMLDocuments:&lt;br /&gt;
    print &amp;quot;Dokumendi&amp;quot;, XMLDocumentName, &amp;quot;töötlemine&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    # Avame dokumendi&lt;br /&gt;
    XMLDocument = open(XMLDocumentName)&lt;br /&gt;
    # Loome dokumendi failidele kausta nimetuse&lt;br /&gt;
    dataFilesDir = XMLDocumentName[:-4]&lt;br /&gt;
    &lt;br /&gt;
    # Kontrollime, kas kaust on olemas, kui ei ole siis loome&lt;br /&gt;
    if not os.path.isdir(dataFilesDir):&lt;br /&gt;
        os.mkdir(dataFilesDir)&lt;br /&gt;
    &lt;br /&gt;
    # Käivitame kella, ehk anname muutujale hetke kellaaja&lt;br /&gt;
    seconds = time.time()&lt;br /&gt;
    # XML dokumendi parsimine&lt;br /&gt;
    XMLParsed = parse(XMLDocument)&lt;br /&gt;
    &lt;br /&gt;
    # Alustame failide salvestamisega dokumendist, kuvame infot kasutajale&lt;br /&gt;
    print &amp;quot;Dokumendi&amp;quot;, XMLDocumentName, &amp;quot;failid salvestatakse kausta:&amp;quot;, dataFilesDir&lt;br /&gt;
    # Iga DataFile elemendi kohta käivitatakse järgnev protsess&lt;br /&gt;
    for node in XMLParsed.getElementsByTagName(&amp;quot;DataFile&amp;quot;):&lt;br /&gt;
        # Dokumendi faili nimeks anname elemendi atribuudi, mis tähistab faili nime&lt;br /&gt;
        dataFileName = node.getAttribute(&amp;quot;Filename&amp;quot;)&lt;br /&gt;
        # Võtame elemendi väärtusest base64 kodeeritud andmed&lt;br /&gt;
        dataFileData = node.childNodes[0].nodeValue&lt;br /&gt;
        # Valmistame ette faili täispika asukoha koos nimega&lt;br /&gt;
        dataFileDir = os.path.join(dataFilesDir,dataFileName)&lt;br /&gt;
        # Avame faili, luuakse uus fail&lt;br /&gt;
        fileObj = open(dataFileDir, &amp;quot;w&amp;quot;)&lt;br /&gt;
        # Salvestame faili base64 dekodeeritud andmed&lt;br /&gt;
        fileObj.write(base64.b64decode(dataFileData))&lt;br /&gt;
        # Fail suletakse&lt;br /&gt;
        fileObj.close()&lt;br /&gt;
        #Trükime välja faili nime ja suuruse&lt;br /&gt;
        dataFileSize = os.path.getsize(dataFileDir)&lt;br /&gt;
        print dataFileName, &amp;quot;%0.3f KB&amp;quot; % float(dataFileSize/1024.0)&lt;br /&gt;
    &lt;br /&gt;
    # Loome/taasväärtustame muutujad&lt;br /&gt;
    dataFilesSize=0&lt;br /&gt;
    dataFilesCount=0&lt;br /&gt;
    folder_size = 0&lt;br /&gt;
    # Iga faili kohta kaustas toimub järgnev tegevus&lt;br /&gt;
    for (path, dirs, files) in os.walk(dataFilesDir):&lt;br /&gt;
        for file in files:&lt;br /&gt;
            # Tuletame faili täispika nime jälle&lt;br /&gt;
            dataFileName = os.path.join(path, file)&lt;br /&gt;
            # Liidame failide kogumahule faili mahu&lt;br /&gt;
            dataFilesSize += os.path.getsize(dataFileName)&lt;br /&gt;
            # Liidame faili loendurile ühe juurd&lt;br /&gt;
            dataFilesCount+=1&lt;br /&gt;
    # Trükime välja mitu faili kokku dokumendist kättesaadis ning kogumaht&lt;br /&gt;
    print &amp;quot;Kokku&amp;quot;,dataFilesCount,&amp;quot;faili mahuga %0.3f KB&amp;quot; % float(dataFilesSize/1024.0)&lt;br /&gt;
    # Näitame kaua kulus töötlemisele aega, lõpp lahutatud algus=stopper&lt;br /&gt;
    seconds = time.time() - seconds&lt;br /&gt;
    print &amp;quot;XML faili töötluseks kulus %.3f sekundit&amp;quot; % seconds&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Autor==&lt;br /&gt;
--[[User:Mvaling|Marko Valing, AK31(2010)]] 10:42, 28 January 2011 (EET)&lt;br /&gt;
[[Category: Skriptimiskeeled]]&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=XML_p%C3%A4ringute_kontroll&amp;diff=22879</id>
		<title>XML päringute kontroll</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=XML_p%C3%A4ringute_kontroll&amp;diff=22879"/>
		<updated>2011-01-28T08:43:43Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Skriptimiskeeled]]&lt;br /&gt;
==Probleem==&lt;br /&gt;
Asutused, kes ei tohiks teha SOAP päringuid serveri pihta on vaja tuvastada.&lt;br /&gt;
&lt;br /&gt;
On olemas dokumendivahetuskeskus(edasipidi DVK), mis vahendab asutuste erinevate dokumendihaldussüsteemide(edaspidi DHS) dokumente. Selleks, et dokumente allalaadida ning muid toiminguid teha, teeb DHS erinevaid päringuid DVKsse. Et vähendada koormust on vaja välja uurida kõik asutuste registrikoodid, kes ei tohiks tegelikult päringuid teha.&lt;br /&gt;
&lt;br /&gt;
==Skripti kirjeldus==&lt;br /&gt;
Skriptile antakse sisendiks päringute logi fail. Logi failist parsitakse välja registrikoodid. Seejärel on meil olemas kõik registrikoodid, kes on päringuid teinud vastavalt logi ajavahemikule. Peale seda laeme alla asutuste registrikoodid kellele on lubatud päringuid teha. Siis võrdleme registrikoode ning saame teada, kes teevad päringuid olenemata, kas nad võivad teha.&lt;br /&gt;
&lt;br /&gt;
==Skript==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
export LC_ALL=C&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Palun sisesta tehtud päringute logi faili nimi:&amp;quot;&lt;br /&gt;
# Salvestame muutujana logi faili nime, mida on tarvis töödelda, otsida&lt;br /&gt;
# üles tehtud päringute registrikoodid. Kasutame tsüklid ning if lauset,&lt;br /&gt;
# et sisendiks oleks kindlasti eksisteeriv fail.&lt;br /&gt;
while [ ! -f LOGI ]; do&lt;br /&gt;
read LOGI&lt;br /&gt;
if [ ! -f $LOGI ]&lt;br /&gt;
then&lt;br /&gt;
    echo &amp;quot;Sellist faili $LOGI ei eksisteeri! Palun sisesta õige faili nimi:&amp;quot;&lt;br /&gt;
elif [ -f $LOGI ]&lt;br /&gt;
then&lt;br /&gt;
    echo &amp;quot;Fail eksisteerib!&amp;quot;&lt;br /&gt;
    break&lt;br /&gt;
fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Koostan tehtud päringute registrikoodide nimekirja&amp;quot;&lt;br /&gt;
# Eraldame registrikoodid tehtud päringutest, registrikoodid asuvad &lt;br /&gt;
# &amp;lt;xtee:asutus&amp;gt; ning &amp;lt;/xtee:asutus&amp;gt; elementida vahel ja salvestame&lt;br /&gt;
# tulemused ajutisse faili tegijad2.txt&lt;br /&gt;
sed -n &#039;s|.*&amp;lt;\(xtee:asutus\)&amp;gt;\(.*\)&amp;lt;/*\1&amp;gt;.*|\2|p&#039; $LOGI &amp;gt; tegijad2.txt&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Toimub registrikoodide loendus ja sorteerimine, jäetakse alles ainult unikaalsed&amp;quot;&lt;br /&gt;
# Sorteerime faili tegijad2.txt sisu nii, et jäetakse alles ainult &lt;br /&gt;
# unikaalsed registrikoodid ning pannakse numbrilisse järjekorda&lt;br /&gt;
sort tegijad2.txt | uniq | sort -n &amp;gt; tegijad.txt&lt;br /&gt;
# Kustutame ajutise faili&lt;br /&gt;
rm tegijad2.txt&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Laen alla lubatud päringu tegijate registrikoodid: http://www.eesti.ee/portaal/dvk.asutused&amp;quot;&lt;br /&gt;
# Laeme alla aadressilt http://www.eesti.ee/portaal/dvk.asutused lehe ninf&lt;br /&gt;
# salvestame ajutisse faili lubatud2.txt, kusjuures wget infot ei näidata&lt;br /&gt;
wget -O lubatud2.txt http://www.eesti.ee/portaal/dvk.asutused --quiet&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Eraldame registrikoodid allalaetud tabelist&amp;quot;&lt;br /&gt;
# Ajutisest failist võtame read, mis algavad &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; tagidega, seejärel&lt;br /&gt;
# võtame stringid/registrikoodid, mis jäävad &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; ning &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; vahele&lt;br /&gt;
# ja salvestame tulemuse faili lubatud.txt&lt;br /&gt;
cat lubatud2.txt | grep &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;quot; | sed -e &#039;s/^&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;//&#039; -e &#039;s/&amp;lt;\/td&amp;gt;&amp;lt;td&amp;gt;.*$//&#039; &amp;gt; lubatud.txt&lt;br /&gt;
# Kustutame ajutise faili&lt;br /&gt;
rm lubatud2.txt&lt;br /&gt;
&lt;br /&gt;
echo -e &amp;quot;\nJärgmised asutused ei tohiks päringuid serveri pihta teha:&amp;quot;&lt;br /&gt;
grep -v -f lubatud.txt tegijad.txt &amp;gt; keelatud.txt&lt;br /&gt;
cat keelatud.txt&lt;br /&gt;
echo &amp;quot;Need registrikoodid salvestati faili keelatud.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Kustutame ajutised failid&lt;br /&gt;
rm lubatud.txt tegijad.txt&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Autor==&lt;br /&gt;
--[[User:Mvaling|Marko Valing, AK31(2010)]] 10:43, 28 January 2011 (EET)&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Skriptimiskeeled_aine_aruanded_2010_s%C3%BCgis&amp;diff=22878</id>
		<title>Skriptimiskeeled aine aruanded 2010 sügis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Skriptimiskeeled_aine_aruanded_2010_s%C3%BCgis&amp;diff=22878"/>
		<updated>2011-01-28T08:43:16Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: /* Marko Valing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Skriptimiskeeled]]&lt;br /&gt;
=Siia tulevad kodus tehtud tööde lingid=&lt;br /&gt;
&lt;br /&gt;
==Esitaja nimi==&lt;br /&gt;
*[[Skript, mis teeb maailma paremaks - BASH]]&lt;br /&gt;
*[[Skript, mis teeb maailma paremaks - Python]]&lt;br /&gt;
*[[Skript, mis teeb maailma paremaks - PowerShell]]&lt;br /&gt;
*[[Arvustused sellele skriptile]]&lt;br /&gt;
==Vabad ideed==&lt;br /&gt;
*[[Skript mis otsib üles turvaaukudega tarkvara]]&lt;br /&gt;
&lt;br /&gt;
==Alvar Unuks AK41==&lt;br /&gt;
Suurima andmemahuga paketite leidmine&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
!#/bin/bash&lt;br /&gt;
sed -ne &#039;/^Package: \(.*\)/{s//\1/;h;};/^Installed-Size: \(.*\)/{s//\1/;G;s/\n/ /;p;}&#039; /var/lib/dpkg/status | sort -rn&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Reget Kalamees DK21==&lt;br /&gt;
[[Skript otsib vabade Wifi AP-de hulgast kõige kiirema ühenduse ja haagib end selle külge]]&lt;br /&gt;
&lt;br /&gt;
==Kaspar Prei==&lt;br /&gt;
[[Skript leiab dublikaat failid]]&lt;br /&gt;
&lt;br /&gt;
==Lembit Elmik AK21==&lt;br /&gt;
&lt;br /&gt;
* Bash - Skript, mis kontrollib võrguühenduse olemasolu ning selle puudusel diagnoosib häda.&lt;br /&gt;
[[V6rgudiagnoosiskript]]&lt;br /&gt;
&lt;br /&gt;
* Python - SSH vigaste logimiste järgi source IP hosts.deny faili ja lisatud IP&#039;d mailile (saadetud õppejõu mailile)&lt;br /&gt;
&lt;br /&gt;
* PowerShell - Arvuti andmete (mälu hulk, protsessori tüüp jne.) kuvamine&lt;br /&gt;
&lt;br /&gt;
==Marko Valing==&lt;br /&gt;
*[[XML päringute kontroll]]&lt;br /&gt;
*[[XML dokumentide parsija]]&lt;br /&gt;
*[[Teenusemonitor]]&lt;br /&gt;
&lt;br /&gt;
==Lauri Liibert AK21==&lt;br /&gt;
* BASH [[Skript, mis otsib üles failid mille poole ei ole ammu pöördutud ja arhiveerib]]&lt;br /&gt;
* [[Skript, mis otsib üles failid mille poole ei ole ammu pöördutud ja arhiveerib - Python]]&lt;br /&gt;
* [[Skript, mis küsib ACL-i objekte AD-st - Powershell]]&lt;br /&gt;
&lt;br /&gt;
==Siim Liivand AK41==&lt;br /&gt;
* bash: [[skript, mis teeb midagi vajalikku hunniku graafikafailidega]]&lt;br /&gt;
* python: -&lt;br /&gt;
* powershell: -&lt;br /&gt;
&lt;br /&gt;
==Sander Tuulik AK41==&lt;br /&gt;
[[Skript mis otsib kõik pildi,video,muusika,dokumendi failid ja jagab need kaustadesse - BASH]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Skript mis otsib kõik pildi,video,muusika,dokumendi failid ja jagab need kaustadesse - Python]]&lt;br /&gt;
&lt;br /&gt;
==Kristjan Karmo AK41==&lt;br /&gt;
* [[Skript, mis teeb varukoopia WordPressi instantsist - BASH]]&lt;br /&gt;
* [[Skript, mis teeb varukoopia WordPressi instantsist - Python]]&lt;br /&gt;
* [[Skript, mis arhiveerib etteantud laiendiga failid - PowerShell]]&lt;br /&gt;
&lt;br /&gt;
==Chris Sinihelm AK41==&lt;br /&gt;
[[Skript, mis tõstab kõik väikesed .txt failid ühte folderisse - BASH]] &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Skript, millega saab public folderitesse õiguseid lisada - PowerShell]] &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Skript, mis otsib üles duplikaatfailid - Python]]&lt;br /&gt;
&lt;br /&gt;
==Nadežda Furs A31==&lt;br /&gt;
&lt;br /&gt;
==Sigmar Muuga DK31==&lt;br /&gt;
Skript, mis vaatab /var/log/auth.log faili ja võtab sealt enim ebaõnnestunud IP aadressid, mis üritasid teha sisse logimist SSH kaudu(lävend võiks näiteks olla 10 ebaõnnestunud katset) ning saadab need kas e-mailile või lisab tulemüüri reeglitesse(IPTABLES näiteks).&lt;br /&gt;
&lt;br /&gt;
Jah, ma tean, et on ka paremaid viise hoste blokeerida, näiteks kasutada hosts-allow parameetrit ssh konfiguratsioonis.&lt;br /&gt;
&lt;br /&gt;
===Bash versioon===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Skript, mis loeb läbi UNIX-i auth.log faili ja koostab IPTables block reeglid IP aadressidele,&lt;br /&gt;
# mille pealt on autentimine ebaõnnestunud vähemalt etteantud arv kordi&lt;br /&gt;
&lt;br /&gt;
# käivitamise näide:&lt;br /&gt;
# sh check_ip.sh /var/log/auth.log /etc/iptables_blocked.txt&lt;br /&gt;
&lt;br /&gt;
# Autor: Sigmar Muuga, DK31&lt;br /&gt;
&lt;br /&gt;
# mitme ebaõnnestumise korral me IP blokeerime&lt;br /&gt;
BLOCK_LEVEL=5&lt;br /&gt;
# auth.log faili asukoht&lt;br /&gt;
AUTH_LOG_FILE=$1&lt;br /&gt;
# tüüpilised veasituatsioonid&lt;br /&gt;
ERROR_PATTERNS=&amp;quot;error | illegal | not\ allowed&amp;quot;&lt;br /&gt;
# väljundfaili nimi (või asukoht)&lt;br /&gt;
IP_TABLES_FILE=$2&lt;br /&gt;
&lt;br /&gt;
# kontrollime etteantud argumenti&lt;br /&gt;
if [ -z &amp;quot;$1&amp;quot; ]; then&lt;br /&gt;
	echo &amp;quot;No command-line arguments.&amp;quot;&lt;br /&gt;
	exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ -z &amp;quot;$2&amp;quot; ]; then&lt;br /&gt;
	echo &amp;quot;No IPTABLES file specified.&amp;quot;&lt;br /&gt;
	exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# kontrollime, et faili saaks kirjutada&lt;br /&gt;
touch &amp;quot;$IP_TABLES_FILE&amp;quot;&lt;br /&gt;
if [ -e $IP_TABLES_FILE ]; then&lt;br /&gt;
	echo &amp;quot;IPTABLES file: &amp;quot;$IP_TABLES_FILE&lt;br /&gt;
else&lt;br /&gt;
	echo &amp;quot;Cannot write IPTABLES file!&amp;quot;&lt;br /&gt;
	exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# itereerime yle logiridade&lt;br /&gt;
more $AUTH_LOG_FILE | egrep &amp;quot;$ERROR_PATTERNS&amp;quot; | while read line; do&lt;br /&gt;
	address=$(echo $line | grep -Eo &#039;([0-9]{1,3}\.){3}[0-9]{1,3}&#039;)&lt;br /&gt;
	# kas on valiidne IP&lt;br /&gt;
	if [ ${#address} -gt 0 ]; then&lt;br /&gt;
		# loeme esinevuskorrad&lt;br /&gt;
		occurences=$(grep -c $address $AUTH_LOG_FILE)&lt;br /&gt;
		if [ $occurences -ge $BLOCK_LEVEL ]; then # kui on juba piisavalt feilinud IP&lt;br /&gt;
			added_occurences=$(grep -c $address $IP_TABLES_FILE)&lt;br /&gt;
			#kontrollime, et poleks juba lisatud&lt;br /&gt;
			if [ $added_occurences -lt 1 ]; then&lt;br /&gt;
				echo &amp;quot;Blacklisting &amp;quot;$address&amp;quot; with &amp;quot;$occurences&amp;quot; occurences&amp;quot;&lt;br /&gt;
				#kirjutame IPTABLES reegli&lt;br /&gt;
				echo &amp;quot;iptables -A INPUT -s &amp;quot;$address&amp;quot; -j DROP&amp;quot; &amp;gt;&amp;gt; $IP_TABLES_FILE&lt;br /&gt;
			fi&lt;br /&gt;
		fi&lt;br /&gt;
	fi&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
===Pythoni versioon===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
# -*- coding: latin-1 -*-&lt;br /&gt;
&lt;br /&gt;
import sys&lt;br /&gt;
import getopt&lt;br /&gt;
import os&lt;br /&gt;
import re&lt;br /&gt;
&lt;br /&gt;
# Skript, mis loeb läbi UNIX-i auth.log faili ja koostab IPTables block reeglid IP aadressidele,&lt;br /&gt;
# mille pealt on autentimine ebaõnnestunud vähemalt etteantud arv kordi&lt;br /&gt;
 &lt;br /&gt;
# käivitamise näide:&lt;br /&gt;
# py check_ip.py --logfile=/path/to/logfile --iptablesfile=/path/to/iptablesfile&lt;br /&gt;
 &lt;br /&gt;
# Autor: Sigmar Muuga, DK31&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    # mitme ebaõnnestumise korral me IP blokeerime&lt;br /&gt;
    BLOCK_LEVEL=5&lt;br /&gt;
    &lt;br /&gt;
    # kuvab kasutamise info&lt;br /&gt;
    def usage():&lt;br /&gt;
        print &#039;Programmi kasutamine:&#039;&lt;br /&gt;
        print &#039;py check_ip.py --logfile=/path/to/logfile --iptablesfile=/path/to/iptablesfile&#039;&lt;br /&gt;
    &lt;br /&gt;
    # loendab stringi esinemised etteantud failis&lt;br /&gt;
    def matchCountInFile(str, filename):&lt;br /&gt;
        log_file = open(filename, &#039;r&#039;)&lt;br /&gt;
        count = 0&lt;br /&gt;
        for line in log_file:&lt;br /&gt;
            if re.search(str, line):&lt;br /&gt;
                count=count+1&lt;br /&gt;
        return count&lt;br /&gt;
    &lt;br /&gt;
    try:&lt;br /&gt;
        # loeme ja kontrollime getopti abil argumendid&lt;br /&gt;
        opts, args = getopt.getopt(sys.argv[1:], &amp;quot;li:v&amp;quot;, [&amp;quot;logfile=&amp;quot;, &amp;quot;iptablesfile=&amp;quot;])&lt;br /&gt;
        AUTH_LOG_FILE = &#039;&#039;&lt;br /&gt;
        IP_TABLES_FILE = &#039;&#039;&lt;br /&gt;
        for opt, arg in opts:&lt;br /&gt;
            if opt == &#039;--logfile&#039;:&lt;br /&gt;
                AUTH_LOG_FILE = arg&lt;br /&gt;
            elif opt == &#039;--iptablesfile&#039;:&lt;br /&gt;
                IP_TABLES_FILE = arg&lt;br /&gt;
&lt;br /&gt;
        print &#039;AUTH_LOG_FILE=&#039; + AUTH_LOG_FILE&lt;br /&gt;
        print &#039;IP_TABLES_FILE=&#039; + IP_TABLES_FILE&lt;br /&gt;
&lt;br /&gt;
        if AUTH_LOG_FILE.__len__() &amp;lt; 1:&lt;br /&gt;
            raise Exception(&#039;Invalid auth log filename&#039;)&lt;br /&gt;
        if IP_TABLES_FILE.__len__() &amp;lt; 1:&lt;br /&gt;
            raise Exception(&#039;Invalid iptables filename&#039;)&lt;br /&gt;
        &lt;br /&gt;
        if not os.path.isfile(AUTH_LOG_FILE):&lt;br /&gt;
            raise Exception(&#039;Auth log file does not exist&#039;)&lt;br /&gt;
&lt;br /&gt;
        ip_pattern = re.compile(&#039;([0-9]{1,3}\.){3}[0-9]{1,3}&#039;)&lt;br /&gt;
        &lt;br /&gt;
        # valmistame logifaili lugemiseks ette&lt;br /&gt;
        log_file = open(AUTH_LOG_FILE, &#039;r&#039;)&lt;br /&gt;
        ip_address_array = []&lt;br /&gt;
        ip_tables_filehandle = None&lt;br /&gt;
        # itereerime yle logiridade&lt;br /&gt;
        for log_line in log_file:&lt;br /&gt;
            # read, mis on veaga&lt;br /&gt;
            if (re.search(&#039;error&#039;, log_line) != None or re.search(&#039;illegal&#039;,  log_line) != None or re.search(&#039;not allowed&#039;, log_line) != None):&lt;br /&gt;
                ip_address_match = re.search(ip_pattern, log_line)&lt;br /&gt;
                if (ip_address_match == None):&lt;br /&gt;
                    continue&lt;br /&gt;
                # leiame rea pealt IP aadressi&lt;br /&gt;
                ip_address = ip_address_match.group(0)&lt;br /&gt;
                occurences = matchCountInFile(ip_address, AUTH_LOG_FILE)&lt;br /&gt;
                # vajadusel blacklistime&lt;br /&gt;
                if occurences &amp;gt;= BLOCK_LEVEL and not ip_address in ip_address_array:&lt;br /&gt;
                    ip_address_array.append(ip_address)&lt;br /&gt;
                    print &amp;quot;Blacklisting &amp;quot; + ip_address + &amp;quot; with &amp;quot; + str(occurences) + &amp;quot; occurences&amp;quot;&lt;br /&gt;
                    if ip_tables_filehandle == None:&lt;br /&gt;
                        ip_tables_filehandle = open(IP_TABLES_FILE, &#039;w&#039;)&lt;br /&gt;
                    ip_tables_filehandle.write(&amp;quot;iptables -A INPUT -s &amp;quot; + ip_address + &amp;quot; -j DROP\n&amp;quot;)&lt;br /&gt;
        log_file.close()&lt;br /&gt;
&lt;br /&gt;
        if (ip_tables_filehandle != None):&lt;br /&gt;
            ip_tables_filehandle.close()&lt;br /&gt;
&lt;br /&gt;
    except getopt.GetoptError, err:&lt;br /&gt;
        print str(err)&lt;br /&gt;
        usage()&lt;br /&gt;
        sys.exit(2)&lt;br /&gt;
&lt;br /&gt;
# k2ivitame meetodi&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Siim Kullerkupp AK21==&lt;br /&gt;
&lt;br /&gt;
*[[Skript, mis otsib arvutist kõik .mp3 failid ja teeb nendest playlisti-Powershell]]&lt;br /&gt;
*[[Skript, mis otsib pilte ja loob kaustad aasta järgi ning tõstab vastava aasta pildi vastava aasta kausta-Python]]&lt;br /&gt;
*[[Skript, mis teeb teatud kaustast backupi ja kustutab üle 30 päeva vanad backupid ära-BASH]]&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=XML_dokumentide_parsija&amp;diff=22877</id>
		<title>XML dokumentide parsija</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=XML_dokumentide_parsija&amp;diff=22877"/>
		<updated>2011-01-28T08:42:38Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: /* Skripti kirjeldus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Skripti kirjeldus==&lt;br /&gt;
Kasutajalt küsitakse esimeseks sisendiks XML dokumendi nimi või &amp;quot;*&amp;quot;, juhul kui soovitakse kõikki kaustas olevaid XML dokumente töödelda. Seejärel kontrollitakse, et sisendiks antud dokumendi laiend oleks õige või pannakse massiivi kõikide kaustas olevate XML dokumentide nimed. Seejärel võetakse massiivist ükshaaval XML dokumendi nimed ning parsitakse, st võetakse XML dokumendist DataFile elementide vahel base64 kood, mis dekodeeritakse ning salvestatakse DataFile atribuutdi Filename järgi. Luuakse kaust/kaustad, hakatakse parsima, pärast vaadatakse mitu faili on kaustas ning kausta suurus&lt;br /&gt;
&lt;br /&gt;
==Skript==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
# Impordime vajalikud teegid&lt;br /&gt;
import os&lt;br /&gt;
import sys&lt;br /&gt;
import glob&lt;br /&gt;
import time&lt;br /&gt;
import base64&lt;br /&gt;
import xml.dom.minidom&lt;br /&gt;
from xml.dom.minidom import parse&lt;br /&gt;
&lt;br /&gt;
# Loome vajalikud muutujad/massiivid&lt;br /&gt;
XMLDocument=&amp;quot;&amp;quot;&lt;br /&gt;
XMLDocuments=list()&lt;br /&gt;
&lt;br /&gt;
# Küsime kasutajalt faili nime või * juhul kui ta soovib töödelda kõikki kaustas olevaid faile&lt;br /&gt;
while (not os.path.exists(XMLDocument)):&lt;br /&gt;
    XMLDocument = raw_input(&amp;quot;Sisesta XML dokumendi nimi või * juhul kui soovid töödelda kõikki kaustas olevaid XML dokumente: &amp;quot;)&lt;br /&gt;
    # Kui kasutaja sisestas &amp;quot;*&amp;quot; siis salvestatakse kõik samas kaustas olevate XML dokumentide nimed massiivi ning kaktestatakse while tsükkel&lt;br /&gt;
    if XMLDocument == &amp;quot;*&amp;quot;:&lt;br /&gt;
        print &amp;quot;Kasutaja sisestas *&amp;quot;&lt;br /&gt;
        for files in glob.glob(&amp;quot;*.xml&amp;quot;):&lt;br /&gt;
            XMLDocuments.append(files)&lt;br /&gt;
        break&lt;br /&gt;
    # Kontrollime, kas kasutaja sisestatud dokumendi nime laiend on &amp;quot;.xml&amp;quot;&lt;br /&gt;
    elif XMLDocument[-4:] != &amp;quot;.xml&amp;quot;:&lt;br /&gt;
        print &amp;quot;Vale laiendiga nimi!&amp;quot;&lt;br /&gt;
    # Kui eelmistest kadalippidest läbitud kontrollime üle, kas dokument on olemas, et kuvada vastava sisuline teade&lt;br /&gt;
    elif not os.path.exists(XMLDocument):&lt;br /&gt;
        print &amp;quot;Faili ei eksisteeri!&amp;quot;&lt;br /&gt;
    # Juhul kui kasutaja sisestab ühe dokumendi lisame massiivi&lt;br /&gt;
    else:&lt;br /&gt;
        XMLDocuments.append(XMLDocument)&lt;br /&gt;
&lt;br /&gt;
# Kõik massiivis olevad dokumendid töötleme läbi&lt;br /&gt;
for XMLDocumentName in XMLDocuments:&lt;br /&gt;
    print &amp;quot;Dokumendi&amp;quot;, XMLDocumentName, &amp;quot;töötlemine&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    # Avame dokumendi&lt;br /&gt;
    XMLDocument = open(XMLDocumentName)&lt;br /&gt;
    # Loome dokumendi failidele kausta nimetuse&lt;br /&gt;
    dataFilesDir = XMLDocumentName[:-4]&lt;br /&gt;
    &lt;br /&gt;
    # Kontrollime, kas kaust on olemas, kui ei ole siis loome&lt;br /&gt;
    if not os.path.isdir(dataFilesDir):&lt;br /&gt;
        os.mkdir(dataFilesDir)&lt;br /&gt;
    &lt;br /&gt;
    # Käivitame kella, ehk anname muutujale hetke kellaaja&lt;br /&gt;
    seconds = time.time()&lt;br /&gt;
    # XML dokumendi parsimine&lt;br /&gt;
    XMLParsed = parse(XMLDocument)&lt;br /&gt;
    &lt;br /&gt;
    # Alustame failide salvestamisega dokumendist, kuvame infot kasutajale&lt;br /&gt;
    print &amp;quot;Dokumendi&amp;quot;, XMLDocumentName, &amp;quot;failid salvestatakse kausta:&amp;quot;, dataFilesDir&lt;br /&gt;
    # Iga DataFile elemendi kohta käivitatakse järgnev protsess&lt;br /&gt;
    for node in XMLParsed.getElementsByTagName(&amp;quot;DataFile&amp;quot;):&lt;br /&gt;
        # Dokumendi faili nimeks anname elemendi atribuudi, mis tähistab faili nime&lt;br /&gt;
        dataFileName = node.getAttribute(&amp;quot;Filename&amp;quot;)&lt;br /&gt;
        # Võtame elemendi väärtusest base64 kodeeritud andmed&lt;br /&gt;
        dataFileData = node.childNodes[0].nodeValue&lt;br /&gt;
        # Valmistame ette faili täispika asukoha koos nimega&lt;br /&gt;
        dataFileDir = os.path.join(dataFilesDir,dataFileName)&lt;br /&gt;
        # Avame faili, luuakse uus fail&lt;br /&gt;
        fileObj = open(dataFileDir, &amp;quot;w&amp;quot;)&lt;br /&gt;
        # Salvestame faili base64 dekodeeritud andmed&lt;br /&gt;
        fileObj.write(base64.b64decode(dataFileData))&lt;br /&gt;
        # Fail suletakse&lt;br /&gt;
        fileObj.close()&lt;br /&gt;
        #Trükime välja faili nime ja suuruse&lt;br /&gt;
        dataFileSize = os.path.getsize(dataFileDir)&lt;br /&gt;
        print dataFileName, &amp;quot;%0.3f KB&amp;quot; % float(dataFileSize/1024.0)&lt;br /&gt;
    &lt;br /&gt;
    # Loome/taasväärtustame muutujad&lt;br /&gt;
    dataFilesSize=0&lt;br /&gt;
    dataFilesCount=0&lt;br /&gt;
    folder_size = 0&lt;br /&gt;
    # Iga faili kohta kaustas toimub järgnev tegevus&lt;br /&gt;
    for (path, dirs, files) in os.walk(dataFilesDir):&lt;br /&gt;
        for file in files:&lt;br /&gt;
            # Tuletame faili täispika nime jälle&lt;br /&gt;
            dataFileName = os.path.join(path, file)&lt;br /&gt;
            # Liidame failide kogumahule faili mahu&lt;br /&gt;
            dataFilesSize += os.path.getsize(dataFileName)&lt;br /&gt;
            # Liidame faili loendurile ühe juurd&lt;br /&gt;
            dataFilesCount+=1&lt;br /&gt;
    # Trükime välja mitu faili kokku dokumendist kättesaadis ning kogumaht&lt;br /&gt;
    print &amp;quot;Kokku&amp;quot;,dataFilesCount,&amp;quot;faili mahuga %0.3f KB&amp;quot; % float(dataFilesSize/1024.0)&lt;br /&gt;
    # Näitame kaua kulus töötlemisele aega, lõpp lahutatud algus=stopper&lt;br /&gt;
    seconds = time.time() - seconds&lt;br /&gt;
    print &amp;quot;XML faili töötluseks kulus %.3f sekundit&amp;quot; % seconds&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Autor==&lt;br /&gt;
--[[User:Mvaling|Marko Valing, AK31(2010)]] 10:42, 28 January 2011 (EET)&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=XML_dokumentide_parsija&amp;diff=22876</id>
		<title>XML dokumentide parsija</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=XML_dokumentide_parsija&amp;diff=22876"/>
		<updated>2011-01-28T08:42:16Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: Created page with &amp;#039;==Skripti kirjeldus== Kasutajalt küsitakse esimeseks sisendiks XML dokumendi nimi või &amp;quot;*&amp;quot;, juhul kui soovitakse kõikki kaustas olevaid XML dokumente töödelda. Seejärel kont…&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Skripti kirjeldus==&lt;br /&gt;
Kasutajalt küsitakse esimeseks sisendiks XML dokumendi nimi või &amp;quot;*&amp;quot;, juhul kui soovitakse kõikki kaustas olevaid XML dokumente töödelda. Seejärel kontrollitakse, et sisendiks antud dokumendi laiend oleks õige või pannakse massiivi kõikide kaustas olevate XML dokumentide nimed. Seejärel võetakse massiivist ükshaaval XML dokumendi nimed ning parsitakse, st võetakse XML dokumendist DataFile elementide vahel base64 kood, mis&lt;br /&gt;
 dekodeeritakse ning salvestatakse DataFile atribuutdi Filename järgi. Luuakse kaust/kaustad, hakatakse parsima, pärast vaadatakse mitu faili on kaustas ning kausta suurus&lt;br /&gt;
==Skript==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
# Impordime vajalikud teegid&lt;br /&gt;
import os&lt;br /&gt;
import sys&lt;br /&gt;
import glob&lt;br /&gt;
import time&lt;br /&gt;
import base64&lt;br /&gt;
import xml.dom.minidom&lt;br /&gt;
from xml.dom.minidom import parse&lt;br /&gt;
&lt;br /&gt;
# Loome vajalikud muutujad/massiivid&lt;br /&gt;
XMLDocument=&amp;quot;&amp;quot;&lt;br /&gt;
XMLDocuments=list()&lt;br /&gt;
&lt;br /&gt;
# Küsime kasutajalt faili nime või * juhul kui ta soovib töödelda kõikki kaustas olevaid faile&lt;br /&gt;
while (not os.path.exists(XMLDocument)):&lt;br /&gt;
    XMLDocument = raw_input(&amp;quot;Sisesta XML dokumendi nimi või * juhul kui soovid töödelda kõikki kaustas olevaid XML dokumente: &amp;quot;)&lt;br /&gt;
    # Kui kasutaja sisestas &amp;quot;*&amp;quot; siis salvestatakse kõik samas kaustas olevate XML dokumentide nimed massiivi ning kaktestatakse while tsükkel&lt;br /&gt;
    if XMLDocument == &amp;quot;*&amp;quot;:&lt;br /&gt;
        print &amp;quot;Kasutaja sisestas *&amp;quot;&lt;br /&gt;
        for files in glob.glob(&amp;quot;*.xml&amp;quot;):&lt;br /&gt;
            XMLDocuments.append(files)&lt;br /&gt;
        break&lt;br /&gt;
    # Kontrollime, kas kasutaja sisestatud dokumendi nime laiend on &amp;quot;.xml&amp;quot;&lt;br /&gt;
    elif XMLDocument[-4:] != &amp;quot;.xml&amp;quot;:&lt;br /&gt;
        print &amp;quot;Vale laiendiga nimi!&amp;quot;&lt;br /&gt;
    # Kui eelmistest kadalippidest läbitud kontrollime üle, kas dokument on olemas, et kuvada vastava sisuline teade&lt;br /&gt;
    elif not os.path.exists(XMLDocument):&lt;br /&gt;
        print &amp;quot;Faili ei eksisteeri!&amp;quot;&lt;br /&gt;
    # Juhul kui kasutaja sisestab ühe dokumendi lisame massiivi&lt;br /&gt;
    else:&lt;br /&gt;
        XMLDocuments.append(XMLDocument)&lt;br /&gt;
&lt;br /&gt;
# Kõik massiivis olevad dokumendid töötleme läbi&lt;br /&gt;
for XMLDocumentName in XMLDocuments:&lt;br /&gt;
    print &amp;quot;Dokumendi&amp;quot;, XMLDocumentName, &amp;quot;töötlemine&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    # Avame dokumendi&lt;br /&gt;
    XMLDocument = open(XMLDocumentName)&lt;br /&gt;
    # Loome dokumendi failidele kausta nimetuse&lt;br /&gt;
    dataFilesDir = XMLDocumentName[:-4]&lt;br /&gt;
    &lt;br /&gt;
    # Kontrollime, kas kaust on olemas, kui ei ole siis loome&lt;br /&gt;
    if not os.path.isdir(dataFilesDir):&lt;br /&gt;
        os.mkdir(dataFilesDir)&lt;br /&gt;
    &lt;br /&gt;
    # Käivitame kella, ehk anname muutujale hetke kellaaja&lt;br /&gt;
    seconds = time.time()&lt;br /&gt;
    # XML dokumendi parsimine&lt;br /&gt;
    XMLParsed = parse(XMLDocument)&lt;br /&gt;
    &lt;br /&gt;
    # Alustame failide salvestamisega dokumendist, kuvame infot kasutajale&lt;br /&gt;
    print &amp;quot;Dokumendi&amp;quot;, XMLDocumentName, &amp;quot;failid salvestatakse kausta:&amp;quot;, dataFilesDir&lt;br /&gt;
    # Iga DataFile elemendi kohta käivitatakse järgnev protsess&lt;br /&gt;
    for node in XMLParsed.getElementsByTagName(&amp;quot;DataFile&amp;quot;):&lt;br /&gt;
        # Dokumendi faili nimeks anname elemendi atribuudi, mis tähistab faili nime&lt;br /&gt;
        dataFileName = node.getAttribute(&amp;quot;Filename&amp;quot;)&lt;br /&gt;
        # Võtame elemendi väärtusest base64 kodeeritud andmed&lt;br /&gt;
        dataFileData = node.childNodes[0].nodeValue&lt;br /&gt;
        # Valmistame ette faili täispika asukoha koos nimega&lt;br /&gt;
        dataFileDir = os.path.join(dataFilesDir,dataFileName)&lt;br /&gt;
        # Avame faili, luuakse uus fail&lt;br /&gt;
        fileObj = open(dataFileDir, &amp;quot;w&amp;quot;)&lt;br /&gt;
        # Salvestame faili base64 dekodeeritud andmed&lt;br /&gt;
        fileObj.write(base64.b64decode(dataFileData))&lt;br /&gt;
        # Fail suletakse&lt;br /&gt;
        fileObj.close()&lt;br /&gt;
        #Trükime välja faili nime ja suuruse&lt;br /&gt;
        dataFileSize = os.path.getsize(dataFileDir)&lt;br /&gt;
        print dataFileName, &amp;quot;%0.3f KB&amp;quot; % float(dataFileSize/1024.0)&lt;br /&gt;
    &lt;br /&gt;
    # Loome/taasväärtustame muutujad&lt;br /&gt;
    dataFilesSize=0&lt;br /&gt;
    dataFilesCount=0&lt;br /&gt;
    folder_size = 0&lt;br /&gt;
    # Iga faili kohta kaustas toimub järgnev tegevus&lt;br /&gt;
    for (path, dirs, files) in os.walk(dataFilesDir):&lt;br /&gt;
        for file in files:&lt;br /&gt;
            # Tuletame faili täispika nime jälle&lt;br /&gt;
            dataFileName = os.path.join(path, file)&lt;br /&gt;
            # Liidame failide kogumahule faili mahu&lt;br /&gt;
            dataFilesSize += os.path.getsize(dataFileName)&lt;br /&gt;
            # Liidame faili loendurile ühe juurd&lt;br /&gt;
            dataFilesCount+=1&lt;br /&gt;
    # Trükime välja mitu faili kokku dokumendist kättesaadis ning kogumaht&lt;br /&gt;
    print &amp;quot;Kokku&amp;quot;,dataFilesCount,&amp;quot;faili mahuga %0.3f KB&amp;quot; % float(dataFilesSize/1024.0)&lt;br /&gt;
    # Näitame kaua kulus töötlemisele aega, lõpp lahutatud algus=stopper&lt;br /&gt;
    seconds = time.time() - seconds&lt;br /&gt;
    print &amp;quot;XML faili töötluseks kulus %.3f sekundit&amp;quot; % seconds&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Autor==&lt;br /&gt;
--[[User:Mvaling|Marko Valing, AK31(2010)]] 10:42, 28 January 2011 (EET)&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Skriptimiskeeled_aine_aruanded_2010_s%C3%BCgis&amp;diff=22875</id>
		<title>Skriptimiskeeled aine aruanded 2010 sügis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Skriptimiskeeled_aine_aruanded_2010_s%C3%BCgis&amp;diff=22875"/>
		<updated>2011-01-28T08:40:33Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: /* Marko Valing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Skriptimiskeeled]]&lt;br /&gt;
=Siia tulevad kodus tehtud tööde lingid=&lt;br /&gt;
&lt;br /&gt;
==Esitaja nimi==&lt;br /&gt;
*[[Skript, mis teeb maailma paremaks - BASH]]&lt;br /&gt;
*[[Skript, mis teeb maailma paremaks - Python]]&lt;br /&gt;
*[[Skript, mis teeb maailma paremaks - PowerShell]]&lt;br /&gt;
*[[Arvustused sellele skriptile]]&lt;br /&gt;
==Vabad ideed==&lt;br /&gt;
*[[Skript mis otsib üles turvaaukudega tarkvara]]&lt;br /&gt;
&lt;br /&gt;
==Alvar Unuks AK41==&lt;br /&gt;
Suurima andmemahuga paketite leidmine&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
!#/bin/bash&lt;br /&gt;
sed -ne &#039;/^Package: \(.*\)/{s//\1/;h;};/^Installed-Size: \(.*\)/{s//\1/;G;s/\n/ /;p;}&#039; /var/lib/dpkg/status | sort -rn&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Reget Kalamees DK21==&lt;br /&gt;
[[Skript otsib vabade Wifi AP-de hulgast kõige kiirema ühenduse ja haagib end selle külge]]&lt;br /&gt;
&lt;br /&gt;
==Kaspar Prei==&lt;br /&gt;
[[Skript leiab dublikaat failid]]&lt;br /&gt;
&lt;br /&gt;
==Lembit Elmik AK21==&lt;br /&gt;
&lt;br /&gt;
* Bash - Skript, mis kontrollib võrguühenduse olemasolu ning selle puudusel diagnoosib häda.&lt;br /&gt;
[[V6rgudiagnoosiskript]]&lt;br /&gt;
&lt;br /&gt;
* Python - SSH vigaste logimiste järgi source IP hosts.deny faili ja lisatud IP&#039;d mailile (saadetud õppejõu mailile)&lt;br /&gt;
&lt;br /&gt;
* PowerShell - Arvuti andmete (mälu hulk, protsessori tüüp jne.) kuvamine&lt;br /&gt;
&lt;br /&gt;
==Marko Valing==&lt;br /&gt;
*[[XML_päringute_kontroll]]&lt;br /&gt;
*[[XML dokumentide parsija]]&lt;br /&gt;
*[[Teenusemonitor]]&lt;br /&gt;
&lt;br /&gt;
==Lauri Liibert AK21==&lt;br /&gt;
* BASH [[Skript, mis otsib üles failid mille poole ei ole ammu pöördutud ja arhiveerib]]&lt;br /&gt;
* [[Skript, mis otsib üles failid mille poole ei ole ammu pöördutud ja arhiveerib - Python]]&lt;br /&gt;
* [[Skript, mis küsib ACL-i objekte AD-st - Powershell]]&lt;br /&gt;
&lt;br /&gt;
==Siim Liivand AK41==&lt;br /&gt;
* bash: [[skript, mis teeb midagi vajalikku hunniku graafikafailidega]]&lt;br /&gt;
* python: -&lt;br /&gt;
* powershell: -&lt;br /&gt;
&lt;br /&gt;
==Sander Tuulik AK41==&lt;br /&gt;
[[Skript mis otsib kõik pildi,video,muusika,dokumendi failid ja jagab need kaustadesse - BASH]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Skript mis otsib kõik pildi,video,muusika,dokumendi failid ja jagab need kaustadesse - Python]]&lt;br /&gt;
&lt;br /&gt;
==Kristjan Karmo AK41==&lt;br /&gt;
* [[Skript, mis teeb varukoopia WordPressi instantsist - BASH]]&lt;br /&gt;
* [[Skript, mis teeb varukoopia WordPressi instantsist - Python]]&lt;br /&gt;
* [[Skript, mis arhiveerib etteantud laiendiga failid - PowerShell]]&lt;br /&gt;
&lt;br /&gt;
==Chris Sinihelm AK41==&lt;br /&gt;
[[Skript, mis tõstab kõik väikesed .txt failid ühte folderisse - BASH]] &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Skript, millega saab public folderitesse õiguseid lisada - PowerShell]] &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Skript, mis otsib üles duplikaatfailid - Python]]&lt;br /&gt;
&lt;br /&gt;
==Nadežda Furs A31==&lt;br /&gt;
&lt;br /&gt;
==Sigmar Muuga DK31==&lt;br /&gt;
Skript, mis vaatab /var/log/auth.log faili ja võtab sealt enim ebaõnnestunud IP aadressid, mis üritasid teha sisse logimist SSH kaudu(lävend võiks näiteks olla 10 ebaõnnestunud katset) ning saadab need kas e-mailile või lisab tulemüüri reeglitesse(IPTABLES näiteks).&lt;br /&gt;
&lt;br /&gt;
Jah, ma tean, et on ka paremaid viise hoste blokeerida, näiteks kasutada hosts-allow parameetrit ssh konfiguratsioonis.&lt;br /&gt;
&lt;br /&gt;
===Bash versioon===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Skript, mis loeb läbi UNIX-i auth.log faili ja koostab IPTables block reeglid IP aadressidele,&lt;br /&gt;
# mille pealt on autentimine ebaõnnestunud vähemalt etteantud arv kordi&lt;br /&gt;
&lt;br /&gt;
# käivitamise näide:&lt;br /&gt;
# sh check_ip.sh /var/log/auth.log /etc/iptables_blocked.txt&lt;br /&gt;
&lt;br /&gt;
# Autor: Sigmar Muuga, DK31&lt;br /&gt;
&lt;br /&gt;
# mitme ebaõnnestumise korral me IP blokeerime&lt;br /&gt;
BLOCK_LEVEL=5&lt;br /&gt;
# auth.log faili asukoht&lt;br /&gt;
AUTH_LOG_FILE=$1&lt;br /&gt;
# tüüpilised veasituatsioonid&lt;br /&gt;
ERROR_PATTERNS=&amp;quot;error | illegal | not\ allowed&amp;quot;&lt;br /&gt;
# väljundfaili nimi (või asukoht)&lt;br /&gt;
IP_TABLES_FILE=$2&lt;br /&gt;
&lt;br /&gt;
# kontrollime etteantud argumenti&lt;br /&gt;
if [ -z &amp;quot;$1&amp;quot; ]; then&lt;br /&gt;
	echo &amp;quot;No command-line arguments.&amp;quot;&lt;br /&gt;
	exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ -z &amp;quot;$2&amp;quot; ]; then&lt;br /&gt;
	echo &amp;quot;No IPTABLES file specified.&amp;quot;&lt;br /&gt;
	exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# kontrollime, et faili saaks kirjutada&lt;br /&gt;
touch &amp;quot;$IP_TABLES_FILE&amp;quot;&lt;br /&gt;
if [ -e $IP_TABLES_FILE ]; then&lt;br /&gt;
	echo &amp;quot;IPTABLES file: &amp;quot;$IP_TABLES_FILE&lt;br /&gt;
else&lt;br /&gt;
	echo &amp;quot;Cannot write IPTABLES file!&amp;quot;&lt;br /&gt;
	exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# itereerime yle logiridade&lt;br /&gt;
more $AUTH_LOG_FILE | egrep &amp;quot;$ERROR_PATTERNS&amp;quot; | while read line; do&lt;br /&gt;
	address=$(echo $line | grep -Eo &#039;([0-9]{1,3}\.){3}[0-9]{1,3}&#039;)&lt;br /&gt;
	# kas on valiidne IP&lt;br /&gt;
	if [ ${#address} -gt 0 ]; then&lt;br /&gt;
		# loeme esinevuskorrad&lt;br /&gt;
		occurences=$(grep -c $address $AUTH_LOG_FILE)&lt;br /&gt;
		if [ $occurences -ge $BLOCK_LEVEL ]; then # kui on juba piisavalt feilinud IP&lt;br /&gt;
			added_occurences=$(grep -c $address $IP_TABLES_FILE)&lt;br /&gt;
			#kontrollime, et poleks juba lisatud&lt;br /&gt;
			if [ $added_occurences -lt 1 ]; then&lt;br /&gt;
				echo &amp;quot;Blacklisting &amp;quot;$address&amp;quot; with &amp;quot;$occurences&amp;quot; occurences&amp;quot;&lt;br /&gt;
				#kirjutame IPTABLES reegli&lt;br /&gt;
				echo &amp;quot;iptables -A INPUT -s &amp;quot;$address&amp;quot; -j DROP&amp;quot; &amp;gt;&amp;gt; $IP_TABLES_FILE&lt;br /&gt;
			fi&lt;br /&gt;
		fi&lt;br /&gt;
	fi&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
===Pythoni versioon===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
# -*- coding: latin-1 -*-&lt;br /&gt;
&lt;br /&gt;
import sys&lt;br /&gt;
import getopt&lt;br /&gt;
import os&lt;br /&gt;
import re&lt;br /&gt;
&lt;br /&gt;
# Skript, mis loeb läbi UNIX-i auth.log faili ja koostab IPTables block reeglid IP aadressidele,&lt;br /&gt;
# mille pealt on autentimine ebaõnnestunud vähemalt etteantud arv kordi&lt;br /&gt;
 &lt;br /&gt;
# käivitamise näide:&lt;br /&gt;
# py check_ip.py --logfile=/path/to/logfile --iptablesfile=/path/to/iptablesfile&lt;br /&gt;
 &lt;br /&gt;
# Autor: Sigmar Muuga, DK31&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    # mitme ebaõnnestumise korral me IP blokeerime&lt;br /&gt;
    BLOCK_LEVEL=5&lt;br /&gt;
    &lt;br /&gt;
    # kuvab kasutamise info&lt;br /&gt;
    def usage():&lt;br /&gt;
        print &#039;Programmi kasutamine:&#039;&lt;br /&gt;
        print &#039;py check_ip.py --logfile=/path/to/logfile --iptablesfile=/path/to/iptablesfile&#039;&lt;br /&gt;
    &lt;br /&gt;
    # loendab stringi esinemised etteantud failis&lt;br /&gt;
    def matchCountInFile(str, filename):&lt;br /&gt;
        log_file = open(filename, &#039;r&#039;)&lt;br /&gt;
        count = 0&lt;br /&gt;
        for line in log_file:&lt;br /&gt;
            if re.search(str, line):&lt;br /&gt;
                count=count+1&lt;br /&gt;
        return count&lt;br /&gt;
    &lt;br /&gt;
    try:&lt;br /&gt;
        # loeme ja kontrollime getopti abil argumendid&lt;br /&gt;
        opts, args = getopt.getopt(sys.argv[1:], &amp;quot;li:v&amp;quot;, [&amp;quot;logfile=&amp;quot;, &amp;quot;iptablesfile=&amp;quot;])&lt;br /&gt;
        AUTH_LOG_FILE = &#039;&#039;&lt;br /&gt;
        IP_TABLES_FILE = &#039;&#039;&lt;br /&gt;
        for opt, arg in opts:&lt;br /&gt;
            if opt == &#039;--logfile&#039;:&lt;br /&gt;
                AUTH_LOG_FILE = arg&lt;br /&gt;
            elif opt == &#039;--iptablesfile&#039;:&lt;br /&gt;
                IP_TABLES_FILE = arg&lt;br /&gt;
&lt;br /&gt;
        print &#039;AUTH_LOG_FILE=&#039; + AUTH_LOG_FILE&lt;br /&gt;
        print &#039;IP_TABLES_FILE=&#039; + IP_TABLES_FILE&lt;br /&gt;
&lt;br /&gt;
        if AUTH_LOG_FILE.__len__() &amp;lt; 1:&lt;br /&gt;
            raise Exception(&#039;Invalid auth log filename&#039;)&lt;br /&gt;
        if IP_TABLES_FILE.__len__() &amp;lt; 1:&lt;br /&gt;
            raise Exception(&#039;Invalid iptables filename&#039;)&lt;br /&gt;
        &lt;br /&gt;
        if not os.path.isfile(AUTH_LOG_FILE):&lt;br /&gt;
            raise Exception(&#039;Auth log file does not exist&#039;)&lt;br /&gt;
&lt;br /&gt;
        ip_pattern = re.compile(&#039;([0-9]{1,3}\.){3}[0-9]{1,3}&#039;)&lt;br /&gt;
        &lt;br /&gt;
        # valmistame logifaili lugemiseks ette&lt;br /&gt;
        log_file = open(AUTH_LOG_FILE, &#039;r&#039;)&lt;br /&gt;
        ip_address_array = []&lt;br /&gt;
        ip_tables_filehandle = None&lt;br /&gt;
        # itereerime yle logiridade&lt;br /&gt;
        for log_line in log_file:&lt;br /&gt;
            # read, mis on veaga&lt;br /&gt;
            if (re.search(&#039;error&#039;, log_line) != None or re.search(&#039;illegal&#039;,  log_line) != None or re.search(&#039;not allowed&#039;, log_line) != None):&lt;br /&gt;
                ip_address_match = re.search(ip_pattern, log_line)&lt;br /&gt;
                if (ip_address_match == None):&lt;br /&gt;
                    continue&lt;br /&gt;
                # leiame rea pealt IP aadressi&lt;br /&gt;
                ip_address = ip_address_match.group(0)&lt;br /&gt;
                occurences = matchCountInFile(ip_address, AUTH_LOG_FILE)&lt;br /&gt;
                # vajadusel blacklistime&lt;br /&gt;
                if occurences &amp;gt;= BLOCK_LEVEL and not ip_address in ip_address_array:&lt;br /&gt;
                    ip_address_array.append(ip_address)&lt;br /&gt;
                    print &amp;quot;Blacklisting &amp;quot; + ip_address + &amp;quot; with &amp;quot; + str(occurences) + &amp;quot; occurences&amp;quot;&lt;br /&gt;
                    if ip_tables_filehandle == None:&lt;br /&gt;
                        ip_tables_filehandle = open(IP_TABLES_FILE, &#039;w&#039;)&lt;br /&gt;
                    ip_tables_filehandle.write(&amp;quot;iptables -A INPUT -s &amp;quot; + ip_address + &amp;quot; -j DROP\n&amp;quot;)&lt;br /&gt;
        log_file.close()&lt;br /&gt;
&lt;br /&gt;
        if (ip_tables_filehandle != None):&lt;br /&gt;
            ip_tables_filehandle.close()&lt;br /&gt;
&lt;br /&gt;
    except getopt.GetoptError, err:&lt;br /&gt;
        print str(err)&lt;br /&gt;
        usage()&lt;br /&gt;
        sys.exit(2)&lt;br /&gt;
&lt;br /&gt;
# k2ivitame meetodi&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Siim Kullerkupp AK21==&lt;br /&gt;
&lt;br /&gt;
*[[Skript, mis otsib arvutist kõik .mp3 failid ja teeb nendest playlisti-Powershell]]&lt;br /&gt;
*[[Skript, mis otsib pilte ja loob kaustad aasta järgi ning tõstab vastava aasta pildi vastava aasta kausta-Python]]&lt;br /&gt;
*[[Skript, mis teeb teatud kaustast backupi ja kustutab üle 30 päeva vanad backupid ära-BASH]]&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=XML_p%C3%A4ringute_kontroll&amp;diff=22874</id>
		<title>XML päringute kontroll</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=XML_p%C3%A4ringute_kontroll&amp;diff=22874"/>
		<updated>2011-01-28T08:39:46Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Skriptimiskeeled]]&lt;br /&gt;
==Probleem==&lt;br /&gt;
Asutused, kes ei tohiks teha SOAP päringuid serveri pihta on vaja tuvastada.&lt;br /&gt;
&lt;br /&gt;
On olemas dokumendivahetuskeskus(edasipidi DVK), mis vahendab asutuste erinevate dokumendihaldussüsteemide(edaspidi DHS) dokumente. Selleks, et dokumente allalaadida ning muid toiminguid teha, teeb DHS erinevaid päringuid DVKsse. Et vähendada koormust on vaja välja uurida kõik asutuste registrikoodid, kes ei tohiks tegelikult päringuid teha.&lt;br /&gt;
&lt;br /&gt;
==Skripti kirjeldus==&lt;br /&gt;
Skriptile antakse sisendiks päringute logi fail. Logi failist parsitakse välja registrikoodid. Seejärel on meil olemas kõik registrikoodid, kes on päringuid teinud vastavalt logi ajavahemikule. Peale seda laeme alla asutuste registrikoodid kellele on lubatud päringuid teha. Siis võrdleme registrikoode ning saame teada, kes teevad päringuid olenemata, kas nad võivad teha.&lt;br /&gt;
&lt;br /&gt;
==Skript==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
export LC_ALL=C&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Palun sisesta tehtud päringute logi faili nimi:&amp;quot;&lt;br /&gt;
# Salvestame muutujana logi faili nime, mida on tarvis töödelda, otsida&lt;br /&gt;
# üles tehtud päringute registrikoodid. Kasutame tsüklid ning if lauset,&lt;br /&gt;
# et sisendiks oleks kindlasti eksisteeriv fail.&lt;br /&gt;
while [ ! -f LOGI ]; do&lt;br /&gt;
read LOGI&lt;br /&gt;
if [ ! -f $LOGI ]&lt;br /&gt;
then&lt;br /&gt;
    echo &amp;quot;Sellist faili $LOGI ei eksisteeri! Palun sisesta õige faili nimi:&amp;quot;&lt;br /&gt;
elif [ -f $LOGI ]&lt;br /&gt;
then&lt;br /&gt;
    echo &amp;quot;Fail eksisteerib!&amp;quot;&lt;br /&gt;
    break&lt;br /&gt;
fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Koostan tehtud päringute registrikoodide nimekirja&amp;quot;&lt;br /&gt;
# Eraldame registrikoodid tehtud päringutest, registrikoodid asuvad &lt;br /&gt;
# &amp;lt;xtee:asutus&amp;gt; ning &amp;lt;/xtee:asutus&amp;gt; elementida vahel ja salvestame&lt;br /&gt;
# tulemused ajutisse faili tegijad2.txt&lt;br /&gt;
sed -n &#039;s|.*&amp;lt;\(xtee:asutus\)&amp;gt;\(.*\)&amp;lt;/*\1&amp;gt;.*|\2|p&#039; $LOGI &amp;gt; tegijad2.txt&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Toimub registrikoodide loendus ja sorteerimine, jäetakse alles ainult unikaalsed&amp;quot;&lt;br /&gt;
# Sorteerime faili tegijad2.txt sisu nii, et jäetakse alles ainult &lt;br /&gt;
# unikaalsed registrikoodid ning pannakse numbrilisse järjekorda&lt;br /&gt;
sort tegijad2.txt | uniq | sort -n &amp;gt; tegijad.txt&lt;br /&gt;
# Kustutame ajutise faili&lt;br /&gt;
rm tegijad2.txt&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Laen alla lubatud päringu tegijate registrikoodid: http://www.eesti.ee/portaal/dvk.asutused&amp;quot;&lt;br /&gt;
# Laeme alla aadressilt http://www.eesti.ee/portaal/dvk.asutused lehe ninf&lt;br /&gt;
# salvestame ajutisse faili lubatud2.txt, kusjuures wget infot ei näidata&lt;br /&gt;
wget -O lubatud2.txt http://www.eesti.ee/portaal/dvk.asutused --quiet&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Eraldame registrikoodid allalaetud tabelist&amp;quot;&lt;br /&gt;
# Ajutisest failist võtame read, mis algavad &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; tagidega, seejärel&lt;br /&gt;
# võtame stringid/registrikoodid, mis jäävad &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; ning &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; vahele&lt;br /&gt;
# ja salvestame tulemuse faili lubatud.txt&lt;br /&gt;
cat lubatud2.txt | grep &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;quot; | sed -e &#039;s/^&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;//&#039; -e &#039;s/&amp;lt;\/td&amp;gt;&amp;lt;td&amp;gt;.*$//&#039; &amp;gt; lubatud.txt&lt;br /&gt;
# Kustutame ajutise faili&lt;br /&gt;
rm lubatud2.txt&lt;br /&gt;
&lt;br /&gt;
echo -e &amp;quot;\nJärgmised asutused ei tohiks päringuid serveri pihta teha:&amp;quot;&lt;br /&gt;
grep -v -f lubatud.txt tegijad.txt &amp;gt; keelatud.txt&lt;br /&gt;
cat keelatud.txt&lt;br /&gt;
echo &amp;quot;Need registrikoodid salvestati faili keelatud.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Kustutame ajutised failid&lt;br /&gt;
rm lubatud.txt tegijad.txt&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=XML_p%C3%A4ringute_sageduse_kontroll_-_BASH&amp;diff=22871</id>
		<title>XML päringute sageduse kontroll - BASH</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=XML_p%C3%A4ringute_sageduse_kontroll_-_BASH&amp;diff=22871"/>
		<updated>2011-01-28T08:34:32Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: moved XML päringute sageduse kontroll - BASH to XML päringute kontroll&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[XML päringute kontroll]]&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=XML_p%C3%A4ringute_kontroll&amp;diff=22870</id>
		<title>XML päringute kontroll</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=XML_p%C3%A4ringute_kontroll&amp;diff=22870"/>
		<updated>2011-01-28T08:34:32Z</updated>

		<summary type="html">&lt;p&gt;Mvaling: moved XML päringute sageduse kontroll - BASH to XML päringute kontroll&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Skriptimiskeeled]]&lt;br /&gt;
==Probleem==&lt;br /&gt;
Asutused teevad liiga tihti teatud XML päringuid, mis koormab serverit tarbetult.&lt;br /&gt;
&lt;br /&gt;
On olemas dokumendivahetuskeskus(edasipidi DVK), mis vahendab asutuste erinevate dokumendihaldussüsteemide(edaspidi DHS) dokumente. Selleks, et dokumente allalaadida, teeb DHS päringu &amp;quot;dhl:receiveDocuments&amp;quot; DVKsse. Kuna dokumendivahetus ei ole nii tihe, st asutusele ei tule iga minuti tagant uusi dokumente, siis ei ole ka tarvis teha päringut iga 1-59 minuti tagant. Piisab kui päringut tehakse iga tunni tagant.&lt;br /&gt;
&lt;br /&gt;
==Skripti kirjeldus==&lt;br /&gt;
Skriptile antakse ette maksimaalne intervalli aeg, alla mille kuvatakse liiga tihti tehtud XML päringu registrikoodid (sisalduvad XMLis endas). Määratakse ka XML päringu nimed, mida kontrollitakse.&lt;/div&gt;</summary>
		<author><name>Mvaling</name></author>
	</entry>
</feed>