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

<channel>
	<title>Sec &#34;IP&#34; nix</title>
	<atom:link href="http://www.ugurengin.com/blog/feed" rel="self" type="application/rss+xml" />
	<link>http://www.ugurengin.com/blog</link>
	<description>Uğur Engin</description>
	<lastBuildDate>Fri, 03 Feb 2012 23:00:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Nohup Kullanımı 2</title>
		<link>http://www.ugurengin.com/blog/nohup-kullanimi-2.html</link>
		<comments>http://www.ugurengin.com/blog/nohup-kullanimi-2.html#comments</comments>
		<pubDate>Sun, 29 Jan 2012 23:58:55 +0000</pubDate>
		<dc:creator>Uğur Engin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[disown]]></category>
		<category><![CDATA[nice command]]></category>
		<category><![CDATA[nohup]]></category>
		<category><![CDATA[renice]]></category>

		<guid isPermaLink="false">http://www.ugurengin.com/blog/?p=2011</guid>
		<description><![CDATA[Burada nohup kullanımı ile ilgili bir giriş yapmıştım.Fakat üzerine eklenmesi gereken bir kaç ufak detayın ve disown gibi aynı işleve sahip farklı bir komut&#8217;un da anlatılması gerektiğini fark ettim.Çalıştırılacak uygulama veya komuta ait proses, tıpkı açılan her bir proses gibi yüksek seviyeli bir öncelik ile çalışır.(&#8221; high priority number &#8220;0&#8243;) Bu durumda nohup içerisine nice [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ugurengin.com/blog/nohup-kullanimi.html" target="_blank">Burada nohup</a> kullanımı ile ilgili bir giriş yapmıştım.Fakat üzerine eklenmesi gereken bir kaç ufak detayın ve disown gibi aynı işleve sahip farklı bir komut&#8217;un da anlatılması gerektiğini fark ettim.Çalıştırılacak uygulama veya komuta ait proses, tıpkı açılan her bir proses gibi yüksek seviyeli bir öncelik ile çalışır.(&#8221; high priority number &#8220;0&#8243;)</p>
<p>Bu durumda nohup içerisine nice -n argumanı eklenerek  açılacak yeni proses&#8217;in en düşük seviyede(19)  veya daha farklı seviyelerde çalışması sağlatılabilir.Aşağıda, bu durumu irdeleyen örnek bir komut kullanılarak sonucu hemen alt kısmına eklendi.</p>
<p><span style="color: #008000;">nohup nice -n 19 seq 1 9999999999 &gt; /tmp/out &amp;</span></p>
<p><strong><span style="color: #808080;"><span style="color: #ff0000;"> PID    USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND<br />
28544</span> root      36  <span style="color: #ff0000;">19</span>    61496  616   540 R    <span style="color: #ff0000;">45.3</span>    <span style="color: #ff0000;">0.1</span>           0:11.32   <span style="color: #ff0000;"> seq</span></span></strong></p>
<p>NI: Proses çalışma önceliği(Process priority)</p>
<p>Bu durumda, 1 numaralı parent proses&#8217;e migrate olan 28544 nolu yeni proses&#8217;in çalışma önceliği 19 ile set edilerek en alt seviyede çalışması sağlandı.Artık bu proses, cpu kullanımını minumum seviyede tutacağı gibi yoğun bir sistem üzerinde diğer proses&#8217;lerin altında çalışarak sistem kaynaklarını da yormayacaktır.</p>
<p>Bu arada, nohup belirtilen amaçlar için tek çözüm değildir.Bash kabuğu üzerinde desteklenen &#8220;disown&#8221;  isimli bir komut daha vardır ki çalıştırılan proses&#8217;e ait job number&#8217;a göre hareket eder ve yine nohup ile aynı işlevi yapar.Fakat disown ile çalıştırılacak komut veya script betiği, bir sh dosyasına  eklenerek çalıştırılmalıdır.</p>
<p>Örnek:</p>
<p><span style="color: #008000;">touch test.sh &amp;&amp; echo &#8220;nice -n 19 seq 1 9999999999 &gt; /tmp/out&#8221;  &gt; test.sh &amp;&amp; ls -l test.sh &amp;&amp; echo $?</span><br />
<span style="color: #ff0000;">-rw-r&#8211;r&#8211; 1 root root 39 Jan  29 23:44 test.sh</span><br />
<span style="color: #ff0000;">0</span></p>
<p>Yukarıdaki komut ile &#8220;nice -n 19 seq 1 9999999999 &gt; /tmp/out&#8221; tırnak içerisinde belirtilmiş olan komutu; string bir ifade gibi, test.sh isimli yeni bir dosya oluşturularak içerisine yazılmasını sağlıyoruz.Bu işlem esnasında dosya kontrolü ve herhangi bir hata dönecek mi diye de &#8220;$?&#8221; ifadesi ile kontrol ediyoruz.</p>
<p>test.sh isimli dosyanın disown edilme aşaması ve ps ile proses kontrolü.<br />
<span style="color: #008000;">sh test.sh &amp;</span><br />
<span style="color: #008000;">[1] 28978</span><br />
<span style="color: #008000;">[root@matrix tools]# disown -h</span></p>
<p><span style="color: #008000;">ps -aux | grep seq</span><br />
Warning: bad syntax, perhaps a bogus &#8216;-&#8217;? See /usr/share/doc/procps-3.2.7/FAQ<br />
<span style="color: #ff0000;">root     28979 87.9  0.1  61496   612 pts/0    RN   06:30   0:49 seq 1 9999999999</span></p>
<p>Şuanda disown edilen script, en tepede bulunan 1 numaralı parent proses&#8217;e migrate edilerek arka planda çalışmaya başladı.Artık shell session kapatılsa dahi işlemler arka planda çalışmaya devam ediyor olacaktır.</p>
<p>Detaylar:</p>
<p>&#8220;man bash&#8221;</p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.ugurengin.com%2Fblog%2Fnohup-kullanimi-2.html&amp;t=Nohup%20Kullan%C4%B1m%C4%B1%202" id="facebook_share_both_2011" style="font-size:11px; line-height:13px; font-family:'lucida grande',tahoma,verdana,arial,sans-serif; text-decoration:none; padding:2px 0 0 20px; height:16px; background:url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif) no-repeat top left;">Share on Facebook</a>
	<script type="text/javascript">
	<!--
	var button = document.getElementById('facebook_share_link_2011') || document.getElementById('facebook_share_icon_2011') || document.getElementById('facebook_share_both_2011') || document.getElementById('facebook_share_button_2011');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_2011') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	-->
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://www.ugurengin.com/blog/nohup-kullanimi-2.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nohup Kullanımı</title>
		<link>http://www.ugurengin.com/blog/nohup-kullanimi.html</link>
		<comments>http://www.ugurengin.com/blog/nohup-kullanimi.html#comments</comments>
		<pubDate>Sun, 29 Jan 2012 02:53:26 +0000</pubDate>
		<dc:creator>Uğur Engin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[nohup]]></category>
		<category><![CDATA[nohup kullanımı]]></category>
		<category><![CDATA[process nohup]]></category>
		<category><![CDATA[proses nohup]]></category>

		<guid isPermaLink="false">http://www.ugurengin.com/blog/?p=1990</guid>
		<description><![CDATA[Kabuk üzerinde yapılan işlemler, bir parent proses altında kendine ait bir child proses içerisinde çalışır.Örneğin bash kabuğunda bir oturumunuz var ve bir script çalıştırıyorsunuz oturum kapandığı esnada çalışır durumda olan ilgili script de sonlanır.Teorik olarak kapanma sebeplerini açıklamak istiyorum.Oturum açıldığı esnada bir parent proses açılır ve yapılan ek işlemler bu proses&#8217;e child proses olarak bağlanır.Dolayısıyla [...]]]></description>
			<content:encoded><![CDATA[<p>Kabuk üzerinde yapılan işlemler, bir parent proses altında kendine ait bir child proses içerisinde çalışır.Örneğin bash kabuğunda bir oturumunuz var ve bir script çalıştırıyorsunuz oturum kapandığı esnada çalışır durumda olan ilgili script de sonlanır.Teorik olarak kapanma sebeplerini açıklamak istiyorum.Oturum açıldığı esnada bir parent proses açılır ve yapılan ek işlemler bu proses&#8217;e child proses olarak bağlanır.Dolayısıyla oturum kapatıldığı esnada herhangi bir script çalışır durumda olsa bile parent proses, 1 numaralı &#8220;SIGHUP&#8221; sinyalini alacağı için kısa bir süre içerisinde kendine bağlı olan child proses&#8217;leri de sonlandıracaktır.Ancak &#8220;nohup&#8221; gibi hareket eden bir araç ile scriptler çalıştırılır ise durum tam anlamıyla farklı bir hal alır ve oturum kapansa bile proses sonlanmaz.</p>
<p>Nohup, çalıştırılan işlemlere ait child proses&#8217;leri, en yukarıda bulunan 1 numaralı parent prosese migrate eder ve gelebilecek hup sinyallerinden child prosesleri korur. Dolayısıyla oturum kapansa bile çalışan işleme ait proses, 1 nolu parent proses altına migrate edilerek arka planda sonlanana kadar çalışması sağlanır.</p>
<p>Nohup kullanım örneği:</p>
<p><span style="color: #008000;"> nohup seq 0 9999990000000 1&gt;/tmp/out &lt; /dev/null &amp;</span></p>
<p>Yukarıdaki komut ile ulaşmak istenilen asıl amaç, &#8220;seq&#8221; komutu  ile belirtilen doğal sayılar arasında ramdom sayılar üretip, /tmp klasörü altında bulunan out isimli dosyaya sonucu yazdırmaktır.Komut sonuna dahil edilen &#8220;/dev/null&#8221; ise klavye davranışları önlemek adına kullanılır.Nohup ile çalıştırma işlemi başladıktan hemen sonra, shell oturumu kapatılıp yeni bir oturum açılarak proses&#8217;in o anki durumu &#8220;ps&#8221; komutuna verilecek çeşitli direktifler ile detaylıca veya top komutu ile basitce gözlemlenebilir.</p>
<p style="text-align: center;"><a href="http://www.ugurengin.com/blog/img/seq.jpg" rel="lightbox[1990]"><img class="aligncenter" src="http://www.ugurengin.com/blog/img/seq.jpg" alt="" width="567" height="38" /></a></p>
<p>Nohup edilen programa ait 25571 nolu proses&#8217;in 1 numarali parent proses altında çalıştığı, &#8220;pstree -p 1&#8243; komutu ile görülmek istenirse , aşapıdaki gibi bir görüntü ortaya çıkar.</p>
<p><img class="aligncenter" src="http://www.ugurengin.com/blog/img/pidppid.jpg" alt="" width="531" height="53" /><br />
Yukarıdaki ekran görüntüsü 25571 nolu child proses&#8217;in  1582 &gt; 24634 &gt; 25547 &gt; 25549 nolu parent prosesler dizisi altında olduğunu ifade ediyor.Zira zaten her proses, bir üst seviyede bulunan diğer bir parent prosese bağlıdır.</p>
<p>Not: Ancak işletim sistemi kabuğunun çeşitli özelliklerine göre bu tür proses korumaları yapılabilir.</p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.ugurengin.com%2Fblog%2Fnohup-kullanimi.html&amp;t=Nohup%20Kullan%C4%B1m%C4%B1" id="facebook_share_both_1990" style="font-size:11px; line-height:13px; font-family:'lucida grande',tahoma,verdana,arial,sans-serif; text-decoration:none; padding:2px 0 0 20px; height:16px; background:url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif) no-repeat top left;">Share on Facebook</a>
	<script type="text/javascript">
	<!--
	var button = document.getElementById('facebook_share_link_1990') || document.getElementById('facebook_share_icon_1990') || document.getElementById('facebook_share_both_1990') || document.getElementById('facebook_share_button_1990');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_1990') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	-->
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://www.ugurengin.com/blog/nohup-kullanimi.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First Process &#8220;/sbin/init&#8221;</title>
		<link>http://www.ugurengin.com/blog/sbininit.html</link>
		<comments>http://www.ugurengin.com/blog/sbininit.html#comments</comments>
		<pubDate>Sun, 29 Jan 2012 00:16:52 +0000</pubDate>
		<dc:creator>Uğur Engin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[/sbin/init]]></category>
		<category><![CDATA[first process]]></category>
		<category><![CDATA[ilk proses]]></category>
		<category><![CDATA[init]]></category>

		<guid isPermaLink="false">http://www.ugurengin.com/blog/?p=1984</guid>
		<description><![CDATA[/sbin/init isimli başlangıç prosesi her zaman 1 nolu pid numarayi alır.Burada enteresan olan durum: bu proses&#8217;e ait herhangi bir parent prosess olmayışıdır.Dolayısıyla her zamana &#8220;0&#8243; olarak değerlendirilir. Not: Init isimli prosess, linux açıldığı esnada devreye girer. İlk etapta &#8220;/etc/inittab&#8221; isimli dosyada set edilmiş olan runlevel numarasını okur ve  işletim sistemini bu doğrultuda açar. Aşağıda bulunan [...]]]></description>
			<content:encoded><![CDATA[<p>/sbin/init isimli başlangıç prosesi her zaman 1 nolu pid numarayi alır.Burada enteresan olan durum: bu proses&#8217;e ait herhangi bir parent prosess olmayışıdır.Dolayısıyla her zamana &#8220;0&#8243; olarak değerlendirilir.</p>
<p>Not: Init isimli prosess, linux açıldığı esnada devreye girer. İlk etapta &#8220;/etc/inittab&#8221; isimli dosyada set edilmiş olan runlevel numarasını okur ve  işletim sistemini bu doğrultuda açar.</p>
<p>Aşağıda bulunan kütüphaneler ile entegre çalışır.</p>
<p>libsepol.so.1 =&gt; /lib64/libsepol.so.1 (0x0000003900c00000)<br />
libselinux.so.1 =&gt; /lib64/libselinux.so.1 (0&#215;0000003900800000)<br />
libc.so.6 =&gt; /lib64/libc.so.6 (0x00000038ff400000)<br />
libdl.so.2 =&gt; /lib64/libdl.so.2 (0x00000038ff800000)<br />
/lib64/ld-linux-x86-64.so.2 (0x00000038ff000000)</p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.ugurengin.com%2Fblog%2Fsbininit.html&amp;t=First%20Process%20%22%2Fsbin%2Finit%22" id="facebook_share_both_1984" style="font-size:11px; line-height:13px; font-family:'lucida grande',tahoma,verdana,arial,sans-serif; text-decoration:none; padding:2px 0 0 20px; height:16px; background:url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif) no-repeat top left;">Share on Facebook</a>
	<script type="text/javascript">
	<!--
	var button = document.getElementById('facebook_share_link_1984') || document.getElementById('facebook_share_icon_1984') || document.getElementById('facebook_share_both_1984') || document.getElementById('facebook_share_button_1984');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_1984') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	-->
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://www.ugurengin.com/blog/sbininit.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to do display all pid number of a parent process id in unix.</title>
		<link>http://www.ugurengin.com/blog/how-to-do-display-all-pid-number-of-a-parent-process-id-in-unix.html</link>
		<comments>http://www.ugurengin.com/blog/how-to-do-display-all-pid-number-of-a-parent-process-id-in-unix.html#comments</comments>
		<pubDate>Thu, 26 Jan 2012 16:28:02 +0000</pubDate>
		<dc:creator>Uğur Engin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[child process]]></category>
		<category><![CDATA[display ppid]]></category>
		<category><![CDATA[linux process]]></category>
		<category><![CDATA[parent process]]></category>
		<category><![CDATA[pid]]></category>
		<category><![CDATA[ppid]]></category>

		<guid isPermaLink="false">http://www.ugurengin.com/blog/?p=1972</guid>
		<description><![CDATA[ps ile pid (child)+ ppid number(parent) ve prosess&#8217;lere ait diğer  ekstra bilgileri almak gayet basit. ps -o user,pcpu,pmem,pid,ppid,command axx &#8211;forest &#124; grep  &#8216;apache&#8217; &#124; sort apache    0.0 17.0 11944 32311  \_ /usr/sbin/httpd apache    0.6 18.1 11946 32311  \_ /usr/sbin/httpd apache    0.6 18.1 11948 32311  \_ /usr/sbin/httpd apache    0.6 18.1 11953 32311  \_ /usr/sbin/httpd apache    0.7 [...]]]></description>
			<content:encoded><![CDATA[<p>ps ile pid (child)+ ppid number(parent) ve prosess&#8217;lere ait diğer  ekstra bilgileri almak gayet basit.</p>
<p><span style="color: #008000;">ps -o user,pcpu,pmem,pid,ppid,command axx &#8211;forest | grep  &#8216;apache&#8217; | sort</span></p>
<p><span style="color: #808080;">apache    0.0 17.0 11944 <span style="text-decoration: underline;"><strong>32311</strong></span>  \_ /usr/sbin/httpd</span><br />
<span style="color: #808080;">apache    0.6 18.1 11946 32311  \_ /usr/sbin/httpd</span><br />
<span style="color: #808080;">apache    0.6 18.1 11948 32311  \_ /usr/sbin/httpd</span><br />
<span style="color: #808080;">apache    0.6 18.1 11953 32311  \_ /usr/sbin/httpd</span><br />
<span style="color: #808080;">apache    0.7 18.1 11945 32311  \_ /usr/sbin/httpd</span><br />
<span style="color: #808080;">apache    0.7 18.1 11952 32311  \_ /usr/sbin/httpd</span><br />
<span style="color: #808080;">apache    0.9 18.4 11949 32311  \_ /usr/sbin/httpd</span><br />
<span style="color: #808080;">apache    1.0 18.1 11947 32311  \_ /usr/sbin/httpd</span><br />
<span style="color: #808080;">apache    1.0 18.4 11950 32311  \_ /usr/sbin/httpd</span><br />
<span style="color: #808080;">apache    1.1 18.4 11951 32311  \_ /usr/sbin/httpd</span><br />
<span style="color: #808080;">apache    3.1 18.1 12150 32311  \_ /usr/sbin/httpd</span><span style="color: #808080;"><br />
</span></p>
<p>Yukarıdaki komut; &#8220;apache&#8221; isimli kullanıcıya ait prosess,memory,pid(prosess id),ppid(parent prosess id) ve prosess&#8217;in bağlı olduğu forest&#8217;ları sort ederek gösterir. Ek olarak , PPID numarası bilinen bir prosess&#8217;in tüm child prosess&#8217;leri de aşağıdaki komut ile tespit edilebilir.</p>
<p><span style="color: #008000;">pstree -p 32311 -n</span><br />
<span style="color: #808080;"><br />
httpd(32311)ââ¬âpipelog(12421)</span><br />
<span style="color: #808080;">             ââhttpd(12422)</span><br />
<span style="color: #808080;">             ââhttpd(12423)</span><br />
<span style="color: #808080;">             ââhttpd(12424)</span><br />
<span style="color: #808080;">             ââhttpd(12425)</span><br />
<span style="color: #808080;">             ââhttpd(12426)</span><br />
<span style="color: #808080;">             ââhttpd(12427)</span><br />
<span style="color: #808080;">             ââhttpd(12428)</span><br />
<span style="color: #808080;">             ââhttpd(12429)</span><br />
<span style="color: #808080;">             ââhttpd(12430)</span><br />
<span style="color: #808080;">             ââhttpd(12431)</span></p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.ugurengin.com%2Fblog%2Fhow-to-do-display-all-pid-number-of-a-parent-process-id-in-unix.html&amp;t=How%20to%20do%20display%20all%20pid%20number%20of%20a%20parent%20process%20id%20in%20unix." id="facebook_share_both_1972" style="font-size:11px; line-height:13px; font-family:'lucida grande',tahoma,verdana,arial,sans-serif; text-decoration:none; padding:2px 0 0 20px; height:16px; background:url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif) no-repeat top left;">Share on Facebook</a>
	<script type="text/javascript">
	<!--
	var button = document.getElementById('facebook_share_link_1972') || document.getElementById('facebook_share_icon_1972') || document.getElementById('facebook_share_both_1972') || document.getElementById('facebook_share_button_1972');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_1972') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	-->
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://www.ugurengin.com/blog/how-to-do-display-all-pid-number-of-a-parent-process-id-in-unix.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Listing all scheduled tasks on a server</title>
		<link>http://www.ugurengin.com/blog/listing-all-scheduled-tasks-on-a-server.html</link>
		<comments>http://www.ugurengin.com/blog/listing-all-scheduled-tasks-on-a-server.html#comments</comments>
		<pubDate>Wed, 25 Jan 2012 10:10:39 +0000</pubDate>
		<dc:creator>Uğur Engin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[crontab]]></category>
		<category><![CDATA[crontab list]]></category>
		<category><![CDATA[crontab users]]></category>
		<category><![CDATA[cut command]]></category>
		<category><![CDATA[scheduled task linux]]></category>

		<guid isPermaLink="false">http://www.ugurengin.com/blog/?p=1956</guid>
		<description><![CDATA[Kayıtlı tüm kullanıcılara ait schedul task listesini verir. #!/bin/bash for i in `cat /etc/passwd &#124; cut -d &#8216;:&#8217; -f1 &#124; sort &#124;awk &#8216;{print $1} prin $0&#8242; &#124; uniq` ; do crontab -l -u $i done exit Çıktının bir kısmı [root@matrix tools]# sh cron.sh no crontab for adm no crontab for apache no crontab for avahi-autoipd [...]]]></description>
			<content:encoded><![CDATA[<p>Kayıtlı tüm kullanıcılara ait schedul task listesini verir.</p>
<p><span style="color: #008000;">#!/bin/bash<br />
for i in `cat /etc/passwd | cut -d &#8216;:&#8217; -f1 | sort |awk &#8216;{print $1} prin $0&#8242; | uniq` ;<br />
do<br />
crontab -l -u $i<br />
done<br />
exit<br />
</span><br />
Çıktının bir kısmı</p>
<p>[root@matrix tools]# sh cron.sh<br />
no crontab for adm<br />
no crontab for apache<br />
no crontab for avahi-autoipd<br />
no crontab for bin<br />
no crontab for clamav<br />
no crontab for daemon<br />
no crontab for dbus<br />
no crontab for ftp<br />
no crontab for gopher<br />
no crontab for hackedusr<br />
no crontab for haldaemon<br />
no crontab for halt<br />
no crontab for lp<br />
no crontab for mail<br />
no crontab for mailnull<br />
no crontab for mysql<br />
no crontab for news<br />
no crontab for nginx<br />
no crontab for nobody<br />
no crontab for nscd<br />
no crontab for ntp<br />
no crontab for operator<br />
no crontab for oprofile</p>
<p>Bu entry&#8217;i girmemin  traji komik bir yanı oldu bugün.Önüme 28 adet SQL Query sorusu, sanırım ortalama 4 sayfa da linux ve database ile alakalı çeşitli sorular içeren bir (bash scripting de dahil) soru kitapçığı kondu.<br />
Linux ile ilgili olan ilk soru, sistem üzerinde kayıtlı olan tüm kullanıcılara ait cron listesini veren bir script yazılması şeklindeydi.Diğer sorulara odaklanırken bu sorunun çözümünü muallak olarak yarım bıraktım.Fakat otobüs ile eve dönerken aklıma bu soru geldi ve istenen işlevi yapan scripti ancak ayaktayken telefonuma kodlayabildim.  :)<br />
Fakat kağıt üzerinde yarımca kaldı.<br />
&#8220;Kısacası hayat; insana her an, her bildiğiniz şeyi gösterebilme fırsatı tanımıyor bazen.&#8221;</p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.ugurengin.com%2Fblog%2Flisting-all-scheduled-tasks-on-a-server.html&amp;t=Listing%20all%20scheduled%20tasks%20on%20a%20server" id="facebook_share_both_1956" style="font-size:11px; line-height:13px; font-family:'lucida grande',tahoma,verdana,arial,sans-serif; text-decoration:none; padding:2px 0 0 20px; height:16px; background:url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif) no-repeat top left;">Share on Facebook</a>
	<script type="text/javascript">
	<!--
	var button = document.getElementById('facebook_share_link_1956') || document.getElementById('facebook_share_icon_1956') || document.getElementById('facebook_share_both_1956') || document.getElementById('facebook_share_button_1956');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_1956') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	-->
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://www.ugurengin.com/blog/listing-all-scheduled-tasks-on-a-server.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>don&#8217;t compress image with mod_deflate</title>
		<link>http://www.ugurengin.com/blog/dont-compress-image-with-mod_deflate.html</link>
		<comments>http://www.ugurengin.com/blog/dont-compress-image-with-mod_deflate.html#comments</comments>
		<pubDate>Wed, 25 Jan 2012 00:12:13 +0000</pubDate>
		<dc:creator>Uğur Engin</dc:creator>
				<category><![CDATA[HTTPD Server]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[mod_deflate]]></category>

		<guid isPermaLink="false">http://www.ugurengin.com/blog/?p=1946</guid>
		<description><![CDATA[Apache üzerinde mod_deflate ile compressing yapıyor ve image&#8217;ların compress edilmesini istemiyorsanız; location arasına yazılacak aşağıdaki syntax aracılığıyla, belirtilen image tiplerini compressing dışında tutabilirsiniz.Bu durumda seneryo şöyle olur, &#8220;AddOutputFilterByType DEFLATE&#8221;  ile izin verilen diğer  content compress edilerek istemciye yollanırken resim formatlı dosyalar compress edilmez. &#60;Location /&#62; #Compressing Aktif SetOutputFilter DEFLATE \.(?:png&#124;jpe?g&#124;gif)$ no-gzip dont-vary &#60;/Location&#62; Comressing işlemi, [...]]]></description>
			<content:encoded><![CDATA[<p>Apache üzerinde mod_deflate ile compressing yapıyor ve image&#8217;ların compress edilmesini istemiyorsanız; location arasına yazılacak aşağıdaki syntax aracılığıyla, belirtilen image tiplerini compressing dışında tutabilirsiniz.Bu durumda seneryo şöyle olur, &#8220;AddOutputFilterByType DEFLATE&#8221;  ile izin verilen diğer  content compress edilerek istemciye yollanırken resim formatlı dosyalar compress edilmez.<br />
<span style="color: #008000;"><br />
&lt;Location /&gt; </span><br />
<span style="color: #008000;">#Compressing Aktif </span><br />
<span style="color: #008000;">SetOutputFilter DEFLATE </span><br />
<span style="color: #008000;">\.(?:png|jpe?g|gif)$ no-gzip dont-vary</span><br />
<span style="color: #008000;">&lt;/Location&gt;</span></p>
<p>Comressing işlemi, ciddi oranda cpu üzerinde aritmetik işlem yapan mekanizmaya sahip olduğu için sunucu&#8217;ya ait cpu fazlaca yorulur.Bu duruma istinaden istenmeyen type&#8217;lar bu tip direktifler ile devre dışı bırakılabilir ya da compressing ayri bir makine üzerinde yapılabilir.</p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.ugurengin.com%2Fblog%2Fdont-compress-image-with-mod_deflate.html&amp;t=don%27t%20compress%20image%20with%20mod_deflate" id="facebook_share_both_1946" style="font-size:11px; line-height:13px; font-family:'lucida grande',tahoma,verdana,arial,sans-serif; text-decoration:none; padding:2px 0 0 20px; height:16px; background:url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif) no-repeat top left;">Share on Facebook</a>
	<script type="text/javascript">
	<!--
	var button = document.getElementById('facebook_share_link_1946') || document.getElementById('facebook_share_icon_1946') || document.getElementById('facebook_share_both_1946') || document.getElementById('facebook_share_button_1946');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_1946') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	-->
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://www.ugurengin.com/blog/dont-compress-image-with-mod_deflate.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Time Based Data Processing Speed Test over the Linux</title>
		<link>http://www.ugurengin.com/blog/time-based-data-processing-speed-test-over-the-linux.html</link>
		<comments>http://www.ugurengin.com/blog/time-based-data-processing-speed-test-over-the-linux.html#comments</comments>
		<pubDate>Sat, 21 Jan 2012 02:16:38 +0000</pubDate>
		<dc:creator>Uğur Engin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[benchmarking]]></category>
		<category><![CDATA[cpu processing]]></category>
		<category><![CDATA[linux time]]></category>
		<category><![CDATA[time]]></category>

		<guid isPermaLink="false">http://www.ugurengin.com/blog/?p=1922</guid>
		<description><![CDATA[İşletim sistemleri, verilerin bir kısmını işlenmek üzere &#8220;filo&#8221; algoritması aracılığıyla byte byte hafıza&#8217;nın stack segmentinde tutar.Sonrasında ilgili veriler, process edilmek üzere önce önbellek ardından cpu&#8217;nun temel işlem döngüsüne sokulmak üzere sıraya alınır.Günümüz operating sistemleri, process ettiği her işlemi (executing,reading,writing) bir süreliğine bellek içerisine depolar.Dolayısıyı ile aynı işlem belli bir süre içerisinde tekrar çalıştırılmak istendiğinde; işlenmek [...]]]></description>
			<content:encoded><![CDATA[<p>İşletim sistemleri, verilerin bir kısmını işlenmek üzere &#8220;filo&#8221; algoritması aracılığıyla byte byte hafıza&#8217;nın stack segmentinde tutar.Sonrasında ilgili veriler, process edilmek üzere önce önbellek ardından cpu&#8217;nun temel işlem döngüsüne sokulmak üzere sıraya alınır.Günümüz operating sistemleri, process ettiği her işlemi (executing,reading,writing) bir süreliğine bellek içerisine depolar.Dolayısıyı ile aynı işlem belli bir süre içerisinde tekrar çalıştırılmak istendiğinde; işlenmek istenen veri, depolanan bellek üzerinden çağrılır. Böylece cpu üzerindeki processing time&#8217;da azaltılmış olur.Bu işlemler tamamen sistem kaynakları&#8217;nın performasını artırmak adına tasarlanmıştır.Dolayısı ile veriler depolanmak durumundadır.Aksi halde processing süresi uzayan her işlem, hafıza üzerinde yeteri miktarda alan allocate edemez ve virtual disk(swap) üzerinde kendine yer edinmeye başlar.Zira bu durum, belleğe oranla yapılan işlemlerin daha da uzamasına sebep olacaktır.</p>
<p>Konuyu biraz daha netleştirmek adına, find komutu ile örnek bir execution işlemi yapalım.Amacımız bir dizinde bulunan tüm &#8220;.txt&#8221; uzantılı dosyaların ne kadar bir süre zarfında listeleneceğini tespit etmek olsun.Komut başına eklenen &#8220;time&#8221;, sadece ilgili işlemin ne kadar bir zaman diliminde tamamlandığını gösterecektir.</p>
<p><span style="color: #008000;">[root@x ~]# time find . -type f -name &#8220;*.txt&#8221; -exec ls -l {} \; &gt; /dev/null</span></p>
<p><span style="color: #ff0000;">real    <span style="text-decoration: underline;">0m0.616s</span></span><br />
<span style="color: #ff0000;"> user    <span style="text-decoration: underline;">0m0.044s</span></span><br />
<span style="color: #ff0000;"> sys     <span style="text-decoration: underline;">0m0.095s</span></span></p>
<p>Aynı komut, ikinci defa çalıştırıldığında ciddi oranda processing süresinde azalma meydana geldiği detayları ile gözlemleniyor.</p>
<p><span style="color: #008000;"> [root@x ~]# time find . -type f -name &#8220;*.txt&#8221; -exec ls -l {} \; &gt; /dev/null</span></p>
<p><span style="color: #ff0000;">real    <span style="text-decoration: underline;">0m0.284s</span></span><br />
<span style="color: #ff0000;"> user   <span style="text-decoration: underline;"> 0m0.039s</span></span><br />
<span style="color: #ff0000;"> sys     <span style="text-decoration: underline;">0m0.087s</span></span></p>
<p>Not:</p>
<p>Time, linux üzerinde halihazırda bulunan bir komuttur. Temel işlevi; real,user ve sys(system)bazlı bir verinin ne kadar zaman diliminde read,execute veya write edildiğini belirtmektir.</p>
<p><span style="color: #008000;">[root@x ~]# ldd /usr/bin/time</span><br />
<span style="color: #ff0000;">        linux-vdso.so.1 =&gt;  (0x00007fff6bb78000)</span><br />
<span style="color: #ff0000;">        libc.so.6 =&gt; /lib64/libc.so.6 (0x00000038ff400000)</span><br />
<span style="color: #ff0000;">        /lib64/ld-linux-x86-64.so.2 (0x00000038ff000000)</span><br />
<br style="color: #008000;" /><span style="color: #008000;">[root@x ~]# rpm -qi time</span><br />
<span style="color: #ff0000;">Name        : time                         Relocations: /usr</span><br />
<span style="color: #ff0000;">Version     : 1.7                               Vendor: CentOS</span><br />
<span style="color: #ff0000;">Release     : 27.2.2                        Build Date: Sat 24 May 2008 03:44:24 PM EEST</span><br />
<span style="color: #ff0000;">Install Date: Sat 19 Feb 2011 03:36:54 AM EET      Build Host: builder15.centos.org</span><br />
<span style="color: #ff0000;">Group       : Applications/System           Source RPM: time-1.7-27.2.2.src.rpm</span><br />
<span style="color: #ff0000;">Size        : 20321                            License: GPL</span><br />
<span style="color: #ff0000;">Signature   : DSA/SHA1, Sun 15 Jun 2008 05:04:20 PM EEST, Key ID a8a447dce8562897</span><br />
<span style="color: #ff0000;">Summary     : A GNU utility for monitoring a program&#8217;s use of system resources.</span><br />
<span style="color: #ff0000;">Description :</span><br />
<span style="color: #ff0000;">The GNU time utility runs another program, collects information about</span><br />
<span style="color: #ff0000;">the resources used by that program while it is running, and displays</span><br />
<span style="color: #ff0000;">the results.</span></p>
<p>Benzeri testleri, read ve/veya write processing yaparak da gözlemlemek mümkün.Özellikle çalıştırılacak veya işlenecek bir verinin zaman süreçlerini incelemede fazlasıyla işe yarayacaktır.</p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.ugurengin.com%2Fblog%2Ftime-based-data-processing-speed-test-over-the-linux.html&amp;t=Time%20Based%20Data%20Processing%20Speed%20Test%20over%20the%20Linux" id="facebook_share_both_1922" style="font-size:11px; line-height:13px; font-family:'lucida grande',tahoma,verdana,arial,sans-serif; text-decoration:none; padding:2px 0 0 20px; height:16px; background:url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif) no-repeat top left;">Share on Facebook</a>
	<script type="text/javascript">
	<!--
	var button = document.getElementById('facebook_share_link_1922') || document.getElementById('facebook_share_icon_1922') || document.getElementById('facebook_share_both_1922') || document.getElementById('facebook_share_button_1922');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_1922') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	-->
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://www.ugurengin.com/blog/time-based-data-processing-speed-test-over-the-linux.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Toplam HTTP Bağlantı Sayısı</title>
		<link>http://www.ugurengin.com/blog/toplam-http-baglanti-sayisi.html</link>
		<comments>http://www.ugurengin.com/blog/toplam-http-baglanti-sayisi.html#comments</comments>
		<pubDate>Mon, 16 Jan 2012 22:22:30 +0000</pubDate>
		<dc:creator>Uğur Engin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Http]]></category>
		<category><![CDATA[http connection]]></category>
		<category><![CDATA[http linux]]></category>
		<category><![CDATA[total http]]></category>

		<guid isPermaLink="false">http://www.ugurengin.com/blog/?p=1917</guid>
		<description><![CDATA[HTTP 80 üzerinden sağlanmış toplam bağlantı sayısını gösterir. for http in `netstat -antp &#124; awk &#8216;{if($4 ~/80/) print $0}&#8217; &#124; uniq &#124; sort -k 5 &#124; wc -l` do echo Total HTTP Connection: $http done Share on Facebook]]></description>
			<content:encoded><![CDATA[<p>HTTP 80 üzerinden sağlanmış toplam bağlantı sayısını gösterir.</p>
<p><span style="color: #008000;">for http in `netstat -antp | awk &#8216;{if($4 ~/80/) print $0}&#8217; | uniq | sort -k 5 | wc -l`</span> <span style="color: #008000;"><br />
do</span> <span style="color: #008000;"><br />
echo Total HTTP Connection: $http</span><br />
<span style="color: #008000;">done</span></p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.ugurengin.com%2Fblog%2Ftoplam-http-baglanti-sayisi.html&amp;t=Toplam%20HTTP%20Ba%C4%9Flant%C4%B1%20Say%C4%B1s%C4%B1" id="facebook_share_both_1917" style="font-size:11px; line-height:13px; font-family:'lucida grande',tahoma,verdana,arial,sans-serif; text-decoration:none; padding:2px 0 0 20px; height:16px; background:url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif) no-repeat top left;">Share on Facebook</a>
	<script type="text/javascript">
	<!--
	var button = document.getElementById('facebook_share_link_1917') || document.getElementById('facebook_share_icon_1917') || document.getElementById('facebook_share_both_1917') || document.getElementById('facebook_share_button_1917');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_1917') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	-->
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://www.ugurengin.com/blog/toplam-http-baglanti-sayisi.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>İstenilen zaman dilimine ait logları listelemek.</title>
		<link>http://www.ugurengin.com/blog/istenilen-zaman-dilimine-ait-loglari-listelemek.html</link>
		<comments>http://www.ugurengin.com/blog/istenilen-zaman-dilimine-ait-loglari-listelemek.html#comments</comments>
		<pubDate>Wed, 11 Jan 2012 19:40:55 +0000</pubDate>
		<dc:creator>Uğur Engin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[awk]]></category>
		<category><![CDATA[awk search]]></category>
		<category><![CDATA[linux awk]]></category>

		<guid isPermaLink="false">http://www.ugurengin.com/blog/?p=1912</guid>
		<description><![CDATA[messages.1 isimli dosyada &#8220;Jan 8&#8243;  ile başlayan tüm loglar, 3.kolonda bulunan time değerlerine göre sort edilir. awk  &#8216;{if($1 ~/Jan/) if($2 ~/8/) print $0}&#8217; messages.1 &#124; sort -k 3 &#124;more Share on Facebook]]></description>
			<content:encoded><![CDATA[<p>messages.1 isimli dosyada &#8220;Jan 8&#8243;  ile başlayan tüm loglar, 3.kolonda bulunan time değerlerine göre sort edilir.</p>
<p><span style="color: #008000;">awk  &#8216;{if($1 ~/Jan/) if($2 ~/8/) print $0}&#8217; messages.1 | sort -k 3 |more<br />
</span></p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.ugurengin.com%2Fblog%2Fistenilen-zaman-dilimine-ait-loglari-listelemek.html&amp;t=%C4%B0stenilen%20zaman%20dilimine%20ait%20loglar%C4%B1%20listelemek." id="facebook_share_both_1912" style="font-size:11px; line-height:13px; font-family:'lucida grande',tahoma,verdana,arial,sans-serif; text-decoration:none; padding:2px 0 0 20px; height:16px; background:url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif) no-repeat top left;">Share on Facebook</a>
	<script type="text/javascript">
	<!--
	var button = document.getElementById('facebook_share_link_1912') || document.getElementById('facebook_share_icon_1912') || document.getElementById('facebook_share_both_1912') || document.getElementById('facebook_share_button_1912');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_1912') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	-->
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://www.ugurengin.com/blog/istenilen-zaman-dilimine-ait-loglari-listelemek.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Grep !</title>
		<link>http://www.ugurengin.com/blog/grep.html</link>
		<comments>http://www.ugurengin.com/blog/grep.html#comments</comments>
		<pubDate>Sun, 08 Jan 2012 07:17:36 +0000</pubDate>
		<dc:creator>Uğur Engin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[grep]]></category>
		<category><![CDATA[grep linux]]></category>
		<category><![CDATA[grep regex]]></category>

		<guid isPermaLink="false">http://www.ugurengin.com/blog/?p=1906</guid>
		<description><![CDATA[L ile başlayıp, &#8216;ux&#8217; ile bitmiş tüm string değerleri ayırıp alt alta listeler. grep -i &#8216;^L.*ux&#8217; test.txt &#124;  uniq Share on Facebook]]></description>
			<content:encoded><![CDATA[<p>L ile başlayıp, &#8216;ux&#8217; ile bitmiş tüm string değerleri ayırıp alt alta listeler.</p>
<p><span style="color: #008000;">grep -i &#8216;^L.*ux&#8217; test.txt |  uniq</span></p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.ugurengin.com%2Fblog%2Fgrep.html&amp;t=Grep%20%21" id="facebook_share_both_1906" style="font-size:11px; line-height:13px; font-family:'lucida grande',tahoma,verdana,arial,sans-serif; text-decoration:none; padding:2px 0 0 20px; height:16px; background:url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif) no-repeat top left;">Share on Facebook</a>
	<script type="text/javascript">
	<!--
	var button = document.getElementById('facebook_share_link_1906') || document.getElementById('facebook_share_icon_1906') || document.getElementById('facebook_share_both_1906') || document.getElementById('facebook_share_button_1906');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_1906') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	-->
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://www.ugurengin.com/blog/grep.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

