الفصل 3.3 - التنقل والأوامر الأساسية
أهداف التعلم
في نهاية هذا الفصل، ستكون قادرًا على:
- التنقل بفعالية في نظام الملفات
- استخدام الأوامر الأساسية للملفات
- فهم البدل والأنماط
- التعامل مع الملفات والمجلدات
التنقل
أوامر التنقل
# أين أنا؟
pwd
# تغيير الدليل
cd /home/user1
cd ~ # الدليل الرئيسي
cd # الدليل الرئيسي (اختصار)
cd .. # الدليل الأب
cd - # الدليل السابق
cd ../.. # مستويين أعلى
# قائمة
ls # قائمة بسيطة
ls -l # تفاصيل (صيغة طويلة)
ls -la # الكل (بما في ذلك .الملفات)
ls -lh # أحجام قابلة للقراءة (human)
ls -lt # مرتبة حسب التاريخ
ls -ltr # مرتبة حسب التاريخ (عكس)
ls -R # تكراري
خيارات مفيدة لـ ls
# حسب الحجم
ls -lhS
# حسب الامتداد
ls -lX
# الألوان
ls --color=auto
# تجاهل بعض الأنماط
ls --ignore='*.txt'
التعامل مع الملفات
إنشاء ملفات
# إنشاء ملف فارغ
touch fichier.txt
# إنشاء عدة ملفات
touch file1.txt file2.txt file3.txt
# إنشاء بطابع زمني محدد
touch -t 202401011200 fichier.txt
عرض المحتوى
# عرض الكل
cat fichier.txt
# عرض مع أرقام الأسطر
cat -n fichier.txt
# عرض صفحة بصفحة
less fichier.txt
more fichier.txt
# الأسطر الأولى
head fichier.txt
head -n 20 fichier.txt
# الأسطر الأخيرة
tail fichier.txt
tail -n 20 fichier.txt
tail -f fichier.txt # متابعة في الوقت الحقيقي
النسخ والنقل
# نسخ
cp source.txt destination.txt
cp file1.txt file2.txt /home/user1/
cp -r repertoire/ destination/ # تكراري
# نقل/إعادة تسمية
mv ancien.txt nouveau.txt
mv fichier.txt /home/user1/
mv *.txt /home/user1/ # جميع .txt
الحذف
# حذف ملف
rm fichier.txt
# حذف تكراري
rm -r repertoire/
rm -rf repertoire/ # إجباري (احذر!)
# حذف مع تأكيد
rm -i fichier.txt
# حذف عدة ملفات
rm file1.txt file2.txt file3.txt
rm *.txt # جميع .txt
المجلدات
إنشاء مجلدات
# إنشاء مجلد
mkdir mon_repo
# إنشاء عدة مجلدات
mkdir repo1 repo2 repo3
# إنشاء مع الآباء
mkdir -p chemin/complet/vers/repo
# مع الأذونات
mkdir -m 755 mon_repo
حذف المجلدات
# مجلد فارغ
rmdir repo_vide
# مجلد مع محتوى
rm -r repo
rm -rf repo # إجباري (احذر!)
البدل والأنماط
أحرف خاصة
# * : أي أحرف
ls *.txt # جميع .txt
ls file* # يبدأ بـ "file"
ls *log* # يحتوي على "log"
# ? : حرف واحد
ls file?.txt # file1.txt, file2.txt, إلخ.
ls ???.txt # بالضبط 3 أحرف
# [] : أحرف محددة
ls file[123].txt # file1.txt, file2.txt, file3.txt
ls file[0-9].txt # file0.txt إلى file9.txt
ls file[a-z].txt # filea.txt إلى filez.txt
# {} : توسع
mkdir {dir1,dir2,dir3}
cp file.{txt,bak}
أمثلة عملية
# جميع الملفات .log
ls *.log
# الملفات التي تبدأ بـ "test"
ls test*
# الملفات ذات 3 أحرف
ls ???
# ملفات النسخ الاحتياطي
ls *.bak *.old *.tmp
البحث عن الملفات
find
# حسب الاسم
find /home -name "fichier.txt"
find /home -iname "fichier.txt" # غير حساس لحالة الأحرف
# حسب النوع
find /home -type f # ملفات
find /home -type d # مجلدات
# حسب الحجم
find /home -size +100M # أكثر من 100MB
find /home -size -1k # أقل من 1KB
# حسب التاريخ
find /home -mtime -7 # تم تعديله في الأسبوع الماضي
find /home -mtime +30 # تم تعديله منذ أكثر من 30 يومًا
# تنفيذ أمر
find /home -name "*.txt" -exec rm {} \;
find /home -name "*.log" -delete
locate
# أسرع من find
locate fichier.txt
# تحديث القاعدة
sudo updatedb
# تجاهل حالة الأحرف
locate -i fichier
ملخص
في هذا الفصل، تعلمت:
التنقل: pwd، cd، ls مع الخيارات
الملفات: touch، cat، less، head، tail
التعامل: cp، mv، rm مع الخيارات
المجلدات: mkdir، rmdir، rm -r
البدل: *، ؟، []، للأنماط
البحث: find، locate للعثور على الملفات
الخطوات التالية
الفصل 3.4: إدارة الملفات
الفصل 3.5: أذونات الملفات
تم إنشاء الفصل في: ديسمبر 2024