التعامل مع الملفات والمجلدات (Navigation, CRUD Operations)
يا هلا فيك! بما إنك هنا، غالباً ودك تتعمق شوي في أساسيات التعامل مع الملفات والمجلدات في Linux. الموضوع بسيط ومهم جداً، وهو مفتاحك لأي شغل جاد على السيرفرات أو حتى جهازك الشخصي اللي شغال بـ Linux. بنغطي كيف تتنقل بين المجلدات، وكيف تسوي، تقرأ، تعدل، وتحذف (CRUD) الملفات والمجلدات.
التنقل بين الملفات والمجلدات (Navigation)
هذي الأوامر هي خبزك اليومي على الطرفية.
أين أنا؟ pwd
أول شي لازم تعرف وين أنت بالضبط في شجرة المجلدات.
pwd
pwdاختصار لـ "Print Working Directory". بيوريك المسار الكامل للمجلد اللي أنت فيه.
شوف اللي حولك! ls
عشان تشوف محتويات المجلد اللي أنت فيه، استخدم ls.
ls
خيارات مفيدة مع ls:
ls -l: عرض تفاصيل أكثر (permissions, owner, size, date).ls -a: عرض كل الملفات والمجلدات، بما فيها المخفية (اللي تبدأ بنقطة.).ls -lh: نفس-lبس يخلي حجم الملفات مقروء أكثر (Human-readable).ls -R: عرض محتويات المجلد والمجلدات الفرعية بشكل متكرر (Recursive).
ls -lah
الملفات والمجلدات اللي تبدأ بنقطة (مثل
.bashrc) تعتبر مخفية بشكل افتراضي.
غير مكانك! cd
عشان تتنقل بين المجلدات، استخدم cd (Change Directory).
cd /var/www/html: الانتقال لمسار مطلق (Absolute Path).cd my_project: الانتقال لمسار نسبي (Relative Path) داخل المجلد الحالي.cd ..: الرجوع للمجلد الأب (Parent Directory).cd .: البقاء في نفس المجلد (ما يسوي شي، بس حلو تعرفه).cd ~: الرجوع لمجلد المستخدم الرئيسي (Home Directory). تقدر تكتبcdلحالها بتعطيك نفس النتيجة.cd -: الرجوع للمجلد اللي كنت فيه قبل الأمر الأخيرcd. مفيد جداً!
cd /etc
pwd
cd -
pwd
عمليات CRUD على الملفات والمجلدات
هنا الشغل الجد!
إنشاء (Create)
كيف تسوي ملفات ومجلدات جديدة.
إنشاء ملف: touch
لإنشاء ملف فارغ جديد، أو لتحديث وقت آخر تعديل لملف موجود.
touch new_file.txt
touch another_file.sh
إنشاء مجلد: mkdir
لإنشاء مجلد (Directory).
mkdir my_new_folder
لو حبيت تسوي مجلدات فرعية مرة وحدة:
mkdir -p projects/web/frontend
mkdir -pبينشئ أي مجلدات أب غير موجودة في المسار المحدد.
قراءة (Read)
كيف تشوف محتوى الملفات.
عرض محتوى ملف: cat
لعرض محتوى ملف كامل على الشاشة. مفيد للملفات الصغيرة.
cat /etc/os-release
عرض محتوى ملف بصفحات: less و more
للملفات الكبيرة، cat بيخلي النص يطير فوق بسرعة. less و more يخلونك تتصفح المحتوى صفحة صفحة.
less /var/log/syslog
في
less، اضغطSpaceللأسفل،bللأعلى، وqللخروج.
عرض بداية أو نهاية ملف: head و tail
تبغى تشوف أول 10 أسطر؟ أو آخر 10 أسطر؟
head /etc/passwd
tail /var/log/auth.log
تقدر تحدد عدد الأسطر اللي تبغاها باستخدام -n:
head -n 5 /etc/passwd
tail -n 20 /var/log/auth.log
tail -f(follow) مفيد جداً لمراقبة سجلات (logs) الملفات في الوقت الفعلي.
تعديل (Update) / نقل (Move) / نسخ (Copy)
هنا نقصد التعديل على موقع أو اسم الملف/المجلد، أو نسخه.
نسخ ملفات ومجلدات: cp
لنسخ ملف أو مجلد. الملف الأصلي يبقى مكانه.
cp source_file.txt destination_file.txt
cp /etc/hosts ~/my_hosts_backup
لنسخ مجلد ومحتوياته، لازم تستخدم -r (recursive):
cp -r my_folder new_location/
cp -iيسألك قبل ما ينسخ فوق ملف موجود بنفس الاسم.
نقل أو إعادة تسمية ملفات ومجلدات: mv
لتحريك (نقل) ملف أو مجلد من مكان لآخر، أو لإعادة تسميته. الملف الأصلي بيختفي من مكانه القديم.
إعادة تسمية ملف:
mv old_name.txt new_name.txt
نقل ملف لمجلد آخر:
mv file.txt my_new_folder/
نقل مجلد لمكان آخر:
mv my_old_folder /var/backup/
mv -iيسألك قبل ما ينقل فوق ملف موجود بنفس الاسم.
حذف (Delete)
كيف تحذف الملفات والمجلدات.
حذف ملفات: rm
لحذف ملفات. انتبه! الملفات المحذوفة بـ rm ما تروح لسلة المحذوفات، يعني ما تقدر ترجعها بسهولة!
rm unwanted_file.txt
خيارات مفيدة:
rm -i: يسألك تأكيد قبل الحذف.rm -f: يحذف الملف بالقوة بدون سؤال (Force). استخدمها بحذر شديد!
rm -i important_file.txt
حذف مجلدات فارغة: rmdir
لإزالة مجلدات فارغة فقط.
rmdir empty_folder
حذف مجلدات غير فارغة: rm -r
لإزالة مجلد ومحتوياته (ملفات ومجلدات فرعية). هذا الأمر خطير جداً لو استخدمته بالغلط!
rm -r my_project_folder
لزيادة الأمان، استخدم -i معها:
rm -ri my_project_folder
الجملة الشهيرة "Never run
rm -rf /" ليست مجرد مزحة، بل تحذير جاد جداً. هذا الأمر يحذف كل شيء على نظامك!
لمسة بسيطة على الصلاحيات (Permissions)
صحيح إنها مو جزء من CRUD المباشر، بس مهم تعرف إن لكل ملف ومجلد صلاحيات تحدد مين يقدر يسوي إيش عليه.
chmod: لتغيير صلاحيات الملفات والمجلدات.chown: لتغيير مالك الملف أو المجموعة المالكة.
هذي يبغالها درس لحالها، بس حلو تكون عارف بوجودها.
خاتمة
كدا تكون غطيت أساسيات التعامل مع الملفات والمجلدات في Linux. تدرب على هذي الأوامر كثير، وبتصير جزء من طبيعتك. السر في Linux هو الممارسة. بالتوفيق!