الأربعاء، 6 أكتوبر 2010

شرح مترجم الأوامر في ويندوز و الأوامر الأساسية


شرح مترجم الأوامر في ويندوز
و الأوامر الأساسية
مقدمة:
يستخدم مترجم الأوامر "cmd" لتعامل مع البرامج التي لا تملك واجهة رسومية "GUI" , بل يكون المخرجات على شكل نصي فقط , ويوفر نظام ويندوز أوامر تتعامل مع الملفات والشبكات و أيضا جدولة المهام.

كيفية تشغيل مترجم الأوامر:
تستطيع تشغيل مترجم الأوامر بأكثر من طريقة لكني سأتطرق لطريقتين:
1-      من القائمة "أبدأ" أختر الأمر "تشغيل" ثم أكتب في مربع النص "cmd"
2-      من القائمة "أبدأ" أختر القائمة "البرامج" ثم القائمة "البرامج الملحقة" و أخيرا أختر "موجه الأوامر"

نظرة أولى على مترجم الأوامر :
عند تشغيل مترجم الأوامر ستظهر لك معطيات كالتالي:
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\>
و شرح المعطيات كالتالي:
المعطيات
الشرح
Microsoft Windows XP [Version 5.1.2600]

رسالة تظهر إصدار ويندوز
(C) Copyright 1985-2001 Microsoft Corp.

رسالة تظهر حقوق النشر
C:\Documents and Settings\>
هذا هو السطر المهم هذا السطر يظهر المجلد الحالي الذي يتعامل معه مترجم الأوامر

الأوامر الأساسية لتعامل مع الملفات و المجلدات:
الأمر
الشرح
مثال
dir
يعرض هذا الأمر محتويات المجلد المحدد و في حالة عدم التحديد سيعرض محتويات المجلد الحالي.

`Dir C:\Windows
سيعرض محتويات المجلد C:\Windows
dir /a C:\
سيقوم بعرض جميع الملفات بما فيها ملفات النظام و المخفية
Dir /s C:\Windows
سيعرض الملفات في المجلد Windows كما سيعرض الملفات في المجلدات الفرعية أيضا
C:
يقوم هذه الأمر بتغير القرص تستطيع وضع الحرف الذي يرمز القرص يليه الحرف ":"

F:
سوف يقوم بتغير القرص إلى F:

del
حذف ملف أو مجموعة من الملفات
del file.txt
سيحذف الملف المسمى FILE.txt
Del D:\*.txt
سيحذف جميع الملفات النصية من القرص D:
DEl ????.txt
سيحذف الملفات النصية التي تحمل أسم يتكون من 4 حروف
TYPE
عرض محتويات الملفات النصية على الشاشة .
TYPE names.txt
سيعرض محتويات الملف النصي names.txt
md
أنشاء مجلد جديد
md test
أنشاء المجلد Test
Rd
يستخدم لحذف مجلد , تستخدم التعليمتان :
/s:حذف جميع الملفات و المجلدات المنتمية للمجلد
/q: عدم أظهار رسالة تطلب تأكيد الحذف
rd /q /s test
حذف المجلد test  و جميع الملفات مع عدم رسالة تطلب التاكيد
CLS
مسح الشاشة
CLS
attrib
تغير الخصائص التابعة للملف و عرضها هي:
 -r للقراءة فقط
H-مخفي
A-أرشيف
S-ملف نظام
و تستخدم التعليمة "+" لإضافة الخاصية  و "-"  لأزالتها

attrib –r  -h –s file.exe
سيزيل صفات القراءة فقط و الأرشيف و ملف نظام عن البرنامج File.exe
attrib c:\
سيعرض الملفات في "C:\" و خصائصها
cd
يقوم بتغير المجلد الحالي بالنسبة لمترجم الأوامر
cd ..
يقوم بالخروج من المجلد الحالي ألى المجلد الذي يحتويه
cd \
يغير الدليل إلى المجلد الذي يرمز للقرص "C:" أو "f:"
cd c:\Windows
يغير الدليل ألى C:\Windows
> 
تستطيع بهذه التعليمة تحويل المعطيات من برنامج و حفظها إلى ملف نصي
dir c:\Windows > C:\list.txt
يحفظ قائمة الملفات الناتجة عن الأمر Dir في الملف C:\list.txt
help
يعرض هذا الأمر ملفات المساعدة للأوامر الموجودة  
HELP cd
يعرض شرح لأمر cd
edit
محرر نصي
تستطيع التعامل معه باستخدام الماوس
Edit list.txt



الثلاثاء، 5 أكتوبر 2010

برنامج نصي(BAT) لإيقاف فيروسات الفلاش

برنامج نصي(BAT) لإيقاف فيروسات الفلاش
(للتعرف على فيروسات الفلاش و الطريقة اليدوية لأزلتها أضغط على الرابط)
هذا البرنامج النصي (BAT) هو برنامج بسيط يقوم بالبحث عن الملف "autorun.inf" في السواقة المعطاة من قبل المستخدم  و تعطيله بإعادة تسميته إلى "autorun.txt" , كما يظهر الملفات المخفية التي قد يكون الفيروس بينها, لاستخدامه قم بتنزيله عبر هذا الرابط , ثم أضغط على أيقونة البرنامج لتشغيله , يسألك البرنامج عن الحرف المعطى لسواقة الفلاش أدخل القيمة المعطاة للفلاش في هذه الحالة ستكون "F"))

لتنزيل البرنامج
*البرنامج لا يقوم بحذف أي ملف على الفلاش

الاثنين، 4 أكتوبر 2010

البحث بواسطة الأمر find في لينكس

البحث باستخدام الأمر
find
في لينكس

تعد الأداة "find" , من أهم أدوات البحث في لينكس ,  و لا يقتصر فائدتها على البحث عن الملفات بل تستطيع تنفيذ الأوامر و 
  تنظيم الملفات بواسطتها, لذا سوف أعرض أهم الاستخدامات  للأمر find 



1-عرض جميع الملفات و المجلدات :


تستطيع استخدام أمر "find" لعرض لائحة الملفات كما في المثال التالي: 
find
find /usr/bin /home/user
في الأمر الأول سيعرض جميع الملفات في الدليل الحالي , و في الأمر الثاني  سنحصل عن الملفات و المجلدات في المجلدات "/home/user"و  "/usr/bin" .






2-البحث بواسطة الاسم :
تستخدم التعليمة "-name" للبحث عن الملفات و المجلدات المطابقة للاسم المعين :

find –name "firefox"
find /home/user /usr/bin –name "fire*"
find /home/user–name "*.html"


  • الأمر الأول سيبحث عن الملفات و المجلدات التي تحمل الاسم "firefox" , لن يعرض الأمر الملفات التي تطابق الأحرف و لكن لا تطابق الحالة مثل "FireFOX" أو "FIREfox"
  •  الأمر الثاني ستظهر الملفات و المجلدات التي تبدأ بالكلمة "fire"
  •  الأمر الثالث ستعرض الملفات التي ينتهي أسمها بالامتداد ".html"
3-البحث بواسطة الاسم مع تجاهل حالة الأحرف:
"-iname" هذه التعليمة تقوم بالبحث مع تجاهل حالة الأحرف:
find /home/ -iname "firefox"
سيعرض الأمر جميع الملفات و المجلدات التي تطابق الاسم مثل :"fireFox" و "FIREFOX"

4-تحديد عدد المجلدات الفرعية باستخدام الأمرين  (maxdepth-mindepth):
ألق نظره على الأمر:
find / -name "*.txt"
هذا الأمر سيبحث في جميع المجلدات الفرعية و المجلدات المنبثقة منها في الدليل |"/"  .
الآن ألقى نظره على المسار "/usr/share/bin" يقسم الأمر "find" المجلدات إلى مستويات كالتالي:
level
folder
1
/usr
2
/usr/share
3
/usr/share/bin
الأن وقد فهمت طريقة المستويات  , تستطيع التحكم في "depth" أي العمق باستخدام:
تحدد القيمة الصغرى لعدد المستويات "المجلدات" التي سيبدأ عندها البحث
mindepth
تحدد القيمة الكبرى لعدد المستويات "المجلدات " التي سينتهي فيها البحث
maxdepth

الأن مع الأمثلة:
find /home/user –maxdepth 1 –name "firefox"
find /home/user –mindepth 2 –name "firefox"
-سيقوم الأمر الأول بالبحث في المجلد "/home/user" فقط متجاهلا  المجلدات الفرعية .
 -الأمر الثاني سيبحث في المجلدات الفرعية والمجلدات المتفرعة أيضا  متجاهلا المجلد "/home/user".


5-تحديد  نوع الملفات أو المجلدات المراد البحث عنها:

لابد أنك لاحظت أننا أذا بحثنا عن الاسم سيعرض المجلدات و الملفات من دون أن نستطيع عرض الملفات فقط  أو العكس, لذا لتحديد نوع الملفات تستخدم التعليمة "-type" التي تقسم الملفات ألي:
الشرح
الرمز
ملف "socket" لتبادل المعلومات
s
المجلدات
d
ملف عادي
f

الأن مع مثال بسيط:
find /home/user –name firefox –type d
find /home/user –name "test" –type f
-يقوم الأمر الأول بالبحث عن المجلدات بالاسم  "firefox"
-الأمر الثاني يعرض الملفات باسم   "test"



6-البحث عن الملفات بواسطة أسم المستخدم  و رقم المجموعة(group):
تستطيع البحث عن الملف باستخدام أسم المالك للملف"owner name" أو رقم المستخدم "uid" أو رقم "group" المجموعة المنتمي لها مالك الملف:
الشرح
التعليمة
البحث بواسطة القيمة الرقمية للمالك الملف
-uid
تستخدم القيمة الرقمية للمجموعة للبحث في الملفات التي تعود ملكيتها للمستخدمين في المجموعة
-gid
تستخدم أسم المستخدم للبحث عن الملفات العائدة له
-user
تستخدم  أسم المجموعة للبحث
-group

أنظر للمثال التالي:
find /home/user –uid 0
find /home/user –gid 1000
find /home/user –user root
-المثال الأول يبحث عن ملفات المستخدم الذي يجمل القيمة الرقمية 0 و في أنظمة لينكس يكون "root"
-المثال الثاني يبحث عن الملفات العائدة للمجموعة التي تحمل القيمة الرقمية (1000)
-المثال الثالث يبحث عن الملفات و المجلدات العائدة للمستخدم "root"

7-البحث عن الملف بحسب المساحة:
تستطيع البحث عن الملفات و المجلدات بحسب المساحة باستخدام التعليمة  "-size" متبوعة بالقيمة المطلوبة كالتالي:
الشرح
القيمة
يبحث عن الملفات المساوية للقيمة n
n
يبحث عن الملفات الأكبر مساحة من n
+n
يبحث عن الملفات الأقل مساحة من n
-n
و القيم تستطيع أن تكتبها كما في الجدول التالي:
الشرح
القيمة
الحجم بالبايتات "bytes"
c
الحجم بالكلمة (الكلمة تساوي 2 بايت "bytes")
w
الحجم بالكيلوبايت (1024 بايت)
k
الميغابايت(1048576 بايت)
M
الجيجابايت (1073741824 بايت)
G

و الآن مع الأمثلة:
find /home/usr –size 100M –type f
find /home/user –size -433k –type f
find /home/user –size +122c –type f
-الأمر الأول يبحث عن الملفات التي مساحتها تساوي 100M
-الأمر الثاني يبحث عن الملفات الأصغر من 433 كيلوبايت
-الأمر الثالث يبحث عن الملفات الأكبر من 122 بايت
8-البحث عن الملفات بحسب الصلاحيات:
قبل أن أبدا في شرح طريقة البحث رأيت أنه يجب أن أشرح طريقة لينكس في تنظيم الصلاحيات , يقسم لينكس مجموعات المستخدمين إلى ثلاث مجموعات هي:
الآخرون"other"-
المجموعة المنتمي لها المستخدم "Group"
مالك الملف – "Owner"

ويقسم الصلاحيات إلى ثلاث مجموعات أيضا:
الشرح
القيمة الرقمية
القيمة الحرفية
القراءة
4
r
الكتابة
2
w
التنفيذ (برنامج) للملفات أو البحث للمجلدات
1
x

تستطيع كتابة الصلاحيات بطريقتين الأولى باستخدام رمز المجموعة و من بعدها رمز الصلاحيات مثل:
o+rw
حرف "o" يرمز للمالك  و "rw" يرمز لتمكين القراء و الكتابة .
والطريقة الثانية باستخدام الطريقة الرقمية :
كما في الصلاحية "664" و تقسم كما في التالي:
القيمة
6
6
4
المجموعة
Owner
group
other
التفسير
القراءة و الكتابة
القراءة و الكتابة
القراءة فقط

تحصل على القيمة بجمع القيمة الرقمية للصلاحية (القراءة 4+الكتابة 2)
الأن بعد أن أصبحت لديك فكرة عن الصلاحيات في لينكس لنأتي عن طريقة البحث تستخدم التعليمة –perm كما في الأمثلة التالية:
find ./ -perm /660
find ./ -perm /u+rw,g+rw
find ./ -perm /u=rw,g=rw
تقوم جميع الأوامر التي عرضناها بالبحث عن الملفات التي تحمل الأذن:rw للمالك ولمجموعته المختلف فقط هو طريقة كتابة الصلاحيات فقط..
البحث عن الملفات و المجلدات الخالية:
تستطيع البحث عن الملفات الخالية بأستخدام التعليمة "-empty" كما في المثال التالي:
find /home/ -empty
سيقوم الأمر بطباعة الملفات و المجلدات الخالية فقط  .



9-تنفيذ الأوامر على الملفات و المجلدات:
تستطيع تنفيذ الأوامر على الملفات التي تطابف شروط البحث بواسطة التعليمة "-exec" كما في المثال التالي:
find /home/user –name "*.txt" –type f –exec grep "name" {} \;
يقوم المثال بالبحث عن الملفات النصية البحث في محتويتها عن الكلمة "name"  باستخدام الأمر "grep" المتبوع المتغير الخاص بالملفات في الأمر "find" الذي هو "{}" , لكن يجب أن تختم الأمر بـ"\;" لذا يجب أن تكون التعليمة "-exec" في أخر الأمر .

هنالك طريقة أخرى في الأمر "find" وهي التعليمة "-ok" الفرق الوحيد بينها و بين "-exec" أنها تعرض رسالة للمستخدم تطلب الموافقة على تنفيذ الأمر على الملف :
find /home/ -type d –empty –exec rm –r {} \;

-في الخاتمة يجب أن أنوه أنني لم أتطرق إلى جميع أوامر "find" بل عرضت الأوامر الأكثر استخداما لذا أذا أردت التعمق في الموضع أستخدم دليل الأستخدام المرفق مع "find" الذي تستطيع عرضه باستخدام الأمر :
man find