انتقل إلى المحتوى الرئيسي

الفصل 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