إنشاء الملفات
كانت المجلدات بـ mkdir. أما الملفات فلها نكهتان في الإنشاء، تبعاً لما إذا كنت تريدها فارغة
أو محتوية على شيء بالفعل.
الطريقة الفارغة: touch
الأبسط:
touch hello.txt
شغّل ls. هناك ملف جديد اسمه hello.txt. إنه فارغ — صفر بايت، لا شيء بداخله.
سُمّي touch على ما يفعله في فلكلور Unix القديم: إنه يلمس ملفاً. إن لم يكن الملف موجوداً،
يُنشأ فارغاً. وإن كان موجوداً بالفعل، يُرفَع وقت «آخر تعديل» له لكن المحتوى يبقى دون مساس.
ستستخدم touch غالباً حين تحتاج إلى وجود ملف نائب — ربما يتوقّع tool ما العثور على ملف هناك،
حتى لو كان فارغاً.
يمكنك صنع عدّة ملفات دفعة واحدة:
touch readme.md notes.txt todo.txt
ثلاثة ملفات فارغة، بضغطة واحدة.
طريقة «بشيء بداخله»: echo >
أكثر فائدة: أنشئ ملفاً يحتوي محتوى بالفعل. جرّب:
echo "Hello, terminal." > greeting.txt
فكرتان جديدتان محشورتان في ذلك السطر، وتظهران في كلّ مكان من الآن فصاعداً:
echoيطبع ما تعطيه إيّاه. جرّبecho "hi"بمفرده — يطبعhiراجعاً إليك فحسب.>هو سهم الـ redirect. يقول «لا تطبع النتيجة على شاشتي — اكتبها داخل هذا الملف بدلاً من ذلك.»
إذاً فذلك الـ command يعني: «اطبع Hello, terminal.، لكن بدلاً من إظهاره على الشاشة، احفظه في
greeting.txt.»
شغّل ls وسترى greeting.txt. ولإلقاء نظرة بالداخل، استخدم cat:
cat greeting.txt
هذا يطبع المحتويات مباشرة على شاشتك. (ستتعلّم المزيد من الـ tools الخاصة بقراءة الملفات في المستوى الثاني.)
الـ footgun الذي لا يحذّرك منه أحد
علامة > المفردة تكتب فوق الملف. إن كان greeting.txt يحتوي شيئاً بالفعل، فقد ذهب ذلك
الشيء. إلى الأبد. لا تراجع. لا «هل أنت متأكد؟» لا سلة مهملات تسترجع منها.
استخدم >> (سهمان) للـ append بدلاً من ذلك — أضِف إلى النهاية من دون محو ما هو موجود:
echo "And another line." >> greeting.txt
الآن يُظهر cat greeting.txt السطرين كليهما. القاعدة:
>تكتب فوق>>تضيف إلى النهاية
هذه إحدى القواعد التي تلدغ الجميع مرة واحدة. وبعد المرة الأولى، لا تنساها أبداً.
ما الذي تعلّمته
touch <file>— اصنع ملفاً فارغاً (أو حدّث وقت تعديله).echo "text" > <file>— أنشئ ملفاً بنصّ بداخله. يكتب فوقه.echo "text" >> <file>— أضِف نصّاً إلى نهاية ملف.
تستطيع الآن إنشاء الملفات والمجلدات. الدروس الثلاثة التالية تغطّي الأشياء الثلاثة التي ستفعلها بها كلّ يوم: النسخ، والنقل، والحذف.