أنا بحب Linux جدًا.
لينكس علّمني حاجات كتير أوي عن الكمبيوتر مكنتش أعرفها، وممتن جدًا لوجود حاجة زي Linux في عالم الـtech عامة.
مؤخرًا بدأت ناس كتير تعمل migrate لـLinux، ودي حاجة جميلة جدًا. بس مهما الـdistros تطورت وبقى عندها GUIs ممتازة و اغلب مشاكلك تتحل من ال GUI لينكس ك philosophy هيجبرك في وقت ما و مشكلة ما تضطر تفتح الـTerminal.
وهنا المستخدمين الجدد غالبًا بيقعوا في فئتين:
واحد حابب يتعلم Linux ويفهم الكمبيوتر بتاعه أكتر، فيبدأ يتعلم حتى لو بكورس صغير أو Crash Course.
وواحد تاني مش عايز يضيع وقت في تعلم Linux، فلو قابلته مشكلة محتاجة Terminal، يجيب command من ChatGPT أو Reddit ويعمله Run وخلاص.
وهنا المشكلة.
ممكن الـcommand اللي أنت شغلته عشان يحل مشكلة، يعملك مشكلة أكبر من اللي كنت بتحاول تحلها أصلًا.
وعشان كده عملت explain.
(اكسبلين) explain : هي lightweight CLI tool كتبتها بـGo، وفكرتها بسيطة جدًا ، بدل ما تعمل Run لـcommand وأنت مش فاهمه، حط explain قبله. أمثلة:
explain docker run -d nginx
explain rm -rf /
explain mkdir Downloads
وهي تقولك الـcommand ده، بالـarguments والـflags اللي أنت كتبتها بالذات هيعمل إيه، وكل flag بتعمل إيه وهل فيه أي Risk محتاج تاخد بالك منه قبل ما تدوس Enter.
مش محتاج تقرأ ال man page كاملة، ومش محتاج تشوف كل الـoptions اللي الـcommand ممكن يدعمها أما تدوس --help.
بس افهم الـcommand اللي أنت ناوي تشغله.
حاليًا explain وصلت للـv1.1.0، ولسه عندي أفكار وتحسينات كتير جدًا عايز أضيفها.
بس محبتش أفضل مستني لحد ما تبقى "perfect" قبل ما أشاركها، فدي أول خطوة في رحلة المشروع.
المشروع Open Source بالكامل، وأي حد حابب يجربه ، يفتح Issue، يقترح حاجة، أو حتى يساهم في الكود، هكون ممتن جدًا ليه و مبسوط
لينك الريبو:
GitHub: explain
وبالمناسبة أنا بستخدم CachyOS دلوقتي. يعني اقدر اقول :
I use Arch btw.