Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

Linuxالتنقل في النظام

  • مفهوم التنقل في لينكس
  • معرفة أين تقف حالياً في لينكس
  • الإنتقال من مجلد إلى آخر في لينكس
  • عرض الملفات و المجلدات في لينكس

مفهوم التنقل في لينكس

التنقل في النظام يقصد به الإنتقال من مجلد إلى آخر عن طريق موجه الأوامر.
إفتراضياً، بعد قيام المستخدم بتسجيل دخوله في نظام لينكس فإنه يتم وضعه في المجلد الخاص به.

Linux Terminal

root@fedora:~$
  • root هو إسم المستخدم الذي تم تسجيل الدخول بواسطته.
  • الرمز ~ معناه أن المستخدم يقف حالياً في المجلد الخاص به.

المجلد الخاص بالمستخدم root مساره /root.
أما جميع المستخدمين الآخرين فيكون لهم مجلد خاص بإسمهم تحت المجلد /home.

المجلد الذي ينشئه نظام لينكس و الذي يتم وضعه فيه حينما يقوم بتسجيله دخوله يقال له Home Directory بالنسبة له.

معرفة أين تقف حالياً في لينكس

قبل تنفيذ أي أمر في لينكس، يجب أن تعرف في أي مجلد تقف حالياً حتى لا تقوم بتنفيذ الأوامر في المكان الخطأ.
لمعرفة المسار الذي تقف فيه حالياً يمكنك كتابة الأمر pwd كما يلي.

Linux Terminal

root@fedora:~$ pwd
/root

ظهر لنا أننا موجودين في المجلد /root لأن هذا المجلد الإفتراضي للمستخدم root.

إسم الأمر pwd هو اختصار لجملة Print Working Directory و التي تعني إطبع المجلد الذي أعمل فيه.

الإنتقال من مجلد إلى آخر في لينكس

للإنتقال من مجلد إلى آخر يمكنك استخدام الأمر cd و من بعدها تضع مسار المجلد الذي تريد الإنتقال إليه.
فيما يلي الرموز التي يمكنك استخدامها مع هذا الأمر.

الرمز و استخدامه
cd عند استخدام هذا الأمر بدون ذكر إسم المسار المراد الإنتقال إليه بعدها فإنه ينقل المستخدم للمجلد الخاص به.
cd ~ ينقل المستخدم للمجلد الخاص به.
cd - يعيد المستخدم لآخر مجلد كان موجود فيه قبل المجلد الحالي.
cd .. يرجع المستخدم للمجلد الأب للمجلد الحالي.
cd / ينقل المستخدم للمجلد / الذي يعتبر أعلى مجلد في النظام.

إسم الأمر cd هو اختصار لجملة Change Directory و التي تعني غيّر المجلد.


أساليب تحديد المسارات

تحديد المسار المراد الإنتقال إليه يمكن أن يتم بأسلوبين:

  • وضع مسار نسبي ( Relative Path ) و معنى ذلك أن مساره يوضع نسبةً للمجلد الذي يقف فيه المستخدم حالياً.
  • وضع مسار كامل ( Absolute Path ) و معنى ذلك أن مساره يوضع كما هو بالنسبة لأعلى مجلد في النظام و الذي هو /.

أمثلة متتابعة

في الأمثلة التالية سنتنقل بين المجلدات التالية الموجودة في نظام لينكس.

/
├── root
├── etc
├── home

1- في المثال التالي قمنا بالإنتقال من المجلد الخاص بالمستخدم root إلى المجلد /.

Linux Terminal

root@fedora:~$ cd /
root@fedora:/$

2- في المثال التالي قمنا بالإنتقال من المجلد / إلى المجلد /etc.

Linux Terminal

root@fedora:/$ cd etc
root@fedora:/etc$

3- في المثال التالي قمنا بالخروج من المجلد /etc إلى المجلد الأب له مما يعني أننا عدنا إلى المجلد /.

Linux Terminal

root@fedora:/etc$ cd ..
root@fedora:/$

4- في المثال التالي قمنا بالإنتقال إلى المجلد الخاص بالمستخدم، أي قمنا بالإنتقال من المجلد / إلى المجلد /root.

Linux Terminal

root@fedora:/$ cd ~
root@fedora:~$

5- في المثال التالي قمنا بالإنتقال من المجلد الخاص بالمستخدم إلى المجلد /home.

Linux Terminal

root@fedora:~$ cd /home
root@fedora:/home$

6- في المثال التالي قمنا بالعودة إلى المجلد الأخير الذي كنا فيه، أي قمنا بالإنتقال بشكل مباشر من المجلد /home إلى المجلد /root.

Linux Terminal

root@fedora:/home$ cd -
root@fedora:~$

عرض الملفات و المجلدات في لينكس

يمكنك استخدام الأمر ls لعرض أسماء المجلدات و الملفات الموجودة بشكل مباشر في مجلد محدد.
فيما يلي الباراميترات التي يمكنك استخدامها مع هذا الأمر.

الباراميتر و استخدامه
ls يعرض جميع أسماء المجلدات و الملفات الغير مخفية في المجلد.
ls -a يعرض جميع أسماء المجلدات و الملفات الموجودة بشكل مباشر في المجلد حتى لو كانت مخفية.
ls -l يعرض عدد المجلدات و الملفات الموجودة في المجلد و من ثم يعرض خصائص كل واحد فيهم على سطر منفرد.
ls -ld يعرض خصائص المجلد الحالي فقط.
ls -F يعرض جميع أسماء المجلدات و الملفات الموجودة في المجلد مع إضافة رمز في آخرها يمكن من خلاله معرفة نوعها.
  • يضيف * في آخر الملف الذي يعتبر بمثابة ملف تنفيذي ( Executable File ).
  • يضيف / في آخر المجلد.
  • يضيف @ في آخر الملف الذي هو بمثابة رابط اختصار ( Symbolic Link ).
  • يضيف | في آخر الملف المهيئ ليتنفذ بالترتيب الذي وصل فيه، مثل الملفات المجهزة للطباعة.
  • يضيف = في آخر الملف الذي هو بمثابة صلة وصل بين الأشياء المتصلة بالحاسوب و بين البرامج و الخدمات.

في حال كنت تقف في مجلد محدد و تريد عرض محتواه، يمكنك كتابة الأمر ls بدون الحاجة لذكر مساره.
في المثال التالي إفترضنا أننا نقف حالياً في المجلد / و نريد عرض محتواه.

Linux Terminal

root@fedora:/$ ls
bin boot dev efi etc home lib lib64 mnt opt proc run sbin srv swap sys

في حال كنت تريد عرض محتوى مجلد محدد بدون الدخول إليه، سيكون عليك ذكر مساره فقط في نهاية الأمر ls.
في المثال التالي سنفترض أننا نقف حالياً في المجلد /root و نريد عرض محتوى المجلد /.

Linux Terminal

root@fedora:~$ ls /
bin boot dev efi etc home lib lib64 mnt opt proc run sbin srv swap sys

في المثال التالي قمنا بعرض المجلدات و الملفات الموجودة في المجلد / مع إظهار الرموز التي تشير لأنواعها.

Linux Terminal

root@fedora:~$ ls -F /
bin@ boot/ dev/ efi/ etc/ home/ lib@ lib64@ mnt/ opt/ proc/ run/ sbin@ srv/ swap/ sys/

في المثال التالي قمنا بعرض عدد و أسماء المجلدات و الملفات الموجودة في المجلد / مع إظهار خصائصها.

Linux Terminal

root@fedora:~$ ls -l /
total 20
drwxr-xr-x    1 root root   128 Jun   1 12:05 boot
drwxr-xr-x   19 root root  3740 Sep   3 06:55 dev
drwxr-xr-x    2 root root     0 Sep   3 06:55 efi
drwxr-xr-x    1 root root  1806 Sep   3 06:55 etc
drwxr-xr-x    1 root root     0 Aug  19 04:10 home
lrwxrwxrwx    1 root root     7 Apr   7 18:02 lib -> usr/lib
lrwxrwxrwx    1 root root     7 Apr   7 18:02 lib64 -> usr/lib
drwxr-xr-x    1 root root     0 Apr   7 18:02 mnt
drwxr-xr-x    1 root root    50 Aug  23 06:54 opt
dr-xr-xr-x  164 root root     0 Sep   3 06:55 proc
drwxr-x---    1 root root    62 Sep   3 03:45 root
drwxr-xr-x   17 root root   460 Sep   3 06:55 run
rwxrwxrwx     1 root root     7 Apr   7 18:02 sbin -> usr/bin
drwxr-xr-x    1 root root    14 Jun   1 12:04 srv
drwx------    1 root root    16 Jun   1 12:05 swap
dr-xr-xr-x   13 root root     0 Sep   3 06:55 sys
drwxrwxrwt   10 root root   220 Sep   3 06:55 tmp
drwxr-xr-x    1 root root    70 Sep   3 03:42 usr
drwxr-xr-x    1 root root   116 Sep   3 06:55 var

في كل سطر تظهر المعلومات الخاصة بالملف أو المجلد كما يلي: الأذونات ( Permissions ) الخاصة به، يليها إسم المستخدم التابع له و إسم المجموعة التي يتبع لها المستخدم، يليها تاريخ الإنشاء، يليها إسم المجلد أو الملف، و في حال كان الملف هو رابط لمجلد أو ملف آخر فإنه يشار إليه في النهاية.

لا تقلق إذا لم تفهم ما تعنيه هذه المعلومات الآن لأنك ستفهم معناها بالتفصيل في دروس لاحقة.


في المثال التالي قمنا بعرض جميع المعلومات المتاحة حول المجلد / فقط بدون عرض معلومات ما يحتويه.

Linux Terminal

root@fedora:~$ ls -ld /
drwxr-xr-x 1 root root 136 Jun 1 12:05