<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DUEHSHs8fCp7ImA9WhRUGUs.&quot;"><id>tag:blogger.com,1999:blog-4623421911381139355</id><updated>2012-01-31T03:23:59.574+03:30</updated><title>Tux City</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://tuxcity.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://tuxcity.blogspot.com/" /><author><name>Ali</name><uri>http://www.blogger.com/profile/04934005069608694297</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://3.bp.blogspot.com/-FB4NFD1Zkh0/Ts-LN5SOZDI/AAAAAAAABUU/CWrCxbuCCA0/s220/Me.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>9</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/TuxCity" /><feedburner:info uri="tuxcity" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>TuxCity</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry gd:etag="W/&quot;D0MFQ30zeCp7ImA9Wx9QFk4.&quot;"><id>tag:blogger.com,1999:blog-4623421911381139355.post-4382409835827456263</id><published>2010-12-29T18:40:00.001+03:30</published><updated>2010-12-29T18:40:12.380+03:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-29T18:40:12.380+03:30</app:edited><title>زمان‌بندی پروسه‌ها در لینوکس - بخش دوم: cron</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;div style='direction: rtl;'&gt;&lt;font face='tahoma'&gt;در بخش اول، فرمان‌های sleep و at رو توضیح دادم، و در این بخش، به معرفی cron، یکی از قدرتمندترین ابزارهای زمان‌بندی خواهم پرداخت.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Cron چیست؟&lt;/b&gt;&lt;br /&gt;Cron یک Daemon است که وظایفی رو که از طریق دستور crontab دریافت می‌کنه، در زمان‌های مشخص‌شده اجرا می‌کنه. در واقع کار cron اینه که هر دقیقه بیدار شه و بررسی کنه که آیا در crontab کاربرهای مختلف کاری (cron-job) هست که انجام بده؟&lt;br /&gt;(توجه کنید که crontab هم نام لیستی از cron-jobهاست و هم نام فرمانی که از طریق آن لیست کارها مشخص و ویرایش می‌شود.)&lt;br /&gt;&lt;br /&gt;به عنوان مثال ممکنه یک پدر قصد داشته باشه دسترسی به اینترنت رو هر شب ساعت ۹ قطع کنه. و یا اینکه یک مدیر بخواد دسترسی به نرم‌افزارهای مسنجر رو در طی ساعات کاری برای کارمنداش غیر ممکن کنه. و یا اینکه ممکنه کسی بخواد در زمانی که جلوی سیستمش حضور نداره، یک سری از لاگ‌های سیستم روزی یک بار براش میل بشه.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;فایل /etc/crontab&lt;/b&gt;&lt;br /&gt;Cron تمام این کارها رو از طریق بررسی فایل‌های تنظیمات خاصش به نام crontabها انجام می‌ده. به این معنی که ما باید crontabها رو تنظیم کنیم تا cron محتویات اون‌ها رو بررسی و دستورات درون آن‌ها رو در زمان مشخص شده انجام بده. اولین و مرسوم‌ترین فایل تنظیمات /etc/crontab هست. هر سطر دستور در این فایل از یک الگوی کلی به شکل زیر پیروی می‌کنه:&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align='center'&gt;&lt;img height='149' width='389' src='http://lh6.ggpht.com/_B5ftRy-nffo/TQiNiFIBobI/AAAAAAAAA7s/GQgOcCWShfQ/%5BUNSET%5D.jpg?imgmax=800' style='max-width: 800px;'/&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align='right'&gt;&lt;font face='tahoma'&gt;دقیقه عددی بین ۰ و ۵۹، ساعت بین ۰ تا ۲۳ و روز در ماه بین ۱ تا ۳۱ می‌باشد. در مورد ماه و روز هفته هم می‌شه از سه حرف اول روز یا ماه استفاده کرد مثل: feb, jan, mon, wed و هم می‌شه از اعداد استفاده کرد. (یکشنبه: ۰، دوشنبه: ۱ تا آخر)&lt;br /&gt;در هر یک از ستون‌های مربوط به زمان یکی از حالت‌های زیر ممکنه نوشته بشه:&lt;br /&gt;*، به معنی هر زمانی (مثلا گذاشتن * در ستون دقیقه یعنی تمام دقایق)&lt;br /&gt;یک عدد&lt;br /&gt;چند عدد که با کاما جدا شده اند. (5,7,13)&lt;br /&gt;یک بازه (5-10)&lt;br /&gt;یک بازه به همراه پله ( 20/2-10 = 10, 12, 14, 16, 18, 20 و 5/* یعنی 5, 10, 15, ...)&lt;br /&gt;&lt;br /&gt;به عنوان مثال دو سطر زیر رو در نظر بگیرید:&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align='left' dir='ltr'&gt;&lt;code&gt;*/10  *     *  5,7,11  *    root command1&lt;br /&gt;0     9-18  *  *       1-5  root command2&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;font face='tahoma'&gt;در سطر اول در ماه‌های می، جولای و نوامبر هر ده دقیقه command1 اجرا می‌شه. در سطر دوم هم command2 در روزهای دو‌شنبه تا جمعه و در ساعات ۹ صبج تا ۶ بعد از ظهر هر ساعت اجرا می‌شه.&lt;/font&gt;&lt;br /&gt;&lt;font face='tahoma'&gt;&lt;br /&gt;&lt;b&gt;run-parts&lt;/b&gt;:&lt;br /&gt;با اینکه زمان‌بندی دستورات توسط فایل /etc/crontab یک کار کاملا عملی‌است، اکثر توزیع‌های لینوکس در حال حاضر از اسکریپتی به نام run-parts برای اجرای دستورات استفاده می‌کنن. به عنوان مثال یک نمونه از فایل /etc/crontab در توزیع fedora رو ببینید:&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align='left' dir='ltr'&gt;&lt;code&gt;01 * * * * root run-parts /etc/cron.hourly&lt;br /&gt;02 4 * * * root run-parts /etc/cron.daily&lt;br /&gt;22 4 * * 0 root run-parts /etc/cron.weekly&lt;br /&gt;42 4 1 * * root run-parts /etc/cron.monthly&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;font face='tahoma'&gt;درواقع کاری که اسکریپت run-parts می‌کنه اینه که اسکریپت‌های قابل اجرا رو در یک فولدر اجرا می‌کنه. مثلا اگر شما قصد داشته باشید که اسکریپتتون هفته‌ای یک بار اجرا بشه، فقط کافیه اون رو توی فولدر /etc/cron.weekly کپی کنید.&lt;br /&gt;استفاده از این روش خیلی راحته اما، دیگه امکان زمانبندی دقیق وجود نداره و طبیعتا با این‌روش نمی‌شه هر شب ساعت ۹ اینترنت رو قطع کرد و صبح وصلش کرد.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Cron برای همه&lt;/b&gt;:&lt;br /&gt;نیازی به این نیست که برای همه‌ی دستورها از /etc/crontab و کاربر ریشه استفاده کرد. هر کاربر دیگه‌ای هم می‌تونه یک فایل crontab مخصوص به خودش داشته باشه و دستوراتی رو که اجازه‌ی اجراشون رو داره، به وسیله‌ی این فایل زمان‌بندی کنه. این فایل معمولا در فولدر /var/spool/cron/crontab و به نام کاربر ذخیره می‌شه و فرمتش هم مثل /etc/crontab هست با این تفاوت که ستون کاربر وجود نداره.&lt;br /&gt;البته کاربرها اجازه‌ی ویرایش مستقیم فایل crontab خودشون رو ندارن و برای اینکار باید از دستور crontab -e استفاده کنن.&lt;br /&gt;کاربر ریشه می‌تونه تعیین کنه که کدام کاربرها حق استفاده از دستور crontab رو داشته باشن. این کار با استفاده از دو فایل /etc/cron.allow و /etc/cron.deny انجام می‌شه و همینطور که از نام فایل‌ها پیداست، اگر اسم یک کاربر در فایل /etc/cron.allow باشه اون کاربر اجازه‌ی دسترسی به crontab رو داره و اگر اسم کاربر در /etc/cron.deny باشه اون کاربر اجازه‌ی دسترسی به crontab رو نداره. البته مسلما بعد از انجام تغییرات در این فایل‌ها، باید یک بار logout و دوباره login کنید تا تغییرات اعمال بشه.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;چند نکته‌&lt;/b&gt;:&lt;br /&gt;دستوراتی که به cron می‌دین بهتره که شامل محل دقیق دستور باشه چرا که cron فقط توی شاخه‌های /usr/bin و /bin به دنبال دستورها می‌گرده.&lt;br /&gt;همین‌طور معمولا خروجی استاندارد و ارورهای یک دستور رو به یک فایل redirect می‌کنن تا بعدا بشه خروجی رو دید:&lt;/font&gt;&lt;br /&gt;&lt;div align='left' dir='ltr'&gt;&lt;code&gt;15 6 * * * /usr/bin/someprog &amp;gt; /tmp/someprog.out 2&amp;gt;&amp;amp;1&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;font face='tahoma'&gt;&lt;br /&gt;الان زمان اون رسیده که خودتون cron رو امتحان کنید و ببینید چه کارایی ازش بر میاد.&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font face='tahoma'&gt;-- برای خوندن قسمت اول این نوشته &lt;a href='http://tuxcity.blogspot.com/2010/12/sleep-at.html' target='_blank'&gt;اینجا&lt;/a&gt; رو کلیک کنید.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4623421911381139355-4382409835827456263?l=tuxcity.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TuxCity/~4/Xv2DwuPBCXY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tuxcity.blogspot.com/feeds/4382409835827456263/comments/default" title="نظرات پيام" /><link rel="replies" type="text/html" href="http://tuxcity.blogspot.com/2010/12/cron.html#comment-form" title="0 نظر" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4623421911381139355/posts/default/4382409835827456263?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4623421911381139355/posts/default/4382409835827456263?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TuxCity/~3/Xv2DwuPBCXY/cron.html" title="زمان‌بندی پروسه‌ها در لینوکس - بخش دوم: cron" /><author><name>Ali</name><uri>http://www.blogger.com/profile/04934005069608694297</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://3.bp.blogspot.com/-FB4NFD1Zkh0/Ts-LN5SOZDI/AAAAAAAABUU/CWrCxbuCCA0/s220/Me.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/_B5ftRy-nffo/TQiNiFIBobI/AAAAAAAAA7s/GQgOcCWShfQ/s72-c/%5BUNSET%5D.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://tuxcity.blogspot.com/2010/12/cron.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0IASHk7eCp7ImA9Wx9QFk4.&quot;"><id>tag:blogger.com,1999:blog-4623421911381139355.post-7261075441388461244</id><published>2010-12-14T22:38:00.001+03:30</published><updated>2010-12-29T18:42:29.700+03:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-29T18:42:29.700+03:30</app:edited><title>زمان‌بندی پروسه‌ها در لینوکس - بخش اول: فرمان‌های sleep و at</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;div style='direction: rtl;'&gt;&lt;font face='tahoma'&gt;&lt;div align='right' dir='rtl'&gt;شاید خیلی خوب می‌شد اگر ما هر زمان که نیاز داشتیم، می‌تونستیم به سیستم خودمون دسترسی پیدا کنیم و فرمان‌های لازم رو بهش بدیم؛ اما متاسفانه هیچ‌کس چنین توانایی‌ای رو نداره. مدت‌های زیادی آدم به دور از سیستم خودش است و بد نیست به جای بیکار گذاشتن سیستم در این مدت، لیست کارهایی رو که در زمان‌های مختلف باید انجام بده رو بهش بدیم و اون خودش کارها رو انجام بده. اینجوری هم ما به کار و زندگی‌مون می‌رسیم و هم سیستممون!!!&lt;br/&gt;&lt;br/&gt;&lt;font&gt;&lt;font face='tahoma'&gt;من قصد دارم در طی دو پست سه روش مرسوم برای زمان‌بندی پروسه‌های مختلف رو توضیح بدم. در پست اول به فرمان‌های sleep  و at می‌پردازم و در پست دوم شما رو با قدرت cron آشنا می‌کنم.&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt;۱- فرمان sleep:&lt;/b&gt;&lt;br/&gt;این فرمان کار زیادی انجام نمی‌ده و و اگر نگاهی به راهنمای اون بندازین می‌بینین که راهنمای بسیار کوتاهیه. در واقع کاری که sleep انجام می‌ده اینه که هر چقدر که ما ازش بخوایم صبر می‌کنه.&lt;br/&gt;تصور کنید مشغول فیلم دیدن هستید و باید بعد از نیم ساعت سری به غذای روی گاز هم بزنید. فرمان زیر رو وارد می‌کنید و بعد از نیم ساعت سیستم به شما یادآوری می‌کنه که به گاز سر بزنید&lt;/div&gt;&lt;/font&gt;&lt;br/&gt;&lt;div align='left' dir='ltr'&gt;&lt;code&gt;$ (sleep 1800; notify-send "You should check the oven...\!") &amp;amp;&lt;/code&gt;&lt;/div&gt;&lt;br/&gt;&lt;font face='tahoma'&gt;&lt;div align='right' dir='rtl'&gt;&lt;b&gt;۲- فرمان at:&lt;/b&gt;&lt;br/&gt;برای اینکه به سیستم بگیم در یک زمان خاص چند فرمان خاص رو اجرا کن، از فرمان at استفاده می‌کنیم. روش استفاده از این دستور بسیار ساده است.&lt;br/&gt;به چند روش مختلف می‌شه زمان مورد نظرتون رو به این فرمان بدید. به عنوان مثال اگر قصد دارید ساعت ۳ بعد از ظهر به یکی از دوستانتون زنگ بزنید:&lt;/div&gt;&lt;/font&gt;&lt;br/&gt;&lt;div align='left' dir='ltr'&gt;&lt;code&gt;$ at 15:00&lt;br/&gt;at&amp;gt; notify-send "Remember to call your friend...\!"&lt;br/&gt;at&amp;gt; &lt;eot&gt;&lt;br/&gt;&lt;/eot&gt;&lt;/code&gt;&lt;/div&gt;&lt;br/&gt;&lt;font face='tahoma'&gt;&lt;div align='right' dir='rtl'&gt;زمانی که لیست فرمان‌هایی که قصد انجامشان را دارید تمام شد، با فشردن کلیدهای ctrl + D و یا نوشتن عبارت &lt;eot&gt; می‌تونید به نوشتن خاتمه دهید.&lt;br/&gt;اگر قرار باشه فردا ساعت ۳ بعد از ظهر به دوستتون زنگ بزنید از فرمان زیر استفاده می‌کنید:&lt;/eot&gt;&lt;/div&gt;&lt;/font&gt;&lt;br/&gt;&lt;div align='left' dir='ltr'&gt;&lt;code&gt;$ at 15:00 tomorrow&lt;/code&gt;&lt;/div&gt;&lt;br/&gt;&lt;font face='tahoma'&gt;&lt;div align='right' dir='rtl'&gt;و به همین شکل اگر قرار باشه کاری رو در نیمه‌شب ۱۷ جولای انجام بدین:&lt;br/&gt;&lt;/div&gt;&lt;/font&gt;&lt;br/&gt;&lt;div align='left' dir='ltr'&gt;&lt;code&gt;$ at midnight July 17&lt;/code&gt;&lt;/div&gt;&lt;br/&gt;&lt;font face='tahoma'&gt;&lt;div align='right' dir='rtl'&gt;و همین‌طور اگر می‌خواهید سال دیگه تولد دوستتون بهتون یادآوری بشه:&lt;/div&gt;&lt;/font&gt;&lt;br/&gt;&lt;div align='left' dir='ltr'&gt;&lt;code&gt;$ at 09:00 July 04 2011&lt;/code&gt;&lt;/div&gt;&lt;br/&gt;&lt;font face='tahoma'&gt;&lt;div align='right' dir='rtl'&gt;فکر می‌کنم به خوبی متوجه شده باشید که چجوری می‌شه از فرمان at استفاده کرد. برای دیدن لیست کارهای زمان‌بندی شده می‌تونید از فرمان زیر استفاده کنید:&lt;/div&gt;&lt;/font&gt;&lt;br/&gt;&lt;div align='left' dir='ltr'&gt;&lt;code&gt;$ atq&lt;/code&gt;&lt;/div&gt;&lt;br/&gt;&lt;font face='tahoma'&gt;&lt;div align='right' dir='rtl'&gt;البته به جای فرمان بالا از at -l هم می‌توان استفاده کرد!&lt;br/&gt;همچنین اگر قصد دارید یکی از فعالیت‌ها(به عنوان مثال فعالیت شماره ۳) رو‌ پاک کنید، باید از فرمان زیر استفاده کنید:&lt;/div&gt;&lt;/font&gt;&lt;br/&gt;&lt;div align='left' dir='ltr'&gt;&lt;code&gt;$ atrm 3&lt;/code&gt;&lt;/div&gt;&lt;br/&gt;&lt;font face='tahoma'&gt;&lt;div align='right' dir='rtl'&gt;که به جای دستور بالا می‌توان از at -r3 استفاده کرد.&lt;br/&gt;&lt;br/&gt;منتظر پست بعد و روش‌های حرفه‌ای‌تر زمانبندی پروسه‌ها باشید.&lt;br/&gt;&lt;br/&gt;--&lt;font&gt;&lt;font face='tahoma'&gt; برای مطالعه‌ی قسمت دوم این نوشته &lt;a href='http://tuxcity.blogspot.com/2010/12/cron.html' target='_blank'&gt;اینجا&lt;/a&gt; رو کلیک کنید.&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4623421911381139355-7261075441388461244?l=tuxcity.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TuxCity/~4/ntC-85w9cas" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tuxcity.blogspot.com/feeds/7261075441388461244/comments/default" title="نظرات پيام" /><link rel="replies" type="text/html" href="http://tuxcity.blogspot.com/2010/12/sleep-at.html#comment-form" title="0 نظر" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4623421911381139355/posts/default/7261075441388461244?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4623421911381139355/posts/default/7261075441388461244?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TuxCity/~3/ntC-85w9cas/sleep-at.html" title="زمان‌بندی پروسه‌ها در لینوکس - بخش اول: فرمان‌های sleep و at" /><author><name>Ali</name><uri>http://www.blogger.com/profile/04934005069608694297</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://3.bp.blogspot.com/-FB4NFD1Zkh0/Ts-LN5SOZDI/AAAAAAAABUU/CWrCxbuCCA0/s220/Me.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://tuxcity.blogspot.com/2010/12/sleep-at.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkUAR3k_fyp7ImA9WxFbEEs.&quot;"><id>tag:blogger.com,1999:blog-4623421911381139355.post-5312246906292133681</id><published>2010-07-02T15:27:00.001+04:30</published><updated>2010-07-02T15:27:26.747+04:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-02T15:27:26.747+04:30</app:edited><title>استفاده از سرویس‌های مختلف گوگل از طریق ترمینال</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;div dir='rtl'&gt;&lt;font face='tahoma'&gt;اگر از گوگل و سرویس‌های مختلف اون استفاده می‌کنید و در عین حال جزو طرفدارای لینوکس و ترمینالش هم هستید، احتمالا خیلی خوشحال‌ خواهید شد اگه بدونید نرم‌افزاری برای انجام اعمال مختلف در سرویس‌های گوگل از طریق ترمینال نوشته شده است.&lt;br/&gt;&lt;br/&gt;نرم‌افزار &lt;a href='http://code.google.com/p/googlecl/' target='_blank'&gt;googleCL&lt;/a&gt; نرم‌افزاریه که به زبان پایتون و با استفاده از &lt;a href='http://code.google.com/apis/gdata/docs/directory.html' target='_blank'&gt;Gdata APIs&lt;/a&gt; که خود گوگل اون‌ها رو ارائه داده نوشته شده و در هر سه پلتفرم لینوکس، ویندوز و MacOS قابل استفاده ‌است. این نرم‌افزار در حال حاضر تنها برای بعضی سرویس‌های گوگل که API اونها در دسترس قرار داره، قابل استفاده است. این سرویس‌ها شامل بلاگر، Calendar، Contacts، Docs، Picasa و یوتیوب می‌شه. شاید اگر گوگل API سرویس‌های دیگه‌اش رو هم ارائه بده این نرم‌افزار کاربرد بیشتری داشته باشه.&lt;br/&gt;&lt;br/&gt;نحوه‌ی نصب و استفاده از این نرم‌افزار بسیار ساده است. در بعضی توزیع‌های لینوکس این نرم‌افزار در ریپوزیتوری توزیع‌ وجود داره و نیازی به کمپایل اون نیست. با این حال برای کمپایل کردن اون می‌تونید به روش زیر عمل کنید:&lt;br/&gt;&lt;br/&gt;۱- دانلود کتابخانه &lt;a href='http://code.google.com/p/gdata-python-client/'&gt;gdata-python-client&lt;/a&gt;&lt;br/&gt;۲- دانلود نرم‌افزار &lt;a href='http://code.google.com/p/googlecl/' target='_blank'&gt;googleCL&lt;/a&gt;&lt;br/&gt;۳- خارج‌کردن فایل‌ها از حالت فشرده و نصب اون‌ها با استفاده از فرمان‌های زیر:&lt;/font&gt;&lt;/div&gt;&lt;br/&gt;&lt;div align='left' dir='ltr'&gt;&lt;code&gt;cd gdata&lt;br/&gt;python setup.py install&lt;br/&gt;cd ../googleCL&lt;br/&gt;python setup.py install&lt;br/&gt;&lt;/code&gt;&lt;/div&gt;&lt;br/&gt;&lt;div dir='rtl'&gt;&lt;font face='tahoma'&gt;و اما جهت استفاده از این نرم‌افزار بد نیست نگاهی به &lt;a href='http://code.google.com/p/googlecl/wiki/Manual' target='_blank'&gt;دستورالعمل استفاده&lt;/a&gt; از این نرم افزار و همچین این &lt;a href='http://code.google.com/p/googlecl/wiki/ExampleScripts' target='_blank'&gt;مثال‌ها&lt;/a&gt; بیاندازید. البته می‌تونید با استفاده از فرمان زیر صفحه‌ی راهنمای این نرم‌افزار رو هم بخونید.&lt;/font&gt;&lt;/div&gt;&lt;br/&gt;&lt;div align='left' dir='ltr'&gt;&lt;code&gt;man google&lt;/code&gt;&lt;/div&gt;&lt;br/&gt;&lt;div dir='rtl'&gt;&lt;font face='tahoma'&gt;به عنوان مثال برای دانلود لیست کانتکت‌های موجود در Google Contacts خودتون می‌تونید از فرمان زیر استفاده کنید:&lt;/font&gt;&lt;/div&gt;&lt;br/&gt;&lt;div align='left' dir='ltr'&gt;&lt;code&gt;google contacts list name, email&lt;/code&gt;&lt;/div&gt;&lt;br/&gt;&lt;div dir='rtl'&gt;&lt;font face='tahoma'&gt;اگر برای اولین بار از یکی از سرویس‌های این نرم‌افزار استفاده کنید پس از وارد کردن اکانت گوگل‌تون ازتون می‌خواد از طریق یک مرورگر اجازه‌ی دسترسی به اطلاعاتتون رو بهش بدید و سپس کلید Enter رو بزنید.&lt;br/&gt;&lt;br/&gt;همچنین بدیهیه که با ادغام فرمان‌های مختلف لینوکس و قابلیت‌های مختلف ترمینال می‌تونید به نتایج جالب‌تری برسید. مثلا فرمان زیرکه لیست نام و ای‌میل تمام افرادی رو که نام اون‌ها ثبت شده رو در قالب فایل contacts.scv به ما می‌ده:&lt;/font&gt;&lt;/div&gt;&lt;br/&gt;&lt;div align='left' dir='ltr'&gt;&lt;code&gt;google contacts list name,email --title ".*." &amp;gt; contacts.csv&lt;/code&gt;&lt;/div&gt;&lt;br/&gt;&lt;div dir='rtl'&gt;&lt;font face='tahoma'&gt;امیدوارم از این نرم‌افزار لذت ببرید.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4623421911381139355-5312246906292133681?l=tuxcity.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TuxCity/~4/ELNXCss0Q6Y" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tuxcity.blogspot.com/feeds/5312246906292133681/comments/default" title="نظرات پيام" /><link rel="replies" type="text/html" href="http://tuxcity.blogspot.com/2010/07/blog-post.html#comment-form" title="0 نظر" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4623421911381139355/posts/default/5312246906292133681?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4623421911381139355/posts/default/5312246906292133681?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TuxCity/~3/ELNXCss0Q6Y/blog-post.html" title="استفاده از سرویس‌های مختلف گوگل از طریق ترمینال" /><author><name>Ali</name><uri>http://www.blogger.com/profile/04934005069608694297</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://3.bp.blogspot.com/-FB4NFD1Zkh0/Ts-LN5SOZDI/AAAAAAAABUU/CWrCxbuCCA0/s220/Me.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://tuxcity.blogspot.com/2010/07/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEUFR3w-eCp7ImA9WxFUGU0.&quot;"><id>tag:blogger.com,1999:blog-4623421911381139355.post-3422555755930327153</id><published>2010-06-30T17:20:00.001+04:30</published><updated>2010-06-30T17:20:16.250+04:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-30T17:20:16.250+04:30</app:edited><title>نصب مجدد تمام نرم‌افزارها، پس از تعویض سیستم‌عامل</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;div dir='rtl'&gt;&lt;font face='tahoma'&gt;بعضی مواقع پیش میاد که سیستم عامل آدم مشکل خاصی پیدا کنه و نصب دوباره‌ی سیستم عامل راحت‌تر از رفع مشکلات اون باشه. در این مواقع نصب دوباره‌ی تمام نرم‌افزارها بیشتر شبیه به یک کابوس می‌مونه. باید مدت‌ها پای سیستم نشست و نرم‌افزارها رو دونه دونه نصب کرد.&lt;br/&gt;&lt;br/&gt;اما باید یک راهکار ساده‌تر از این هم وجود داشته باشه. اگر راهی باشه که لیست نرم‌افزارهای نصب شده روی سیستم رو توی یک فایل ساده‌ی متنی ذخیره کنیم تا بعدا با استفاده از این فایل و یک دستور توی ترمینال، نرم‌افزارها خودشون اتوماتیک نصب بشن، مشکل ما حل می‌شه.&lt;br/&gt;&lt;br/&gt;خبر خوش اینه که با استفاده از روشی که &lt;a href='http://www.cyberciti.biz/tips/linux-get-list-installed-software-reinstallation-restore.html' target='_blank'&gt;این سایت&lt;/a&gt; معرفی کرده، این کار به راحتی امکان‌پذیره، برای مرحله‌ی اول کار باید از روش زیر استفاده کرد:&lt;br/&gt;&lt;br/&gt;&lt;b&gt;سیستم‌های بر مبنای دبیان (اوبونتو، پارسیکس و ...):&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;&lt;br/&gt;&lt;code&gt;$ dpkg –get-selections &amp;gt; /backup/installed-software.log&lt;/code&gt;&lt;br/&gt;&lt;div dir='rtl'&gt;&lt;font face='tahoma'&gt;&lt;b&gt;سیستم‌های بر مبنای ردهت (فدورا، Cent OS ،Suse Linux و ...)&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;&lt;br/&gt;&lt;code&gt;$ rpm -qa &amp;gt; /backup/installed-software.log&lt;/code&gt;&lt;div dir='rtl'&gt;&lt;font face='tahoma'&gt;&lt;br/&gt;این دستورات به راحتی قابل فهم هستند و به همین خاطر فکر نمی‌کنم نیاز به توضیح داشته باشن. با اجرای این دستورات ما یک فایل شامل لیست کامل تمام نرم‌افزار‌های نصب شده خواهیم داشت که پس از نصب مجدد سیستم‌عامل می‌تونیم با استفاده از روش زیر تمام نرم‌افزار‌های داخل فایل رو نصب کنیم:&lt;br/&gt;&lt;b&gt;&lt;br/&gt;سیستم‌های بر مبنای دبیان:&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;&lt;br/&gt;&lt;code&gt;# dpkg --set-selections &amp;lt; /backup/installed-software.log&lt;/code&gt;&lt;br/&gt;&lt;div dir='rtl'&gt;&lt;font face='tahoma'&gt;و بعد:&lt;/font&gt;&lt;/div&gt;&lt;br/&gt;&lt;code&gt;# dselect&lt;/code&gt;&lt;br/&gt;&lt;div dir='rtl'&gt;&lt;font face='tahoma'&gt;و سپس با فشردن کلید "i" می‌توتید نرم‌افزارها رو نصب کنید.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;سیستم‌های بر مبنای ردهت:&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;&lt;br/&gt;&lt;code&gt;# yum -y install $(cat /backup/installed-software.log)&lt;/code&gt;&lt;br/&gt;&lt;div dir='rtl'&gt;&lt;font face='tahoma'&gt;اگر از yum استفاده نمی‌کنید، از روش زیر هم می‌توان استفاده کرد:&lt;/font&gt;&lt;/div&gt;&lt;br/&gt;&lt;code&gt;# up2date -i $(cat /backup/installed-software.log)&lt;/code&gt;&lt;br/&gt;&lt;font face='tahoma'/&gt;&lt;div dir='rtl'&gt;&lt;font face='tahoma'&gt;البته بعضی از نرم‌افزارها پس از نصب نیاز به تنظیمات دارند و من توصیه  می‌کنم از قبل از فایل‌های مربوط به تنظیمات نرم‌افزارهای خاص بک‌آپ بگیرید تا نیازی به تنظیم مجدد اون‌ها نداشته باشید.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4623421911381139355-3422555755930327153?l=tuxcity.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TuxCity/~4/jjnYgp76QD0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tuxcity.blogspot.com/feeds/3422555755930327153/comments/default" title="نظرات پيام" /><link rel="replies" type="text/html" href="http://tuxcity.blogspot.com/2010/06/blog-post.html#comment-form" title="0 نظر" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4623421911381139355/posts/default/3422555755930327153?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4623421911381139355/posts/default/3422555755930327153?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TuxCity/~3/jjnYgp76QD0/blog-post.html" title="نصب مجدد تمام نرم‌افزارها، پس از تعویض سیستم‌عامل" /><author><name>Ali</name><uri>http://www.blogger.com/profile/04934005069608694297</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://3.bp.blogspot.com/-FB4NFD1Zkh0/Ts-LN5SOZDI/AAAAAAAABUU/CWrCxbuCCA0/s220/Me.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://tuxcity.blogspot.com/2010/06/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0ANRnYzfSp7ImA9WxFXEEk.&quot;"><id>tag:blogger.com,1999:blog-4623421911381139355.post-4074664472728852897</id><published>2010-05-17T03:13:00.001+04:30</published><updated>2010-05-17T03:13:17.885+04:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-17T03:13:17.885+04:30</app:edited><title>MD5 چیست و با آن چه می‌توان کرد؟</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;div style='direction: rtl;'&gt;&lt;font face='tahoma'&gt;&lt;b&gt;در ابتدا، Hash چیست؟&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;hash خروجی تابعی یک‌طرفه است، برای تولید نوعی اثر انگشت از یک سری داده. منظور از یک‌طرفه بودن تابع Hash این است که نمی‌توان با داشتن خروجی تابع به اصل داده دست یافت (همان‌طور که با داشتن اثر انگشت یک انسان، نمی‌توان آن انسان را از نو تولید کرد!). احتمال اینکه دو داده‌ی متفاوت دو خروجی یکسان از این تابع بگیرند بسیار پایین است، به همین دلیل از الگوریتم‌های متفات این تابع معمولا برای تشخیص درستی داده‌ها استفاده می‌شود. به عنوان مثال اگر از الگوریتم معروف MD5 برای محاسبه‌ی خروجی تابع Hash استفاده کنیم، و کلمه‌ی 'Cat' را به آن بدهیم، خروجی ما همیشه مقدار زیر است:&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;&lt;code&gt;d077f244def8a70e5ea758bd8352fcd8&lt;/code&gt;&lt;br/&gt;&lt;font face='tahoma'&gt;چنانچه کلمه‌ی 'Cat'  را به 'Cats' تغییر دهیم، خروجی تابع به شکل زیر تغییر پیدا می‌کند:&lt;br/&gt;&lt;br/&gt;&lt;code&gt;0832c1202da8d382318e329a7c133ea0&lt;/code&gt;&lt;br/&gt;مقدار داده‌ای که به تابع می‌دهیم، ربطی به سایز خروجی آن ندارد. همچنین تغییر در داده‌، هر چقدر هم که کوچک باشد، خروجی کاملا متفاوتی ارائه خواهد کرد.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;MD5 چیست؟&lt;/b&gt;&lt;br/&gt;&lt;br/&gt; MD5 یا Message-Digest algorithm 5&lt;/font&gt;&lt;font face='tahoma'&gt;&lt;b&gt; &lt;/b&gt;پر استفاده‌ترین، تابع رمزنگاری Hash است. از این تابع در بسیاری از نرم‌افزارهای حفاظت اطلاعت استفاده می‌شود و همچنین کاربرد زیادی در تشخیص درستی داده‌ها دارد. خروجی این تابع مقداری 128 بیتی‌است که معمولا به صورت یک عدد هگزادسیمال ۳۲ رقمی ارائه می‌شود. به خروجی تابع MD5 Hash یک داده، MD5 Checksum آن داده گفته می‌شود.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;چگونه MD5 Checksum یک عبارت را محاسبه کنیم؟&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;ساده‌ترین راه برای این کار مراجعه به &lt;a href='http://www.adamek.biz/md5-generator.php' target='_blank'&gt;این آدرس&lt;/a&gt;، نوشتن عبارت مورد نظر و فشردن دکمه‌ی Calculate MD5 است، اما نرم‌افزار‌های زیادی هم برای محاسبه‌ی این مقدار نوشته شده است. همچنین اگر شما برنامه‌نویس هستید، توابع متفاوتی برای استفاده در زبان‌های مختلف برنامه‌نویسی وجود دارد. با این حال &lt;a href='http://fa.wikipedia.org/wiki/%D8%B4%D8%A8%D9%87%E2%80%8C%DA%A9%D8%AF' target='_blank'&gt;شبه‌کد&lt;/a&gt; محاسبه‌ی این مقدار را می‌توان در &lt;a href='http://en.wikipedia.org/wiki/MD5#Pseudocode' target='_blank'&gt;ویکیپدیا&lt;/a&gt; یافت.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;MD5 Hash و فایل‌ها:&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;محاسبه‌ و مقایسه‌ی خروجی تابع MD5 Hash فایل‌ها روشی است برای تعیین دست نخورده بودن، و یا سالم بودن یک فایل. همچنین از MD5 Checksum می‌توان برای یافتن فایل‌های مشابه استفاده کرد. به عنوان مثال تصور کنید که قصد دارید مقداری از اطلاعات خود را برای یکی از دوستان خود کپی کنید. برای اینکار می‌توانید ابتدا MD5 Checksum فایل‌های خود و فایل‌های دوستتان را محاسبه کرده، و سپس فایل‌هایی را که مقدار MD5 Checksum آنها متفاوت است، کپی کنید. با این کار از کپی کردن فایل‌هایی که از قبل در هارد دیسک دوستتان وجود داشته‌ است جلوگیری می‌کنید. همچنین بار دیگر بعد از کپی کردن فایل‌ها می‌توانید با مقایسه‌ی مقدار MD5 Checksum فایل‌های کپی شده با فایل‌های موجود در هارد دیسک خود،‌ از این که فایل‌ها به درستی کپی شده‌اند، مطمئن شوید.&lt;br/&gt;به هنگام دانلود یک فایل‌، در بسیاری از سایت‌های اینترنتی مقدار MD5 Checksum فایل هم ذکر می‌شود تا پس دانلود، بتوان از سلامت فایل مطمئن شد. به عنوان مثال اغلب سایت‌های ارائه دهنده‌ی توزیع‌های لینوکس، مقدار MD5 Checksum فایل‌های ایزوی توزیعشان را نیز ذکر می‌کنند تا پیش از رایت آنها بر روی سی‌دی، بتوان از سلامت فایل دانلود شده مطمئن شد.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;چگونه MD5 Checksum یک فایل را (در لینوکس) محاسبه کنیم؟&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;برای محاسبه‌ی MD5 Checksum یک فایل از ابزار md5sum استفاده می‌شود. این برنامه به صورت پیش‌فرض در اکثر توزیع‌های لینوکس موجود است. تصور کنید قصد محاسبه‌ی این مقدار برای فایلی به نام file.txt را دارید. برای این کار یک ترمینال باز کنید و دستور زیر را وارد کنید:&lt;br/&gt;&lt;br/&gt;&lt;code&gt;md5sum file.txt&lt;/code&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt;همه چیز در مورد md5sum:&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;ابزار md5sum چند قابلیت دیگر هم دارد. برای محاسبه‌ی md5sum چند فایل به صورت همزمان، می‌توانید نام فایل‌ها را یکی پس از دیگری به عنوان آرگومان‌های دستور md5sum بنویسید:&lt;br/&gt;&lt;br/&gt;&lt;code&gt;md5sum text1.txt text2.txt&lt;/code&gt;&lt;br/&gt;خروجی این دستور چیزی شبیه به این است:&lt;br/&gt;&lt;br/&gt;&lt;code&gt;9ff460edc32f6a59fd0e612162c8d7e7  text1.txt&lt;br/&gt;bbee0ebbbb53235666b515c5d0c2c3ab  text2.txt&lt;/code&gt;&lt;br/&gt;ستون اول مقدار MD5 Checksum و ستون دوم نام فایل‌هاست.&lt;br/&gt;بدیهی است می‌توان MD5 Checksum فایل‌ها را با استفاده از دستور زیر در یک فایل جداگانه ذخیره کرد:&lt;br/&gt;&lt;br/&gt;&lt;code&gt;md5sum text1.txt text2.txt &amp;gt; mymd5sums&lt;/code&gt;&lt;br/&gt;با این کار فایلی به نام mymd5sums با محتوایی برابر خروجی دستور در فولدر جاری ایجاد می‌شود. از این فایل می‌توان بعدا برای چک کردن تطابق مقدار MD5 Checksum‌های موجود در این فایل، با مقدار به دست آمده از فایل‌ها استفاده کرد. برای این کار از دستور زیر استفاده می‌شود:&lt;br/&gt;&lt;br/&gt;&lt;code&gt;md5sum -c mymd5sums&lt;/code&gt;&lt;br/&gt;خروجی دستور بالا چیزی شبیه به این است:&lt;br/&gt;&lt;br/&gt;&lt;code&gt;text1.txt: OK&lt;br/&gt;text1.txt: OK&lt;/code&gt;&lt;/font&gt;&lt;br/&gt;&lt;font face='tahoma'&gt;چنانچه مقدار به دست آمده از یکی از فایل‌ها با عدد موجود در فایل mymd5sums تطابق نداشته باشد، خروجی به شکل زیر می‌باشد:&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;&lt;code&gt;one.txt: FAILED&lt;br/&gt;two.txt: OK&lt;br/&gt;md5sum: WARNING: 1 of 2 computed checksums did NOT match&lt;/code&gt;&lt;br/&gt;&lt;font face='tahoma'&gt;می‌توان به صورت دستی نیز فایلی مشابه فایل mymd5sums ایجاد نمود و از آن فایل برای مقایسه‌ی مقدار MD5 Checksumهای فایل‌های متفاوت ایجاد کرد. فقط دقت کنید که هر سطون باید با دو بار فشردن کلید Space از هم جدا شوند.&lt;br/&gt;همچنین می‌توان به جای استفاده از یک فایل، از خروجی استاندارد یک دستور دیگر برای مقایسه‌ استفاده کرد. به عنوان مثال:&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;&lt;code&gt;echo '9ff460edc32f6a59fd0e612162c8d7e7  text1.txt' | md5sum -c -&lt;/code&gt;&lt;br/&gt;&lt;font face='tahoma'&gt;دستور بالا، مقدار md5checksum فایل text.txt را با مقدار پایپ شده از دستور echo مقایسه می‌کند. دقت کنید که به جای نام فایل، این بار از -(خط تیره) استفاده شده است.&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;&lt;font face='tahoma'&gt;&lt;b&gt;و در انتها...&lt;/b&gt;&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;&lt;font face='tahoma'&gt;امیدوارم چیزی رو از قلم نیانداخته باشم و از شما هم این انتظار را دارم که اگر احساس کرده‌اید جایی اشتباهی صورت گرفته یا بخشی از نوشته نامفهوم بوده به من اطلاع بدهید.&lt;br/&gt;بعضی قسمت‌های نوشته‌ی بالا برگرفته از منابع زیر است:&lt;br/&gt;&lt;/font&gt;&lt;div align='left' dir='ltr'&gt;&lt;font face='tahoma'&gt;&lt;a href='http://tools.ietf.org/html/rfc1321' target='_blank'&gt;http://tools.ietf.org/html/rfc1321&lt;/a&gt;&lt;/font&gt;&lt;br/&gt;&lt;font face='tahoma'&gt;&lt;a href='http://en.wikipedia.org/wiki/MD5' target='_blank'&gt;http://en.wikipedia.org/wiki/MD5&lt;/a&gt;&lt;/font&gt;&lt;br/&gt;&lt;font face='tahoma'&gt;&lt;a href='http://tombuntu.com/index.php/2007/12/21/how-to-use-md5sum-to-verify-data-integrity/' target='_blank'&gt;http://tombuntu.com/index.php/2007/12/21/how-to-use-md5sum-to-verify-data-integrity/&lt;/a&gt;&lt;/font&gt;&lt;br/&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4623421911381139355-4074664472728852897?l=tuxcity.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TuxCity/~4/2U-pKOAZvQU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tuxcity.blogspot.com/feeds/4074664472728852897/comments/default" title="نظرات پيام" /><link rel="replies" type="text/html" href="http://tuxcity.blogspot.com/2010/05/md5.html#comment-form" title="0 نظر" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4623421911381139355/posts/default/4074664472728852897?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4623421911381139355/posts/default/4074664472728852897?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TuxCity/~3/2U-pKOAZvQU/md5.html" title="MD5 چیست و با آن چه می‌توان کرد؟" /><author><name>Ali</name><uri>http://www.blogger.com/profile/04934005069608694297</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://3.bp.blogspot.com/-FB4NFD1Zkh0/Ts-LN5SOZDI/AAAAAAAABUU/CWrCxbuCCA0/s220/Me.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://tuxcity.blogspot.com/2010/05/md5.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEAGQ3o5fSp7ImA9WxFTE00.&quot;"><id>tag:blogger.com,1999:blog-4623421911381139355.post-681637751205639207</id><published>2010-04-03T18:20:00.002+04:30</published><updated>2010-04-03T18:22:02.425+04:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-03T18:22:02.425+04:30</app:edited><title>استفاده از اکانت Gmail در ترمینال لینوکس</title><content type="html">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;div style="direction: rtl;"&gt;&lt;span style="font-family:tahoma;"&gt;این پست یک راهنما برای استفاده از Mutt به همراه fetchmail و procmail و msmtp جهت فرستادن، دریافت کردن و خواندن ای‌میل در ترمینال لینوکس و با استفاده از اکانت جی میل است. اگر این سوال براتون پیش اومده که چرا یک نفر باید برای انجام چنین کاری وقت بذاره و طبق معمول از یک مرورگر اینترنت برای دریافت یا ارسال ای‌میل‌ها استفاده نکنه، احتمالا این پست برای شما نیست.&lt;br /&gt;اما فکر می کنم همه شما تا الان قدرت شگفت‌انگیز ترمینال لینوکس رو حس کرده‌اید، اگر اینطوره حتما از این مطلب خوشتون میاد.&lt;br /&gt;&lt;br /&gt;بیشتر این نوشته برگرفته از نوشته‌ی اندرو استرانگ (Andrew Strong)، با عنوان &lt;a href="http://www.andrews-corner.org/mutt.html" target="_blank"&gt;Using Mutt with Gmail&lt;/a&gt; است که در اینجا از ایشون که به من این اجازه رو دادن که از نوشته‌شون استفاده کنم و این متن رو در اینجا بنویسم تشکر می‌کنم.&lt;br /&gt;&lt;br /&gt;&lt;big&gt;&lt;b&gt;پیش از شروع&lt;/b&gt;&lt;/big&gt;&lt;br /&gt;&lt;br /&gt;برای جلوگیری از اشتباه، من قسمت‌هایی از کدها رو به رنگ قرمز نوشته‌ام که شما می باید قسمت‌های قرمز رنگ رو با اطلاعات مربوط به خودتون عوض کنید.&lt;br /&gt;&lt;br /&gt;&lt;big&gt;&lt;b&gt;بخش یک: دانلود ای‌میل‌ها&lt;/b&gt;&lt;/big&gt;&lt;br /&gt;&lt;br /&gt;احتمالا این بخش پیچیده‌ترین بخش این مطلب باشه ولی بهتون اطمینان می‌دم که به سختیش می‌ارزه!&lt;br /&gt;در ابتدا باید مجوز‌های SSL ٬(SSL Certificates) لازم رو دانلود و نصب کرد، سپس باید  fetchmail رو نصب کرد و در آخر می باید procmail رو نصب کنیم.&lt;br /&gt;&lt;br /&gt;&lt;b&gt; دانلود SSL Certificates:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;از اونجا که احتمال داره مجوزهای جی‌میل پس از یک دوره‌ی زمانی (معمولا طولانی) عوض بشن من در اینجا روشی برای اینکه مجوزها رو خودتون از موزیلا (Mozilla's source tree) و با استفاده از اسکریپت دانیل استنبرگ (Daniel Stenberg) دانلود کنید، معرفی می‌کنم.&lt;br /&gt;برای اجرای این اسکریپت باید Perl و همچنین ماژول‌های perl-libwww رو نصب کرده باشید.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir="ltr" align="left"&gt;&lt;code&gt;&lt;span style="color:#000000;"&gt;$ mkdir -pv $HOME/mail/certs&lt;br /&gt;$ cd $HOME/mail/certs&lt;br /&gt;$ touch Thawte_Premium_Server_CA.pem&lt;br /&gt;$ touch Equifax_Secure_CA.pem&lt;br /&gt;$ curl --verbose --output mk-ca-bundle.pl \&lt;br /&gt;  http://cool.haxx.se/cvs.cgi/*checkout*/curl/lib/mk-ca-bundle.pl?rev=1.10&lt;br /&gt;$ perl mk-ca-bundle.pl&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:tahoma;"&gt;این کد باعث می‌شه یک فایل به اسم ca-bundle.crt ایجاد بشه که شما باید دو مجوز از درون این فایل استخراج کنید. اولین مجوز "Thawte Premium Server CA" است که باید در فایل مربوط به خودش که چند لحظه پیش ساختیم (Thawte_Premium_Server_CA.pem) ذخیره بشه. من این مجوز رو اینجا برای کسانی که با اسکریپت perl مشکل دارن می‌ذارم ولی بهتره که خودتون این مجوز رو بدست بیارین:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir="ltr" align="left"&gt;&lt;code&gt;-----BEGIN CERTIFICATE-----&lt;br /&gt;MIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMCWkExFTATBgNVBAgT&lt;br /&gt;DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3Vs&lt;br /&gt;dGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UE&lt;br /&gt;AxMYVGhhd3RlIFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNlcnZl&lt;br /&gt;ckB0aGF3dGUuY29tMB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgc4xCzAJBgNVBAYT&lt;br /&gt;AlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsGA1UEChMU&lt;br /&gt;VGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2&lt;br /&gt;aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQcmVtaXVtIFNlcnZlciBDQTEoMCYGCSqGSIb3DQEJARYZ&lt;br /&gt;cHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2&lt;br /&gt;aovXwlue2oFBYo847kkEVdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIh&lt;br /&gt;Udib0GfQug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMRuHM/&lt;br /&gt;qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQAm&lt;br /&gt;SCwWwlj66BZ0DKqqX1Q/8tfJeGBeXm43YyJ3Nn6yF8Q0ufUIhfzJATj/Tb7yFkJD57taRvvBxhEf&lt;br /&gt;8UqwKEbJw8RCfbz6q1lu1bdRiBHjpIUZa4JMpAwSremkrj/xw0llmozFyD4lt5SZu5IycQfwhl7t&lt;br /&gt;UCemDaYj+bvLpgcUQg==&lt;br /&gt;-----END CERTIFICATE-----&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:tahoma;"&gt;دومین مجوز "Equifax Secure CA" است که اون هم باید در فایل مربوط به خودش (Equifax_Secure_CA.pem) ذخیره بشه:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir="ltr" align="left"&gt;&lt;code&gt;-----BEGIN CERTIFICATE-----&lt;br /&gt;MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJVUzEQMA4GA1UE&lt;br /&gt;ChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5&lt;br /&gt;MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoT&lt;br /&gt;B0VxdWlmYXgxLTArBgNVBAsTJEVxdWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCB&lt;br /&gt;nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPR&lt;br /&gt;fM6fBeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+AcJkVV5MW&lt;br /&gt;8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kCAwEAAaOCAQkwggEFMHAG&lt;br /&gt;A1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UE&lt;br /&gt;CxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoG&lt;br /&gt;A1UdEAQTMBGBDzIwMTgwODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvS&lt;br /&gt;spXXR9gjIBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQFMAMB&lt;br /&gt;Af8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUAA4GBAFjOKer89961&lt;br /&gt;zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y7qj/WsjTVbJmcVfewCHrPSqnI0kB&lt;br /&gt;BIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee95&lt;br /&gt;70+sB3c4&lt;br /&gt;-----END CERTIFICATE-----&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:tahoma;"&gt;و در آخر با استفاده از کد زیر کاری کنید که Openssl بدونه کجا دنبال مجوزها بگرده:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir="ltr" align="left"&gt;&lt;code&gt;$ c_rehash $HOME/mail/certs/&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:tahoma;"&gt;با این کار بخش مربوط به دانلود مجوزها تموم می‌شه و ما الان آماده‌ایم که به سراغ بخش نصب fetchmail بریم.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;نصب fetchmail:&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;الان که موفق شدیم مجوزهای SSL رو دانلود کنیم، fetchmail به راحتی قابل نصب و استفاده است. باید فایل HOME$/fetchmailrc رو با اطلاعات زیر ایجاد کنید:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div dir="ltr" align="left"&gt;&lt;code&gt;poll pop.gmail.com&lt;br /&gt;with proto POP3&lt;br /&gt;user '&lt;span style="color:#ff0000;"&gt;your.email@gmail.com&lt;/span&gt;'&lt;br /&gt;there with password '&lt;span style="color:#ff0000;"&gt;your_password&lt;/span&gt;'&lt;br /&gt;is '&lt;span style="color:#ff0000;"&gt;your_user_name&lt;/span&gt;' here&lt;br /&gt;mda "/usr/bin/procmail -d %T"&lt;br /&gt;options&lt;br /&gt;no keep&lt;br /&gt;ssl&lt;br /&gt;sslcertck&lt;br /&gt;sslcertpath /home/&lt;span style="color:#ff0000;"&gt;your_username&lt;/span&gt;/mail/certs/&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:tahoma;"&gt;&lt;br /&gt;واضحه که می‌باید اطلاعات مربوط به خودتون رو جایگزین قسمت‌های قرمز رنگ کنید.&lt;br /&gt;و در آخر، از اونجا که کلمه‌ی عبور شما در این فایل ذخیره شده، بهتره که فقط به صاحب فایل، مجوز دسترسی و خوندنش رو بدید:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div dir="ltr" align="left"&gt;&lt;code&gt;$ chmod 600 ~/.fetchmailrc&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:tahoma;"&gt;الان زمان مناسبیه برای اینکه مطمئن بشید که POP Forwarding رو در اکانت جی‌میلتون فعال کرده‌اید. این تنظیمات رو می‌تونید در قسمت Settings - Forwarding and POP جی‌میل پیدا کنید. بعد از اینکه تنظیمات مورد نظر خودتون رو اعمال کردید، به مرحله‌ی بعد برید.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;نصب procmail&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:tahoma;"&gt;procmail آخرین مرحله از بخش دانلود ای‌میل‌هاست. قبل از نصب اون باید متغیر محیطی MAIL$ رو تعریف کنید تا تمام نرم‌افزارهای مربوط به ای‌میل بدونن محل ذخیره‌ی ای‌میل‌ها کجاست.دو خط زیر رو به bashrc./~ اضافه کنید:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div dir="ltr" align="left"&gt;&lt;code&gt;# Sets the Mail Environment Variable&lt;br /&gt;MAIL=/var/spool/mail/john &amp;amp;&amp;amp; export MAIL&amp;gt;/code&amp;gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:tahoma;"&gt;بعد از انجام این‌کار باید فایل HOME$/.procmailrc رو به همراه تنظیمات مورد نظرتون ایجاد کنید. من یک نمونه‌ی ساده از تنظیمات procmail رو در زیر می‌آرم که شما می‌تونید در صورت تمایل پس از خوندن راهنمای procmail  تغییرش بدین:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div dir="ltr" align="left"&gt;&lt;code&gt;PATH=/bin:/usr/bin:/usr/local/bin&lt;br /&gt;VERBOSE=off &lt;br /&gt;DEFAULT=/var/spool/mail/&lt;span style="color:#ff0000;"&gt;your_username&lt;/span&gt;&lt;br /&gt;MAILDIR=$HOME/mail&lt;br /&gt;LOGFILE=$HOME/.procmaillog&lt;br /&gt;# Recipes below this comment:&lt;br /&gt;&lt;br /&gt;:0:&lt;br /&gt;* ^TOmutt-user&lt;br /&gt;mutt&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:tahoma;"&gt;&lt;br /&gt;البته بخش آخر فایل تنها یک مثال ساده است که می‌تونه حذف بشه. فعلا توضیحی در مورد اون نمی‌دم چون شما بعد از خوندن راهنمای procmail متوجه کاربردش خواهید شد. حتما man procmailex رو اجرا کنید تا متوجه تنظیمات بالا بشید. البته فراموش نکنید که در تنظیمات بالا اطلاعات مربوط به خودتون رو جایگزین قسمت قرمز رنگ بکنید.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;big&gt;&lt;b&gt;&lt;span style="font-family:tahoma;"&gt;بخش دو: فرستادن ای‌میل&lt;/span&gt;&lt;/b&gt;&lt;/big&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:tahoma;"&gt;در این بخش از نرم‌افزار msmtp برای فرستادن ای‌میل استفاده ‌می‌کنیم. برای نصب msmtp می‌بایست فایل HOME$/.msmtprc رو با اطلاعات زیر ایجاد کنید:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div dir="ltr" align="left"&gt;&lt;code&gt;account default&lt;br /&gt;host smtp.gmail.com&lt;br /&gt;port 587&lt;br /&gt;from &lt;span style="color:#ff0000;"&gt;your_email@gmail.com&lt;/span&gt;&lt;br /&gt;tls on&lt;br /&gt;tls_starttls on&lt;br /&gt;tls_trust_file /home/john/mail/certs/Thawte_Premium_Server_CA.pem&lt;br /&gt;# tls_trust_file /home/john/mail/certs/Equifax_Secure_CA.pem&lt;br /&gt;auth on&lt;br /&gt;user &lt;span style="color:#ff0000;"&gt;your_email&lt;/span&gt;&lt;br /&gt;password &lt;span style="color:#ff0000;"&gt;your_password&lt;/span&gt;&lt;br /&gt;logfile ~/.msmtp.log&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:tahoma;"&gt;البته فراموش نکنید که قسمت‌های قرمز رو با اطلاعات مربوط به خودتون تغویض کنید و از اونجا که باز هم در این فایل پسورد شما ذخیره شده، باید کاری کنید که فایل فقط توسط صاحب اون خونده بشه:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div dir="ltr" align="left"&gt;&lt;code&gt;$ chmod 600 ~/.msmtprc&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:tahoma;"&gt;و بالاخره Mutt:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;big&gt;&lt;span style="font-family:tahoma;"&gt;&lt;b&gt;بخش سه: خواندن ای‌میل‌ها&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;small&gt;برای تنظیم Mutt باید فایل HOME$/.muttrc رو ایجاد و تنظیمات مورد نیازتون رو به اون اضافه کنید. تنظیم Mutt کار نسبتا زمان بریه و اگر بخواید این فایل رو از هیچ بنویسید، ممکنه خسته بشید. من برای شروع یک نمونه‌ی ساده از این تنظیمات رو می‌ذارم که شما می‌تونید بعداً اون رو به هر شکلی که دوست دارید، تغییر بدید. بعضی قسمت‌های این فایل مثل aliasها و رنگ‌ها (colours) به فایل‌ دیگه‌ای اشاره می‌کنن که نباید یادتون بره اون فایل‌ها رو هم ایجاد کنید.&lt;/small&gt;&lt;/span&gt;&lt;small&gt;&lt;br /&gt;&lt;br /&gt;&lt;/small&gt;&lt;div dir="ltr" align="left"&gt;&lt;code&gt;&lt;small&gt;#======================================================#&lt;br /&gt;# Boring details&lt;br /&gt;set realname = "&lt;span style="color:#ff0000;"&gt;your_username&lt;/span&gt;"&lt;br /&gt;set from = "&lt;span style="color:#ff0000;"&gt;your_email@gmail.com&lt;/span&gt;"&lt;br /&gt;set use_from = yes&lt;br /&gt;set envelope_from ="yes"&lt;br /&gt;&lt;br /&gt;# Use a signature&lt;br /&gt;set signature="~/.signature"&lt;br /&gt;&lt;br /&gt;# Use msmtp rather than sendmail. Check that&lt;br /&gt;# the path is correct for your system:&lt;br /&gt;set sendmail="/usr/bin/msmtp"  &lt;br /&gt;&lt;br /&gt;# If not set in ~/.bashrc:&lt;br /&gt;set spoolfile = /var/spool/mail/john&lt;br /&gt;&lt;br /&gt;#======================================================#&lt;br /&gt;# Folders&lt;br /&gt;set folder="$HOME/mail"      # Local mailboxes stored here&lt;br /&gt;set record="+sent"           # Where to store sent messages&lt;br /&gt;set postponed="+postponed"   # Where to store draft messages&lt;br /&gt;set mbox_type=mbox           # Mailbox type&lt;br /&gt;set move=no                  # Don't move mail from spool&lt;br /&gt;&lt;br /&gt;#======================================================#&lt;br /&gt;# Watch these mailboxes for new mail, useful only if&lt;br /&gt;# Procmail or Maildrop is used to sort mail.&lt;br /&gt;mailboxes ! +slrn +fetchmail +mutt&lt;br /&gt;set sort_browser=alpha    # Sort mailboxes by alpha(bet)&lt;br /&gt;&lt;br /&gt;#======================================================#&lt;br /&gt;# What to show and order of headers&lt;br /&gt;ignore *&lt;br /&gt;unignore Date: From: User-Agent: X-Mailer X-Operating-System To: \&lt;br /&gt;         Cc: Reply-To: Subject: Mail-Followup-To:&lt;br /&gt;hdr_order Date: From: User-Agent: X-Mailer X-Operating-System To: \&lt;br /&gt;        Cc: Reply-To: Subject: Mail-Followup-To:&lt;br /&gt;                      &lt;br /&gt;#======================================================#&lt;br /&gt;# which editor do you want to use?&lt;br /&gt;# vim of course!&lt;br /&gt;set editor="vim -c 'set tw=70 et' '+/^$' "&lt;br /&gt;set edit_headers=yes      # See the headers when editing&lt;br /&gt;&lt;br /&gt;#======================================================#&lt;br /&gt;# Aliases&lt;br /&gt;&lt;br /&gt;set alias_file = ~/mail/mutt_aliases # In their own file&lt;br /&gt;source ~/mail/mutt_aliases           # Source them&lt;br /&gt;set sort_alias=alias                 # Sort alphabetically&lt;br /&gt;&lt;br /&gt;#======================================================#&lt;br /&gt;# Colours: defaults are a little bleak so experiment!&lt;br /&gt;&lt;br /&gt;source ~/mutt/mutt_colors            # In their own file&lt;br /&gt;&lt;br /&gt;#======================================================#&lt;br /&gt;# Lists: An example using the mutt-users list:&lt;br /&gt;&lt;br /&gt;lists mutt-users&lt;br /&gt;subscribe mutt-users&lt;br /&gt;set followup_to=yes        # Sets 'Mail-Followup-To' header&lt;br /&gt;set honor_followup_to=yes &lt;br /&gt;fcc-hook mutt-user +mutt   # See your own posts using fcc&lt;br /&gt;&lt;br /&gt;#======================================================#&lt;br /&gt;# Odds and ends&lt;br /&gt;&lt;br /&gt;set markers          # mark wrapped lines of text in the pager with a +&lt;br /&gt;set smart_wrap       # Don't wrap mid-word&lt;br /&gt;set pager_context=5  # Retain 5 lines of previous page when scrolling.&lt;br /&gt;set status_on_top    # Status bar on top.&lt;br /&gt;push &amp;lt;show-version&amp;gt;  # Shows mutt version at startup&lt;/small&gt;&lt;/code&gt;&lt;/div&gt;&lt;small&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:tahoma;"&gt;در زیر توضیحات بیشتری در مورد رنگ‌ها و روش استفاده از اون‌ها در Mutt می‌دم:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:tahoma;"&gt;&lt;b&gt;رنگ‌ها در Mutt&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:tahoma;"&gt;اگر ترمینال شما از رنگ‌ها هم پشتیبانی می‌کنه (که دیگه این روزا خیلی کم پیش می‌یاد که ترمینالی از رنگ‌ها پشتیبانی نکنه)، می‌تونید تغریبا رنگ همه‌ی قسمت‌های پنجره‌ی Mutt رو تنظیم کنید. تمام اطلاعات مربوط به رنگ‌ها در راهنمای Mutt و در قسمت "&lt;/span&gt;&lt;/small&gt;&lt;/big&gt;&lt;span style="font-family:tahoma;"&gt;Section 3: Configuration 8: Using color and mono video attributes" موجوده، ولی در هر حال، روش ساده‌ی استفاده از رنگ‌ها به صورت زیره:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div dir="ltr" align="left"&gt;&lt;code&gt;color   object   foreground   background&amp;gt;/code&amp;gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:tahoma;"&gt;&lt;br /&gt;البته تعیین رنگ‌ها می‌تونه خیلی پیچیده‌تر از این‌ها باشه، ولی یک شروع ساده مناسب‌تره. رنگ‌های اولیه شامل سفید (white)، سیاه (black)، سبز (green)، بنفش (magenta)، آبی (blue)، فیروزه‌ای (cyan)، زرد (yellow)، قرمز (red) و رنگ پیش‌فرض (default) است که همین‌طور می‌تونید با اضافه کردن کلمه‌ی bright در مورد رنگ‌های پس‌زمینه (foreground) اون‌ها رو پر رنگ‌تر کنید. برای افرادی که از ترمینالی با پیش‌زمینه‌ی سفید استفاده می‌کنن، رنگ‌های زیر رنگ‌های مناسبی هستن:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir="ltr" align="left"&gt;&lt;code&gt;#---- Mutt Colors for White Background -------&lt;br /&gt;color    hdrdefault    black           default  &lt;br /&gt;color    quoted        red             default  &lt;br /&gt;color    signature     brightblack     default  &lt;br /&gt;color    indicator     brightwhite     red&lt;br /&gt;color    attachment    black           default&lt;br /&gt;color    error         red             default  &lt;br /&gt;color    message       blue            default  &lt;br /&gt;color    search        brightwhite     magenta&lt;br /&gt;color    status        brightyellow    blue&lt;br /&gt;color    tree          red             default  &lt;br /&gt;color    normal        blue            default  &lt;br /&gt;color    tilde         green           default  &lt;br /&gt;color    bold          brightyellow    default  &lt;br /&gt;color    markers       red             default&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:tahoma;"&gt;&lt;br /&gt;البته باید فایلی به اسم colors.default هم به هنگام نصب Mutt ایجاد شده باشه که برای ترمینال‌هایی با پیش‌زمینه‌ی سفید نوشته شده. برای ترمینال‌هایی که دارای پیش‌زمینه‌ی سیاه رنگ هستند هم فایلی به نام colors.linux به هنگام نصب Mutt ایجاد شده که محتویات این فایل در زیر اومده:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div dir="ltr" align="left"&gt;&lt;code&gt;#---- Mutt Colors for Black Background -------&lt;br /&gt;color   hdrdefault   blue              black&lt;br /&gt;color   quoted       blue              black&lt;br /&gt;color   signature    blue              black&lt;br /&gt;color   attachment   red               black&lt;br /&gt;color   message      brightred         black&lt;br /&gt;color   error        brightred         black&lt;br /&gt;color   indicator    black             red&lt;br /&gt;color   status       brightgreen       blue&lt;br /&gt;color   tree         white             black&lt;br /&gt;color   normal       white             black&lt;br /&gt;color   markers      red               black&lt;br /&gt;color   search       white             black&lt;br /&gt;color   tilde        brightmagenta     black&lt;br /&gt;color   index        blue              black ~F&lt;br /&gt;color   index        red               black "~N|~O"&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:tahoma;"&gt;اگر هم از هیچ‌‌کدوم از رنگ‌های بالا خوشتون نیامد، می‌تونید خودتون دست بکار بشید و با کمک راهنمای Mutt رنگ‌های مورد علاقه‌تون رو انتخاب کنید.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:tahoma;"&gt;&lt;big&gt;&lt;b&gt;نتیجه‌ی کار&lt;/b&gt;&lt;/big&gt;&lt;br /&gt;&lt;br /&gt;در نهایت، شما می‌تونید بعد از باز کردن Mutt، با فشار دادن کلید "!" یک شل پرامت (shell prompt) باز کنید و پس از اجرای کامند fetchmail -v خواندن ای‌میل‌هاتون رو شروع کنید. و هدیه‌‌ای که من در اینجا به شما می‌دم یک ماکروست که با استفاده از اون می‌تونید به راحتی و با فشردن کلید "I" به خواندن ای‌میل‌ها بپردازید. خط زیر رو به muttrc./~ اضافه کنید:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir="ltr" align="left"&gt;&lt;code&gt;macro index,pager I '&amp;lt;shell-escape&amp;gt; fetchmail -v&amp;lt;enter&amp;gt;'&lt;/code&gt;&lt;/div&gt;&lt;span style="font-family:tahoma;"&gt;&lt;br /&gt;البته این فایل Muttrc./~ خیلی ساده است و می‌تونه پیچیده‌تر از این‌ها باشه، اما به نظر من این فایل بیشتر نیازها رو بر آورده می‌کنه. از اینکه چند ساعتی بیشتر وقت بذارید و این فایل رو کامل‌تر کنید نترسید، چون قطعا کامل‌تر کردنش ارزش زمانی رو که براش می‌ذارید رو داره.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:tahoma;"&gt;&lt;br /&gt;&lt;big&gt;&lt;b&gt;و در انتها...&lt;/b&gt;&lt;/big&gt;&lt;br /&gt;&lt;br /&gt;ترمینال لینوکس برنامه‌های خارق‌العاده‌ای داره و می‌شه باهاش کارهای عجیب غریبی انجام داد. اسکریپت‌های زیادی می‌شه نوشت که نتیجه‌ی اون‌ها رو ای‌میل کنه، و یا ای‌میلی رو که دریافت شده رو بگیره و کار خاصی روی اون انجام بده. به هر حال امیدوارم از این نوشته بهره‌ی کافی رو برده باشید و خیلی خوشحال می‌شم اگر نظر خودتون و نتیجه استفاده از این نوشته رو از طریق ای‌میل (مسلما با استفاده از Mutt) و یا کامنت به من بگید. همین‌طور اگر در این نوشته به ایرادی برخوردید، حتما من رو مطلع کنید.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4623421911381139355-681637751205639207?l=tuxcity.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TuxCity/~4/IgsiFji_zOg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tuxcity.blogspot.com/feeds/681637751205639207/comments/default" title="نظرات پيام" /><link rel="replies" type="text/html" href="http://tuxcity.blogspot.com/2010/04/gmail.html#comment-form" title="0 نظر" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4623421911381139355/posts/default/681637751205639207?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4623421911381139355/posts/default/681637751205639207?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TuxCity/~3/IgsiFji_zOg/gmail.html" title="استفاده از اکانت Gmail در ترمینال لینوکس" /><author><name>Ali</name><uri>http://www.blogger.com/profile/04934005069608694297</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://3.bp.blogspot.com/-FB4NFD1Zkh0/Ts-LN5SOZDI/AAAAAAAABUU/CWrCxbuCCA0/s220/Me.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://tuxcity.blogspot.com/2010/04/gmail.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE4CRHozfCp7ImA9WxFTEU8.&quot;"><id>tag:blogger.com,1999:blog-4623421911381139355.post-1830973764998903821</id><published>2010-03-31T23:47:00.003+04:30</published><updated>2010-04-01T17:32:45.484+04:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-01T17:32:45.484+04:30</app:edited><title>هر آنچه از ls -l باید بدانید</title><content type="html">&lt;div dir="rtl" style="text-align: right;"&gt;&lt;span style="font-family:tahoma;"&gt;یکی از کامندهای خیلی پر استفاده‌ی لینوکس ls -l هست که به طور حتم شما هم به خوبی می‌شناسیدش و بارها ازش استفاده کرده‌اید. کار این کامند نمایش لیست‌ طولانی (همراه با مشخصات) فایل‌ها و فولدرهاست. یک نمونه از خروجی این کامند رو در زیر می‌بینید که من بعدا هر ستون این کامند رو ترجمه می‌کنم. (گرچه به احتمال زیاد شما بیشتر ستون‌ها یا شاید همه‌ی اون‌ها رو می‌شناسید.)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div dir="ltr" align="left"&gt;&lt;code&gt;drwxr-xr-x.  3 root root    4096 2010-01-02 12:55 alsa&lt;br /&gt;drwxr-xr-x.  2 root root    4096 2009-11-09 22:42 bdevid&lt;br /&gt;lrwxrwxrwx.  1 root root      14 2010-02-13 18:30 cpp -&gt; ../usr/bin/cpp&lt;br /&gt;drwxr-xr-x.  3 root root    4096 2010-02-27 01:04 crda&lt;br /&gt;drwxr-xr-x.  2 root root    4096 2010-01-15 16:51 dbus-1&lt;br /&gt;drwxr-xr-x. 40 root root    4096 2010-03-30 15:14 firmware&lt;br /&gt;drwxr-xr-x.  3 root root    4096 2010-01-04 17:28 i686&lt;br /&gt;drwxr-xr-x.  6 root root    4096 2009-11-09 22:44 kbd&lt;br /&gt;-rwxr-xr-x.  1 root root  179364 2010-01-04 17:59 ld-2.11.1.so&lt;br /&gt;lrwxrwxrwx.  1 root root      12 2010-01-14 14:49 ld-linux.so.2 -&gt; ld-2.11.1.so&lt;br /&gt;lrwxrwxrwx.  1 root root      13 2010-02-05 14:36 ld-lsb.so.3 -&gt; ld-linux.so.2&lt;br /&gt;lrwxrwxrwx.  1 root root      15 2010-01-10 02:56 libacl.so.1 -&gt; libacl.so.1.1.0&lt;br /&gt;-rwxr-xr-x.  1 root root   31444 2009-12-26 23:51 libacl.so.1.1.0&lt;br /&gt;-rwxr-xr-x.  1 root root    3508 2009-07-26 23:38 libaio.so.1.0.0&lt;br /&gt;-rwxr-xr-x.  1 root root    3508 2009-07-26 23:38 libaio.so.1.0.1&lt;br /&gt;-rwxr-xr-x.  1 root root   18556 2010-01-04 17:59 libanl-2.11.1.so&lt;br /&gt;lrwxrwxrwx.  1 root root      16 2010-01-14 14:49 libanl.so.1 -&gt; libanl-2.11.1.so&lt;br /&gt;-rwxr-xr-x.  1 root root  964852 2010-01-26 12:14 libasound.so.2.0.0&lt;br /&gt;-rwxr-xr-x.  1 root root   18516 2009-11-26 22:20 libattr.so.1.1.0&lt;br /&gt;-rwxr-xr-x.  1 root root   93248 2009-12-08 19:25 libaudit.so.1.0.0&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:tahoma;"&gt;برای نمونه سطر زیر رو در نظر بگیرید:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div dir="ltr" align="left"&gt;&lt;code&gt;-rwxr-xr-x.  1 root root    3508 2009-07-26 23:38 libaio.so.1.0.1&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:tahoma;"&gt;همین‌طور که می‌بینید این سطر به ۱۰ ستون به شکل زیر تقسیم شده:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;style type="text/css"&gt;  &lt;!--   @page { margin: 0.79in }   TD P { margin-bottom: 0in }   P { margin-bottom: 0.08in }  --&gt;  &lt;/style&gt;  &lt;table width="100%" border="1" bordercolor="#000000" cellpadding="4" cellspacing="0"&gt;  &lt;col width="26*"&gt;  &lt;col width="26*"&gt;  &lt;col width="26*"&gt;  &lt;col width="26*"&gt;  &lt;col width="26*"&gt;  &lt;col width="26*"&gt;  &lt;col width="26*"&gt;  &lt;col width="26*"&gt;  &lt;col width="26*"&gt;  &lt;col width="26*"&gt;  &lt;tbody&gt;&lt;tr valign="TOP"&gt;   &lt;td width="10%"&gt;&lt;small&gt;    &lt;/small&gt;&lt;p dir="RTL" align="CENTER"&gt;&lt;small&gt;&lt;span style="font-family:Tahoma;"&gt;ستون ۱۰&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;small&gt;   &lt;/small&gt;&lt;/td&gt;   &lt;td width="10%"&gt;&lt;small&gt;    &lt;/small&gt;&lt;p dir="RTL" align="CENTER"&gt;&lt;small&gt;&lt;span style="font-family:Tahoma;"&gt;ستون ۹&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;small&gt;   &lt;/small&gt;&lt;/td&gt;   &lt;td width="10%"&gt;&lt;small&gt;    &lt;/small&gt;&lt;p dir="RTL" align="CENTER"&gt;&lt;small&gt;&lt;span style="font-family:Tahoma;"&gt;ستون ۸&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;small&gt;   &lt;/small&gt;&lt;/td&gt;   &lt;td width="10%"&gt;&lt;small&gt;    &lt;/small&gt;&lt;p dir="RTL" align="CENTER"&gt;&lt;small&gt;&lt;span style="font-family:Tahoma;"&gt;ستون ۷&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;small&gt;   &lt;/small&gt;&lt;/td&gt;   &lt;td width="10%"&gt;&lt;small&gt;    &lt;/small&gt;&lt;p dir="RTL" align="CENTER"&gt;&lt;small&gt;&lt;span style="font-family:Tahoma;"&gt;ستون ۶&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;small&gt;   &lt;/small&gt;&lt;/td&gt;   &lt;td width="10%"&gt;&lt;small&gt;    &lt;/small&gt;&lt;p dir="RTL" align="CENTER"&gt;&lt;small&gt;&lt;span style="font-family:Tahoma;"&gt;ستون ۵&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;small&gt;   &lt;/small&gt;&lt;/td&gt;   &lt;td width="10%"&gt;&lt;small&gt;    &lt;/small&gt;&lt;p dir="RTL" align="CENTER"&gt;&lt;small&gt;&lt;span style="font-family:Tahoma;"&gt;ستون ۴&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;small&gt;   &lt;/small&gt;&lt;/td&gt;   &lt;td width="10%"&gt;&lt;small&gt;    &lt;/small&gt;&lt;p dir="RTL" align="CENTER"&gt;&lt;small&gt;&lt;span style="font-family:Tahoma;"&gt;ستون ۳&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;small&gt;   &lt;/small&gt;&lt;/td&gt;   &lt;td width="10%"&gt;&lt;small&gt;    &lt;/small&gt;&lt;p dir="RTL" align="CENTER"&gt;&lt;small&gt;&lt;span style="font-family:Tahoma;"&gt;ستون ۲&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;small&gt;   &lt;/small&gt;&lt;/td&gt;   &lt;td width="10%"&gt;&lt;small&gt;    &lt;/small&gt;&lt;p dir="RTL" align="CENTER"&gt;&lt;small&gt;&lt;span style="font-family:Tahoma;"&gt;ستون ۱&lt;br /&gt;&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;small&gt;   &lt;/small&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="TOP"&gt;   &lt;td width="10%"&gt;    &lt;p dir="RTL" align="CENTER"&gt;&lt;small&gt;libaudit.so.1.0.1&lt;/small&gt;&lt;br /&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td width="10%"&gt;    &lt;p dir="RTL" align="CENTER"&gt;&lt;small&gt;2009-11-0823:38&lt;/small&gt;&lt;br /&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td width="10%"&gt;&lt;small&gt;    &lt;/small&gt;&lt;p dir="RTL" align="CENTER"&gt;&lt;small&gt;3508&lt;br /&gt;&lt;/small&gt;&lt;/p&gt;&lt;small&gt;   &lt;/small&gt;&lt;/td&gt;   &lt;td width="10%"&gt;&lt;small&gt;    &lt;/small&gt;&lt;p dir="RTL" align="CENTER"&gt;&lt;small&gt;root&lt;br /&gt;&lt;/small&gt;&lt;/p&gt;&lt;small&gt;   &lt;/small&gt;&lt;/td&gt;   &lt;td width="10%"&gt;&lt;small&gt;    &lt;/small&gt;&lt;p dir="RTL" align="CENTER"&gt;&lt;small&gt;root&lt;br /&gt;&lt;/small&gt;&lt;/p&gt;&lt;small&gt;   &lt;/small&gt;&lt;/td&gt;   &lt;td width="10%"&gt;&lt;small&gt;    &lt;/small&gt;&lt;p dir="RTL" align="CENTER"&gt;&lt;small&gt;1&lt;br /&gt;&lt;/small&gt;&lt;/p&gt;&lt;small&gt;   &lt;/small&gt;&lt;/td&gt;   &lt;td width="10%"&gt;&lt;small&gt;    &lt;/small&gt;&lt;p dir="RTL" align="CENTER"&gt;&lt;small&gt;r-x&lt;br /&gt;&lt;/small&gt;&lt;/p&gt;&lt;small&gt;   &lt;/small&gt;&lt;/td&gt;   &lt;td width="10%"&gt;&lt;small&gt;    &lt;/small&gt;&lt;p dir="RTL" align="CENTER"&gt;&lt;small&gt;r-x&lt;br /&gt;&lt;/small&gt;&lt;/p&gt;&lt;small&gt;   &lt;/small&gt;&lt;/td&gt;   &lt;td width="10%"&gt;&lt;small&gt;    &lt;/small&gt;&lt;p dir="RTL" align="CENTER"&gt;&lt;small&gt;rwx&lt;br /&gt;&lt;/small&gt;&lt;/p&gt;&lt;small&gt;   &lt;/small&gt;&lt;/td&gt;   &lt;td width="10%"&gt;&lt;small&gt;    &lt;/small&gt;&lt;p dir="RTL" align="CENTER"&gt;&lt;small&gt;-&lt;br /&gt;&lt;/small&gt;&lt;/p&gt;&lt;small&gt;   &lt;/small&gt;&lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:tahoma;"&gt;&lt;u&gt;ستون اول&lt;/u&gt; ممکنه یکی از حالت‌های زیر باشه:&lt;br /&gt;- : فایل&lt;br /&gt;d : فولدر یا directory&lt;br /&gt;l : لینک&lt;br /&gt;&lt;br /&gt;&lt;u&gt;ستون‌های دوم، سوم و چهارم&lt;/u&gt; مربوط به مجوزهاست. مجوز خواندن (r)، مجوز نوشتن (w) و مجوز اجرا کردن (x) که:&lt;br /&gt;ستون اول مجوزهای صاحب (owner) فایل است.&lt;br /&gt;ستون دوم مجوزهای گروه فایل است.&lt;br /&gt;و ستون سوم مجوزهای سایرافراد (everyone) است.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;ستون پنجم&lt;/u&gt; نشان‌دهنده‌ی تعداد لینک‌ها یا فولدارهای داخل یک فولدره.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;ستون ششم&lt;/u&gt; نام صاحب (owner) فایل یا فولدر رو نشان می‌ده.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;ستون هفتم&lt;/u&gt; گروهی رو که فایل به اون تعلق داره، مشخص می‌کنه و هر کاربری (به جز صاحب فایل) که متعلق به این گروه باشه، دارای مجوزهای ذکر شده در ستون سوم است.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;ستون هشتم&lt;/u&gt; نشان دهنده‌ی سایز فایل به بایت است. افزودن h- (برگرفته از &lt;b&gt;H&lt;/b&gt;uman Readable) به همراه l- باعث می‌شه خروجی برای درک بهتر به کیلوبایت، مگابایت و یا گیگابایت باشه.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;ستون نهم&lt;/u&gt; شامل تاریخ و زمان آخرین باری که فایل ویرایش شده است.&lt;br /&gt;&lt;br /&gt;و در &lt;u&gt;ستون دهم&lt;/u&gt; هم که نام فایل به نمایش در می‌آد. البته در مورد لینک‌ها نام فایلی که به آن لینک داده شده پس از علامت &lt;- نمایش داده می‌شه.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4623421911381139355-1830973764998903821?l=tuxcity.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TuxCity/~4/LCP0BIeKlHQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tuxcity.blogspot.com/feeds/1830973764998903821/comments/default" title="نظرات پيام" /><link rel="replies" type="text/html" href="http://tuxcity.blogspot.com/2010/03/ls-l.html#comment-form" title="0 نظر" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4623421911381139355/posts/default/1830973764998903821?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4623421911381139355/posts/default/1830973764998903821?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TuxCity/~3/LCP0BIeKlHQ/ls-l.html" title="هر آنچه از ls -l باید بدانید" /><author><name>Ali</name><uri>http://www.blogger.com/profile/04934005069608694297</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://3.bp.blogspot.com/-FB4NFD1Zkh0/Ts-LN5SOZDI/AAAAAAAABUU/CWrCxbuCCA0/s220/Me.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://tuxcity.blogspot.com/2010/03/ls-l.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUUMRXg5eyp7ImA9WxFTEU8.&quot;"><id>tag:blogger.com,1999:blog-4623421911381139355.post-655512062651575420</id><published>2010-03-10T01:04:00.002+03:30</published><updated>2010-04-01T17:38:04.623+04:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-01T17:38:04.623+04:30</app:edited><title>دو تابع مفید گوگلی برای استفاده در لینوکس</title><content type="html">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;div style="direction: rtl;" align="right"&gt;قصد داشتم برای شروع روش تنظیم و استفاده از اکانت جی میل در کنسول لینوکس رو توضیح بدم ولی نوشتنش بیشتر از اونی که فکر می کردم طول کشید. بنابراین فعلا به این پست کوتاه‌تر بسنده می‌کنم.&lt;br /&gt;&lt;br /&gt;اینجا قصد دارم دو تا تابع جالب گوگلی رو برای استفاده در کنسول لینوکس معرفی کنم. اولین تابع، برای تصحیح املای یک کلمه یا همون spell checking با استفاده از موتور جستجوی گوگله. حتما دیدید که در هنگام استفاده از موتور جستجوی گوگل در صورت اینکه کلمه‌ای رو اشتباه تایپ کرده باشید، گوگل کلمه درست رو بهتون پیشنهاد می‌کنه. ما می‌خوایم کاری کنیم که با اجرای یک دستور ساده در کنسول، بتونیم املای صحیح یک کلمه رو چک کنیم. برای اینکار کافیه کد زیر رو در کنسول وارد کنید:&lt;br /&gt;&lt;br /&gt;&lt;div dir="ltr" align="left"&gt;&lt;code&gt;spellcheck(){ typeset y=$@;curl -sd "&amp;lt;spellrequest&amp;gt;&amp;lt;text&amp;gt;$y&amp;lt;/text&amp;gt;&amp;lt;/spellrequest&amp;gt;" https://google.com/tbproxy/spell|sed -n '/s="[0-9]"/{s/&amp;lt;[^&amp;gt;]*&amp;gt;/ /g;s/\t/ /g;s/ *\(.*\)/Suggestions: \1\n/g;p}'|tee &amp;gt;(grep -Eq '.*'||echo -e "OK");}&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;(اگر دوست دارید همیشه این تابع دم دستتون باشه، می‌تونید کد بالا رو به bashrc./~ اضافه کنید.)&lt;br /&gt;&lt;br /&gt;پس از وارد کردن دستور بالا به راحتی می‌تونید با استفاده از دستور زیر املای صحیح یک کلمه رو چک کنید:&lt;br /&gt;&lt;br /&gt;&lt;div dir="ltr" align="left"&gt;&lt;code&gt;spellcheck &lt;span style="color: rgb(255, 0, 0);"&gt;&lt;i&gt;some_word&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;تابع دوم، می تونه برای تشخیص زبان یک نوشته، با استفاده از مترجم گوگل استفاده بشه. مشابه کد بالا، کد زیر رو هم میتونید به فایل bashrc./~ اضافه کنید تا بتونید همیشه ازش استفاده کنید.&lt;br /&gt;&lt;br /&gt;&lt;div dir="ltr" align="left"&gt;&lt;code&gt;detectlanguage(){ curl -s "http://ajax.googleapis.com/ajax/services/language/detect?v=1.0&amp;amp;q=$(echo "$@" | sed 's/ /%20/g')" | sed 's/{"responseData": {"language":"\([^"]*\)".*/\1\n/'; }&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;پس از وارد کردن دستور بالا، با استفاده از دستور زیر زبان یک عبارت رو چک کنید:&lt;br /&gt;&lt;br /&gt;&lt;div dir="ltr" align="left"&gt;&lt;code&gt;detectlanguage &lt;span style="color: rgb(255, 0, 0);"&gt;&lt;i&gt;a_phrase_in_an_unknown_language&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;امیدوارم مفید بوده باشه.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.commandlinefu.com/commands/view/4873/google-spell-checker" target="_blank"&gt;منبع کد اول&lt;/a&gt; - &lt;a href="http://www.commandlinefu.com/commands/view/5035/detect-language-of-a-string" target="_blank"&gt;منبع کد دوم&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4623421911381139355-655512062651575420?l=tuxcity.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TuxCity/~4/sTrgVBolFTQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tuxcity.blogspot.com/feeds/655512062651575420/comments/default" title="نظرات پيام" /><link rel="replies" type="text/html" href="http://tuxcity.blogspot.com/2010/03/blog-post.html#comment-form" title="0 نظر" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4623421911381139355/posts/default/655512062651575420?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4623421911381139355/posts/default/655512062651575420?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TuxCity/~3/sTrgVBolFTQ/blog-post.html" title="دو تابع مفید گوگلی برای استفاده در لینوکس" /><author><name>Ali</name><uri>http://www.blogger.com/profile/04934005069608694297</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://3.bp.blogspot.com/-FB4NFD1Zkh0/Ts-LN5SOZDI/AAAAAAAABUU/CWrCxbuCCA0/s220/Me.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://tuxcity.blogspot.com/2010/03/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQHRn85fSp7ImA9WxFTEU8.&quot;"><id>tag:blogger.com,1999:blog-4623421911381139355.post-8562229840987300332</id><published>2009-09-02T16:50:00.001+04:30</published><updated>2010-04-01T17:38:57.125+04:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-01T17:38:57.125+04:30</app:edited><title>سلام‌</title><content type="html">&lt;div dir="rtl" style="text-align: right; font-family: Tahoma;"&gt;فعلا هنوز هیچ چیز شروع نشده! این پست اولین پست تاکس سیتیه و احتمالا به جز این پست بقیه‌ی پست‌ها باید مربوط به دنیای لینوکس باشه.&lt;br /&gt;حتما کسایی که با لینوکس آشنایی دارن، تاکس، پنگوئن معروف لینوکس، رو هم می‌شناسن و به همین دلیل فکر نمی‌کنم دلیلی باشه برای اینکه توضیح بدم که چرا اسم اینجا شده تاکس سیتی.&lt;br /&gt;من هر‌آنچه از دنیای گسترده‌ی لینوکس به نظرم جالب بیاد اینجا خواهم نوشت!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4623421911381139355-8562229840987300332?l=tuxcity.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TuxCity/~4/rrNfIw4BPn0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tuxcity.blogspot.com/feeds/8562229840987300332/comments/default" title="نظرات پيام" /><link rel="replies" type="text/html" href="http://tuxcity.blogspot.com/2009/09/blog-post.html#comment-form" title="0 نظر" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4623421911381139355/posts/default/8562229840987300332?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4623421911381139355/posts/default/8562229840987300332?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TuxCity/~3/rrNfIw4BPn0/blog-post.html" title="سلام‌" /><author><name>Ali</name><uri>http://www.blogger.com/profile/04934005069608694297</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://3.bp.blogspot.com/-FB4NFD1Zkh0/Ts-LN5SOZDI/AAAAAAAABUU/CWrCxbuCCA0/s220/Me.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://tuxcity.blogspot.com/2009/09/blog-post.html</feedburner:origLink></entry></feed>

