تعلّمت ثمانية commands عبر الدروس التسعة الماضية. وهي، بالترتيب:
| تسأل | تكتب |
|---|---|
| أين أنا؟ | pwd |
| ما الموجود هنا؟ | ls, ls -la |
| الدخول إلى folder | cd <folder> |
| الخروج / العودة إلى home | cd .., cd ~, cd - |
| صنع folder | mkdir, mkdir -p |
| صنع file | touch, echo > file |
| النسخ | cp, cp -r |
| النقل أو إعادة التسمية | mv |
| الحذف | rm, rm -r |
هذه هي tools المستوى الأول كاملةً. الآن نستخدمها كلّها في جلسة واحدة. افتح الـ terminal وتابِع معنا — كلّ command. لا مشاهدة، ولا تصفّح سريع. ستشعر بالـ muscle memory تستقرّ في مكانها بحلول النهاية.
المهمّة
ابنِ الـ folder الخاص بـ موقعك الشخصي — my-site. إنه المشروع الذي تشتغل عليه بقية
الدورة، فأنت لا تبني هيكلًا للرمي: أنت تضع الحجر الأول لشيء ستظلّ تنمّيه. الحالة النهائية
ستبدو هكذا:
my-site/
├── README.md
├── pages/
│ ├── index.html
│ └── about.html
├── styles/
│ └── main.css
├── server/
│ └── placeholder.txt
└── archive/
└── old-readme.md
صفحتا HTML، وملف stylesheet، و folder اسمه server/ للـ backend الصغير الذي ستقابله
لاحقًا. ستبني هذا من العدم باستخدام الـ commands التي تعرفها بالفعل فقط. ثم ستعيد تنظيمه،
وتنسخ أجزاءً منه، وتنظّف بعضًا منه.
الخطوة 1 — ابدأ من جديد
اذهب إلى home، اصنع مساحة عمل، وادخل إليها:
cd ~
mkdir terminal-practice
cd terminal-practice
pwd
ينبغي أن يُظهر pwd الـ folder الخاص بك terminal-practice. إن بدا أيّ شيء خاطئًا، فاكتب cd ~
فحسب وابدأ من جديد — لا يمكنك أن تضلّ الطريق.
الخطوة 2 — ابنِ شجرة المشروع في طلقة واحدة
تتذكّر mkdir -p؟ يستطيع أن يبني لك الشجرة كاملة:
mkdir -p my-site/pages
mkdir -p my-site/styles
mkdir -p my-site/server
mkdir -p my-site/archive
ادخل وتحقّق:
cd my-site
ls
ينبغي أن ترى أربعة folders: archive، pages، server، styles. (سيحتوي الـ folder المسمّى
pages على الـ HTML — اكتب ls pages لتؤكّد أنه فارغ في الوقت الحالي.)
الخطوة 3 — أنشئ الـ files
touch README.md
touch pages/index.html pages/about.html
touch styles/main.css
touch server/placeholder.txt
خمسة files فارغة جديدة في شاشة واحدة. شغّل ls و ls pages للتحقّق.
الخطوة 4 — ضع محتوى حقيقيًا في README
echo "# My Site" > README.md
echo "" >> README.md
echo "My personal website — plain HTML and CSS." >> README.md
لاحظ علامة > المفردة في السطر الأول (تنشئ/تكتب فوق) و >> المزدوجة في الأسطر
الأخرى (تلحق). أكّد:
cat README.md
ينبغي أن ترى ثلاثة أسطر.
الخطوة 5 — اصنع نسخة احتياطية قبل تغيير أيّ شيء
عادة جيدة: انسخ README قبل تعديله بكثافة.
cp README.md archive/old-readme.md
ls archive
old-readme.md موجود هناك. والأصل README.md دون مساس.
الخطوة 6 — غيّر رأيك، أعِد تسمية folder
تقرّر أنّ styles/ ينبغي أن يُسمّى حقًّا css/:
mv styles css
ls
اختفى styles؛ و css موجود. والـ file الذي بداخله (main.css) جاء معه في الرحلة.
الخطوة 7 — نظّف
تبيّن أنّ الـ folder المسمّى archive/ غير ضروري. احذفه. وبما أنّ بداخله file، فإنّ rm archive المجرّد
لن يعمل — تحتاج إلى -r:
ls archive
rm -r archive
ls
لاحظ ls archive قبل — تلك هي عادة «انظر قبل أن تحذف.» و ls بعدها يؤكّد أنّ الـ folder اختفى.
الخطوة 8 — تأمّل عملك
cd ~/terminal-practice/my-site
ls -la
لقد بنيت هيكل folder مشروع يبدو حقيقيًا من لا شيء على الإطلاق، مستخدمًا فقط commands تعلّمتها في الثلاثين دقيقة الماضية.
مكافأة: انسف الأمر كلّه
عندما تنتهي، لا تترك أثرًا:
cd ~
rm -r terminal-practice
اختفى — مساحة العمل التدريبية وكلّ ما فيها. هذا هو المغزى: لقد بنيت my-site من الكتابة، فتستطيع
إعادة بنائه في أيّ وقت. الـ files المصنوعة يدويًا تكلّف نفس كلفة الـ files المصنوعة بالنقر، إلا أنّ لديك الآن
وصفة لتفعلها مرة أخرى في خمس ثوانٍ. (لا تقلق — في المستوى الثاني ستفتح my-site جاهزًا وتقابل الأداة
التي تبني بقيته معك.)
ما الذي حدث للتو
لقد استخدمت:
pwd,ls— لتعرف أين كنت وما الذي حولك.cd,mkdir -p— لتبني البنية وتتنقّل فيها.touch,echo >,echo >>— لتنشئ الـ files وتكتب إليها.cp,mv,rm -r— لتنسخ وتعيد التنظيم وتنظّف.
تلك هي tools اليومية الكاملة لكلّ مطوّر على وجه الأرض. كلّ شيء آخر — pipes، وgrep، وgit، وssh، ومديرو الحزم — يقوم على هذه الحركات القليلة. أنت تملك الأساس.
إلى أين بعد ذلك
المستوى الثاني يلتقط من حيث ينتهي هذا: تستطيع صنع الـ files، لكنك لم تقرأها حقًّا بعد (سوى
cat واحد في هذا الدرس). التالي:
cat,head,tail,less— اقرأ files من أيّ حجم.grep— ابحث داخل الـ files عن كلمة.find— ابحث في الـ filesystem عن file بالاسم.
القراءة والبحث هما نصف الـ terminal الذي تكفّ فيه عن الشعور بأنها «كتابة بدلًا من النقر» وتبدأ بالشعور بأنها قوة خارقة.
عندما تكون مستعدًّا: خذ استراحة، ثم ابدأ المستوى الثاني.
جرّب نسخة أصغر هنا
الـ terminal التدريبي أدناه sandbox صغير. جرّب pwd و ls لتؤكّد أنك اكتسبت الـ muscle memory. اكسب
الـ XP النهائية واعتبر المستوى الأول منتهيًا.