یک بعدازظهر، من history | tail ‑n 50 را فقط از کنجکاوی بیفایده اجرا کردم. من چیزی را دیباگ نکرده بودم. من بهینهسازی نکرده بودم. من بهصورت مفید تنبلی میکردم، که این یک سنت لینوکس است.
یک بعدازظهر، من
history | tail -n 50
را به خاطر کنجکاوی سطحی اجرا کردم. من در حال رفع اشکال چیزی نبودم. من در حال بهینهسازی هم نبودم. من بهطور مؤثری تعلل میکردم که یک سنت لینوکسی است.
history | tail -n 50
آنچه برگردانده شد کار نبود. یک حلقه بود.
cd
به همان پوشهها.
ls
برای تأیید آنچه قبلاً میدانستم.
cp
و
mv
در همان الگوها هر روز استفاده میشد. ترمینال مرا قضاوت نکرد، اما مطلقاً رسیدنها را ثبت میکرد.
cd
ls
cp
mv
آن خروجی چیز واضح و ناخوشایندی را نشان داد. من منظم نبودم. جبران میکردم. کارهای کوچکی را بارها تکرار میکردم چون هر کدام به اندازهای کوچک بودند که نادیده گرفته شوند. در مجموع، اینها مالیات روزانهای بر توجه من بود که هرگز بهطور رسمی موافقت نکرده بودم. همان لحظه بود که فکر درباره بهرهوری را رها کردم و به فکر اصطکاک شدم.
تکرار به عنوان یک مصرف مخفی بهرهوری
چرا کارهای کوچک روزانه بهنظر میرسد که برای اصلاح خیلی جزئیاند اما به سرعت جمع میشوند

اکثریت مصرفهای بهرهوری خودشان را اعلام نمیکنند؛ به شکل روال ظاهر میشوند. در سیستم لینوکسی من که Cinnamon اجرا میکند، پیش از آنکه حتی کار را آغاز کنم، ظاهر شدند. اگرچه من خودکارسازیها را به صورت اسکریپتهای مختلف انجام میدهم، برنامههایی مانند Actionaz تقریباً همه وظایف را به همان روش انجام میدهند.
هر صبح، Nemo به همان پوشههای ثابت باز میشد. من مسیرهای پروژه یکسان را زیر
~/Documents
کلیک میکردم. پوشه Downloads دوباره نیاز به پاکسازی داشت، معمولاً پس از نگاهی سریع که با
ls ~/Downloads
آنچه قبلاً میدانستم تأیید میشد. فایلهای صادرشده نیاز به تغییر نام داشتند چون نامهای پیشفرضی مانند «final_v3_reallyfinal.pdf» جرم علیه سلامت ذهنی و انسانی ماست. هر عمل کمتر از یک دقیقه طول میکشید و هیچکدامش ارزش اصلاح نداشت. به همین دلیل آنها زنده ماندند.
~/Documents
ls ~/Downloads
هزینه واقعی زمان نبود. بلکه نویز شناختی بود. هر یک از این «وظایف سریع» یک سوئیچ زمینهی ایجاد میکرد. حتی نوشتن
cd ../../current-project
توجه شما را از کاری که قصد انجامش را دارید میبرد. Cinnamon بهصورت گسترده قابل تنظیم است، اما هیچ محیط دسکتاپی نمیتواند شما را از یک جریان کاری که خودش را قطع میکند، محافظت کند.
cd ../../current-project
در نهایت واضح شد که انرژی بیشتری برای تحمل این مزاحمتها صرف میکنم تا آنکه صرف حذف آنها شود. در این نقطه، خودکارسازی دیگر گزینهای نبود.
تکرار discipline نیست؛ هشدار است
چگونه لینوکس رفتارهای تکراری را از طریق سیستم نشان میدهد

ما تمایل داریم تکرار را بهعنوان discipline تصور کنیم. انجام یک کار یکسان هر روز حرفهای و مسئولانه بهنظر میرسد. در واقع، تکرار یک وظیفه دستی که هرگز تغییر نمیکند، اغلب نشانهای است که سیستم ناقص است.
لینوکس این را پنهان نمیکند. در Cinnamon عادات شما بهراستی آشکار میشوند. سیستم فایل آنها را بازتاب میدهد و شل آنها را ثبت میکند. وقتی تاریخچهام را با
history | grep cd
اسکن کردم، الگو واضح بود. من بهجای
Cinnamon is highly customizable
استفاده از دستورات بهصورت مولد، در حال جستجو بودم، نه خلق.
history | grep cd
بهانهای که این وظایف زنده میمانند همیشه یکسان است: «فقط یک دقیقه طول میکشد». آن یک دقیقه فریبکار است. روز شما را به تکههای کوتاه توجهی تقسیم میکند. لینوکس از دیدن این رفتار جلوگیری نمیکند؛ آن را به سطح میآورد. وقتی تکرار را میبینید، نادیدهگیری آن دشوار میشود. وقتی آن را بپذیرید، ادامهٔ بیکاری بیمسئولیت بهنظر میرسد. تکرار ثابتکنندهٔ discipline نیست؛ نور هشداردهندهای است که به شما میگوید کجا سیستم شما توجهتان را هدر میدهد.
من خودکارسازی را عمداً کسلکننده نگه داشتم
چرا ابزارهای ساده هر بار سیستمهای پیچیده را میزنند

وقتی مردم «خودکارسازی» میشنوند، چارچوبهای ارکستراسیون، داشبوردها یا ابزارهای نو‑کد براق را تصور میکنند. من هیچیک از اینها را نمیخواستم. میخواستم خودکارسازیای که ناپیدا شود.
لینوکس از پیش همهٔ چیزهای لازم را دارد: شل، اسکریپتنویسی ساده، زمانبندی با cron و عملیات فایل با ابزارهایی مثل rsync. Cinnamon بهصورت مودبانه از مسیر حذف میشود در حالی که همهٔ اینها اتفاق میافتند.
من با تغییرات کسلکنندهٔ پرشتاب شروع کردم. دستورات طولانی که چندین بار در روز مینوشتم به alias تبدیل شدند، مانند تبدیل یک الگوی ناوبری آشنا به چیزی بهسادگی
alias work='cd ~/Documents/Projects/Current'
. روتینهای چند مرحلهای به اسکریپتهای کوچک شل تبدیل شدند که میتوانستند با یک واژهٔ واحد اجرا شوند.
alias work='cd ~/Documents/Projects/Current'
هیچ هوشمندی در آن نبود، بهصورت عمدی. هر اسکریپت یک قانون را دنبال میکرد: اگر شش ماه پس از نوشتن نتوانستم بلافاصله بگویم چه کاری انجام میدهد، جایگاهی در جریان کاری من ندارد. نامگذاری واضح بیش از زیبایی اهمیت داشت. خوانا بودن بیش از بهینهسازی عملکرد مهم بود. در زیر یک اسکریپت نمونه برای تنظیم خودکار آورده شده است. در حال حاضر برخی اسکریپتهای خوب و آماده برای استفاده وجود دارد.
#!/bin/bash # 1. Define the base path (Change this to your actual projects folder) BASE_PATH="$HOME/Documents/Projects" TARGET="$BASE_PATH/$1" # 2. Check if the folder exists if [ -d "$TARGET" ]; then echo "Launching project: $1" # 3. The "Setup" Chores cd "$TARGET" || exit xed . & # Opens Mint's text editor (or use 'code .' for VS Code) nemo . & # Opens the file manager to this spot # 4. Leave the terminal ready for work ls -F else echo "Error: Project '$1' not found in $BASE_PATH" fi
این نوع خودکارسازی در برابر نادیدهگیری مقاومت میکند. سیستمهای پیچیده نیاز به توجه دارند، در حالی که سیستمهای کسلکننده بهراحتی کار خود را انجام میدهند و شما فراموش میکنید که وجود دارند.
وظایفی که زودتر از انتظار بازدهی دادند
جایی که خودکارسازی بهسرعت آرامش بخشید

بزرگترین موفقیتها از منطق پیچیده نیامدند؛ از حذف تصمیمهای مکرر بدست آمدند.
راهاندازی پروژه یک پیروزی زودهنگام بود. پروژههای جدید قبلاً پنج دقیقه برای ایجاد پوشه و بحث نامگذاری میبردند. پس از خودکارسازی، با اسکریپت واحدی ساختار پیشبینیپذیری ساختند. پوشههایی مثل src، docs و temp فوراً ظاهر میشدند، همراه با فایلی مقدمهای که در غیر این صورت فراموش میکردم ایجادش کنم.
پوشه Downloads دیگر زبالهدانی نبود؛ وقتی دیگر با آن مذاکره نمیکردم، متوقف شدم. بهجای پاکسازی دستی، یک کار زمانبندیشده بهصورت ساکت فایلهای قدیمیتر از عدد معینی روز را با یک دستور ساده
find ~/Downloads -mtime +7 -delete
حذف میکرد. اگر چیزی مهم بود، آن را منتقل میکردم؛ اگر نه، ناپدید میشد.
find ~/Downloads -mtime +7 -delete

این کارهای روزانه را فقط اگر روز شما ۲۶ ساعت داشته باشد، بهصورت دستی ادامه دهید.
پشتیبانگیریها بیشترین بازده روانی را داشتند. وقتی بهصورت خودکار با rsync اجرا میشدند و دایرکتوریهای زمانبندیشده میساختند، اضطراب پسزمینهای از بین رفت. میتوانستم با یک دستور سریع
ls backups/
همه چیز را تأیید کنم و به کار خود ادامه دهم.
ls backups/
اشتراک خبرنامه برای خودکارسازی عملی لینوکس
آنچه ناپدید شد کار نبود، بلکه نویز بود. سیستم دیگر سوالاتی که هرگز نباید میپرسید، نپرسید. این سکوت، اثر جمعی داشت. هر خودکارسازی کوچک، منبع بعدی اصطکاک را آسانتر میکرد تا کشف شود.
لینوکس حذف تکرار را آسان میکند
سیستمی که انتظار دارد مشکلات یکبار حل شوند

لینوکس با این انتظار طراحی شده که الگوها را مشاهده کنید و عملی در موردشان انجام دهید. ابزارها ترکیبیپذیرند. خروجی قرار است بهعنوان ورودی مورد استفاده قرار گیرد. دستوری مانند grep وجود دارد چون لاگها برای خوانده شدن و واکنش نشان دادن هستند، نه نادیده گرفتن.
در Cinnamon این موضوع بهویژه واضح است چون دسکتاپ همه چیز را برای شما بازتفسیر نمیکند. فایلها همان فایل هستند. لاگها ماده قابل استفادهاند. اسکریپتها شهروندان درجهٔ اولاند. چیزی سعی نمیکند شما را از دیدن رفتار سیستمتان محافظت کند.
لینوکس شما را با شعارهای انگیزشی به خودکارسازی فشار نمیدهد. بهصورت ساکت فرض میکند که از تکرار خسته میشوید. وقتی سرانجام از مدیریت کامپیوتر خود دست میکشید و شروع به کار با آن میکنید، تغییری رخ میدهد.
وقتی سیستمی تجربه میکنید که مشکلات را یکبار حل میکند نه هر روز، بازگشت به حالت قبلی عجیب میدارد. نه به این دلیل که لینوکس سریعتر است، بلکه به این دلیل است که بهقدری به توجه شما احترام میگذارد که اجازه میدهد آن را حفظ کنید.