Professional Documents
Culture Documents
1-Admin 1 by Ahmed Abdul-Monem
1-Admin 1 by Ahmed Abdul-Monem
https://www.youtube.com/playlist?
list=PLy1Fx2HfcmWBpD_PI4AQpjeDK5-5q6TG7
2
ملحوظة هامة :هذه الملخصات هى عبارة عن مجرد تجميع
للمعلومات وتمت ازالة كل الكلم الذى ليس له علقة بالكورس ،
من الخر كده اللى هنا بس هو المختصر المفيد والكلم مكتوب
باللهجة المصرية مع مراعاة التوضيح لقصى درجة
ملحوظة اخيرة وهى ان التراك الول لحد الفديو رقم 27اليوم ال
13وده عنوان الفديو
27-Day-13_VIM_Editor_Cont
التراك الول
Admin 1
3
بداية كده الطريقة اللى بكتب بيها ال Pathكامل اسمها ال Absolute Pathطب
ليه اسمها Absoluteلنى ببساطة بكتب ال Pathمن اوله وده المثال عليها
cd usr/share/docs
4
-4الملحوظة اللى بعد كده وهى خاصة بال optionوال argumentsبتاعت ال
دول بقى شوية ملحظات جانبية باللغة النجليزية انا جبتهم من النت للى عايز
5
There is no difference in them. Internally they do exactly the same thing:
6
بعد كده بقى دخلنا على موضوع ال Permissionsوانت لما تيجى تنفذ المر
ls -l
اول 3دول بتوع ال userوال 3التانيين دول بتوع ال primary groupوال 3
drwxr-xr-x
ملحوظة مهمة جدا فيما يتعلق بنقطة ال user and group permissionsوهى انى
والمثال على كده انى لو عايز اعطى لل othersصلحيات الكتابة مثل فده هيتم
عن طريق المر ده
بص بقى فى الكام ملحوظة دى اول ال +دى معناها اضافة وال -معناها حذف
7
وطبعا لزم تركزعلى اللوان فى اللينكس مثل اللون البيض ده معناه ملف
عادى والزرق ده معناها انه مجلد والخضر طبعا معناه انه executableيعنى
ملف قابل للتنفيذ ،من الخر كده ده عبارة عن برنامج
الملحوظة اللى بعد كده وهى ان اللينكس بيبص على ال contentبتاع الملف
وليس على اسم الملف او المتداد بتاعه ،طيب هو هيعرف منين اذا كان ده
8
هنا بقى العلمة دى معناها ال | pipeودى ممكن استخدمها مع امر زى
ملحوظة وعلشان تفهم ازاى الكرنال بتشتغل وهى ان الكرنال بيتعامل مع اى
حاجة بلغة الرقام يعنى هى متعرفش حاجة اسمها usernameاو حتى group
9
دلوقتى بقى لما بتجيب الهارد من الشركة مثل ويكون لسه جديد بيكون اسمه
عندك مثل ال fat32عنده عيب خطير جدا وهو ان اكبر مساحة للملف اللى
هيكون عليه مينفعش تتخطى ال 4جيجا
10
طيب ببساطة شديدة ال metadataهى عبارة عن البيانات اللى بتخزن جواها
المعلومات بتاعت البيانات اللى متخزنة عندك ):يعنى باختصار هى اللى
بتوصف الداتا الفعلية
اه يعنى افهم من كده انى لما باجى اعمل formatللبارتيشنز وانا بنزل الويندوز
وبلحظ ان المساحة قلت حبة صغيرين فده بيكون بسبب ال inode tableلن
انا لما بعمل formatللبارتشين فكده معناه انى بهيئ البارتيشن للزراعة اى
وعندك بقى كل الملفات اللى بتتخزن على البارتيشنز بتتخزن فى شكل blocks
11
index node ده اصل اختصار لinode طيب ال
An index node (or inode) contains metadata information (file size, file
type, etc.) for a file system object (like a file or a directory).
There is one inode per file system object.
An inode doesn't store the file contents or the name: it simply points to a
specific file or directory.
Storage والfile system اللى متعلقة بالblocks طيب فيما يخص موضوع ال
بايت16 مساحتهblock size اعتبرها كأنها بلط البيت مثل فلو عندك مثل
بايت16 وعندك مثل ملف حجمه
كلها ودى نفس فكرة بلط البيت اللى لماblock size فكده الملف ده هياخد ال
يكون عندك بلط كبير وجيت تحط على كل بلطة كرسى صغير فكده باقى
المساحة هتكون مهدره يعنى مش مستفاد منها
12
وطبعا زى ما انت عارف ان عملية نقل الملف من مكان لمكان تانى على نفس
طيب دلوقتى لو جيت عملت copyلملف على نفس ال file systemاي اللى
numbersعلى حسب حجم الملف ،يعنى لو الملف كبير هيحجزله كذا inode
13
دلوقتى بقى دخلنا على موضوع ال Soft Linkوال Hard Link
واول ملحوظة لما تيجى تستخدم ال soft linkلزم تستخدم ال Absolute path
يبقى اذا اقصى عدد من البارتيشنز ممكن يكون على الجهاز فى حالة ال mbr
هو 4بارتيشنز بس
14
There are only four because the data structures for the MBR partition
table only allow for exactly four records describing partitions
طيب علشان يحلو مشكلة العدد القليل بتاع البراتيشنز راحو عملو اي بقى ،
راح عمل 3بارتيشنز وال 4ده عاطله special typeوخله extendedوجواه بقى
طيب انت عندك انواع الهارد disksفى عندك ال PATAوال SATAوال SCSI
دلوقتى بقى لو قولتلك ترجم نوع الهارد ده hdb9معناها اول ان نوع الهارد ده
hd pataوال bمعناها انه الهارد ديسك رقم 2الموجود فى الجهاز ورقم 9
ملحوظة بسيطة وهى ليه ديما ال grubبيشوف الهارد بتاعى على انه hdاو hd0
او ، hd1السبب فى كده زى ما انت عارف وهو ان لسه الكرنال ذات نفسه
15
مقامش ،لسه الهارد لم يتم قراءته وبالتالى ال defaultبتاعه وهو انه يشوفه
الملحوظة اللى بعد كده وهى ان المر partprobeده بيعمل scanللهارد من
طيب دلوقتى بقى مساحة ال meta dataبيتم تحديدها بناءا على عدد ال
عندك كام block Sizeوال block Sizeبيتحدد اوتوماتيك وانت بتعمل ال file
لما بتقوله غيرلى ال block sizeوال block sizeاللى هو حجم البلطة اللى انت
هتحطها فى الصالة وبناءا على حجم البلطة دى هتقدر تحط فيها كام كرسى
مثل
اه بالمناسبة انت مش بتحدد مساحة ال inode tableخالص ،ال inode table
مش بيشيل داتا اصل ،ال inode tableبيشيل بس meta dataاللى هى
16
معلومات عن الملفات زى ارقامها ومساحتها ومين ال ownersواي هى ال
Permissionsبتاع كل ملف وهكذا بقى وطبعا بيكون برضو جوا ال meta data
ارقام ال blocks
/dev/sdb
وبالتالى ملفات ال mbrوال partition tableهتبوظ وكده هيرجع زى ما كان
بينفع فى ال Recovery
17
ملحوظة فيما يخص امر ال ddال وهو اول حاجة ال block sizeبتاعه ال
بتقوله بقى ال countبتاعك هيكون مثل 512بايت وده فى حالة لو انت عايز
Block Size
/dev/random
و
/dev/urandom
وفى برضو
/dev/zero
والخير ده بقى بيكتب اصفار على الهارد
18
معلومة وهى ان كلمة Formatبتساوى او بتوازى zero fillيعنى كأنك بتملى
البارتيشن باصفار
بتاع الملف هو ال ANSIفهو فعليا بيكتب مثل 100ميجا انما بسبب طريقة
الحفظ وال Encodingفده بيطلع الملف صغير جدا جدا لنه بيحجز مساحة لكل
دخلنا بقى فى موضوع جديد واول حاجة ان كلمة mountاو عملية ال mounting
19
لو عايز تجيب معلومات بارتيشن كامل المر ده مهم جدا ليك ك Adminاكتب
dumpe2fs /dev/sdb1
وهى اختصار ل
Dump Extended 2 File System
عندك برضو
dump ext2/ext3/ext4 filesystem information
طيب دلوقتى بقى لو الكهرباء قطعت عليك وفى file systemمعمول ليه
مشكلة ولزم تعمله checkوده شبيه جدا بالشاشة الزرقاء بتاعت ويندوز اكس
20
دلوقتى بقى لو انت جيت تعمل e2fsckللبارتشين وقالك انه مش هيقدر علشان
فى corrupted dataاستخدم ال option -fيعنى اعمل فحص بالقوة وصلح ال
corrupted data
طبعا ال checkاللى بيتم هنا على البارتيشن ،هو بيروح يعمل checkلل inode
طيب افرض بقى وهو بيعمل force checkجه ال inode tableوضرب منك او
البارتيشن ضرب منك هتحلها ازاى ،الحل ببساطةوهو انك تعكس المر بتاع dd
21
يعنى تخلى البارتيشن بتاعك هو ال output fileوتخلى ملف ال backupهو ال
مثل مثل ممكن تعتبر ان ترتيب البارتيشنز فى ويندوز اسمه Flat Structure
يعنى كل واحد فيهم مستقل بذاته عندك مثل ال Cعبارة عن بارتيشن لوحده
وال dبرضو عبارة عن بارتيشن لوحده وده طبعا بيختلف تماما عن اللينكس
واخيرا كلمة mountمعناها ربط للحاجة ،وال mount pointهى عبارة عن
النقطة اللى عن طريقها بتوصل للبارتيشن ذات نفسه
لما اقول ان عندى بارتيشن مساحته وليكن مثل 5جيجا والبارتيشن ده معمول
هتكتب على اخر واحد بس لحد ماتعمله umountوبعدها هتبدأ تكتب على التانى
22
،طيب افرض عملت للتانى umountهو كمان يبقى كده المسار ده اللى هو /
وهنا تنبيه هام جدا وهو اوعى تعمل formatلل extended partition
وبكده انت ضمنت انك حتى لو غيرت اسم ال diskبتاعك من sdaل مثل sdc
23
طبعا انت ممكن تدى لكل partitionاسم او ما يسمى بال labelعن طريق
معلومة مهمة ليك وهى ان الداتا سنترز المحترمة المفروض يكون في
فى نقطة ثابتة وهى ال oracleمثل وهكذا ،يكون فى توحيد لكل السيرفرات ،
ال لو فى استثناءات
24
/dev/sd5 /media ext4 rw 0>9 0>9
ro
noexec
exec
خلى بالك معلومة لذيذة اوى ،عارف لو غيرت فى ملف ال fstabوكتبت مثل /
وهتلقيه بيقولك
25
Timed Out waiting for device dev-sd5.device
وتعمل rebootبعدها
، mount -a طيب المفروض بقى لما تخلص تعديل فى الملف ده ،تروح تعمل
mount -a
/etc/mtab
وال mtabدى معناها ال Mounted file system Table
26
ولما تجيى تعمل deleteل partitionمعين اتأكد انه مش موجود فى ملف ال
fstab
طيب فى errorمشهور اوى بيظهر لما تحاول تعمل formatلبارتيشن معين ،
او الخطأ بصورة اخرى وهو انك تعمل deleteللبارتشينز وفى بارتيشن معمول
27
bzip2 -> Higher Compression Ratio
معلومة جانبية وهى ان عملية ضغط الفديو عبارة عن انه بيضغط ال pixels
ذات نفسها يعنى بيضغط النقط البيضاء اللى بيتكون منها الفديو اللى هى ال
pixeles
Compressingبيتنج عنه انك تقلل المساحةالموجودة لملف معين مثل ،انما ال
Archivingهو عبارة عن انك بتربط مجلد بيكون جواه مثل ملفات كتيرة
بالملفات دى علشان يطلعلك فى الخر ملف واحد ضامم كل ده
ملحوظة وهى ان المر duهو اللى بيجبلك حجم مجلد معين ،ومتنساش ال .
معناها المكان اللى انت واقف فيه مثال على كده
معلومة
du -s -h
)-s (summarize
28
)-h (human readable
create file
واما ال xfفهى اختصار ل
extract file
مثال
tar cf etc.tar etc/
tar xf etc.tar
او ممكن تستخدم معاه ، cvfيعنى ، create verbose fileيعنى ورينى وانت
بتضغط
معلومة وهى ان ال tarهى اختصار teabs Archive
بص بقى فى الحلوة اللى جاية دى ،انت دلوقتى عندك اتنين utilityبتعمل بيهم
29
ايوه طبعا ،اي المانع ،شوف يا سيدى لو انت هتستخدم ال ، gzipيبقى ال
.tar.gz
مثال
tar cvfz etc.tar.gz etc/
عندنا امر جديد ال وهو ال ، tvfzوده بستخدمه لما تحب تعمل listللملفات
المر tarهو من الوامر القليلة جدا اللى مش هتلقى قدام ال optionعلمة -
30
معلومة جانبية اي الفرق بين ال programوال process؟!!
ال programهو ببساطة البرنامج اللى بيكون executableعندك على الجهاز ،
allocate resources
process id
31
kill -l
عارف لما تستخدم kill -9ده ليه نتائج كارثية عليك ،لن ال Processدمها لسه
بيسيل
طريق ال ID
32
المر % fgوبعدين رقم ال Backgroundبيرجع ال Processويخليها تحجز ال
33
وطبعا مش شرط علشان انى اقول على حاجة انها serviceيبقى لزم تستقبل
Ground
Valueهى 0ومعناه
normal priority
يبقى اذا اى Processلما تشغلها بتاخد Nice Value 0ومعناها انها شغالة ك
normal priority
34
ومعنى ان انت عندك Zombie Processيبقى كده انت عندك مشكلة
وطبعا المر العام لو انت عايز تدى لبرنامج Priorityمعينة بيكون كالتالى
nice -n 15 firefox
طيب دلوقتى بقى لو عندك Processشغالة وعايز تديها Nice Priorityجديدة ،
هل لزم انك تقفلها وتشغلها من تانى ؟؟ ل طبعا ،خد عندك المر ده بيدى Nice
renice -n 15 firefox
35
ال documentationبتاع المراللى هى ال man pagesوهتعرضلك المجلد ال
binaryبتاع المر
بتعمل ملف جديد وتيجى تنفذ المر locateمش هيجبلك المر علشان ببساطة
updatedb
واقف فيه ال لو حددته مكان معين يدور فيه وطبعا اللينكس case Sensitive
case sensitive
36
او ممكن تستخدم ال back slashومعنا انك بتقوله اعمل skipلل spaceدى
المر cut
cut -f 1 -d : /etc/passwd
طبعا مع المر ده يفضل جدا انك تستخدم ال sortعلشان ترتب الناتج اللى
طالع
37
numericيعنى بشكل >====== -n
طبعا لو عندك كذا نتيجة متكررة وعايزة تعرض النتيجة بس من غير تكرار
اه وخد بالك ان uniqueبيقارن كل ناتج باللى قبله فطبيعى انك برضو هتلقى
حاجات متكررة ،فانت ممكن تعمل حركة صايعة كالتالى
cut -d : -f 7 /etc/passwd | sort | uniq
فانت كده بتعمل sortالول وبعدين بتطلع ال uniqueنتائج
مبدئيا كده اول حاجة اتعملت كانت هى ال viوهى اختصار visual editor
38
بص بقى فى ال vimانت عندك modes 3اول ما بتفتح ال vimبيكون ال
الول على ال command modeالول ولو عايز تجيب تانى نتيجة تضغط حرف
ال n
وحرف ال o smallهيدخلك سطر جديد تحت اللى انت فيه وال حرف ال
لو عايز تاخد copyلكذا سطر ال general syntaxالعام بتاعه nyyحيث nهى
عدد السطر ،مثل
3yy
39
كده هو هياخد 3سطور copy
طيب لو عايز تعمل cutبتعمله عن طريق المر ، ddمثل لو عايز تعمل cutل
انما بقى لو عايز تروح لسطر معين فانت هتدخل فى ال exec modeوتكتب
رقم السطراللى انت عايز تروحه
انما بقى لو عايز تعرض السطور بتاعتك وهى مرقمة ،فانت هتروح برضو لل
set nonumber
انما لو عايز تعمل undoاضغط حرف ال ، uولو عايز تعمل deleteل word
كاملة ممكن تكتب ، dwانما بقى لو عايز تعمل deleteل حرف اكتب dl
طيب لو عايز مثل تمسح من السطر رقم 7لحد السطر رقم ، 10فى طريقين
ممكن تخلى ال cursorيروح للسطر رقم 7وتكتب ، 3ddاو الحل التانى انك
7,10d
40
انما بقى لو عايز تمسح من اول المكان اللى واقف فيه ال cursorلحد الخر ،
.,$d
وهنا ال .معناها المكان اللى ال cursorواقف فيه
دلوقتى مثل انت لو نفذت ومسحت سطر وعايز تمسح اللى تحته برضو ،بدل
وكمان لو عايز تروح لول الملف بطريقة سريعة جدا بدل ما تقعد تروح لل
execution modeوتكتبله رقم السطر ،ل انت ممكن تضغط ، ggولو هتروح
بص بقى لو عايز تعمل سيرش على كلمة وتعملها replaceبكلمة تانية اكتب ال
commandده
41
:%s/mail/replaced
انما بقى لو عايز تعمل replaceلكل الكلمات اللى عندك فاستخدم فى
:%s/mail/replaced/g
وممكن كمان تقوله اقرا اللى موجود فى ملف معين مثل وخده Copyوحطه
مكان ما ال cursorواقف
:r file1
وبرضو لو عايز تاخد نسخة من الملف اللى انت فيه وتحطه فى ملف تانى نفذ
المر ده
:w newfile
طيب لو فى ملف موجود اصل يبقى تحط اتنين >>
w >> backup
انما ال vimبيلون وده بينفع فى كتابة الكود ،طب افرض انك عايزتخلى ال
vimميلونش الكلم
42
طيب مثل لو عايز تمسح من المكان اللى واقف فيه ال cursorلخر السطر
هنا فى نقطة مهمة جدا وهى افرض مثل انك عايز تنفذ امر فى ال shellوتحط
:.!ls
43
انتهى الجزء الول
44