کار خوب نتیجه ابزار خوب است و ابزار خوب، یک ماشین خیلی پیچیده و بزرگ نیست بلکه مجموعه ای از ابزارهای کوچکی است که به خوبی از عهده کارهای خاص بر می آیند و با هم جفت و جور می شوند. لینوکس دقیقا همین است: یک جعبه ابزار فوق العاده با توانایی جفت و جور شدن با هم. دقیقا انگار یک لگو داشته باشید از پیچ گوشتی و آچار و مته و اره و هر چیز دیگر.
امروز دوستی با یک سی دی پیشم بود. می خواست زود برود چون باید کل فایل ها را چک می کرد و از این یکی دو هزار فایل، آنهایی که اسم «فلانی» در آنها بود را جدا میکرد. برای اینکار نیازی به تلف کردن کل شب خوبمان با باز و بسته کردن هزار تا فایل نبود. سی دی را در لینوکس گذاشتم و گفتم که بیتشر از سی ثانیه کار ندارد. در لینوکس من دستور «جستجو» را دارم و می نویسم:
grep فلانی *
جالب نیست؟ حالا دقیقا می گوید در کجای کدام فایل اسم «فلانی» آمده. اما من فقط اسم فایل ها را می خواهم:
grep فلانی * -l
بامزه نیست؟ l- می گوید: فقط اسم ها را چاپ کن، هر کدام را در یک خط. دوستم که هیجان زده شده می گوید خروجی را ذخیره کنم و اسم فایل ها را به او بدهم که جدایشان کند و یک فایل فشرده از همه آنها درست کند. مگر لینوکس مرده؟
grep فلانی * -l | xargs tar -czf allfiles.tar.gz
واو… یکضرب خودش هم زیپ کرد! علامت | (پایپ) می گوید خروجی اول را بدهید به ورودی دومی و xargs هم می گوید هر خروجی را به پشت دستور بعدی اضافه کند و دستور را اجرا کند. tar -czf هم یک فایل فشرده از فایل هایی که به آن داده ایم می سازد! حالا من یک فایل فشرده ساخته ام از همه فایل هایی که اسم «فلانی» در آن هست. دوستم دیگر به لینوکس ایمان آورده و درخواست نمی کند که فایل را برایش کپی کنم تا از خانه ایمیلش کند. بلکه می پرسد: چجوری ایمیلش کنم؟
جواب عمومی ساده است: لاگین کن و attach کن و ایمیل کن. در لینوکس جریان ساده تر است. اگر بخواهم فیگور خط فرمان بیایم می نویسم:
grep فلانی * -l | xargs tar -czf allfiles.tar.gz && uuenpre allfiles.tar.gz allfiles.tar.gz | mail jadijadi@gmail.com -s "file hameye hesabhaye folani"
ولی با این خط عملا دیگر دارم خط فرمان را خز می کنم (: به جای اینکار من وارد برنامه ایمیلم می شوم (kmail) و یک ایمیل جدید باز می کنم و می نویسم: «فایل پیوست حاوی همه حساب هایی است که توشون اسم فلانی هست» و ایمیل را ارسال می کنم. خود برنامه از کلمه «پیوست» متوجه می شود که احتمالا می خواهم چیزی به نامه پیوست کنم و مسیر آن را از من می پرسد و به نامه پیوستش می کند! حالا مقایسه کنید که چند بار در ویندوز برایمان پیش آمده که ایمیل بزنیم «اوه ببخشید! یادم رفت فایل رو پیوست کنم. فایل به این یکی نامه پیوست شده!».
من لینوکس رو دوست دارم چون مثل یک لگو لذت بخش و مثل یک بولدوزر قوی و مثل خمیربازی شکل پذیر است (: