استعرضنا باختصار فى الموضوع
السابق بعض الأساسيات المهمة في أوامر نظام لينكس فى هذا الموضوع سنتعرض المزيد من
الأوامر الأساسية والمهمة لمستخدم لينكس بشكل يومى وسيتم شرحها بالتفصيل إن شاء
الله
.
الأمر : ls يعتبر الامر ls من أكثر الأوامر شيوعا وانتشارا واستخداما
لما له من أهمية شديدة لمستخدم لينكس بشكل شبه يومى . ولمعرفة أهمية الأمر نفترض
أنك تمتلك ملفات تخصك على احدى المجلدات وفى يوم ما أردت استعراض هذه الملفات على
هذا المجلد فما الذى يمكنّك من ذلك ؟
الإجابة هو الان أمر
ls حيث يقوم باستعراض
الملفات والمجلدات الفرعية تحت المجلد الرئيسى التى توجد فيه هذه الأشياء ،لنبدأ
سويا رحلة البحث عن المتعة باستخدام سطر الأوامر ، لمستخدمى واجهة جنوم عليهم
الذهاب للمسار التالى
:
Applications => Accessories => Terminal
والآن على الفور أول شىء نقوم بكتابة الأمر ls فى صورته البسيطة دون دمجه مع أى خيارات
اضافية ثم بعد ذلك نضغط على الزر
enter كما يلى :
oem@ubuntu:~$ ls
1.rmvb
38AR_Crucifiction_Fact_or_Fiction_vs_Douglas_512KB .rmvb
Desktop
documenation and presentation of parallel processing for SDR using OMAP.rar
Examples
w32codecs_20061022-0.0_i386.debكما يمكنك استعراض الملفات الموجودة على مجلد فى المسار الحالى دون الحاجة إلى كتابة مسار المجلد ولنفترض أننا نريد استعراض محتويات المجلد Desktop نقوم بعمل التالى :
38AR_Crucifiction_Fact_or_Fiction_vs_Douglas_512KB .rmvb
Desktop
documenation and presentation of parallel processing for SDR using OMAP.rar
Examples
w32codecs_20061022-0.0_i386.debكما يمكنك استعراض الملفات الموجودة على مجلد فى المسار الحالى دون الحاجة إلى كتابة مسار المجلد ولنفترض أننا نريد استعراض محتويات المجلد Desktop نقوم بعمل التالى :
oem@ubuntu:~$ ls Desktop
33391_hi.ram
4.rm index_files
4.rm index_files
index.php spraah2.pdf
كما يمكنك أيضا استعراض نفس المجلد عن طريق المسار المرتبط الخاص به
أو ما يسمى ال
relative path وذلك
كالتالى
:
oem@ubuntu:~$ ls /home/oem/Desktop/
33391_hi.ram spraah2.pdf
4.rm index_files
index.php
ولكن أﻻ توجد طريقة أسهل فى التعامل لعرض ملفات ال home directory تكون أفضل من ذلك ؟
نعم ، توجد العلامة ~ والتى تقوم نفس مقام المسار home/oem/ دون أدنى اختلاف ولنتأكد من ذلك من خلال الطرفية بعمل التالى :
ولكن أﻻ توجد طريقة أسهل فى التعامل لعرض ملفات ال home directory تكون أفضل من ذلك ؟
نعم ، توجد العلامة ~ والتى تقوم نفس مقام المسار home/oem/ دون أدنى اختلاف ولنتأكد من ذلك من خلال الطرفية بعمل التالى :
oem@ubuntu:~$ ls ~/Desktop
33391_hi.ram spraah2.pdf
4.rm index_files
index.phpونلاحظ التالى أن
الأمر
ls قام باستعراض الملفات
الموجود على المجلد الحالى أى المسار الفعلى الذى نكون عليه لحظة كتابة الأمر أو
أين من المجلدلت الفرعية على المسار ، ولننتقل إلى نقطة أخرى أﻻ وهى : هل يتطلب أن
نكون على المسار كى نعرض محتوياته؟
الإجابة بالطبع ﻻ فقد تكون على مسار وتقوم باستعراض ملفات مسار آخر
ولاستعياب ذلك نفترض أننا على مسار
home/oem/ ونريد
استعراض ملفات مسار آخر فلنرى ذلك فى الطرفية :
oem@ubuntu:~$ pwd
/home/oemﻻحظ أننا أوﻻ قمنا بمعرفة المسار الحالى عن طريق استخدام الأمر pwd لمجرد التأكد ليس إﻻ
oem@ubuntu:~$ ls /var/cache/
apt debconf gnome-system-tools man setup-tool-backends
cups dictionaries-common locate pppconfig
كما رأيت فعلنا ذلك
بكل سهولة ويسر ، ولننتقل إلى نقطة أخرى وهى كيفية ايجاد ملف معين على مجلد معين
على مسار معين كيف لك أن تقوم بذلك ؟
أوضح قليلا الآن حان دور استخدام wildcardsنفترض أننا نود البحث عن ملف اسمه mysql_unde_rground.pdf وكل ما نتذكره عن الملف اسمه والامتداد
الخاص به والمجلد الذى يوجد به ولكن المجلد يحتوى على ملفات ذات الامتداد pdf. وأخرى ذات امتداد txt.وما نريده هو عرض الملفات التى تنتهى
بامتداد
pdf.نقوم بعمل
التالى
:
oem@ubuntu:~$ ls ~/Desktop/*.pdf
/home/oem/Desktop/mysql_under_ground.pdf /home/oem/Desktop/spraah2.pdf
/home/oem/Desktop/new.pdfالآن ظهرت أهمية استخدام ال wildcards كما رأينا ، ولكن نحدد عنصر البحث فى استعراض الملف بواسطة جزء من اسمه نقوم بعمل التالى :
/home/oem/Desktop/mysql_under_ground.pdf /home/oem/Desktop/spraah2.pdf
/home/oem/Desktop/new.pdfالآن ظهرت أهمية استخدام ال wildcards كما رأينا ، ولكن نحدد عنصر البحث فى استعراض الملف بواسطة جزء من اسمه نقوم بعمل التالى :
oem@ubuntu:~$ ls ~/Desktop/*under*.pdf
/home/oem/Desktop/mysql_under_ground.pdfبعد أن ظهرت أهمية ال wildcards وكيفية استخدامها ودمجها مع الأمر ls نبدأ الآن فى استعراض الخيارات التى يمكن
اضافتها مع الامر
.
استعراض الملفات الموجودة على المجلدات الفرعية :
View a List of Files in Subfolders (ls -R or ls --recursive)
يعتبر الخيار
R- من ضمن الخيارات
المهمة والتى يتم إضافتها إلى الأمر
ls وذلك لاستعراض
الملفات الموجودة على المجلدات الفرعية داخل مجلد رئيسى بسهولة ويسر دون الاحتياج
إلى فتح كل مجلد على حده كما يلى
:
oem@ubuntu:~$ ls -R ~/Desktop
oem@ubuntu:~$ ls -R ~/Desktop
/home/oem/Desktop:
33391_hi.ram index.php
33391_hi.ram index.php
4.rm mysql_under_ground.pdf
new.pdf spraah2.pdf
index_files
/home/oem/Desktop/index_files:
362922962_1887f6723a_o.png ips_menu_html.js
/home/oem/Desktop/index_files:
362922962_1887f6723a_o.png ips_menu_html.js
365159135_b0fcd2be76_o.jpg ips_menu.js
7951.png ips_xmlhttprequest.js
7951.png ips_xmlhttprequest.js
Alfred.gif js.js
arab. jss.php
arab_data Market.jpg
/home/oem/Desktop/index_files/arab_data:
arab_01.gif arab_04.gif arab_10.gif arab_13.gif
arab_01.gif arab_04.gif arab_10.gif arab_13.gif
arab_02.gif arab_08.gif arab_11.gif arab_14.gif
arab_03.gif arab_09.gif arab_12.gif arab_15.gif
كما رأينا أعلى قام الأمر أوﻻ باستعراض الملفات بالمجلد الرئيسى Desktop ثم بعد ذلك تم استعراض الملفات الموجودة
داخل المجلد الفرعى
index_file ثم بعد
ذلك تم استعراض الملفات الموجودة داحل المجلد الفرعى arab_data ، وﻻحظ أيضا أن كل مجلد فرعى يظهر بالمسار
الإرتباطى الخاص به أو ال
relative path.ولكن هل الخيار R- دائما هو الأفضل ؟
الإجابة ﻻ ، ولتعرف
لماذا جرب التالى فى الطرفية وستعرف ماذا أقصد :
ls -R /var
استعراض الملفات الموجودة على أى مجلد فى عمود رأسى واحد فقط :
View a List of Contents in a Single Column (ls -lor ls --format=single-column)تعودنا قبل ذلك عند كتابة الأمر ls وحده دون اضافة أى خيارات أن تظهر الملفات
على شكل أعمده وصوف وبين كل عمود وعمود مسافتين لسهولة قراءة خرج الأمر ، ولكن
الجديد مع الخيار 1- أنه يمكنك استعراض ملفات أى مجلد فى عمود رأسى واحد فقط كما
يلى
:
oem@ubuntu:~$ ls -1 ~/Desktop
33391_hi.ram
4.rm
index_files
index.php
mmmm
spraah2.pdfملحوظة : يمكن استخدام الخيار R- مع الخيار 1- لعمل الوظيفتين اللتان يقوم بهما الخياران فى آن واحد أى استعراض الملفات على المجلدات الفرعية داخل المجلد الرئيسى مع عرض نتيجة كل مجلد فرعى فى عمود رأسى واحد فقط ليكون الأمر بالشكل التالى :
4.rm
index_files
index.php
mmmm
spraah2.pdfملحوظة : يمكن استخدام الخيار R- مع الخيار 1- لعمل الوظيفتين اللتان يقوم بهما الخياران فى آن واحد أى استعراض الملفات على المجلدات الفرعية داخل المجلد الرئيسى مع عرض نتيجة كل مجلد فرعى فى عمود رأسى واحد فقط ليكون الأمر بالشكل التالى :
ls -1R ~/Desktop
أما إذا استخدمت الخياران 1R- مع الأمر ls فى مجلد رئيسى يحتوى على مئات المجلدات
الفرعية مثل
var/ ،
فقد تحتاج إلى
ctrl+c ... حينها
ستعرف فائدة الضغط على هذه المفاتيح........
استعراض الملفات الموجودة على أى مجلد مع وضع Comma بين كل ملف وآخر :
view Contents As a Comma-Separated List ( ls -m )
خيار آخر لتنظيم شكل الملفات عند استعراضها باستخدام الأمر ls وهو الخيار m- حيث يقوم بوضع comma بين
كل ملف وآخر كما يلى
:
oem@ubuntu:~$
ls -m /var
backups, cache, games, lib, local, lock, log, mail, opt, run, spool, tmp
استعراض الملفات والمجلدات المخفية على مسار معين :
View Hidden Files and Folders (ls -a or ls --all)
حتى هذه اللحظة كانت نتائج استعراض الملفات والمجلدات سواء كانت
رئيسية أو فرعية باستخدام الأمر
ls الملفات والمجلدات
المرئية فقط ، ولكن ماذا لو كانت هناك ملفات أو مجلدات مخفية ؟ هنا الخيار a- ليقوم بهذه المهمة ، فعلى سبيل المثال مجلد
ال
home directory الخاص بك يحتوى ملفات مخفية والبعض بل يمكن الكثير ﻻ يعلم ذلك ولكى
تعرف ذلك تابع التالى
:
oem@ubuntu:~$ ls -a ~/
.bash_history
.bash_logout
.bash_profile
.bashrc
books~
.DCOPserver_ubuntu__0
.DCOPserver_ubuntu_:0
Desktop
.dmrc
using OMAP.rar
.bash_logout
.bash_profile
.bashrc
books~
.DCOPserver_ubuntu__0
.DCOPserver_ubuntu_:0
Desktop
.dmrc
using OMAP.rar
.esd_auth
.evolution
Examples
.fonts.cache-1
.mozilla
.mplayerﻻحظ : المجلدات المخفية يكون فى بدايتها نقطة أو ال dot ، وقد رأيتَ فى المجلد الرئيسى والخاص بالمستخدم الذى أنشاْته أثناء مرحلة التنصيب يحتوى على الكثير من المجلدات الفرعية مع مجلدات أخرى فرعية ولكنها مخفية ، بعض من هذه المجلدات المخفية تكون لبرامج أنت تقوم بتنصيبها وتحتوى على ملفات ال configuration الخاصة بها ، والبعض الآخر لبرامج أساسية يتم تنصيبها أثناء تثبيت التوزيعة بدون تدخل من المستخدم.
.evolution
Examples
.fonts.cache-1
.mozilla
.mplayerﻻحظ : المجلدات المخفية يكون فى بدايتها نقطة أو ال dot ، وقد رأيتَ فى المجلد الرئيسى والخاص بالمستخدم الذى أنشاْته أثناء مرحلة التنصيب يحتوى على الكثير من المجلدات الفرعية مع مجلدات أخرى فرعية ولكنها مخفية ، بعض من هذه المجلدات المخفية تكون لبرامج أنت تقوم بتنصيبها وتحتوى على ملفات ال configuration الخاصة بها ، والبعض الآخر لبرامج أساسية يتم تنصيبها أثناء تثبيت التوزيعة بدون تدخل من المستخدم.
أيضا من ضمن الأشياء التى أودُ لفت انتباهك إليها هو أول سطرين فى
نتيجة الأمر أى ال.
،
..
(dot and double dots) حيث تشير ال . إلى المجلد الحالى الذى توجد فيه الآن أما ال ..
فتشيران إلى المجلد الأب الذى يحوى المجلد الرئيسى وطبيعى فى هذه الحالة هو المجلد home/ بحيث يكون المجلد home/ هو المجلد الأب أو فيما يسمى بال parent directory للمجلد oem/. هذان المجلدان متواجدان بشكل عام فى كل
المسارات التى توجد بالتوزيعة وﻻ تستطيع التخلص منهم . وبالتالى توقع أن تَجِدْهما
فى كل مرة تستخدم فيها الخيار
a- . ولك أن
تشكر الخيار
a- أن نبهك إلى وجود
ملفات ومجلدات لم تكن تعلم عنها شيئا
!!
استعراض الملفات مع إظهار أنواعها :
Visually Display a File's Type (ls -F or ls --classify)
بأعلى استعرضنا بعض الخيارات التى يتم إضافتها للأمر ls لتُكسبه رونقا ًرائعا وتُضفى عليه لمسات
جذابه لتعرضْ لك ما تريده ولكن هل تظن الأمر ينتهى عند هذا الحد ؟ البعض قد يظن أن
الأمر
ls قد أتى بكل مافى
جعبته ، ولكن ليس الآن هناك المزيد والمزيد.....
في الموضوع المقبل انشاء الله سنتعرف على المزيد
الأوامر الأساسية اللى تقريبا ستحتاجها لستخدام سطر الأوامر في نظام لينكس .
0 التعليقات :
إرسال تعليق