تعلم الأوامر الأساسية للتعامل مع نظام لينكس والتنقل بين المجلدات وإدارة الملفات
في هذه الوحدة، سنتعرف على أهم الأوامر الأساسية في نظام لينكس التي تمكنك من التفاعل مع النظام، التنقل بين المجلدات، عرض محتوياتها، وإنشاء وإدارة الملفات والمجلدات. هذه الأوامر هي حجر الأساس لأي مستخدم لينكس سواء كان مبتدئاً أو محترفاً.
$ إلى موجه الأوامر (prompt) ولا يجب كتابته عند تنفيذ الأوامر.
pwdيعرض المسار الكامل للمجلد الحالي (Print Working Directory).
pwd
يعرض pwd المسار الكامل للمجلد الحالي الذي تعمل فيه، بدءاً من المجلد الجذر (/).
lsيعرض قائمة بالملفات والمجلدات الموجودة في المجلد الحالي أو المجلد المحدد.
ls
يعرض ls قائمة بالمحتويات الموجودة في المجلد الحالي. يمكن استخدامه مع مسارات محددة لعرض محتويات مجلدات أخرى.
# عرض المحتويات بتفاصيل أكثر (الأذونات، المالك، الحجم، etc.)
ls -l
# عرض جميع الملفات بما فيها الملفات المخفية
ls -a
# دمج الخيارين السابقين لعرض جميع الملفات مع التفاصيل
ls -la
# عرض محتويات مجلد معين
ls /var/www
# عرض المحتويات حسب حجم الملف (من الأكبر إلى الأصغر)
ls -lS
# عرض المحتويات حسب وقت التعديل (من الأحدث إلى الأقدم)
ls -lt
cdيستخدم لتغيير المجلد الحالي (الدليل الحالي) في الطرفية.
cd Documents
يغير cd المجلد الحالي إلى المسار المحدد. بدون تحديد مسار، يعود إلى المجلد الرئيسي للمستخدم.
# الانتقال إلى المجلد الأب (المستوى الأعلى)
cd ..
# الانتقال إلى المجلد الرئيسي للمستخدم
cd ~
# الانتقال إلى مسار مطلق
cd /var/www
# العودة إلى المجلد السابق
cd -
# الانتقال إلى مجلد root
cd /
mkdirينشئ مجلداً (دليل) جديداً.
mkdir new_folder
ينشئ mkdir مجلداً جديداً بالاسم المحدد. يمكن استخدام الخيار -p لإنشاء مجلدات متداخلة.
# إنشاء هيكل مجلدات متداخل
mkdir -p project/{src,doc,test}
# إنشاء مجلدات متعددة في وقت واحد
mkdir folder1 folder2 folder3
# إنشاء مجلد بأذونات محددة
mkdir -m 755 shared_folder
touchينشئ ملفاً جديداً فارغاً أو يحدث وقت التعديل لملف موجود.
touch new_file.txt
ينشئ touch ملفاً جديداً فارغاً إذا لم يكن الملف موجوداً. إذا كان الملف موجوداً، يقوم بتحديث وقت التعديل إلى الوقت الحالي.
# إنشاء عدة ملفات في وقت واحد
touch file1.txt file2.txt file3.txt
# إنشاء ملف بوقت محدد
touch -t 202301011200 file.txt
# تغيير وقت الوصول فقط (بدون وقت التعديل)
touch -a file.txt
cpينسخ الملفات أو المجلدات من مكان إلى آخر.
cp file.txt copy_of_file.txt
ينسخ cp الملفات أو المجلدات من المصدر إلى الوجهة. لنسخ المجلدات، يجب استخدام الخيار -r.
# نسخ مجلد بشكل متكرر (بما فيه المحتويات)
cp -r source_dir destination_dir
# نسخ مع الحفاظ على أذونات الملف
cp -p file.txt backup/
# نسخ عدة ملفات إلى مجلد
cp file1.txt file2.txt file3.txt destination_folder/
# النسخ التفاعلي (يسأل قبل استبدال الملفات)
cp -i file.txt destination/
mvينقل الملفات أو المجلدات من مكان إلى آخر أو يعيد تسميتها.
mv oldname.txt newname.txt
ينقل mv الملفات أو المجلدات من مكان إلى آخر. إذا كان المصدر والوجهة في نفس المجلد، فإنه يعيد تسمية الملف أو المجلد.
# نقل عدة ملفات إلى مجلد
mv file1.txt file2.txt file3.txt destination_folder/
# إعادة تسمية مجلد
mv old_dir new_dir
# النقل التفاعلي (يسأل قبل استبدال الملفات)
mv -i file.txt destination/
# النقل مع النسخ الاحتياطي للملفات المستبدلة
mv -b file.txt destination/
rmيحذف الملفات أو المجلدات.
rm file.txt
يحذف rm الملفات أو المجلدات. لحذف المجلدات، يجب استخدام الخيار -r. كن حذراً لأن الحذف نهائي ولا يمكن استعادته.
rm خاصة مع الخيار -r (للمجلدات) لأنه يحذف الملفات والمجلدات بشكل دائم ولا يمكن استعادتها من سلة المهملات.
# حذف مجلد ومحتوياته بشكل متكرر
rm -r directory_name
# حذف ملف مع طلب تأكيد
rm -i important_file.txt
# حذف قسري بدون طلب تأكيد
rm -f file.txt
# حذف عدة ملفات في وقت واحد
rm file1.txt file2.txt file3.txt
# حذف جميع الملفات بنمط معين
rm *.tmp
catيعرض محتويات الملف (أو الملفات) في الطرفية.
cat file.txt
يعرض cat محتويات الملف (أو الملفات) المحددة مباشرة في الطرفية. يمكن استخدامه أيضًا لدمج محتويات عدة ملفات.
# عرض محتويات عدة ملفات بالتسلسل
cat file1.txt file2.txt
# دمج محتويات ملفين في ملف جديد
cat file1.txt file2.txt > combined.txt
# إنشاء ملف جديد وإدخال محتواه من الطرفية (اضغط Ctrl+D لحفظ الملف)
cat > newfile.txt
# إضافة محتوى إلى نهاية ملف موجود
cat >> existingfile.txt
# عرض محتويات الملف مع ترقيم الأسطر
cat -n file.txt
more و lessيعرض محتويات الملف صفحة بصفحة للتمكن من قراءة الملفات الكبيرة.
less large_file.txt
يعرض less محتويات الملف صفحة بصفحة، مما يسمح بالتنقل خلال الملف بسهولة. more هو أمر مشابه ولكن بأقل ميزات.
# عرض الملف مع إمكانية البحث
less +F /var/log/syslog
# فتح الملف من سطر محدد
less +50 /var/log/syslog
# عرض الملف مع عرض الأرقام
less -N /var/log/syslog
# استخدام more لعرض الملف (واجهة أبسط)
more /var/log/syslog
less أكثر تطوراً من more ويوصى باستخدامه. أثناء عرض الملف بـ less، يمكنك استخدام:
headيعرض السطور الأولى من الملف.
head file.txt
يعرض head السطور الأولى من الملف (10 سطور افتراضيًا). مفيد لعرض بداية الملفات الكبيرة.
# عرض أول 20 سطر من الملف
head -n 20 file.txt
# عرض أول 5 سطور من عدة ملفات
head -n 5 file1.txt file2.txt
# عرض أول 1 كيلوبايت من الملف
head -c 1k file.txt
tailيعرض السطور الأخيرة من الملف.
tail file.txt
يعرض tail السطور الأخيرة من الملف (10 سطور افتراضيًا). مفيد جدًا لعرض نهاية الملفات ومراقبة السجلات.
# متابعة الملف في الوقت الحقيقي (مفيد لمراقبة السجلات)
tail -f /var/log/syslog
# عرض آخر 15 سطر من الملف
tail -n 15 file.txt
# متابعة الملف مع عرض 10 أسطر أولاً ثم المتابعة
tail -f -n 10 file.log
# عرض آخر 500 بايت من الملف
tail -c 500 file.txt
1. أي أمر تستخدم لعرض المحتويات المخفية في مجلد مع التفاصيل الكاملة؟
2. ما هو الأمر المناسب للعودة إلى المجلد الرئيسي للمستخدم؟
3. كيف يمكنك متابعة تحديثات ملف السجل في الوقت الحقيقي؟