ينقسم هذا الكتاب إلى خمسة أجزاء، والذي يقدم مهارات برمجة الصدفة وأوامر UNIX المتنوعة وتركيب الجملة بالتفصيل، ويتضمن أيضًا معالجة النصوص في نظام UNIX وعددًا صغيرًا من مشكلات إدارة النظام. هذا الكتاب شامل في المحتوى وموجز وسلس في النص، مما يجعله مناسبًا لمبرمجي شل للتعلم والرجوع إليه.
جدول المحتويات مقدمة المترجم الجزء الأول
الفصل 1 أمن الملفات والأذونات 1
1.1 الوثيقة 1
1.2 نوع الملف 2
1.3 إذن 2
1.4 تغيير بت الإذن 4
1.4.1 وضع الرمز 4
1.4.2 مثال أمر chmod 5
1.4.3 الوضع المطلق 5
1.4.4 أمثلة أخرى للأمر chmod 6
1.4.5 يمكنك اختيار استخدام الوضع الرمزي أو الوضع المطلق 7
1.5 المحتويات 7
1.6 سويد/دليل 7
1.6.1 لماذا نستخدم suid/guid 8
1.6.2 مثال على ضبط suid/guid 8
1.7 تشاون و chgrp 9
1.7.1 المثال الموضح 9
1.7.2 مثال chgrp 9
1.7.3 اكتشف مجموعات المستخدمين التي تنتمي إليها 9
1.7.4 تعرف على المجموعات التي ينتمي إليها المستخدمون الآخرون10
1.8القناع 10
1.8.1 كيفية حساب قيمة أوماسك 10
1.8.2 قيمة umask شائعة الاستخدام 11
1.9 الروابط الرمزية 12
1.9.1 استخدام الروابط الإلكترونية لحفظ صور متعددة للملف 12
1.9.2 مثال الارتباط الرمزي 12
1.10 ملخص 13
الفصل 2 استخدام البحث وxargs 14
2.1 البحث عن خيارات الأمر 14
2.1.1 استخدام خيار الاسم 15
2.1.2 استخدام الخيار بيرم 16
2.1.3 تجاهل الدليل 16
2.1.4 استخدام خيارات المستخدم والمستخدم 16
2.1.5 استخدام خيارات المجموعة وعدم المجموعة 16
2.1.6 البحث عن الملفات بناءً على وقت التغيير 17
2.1.7 البحث عن الملفات الأحدث أو الأقدم من ملف معين 17
2.1.8 استخدام خيار الكتابة 17
2.1.9 استخدام خيار الحجم 18
2.1.10 استخدام خيار العمق 18
2.1.11 استخدام خيار التثبيت 18
2.1.12 استخدام خيار cpio رقم 18
2.1.13 استخدم exec أو ok لتنفيذ أوامر shell 19
2.1.14 المثال 20 لأمر البحث
2.2 اكسار 20
2.3 ملخص 21
الفصل 3 تنفيذ الأوامر في الخلفية 22
3.1 كرون وكرونتاب 22
3.1.1 نطاق كرونتاب 22
3.1.2 أمثلة على إدخالات crontab 23
3.1.3 خيار أمر crontab رقم 23
3.1.4 إنشاء ملف crontab جديد 24
3.1.5 قائمة ملفات crontab 24
3.1.6 تحرير ملف crontab 24
3.1.7 حذف ملف crontab 25
3.1.8 استعادة ملفات crontab المفقودة 25
3.2 في الأمر 25
3.2.1 استخدم الأمر at لإرسال الأوامر أو البرامج النصية 26
3.2.2 قائمة المهام المقدمة 27
3.2.3 مسح الوظيفة 27
3.3 والأمر 27
3.3.1 إرسال الأمر إلى الخلفية 28
3.3.2 استخدم الأمر ps لعرض العملية 28
3.3.3 قتل العمليات الخلفية 28
3.4 الأمر nohup 29
3.4.1 استخدم الأمر nohup لإرسال الوظائف 29
3.4.2 تقديم عدة وظائف دفعة واحدة 29
3.5 ملخص 30
الفصل 4 استبدال اسم الملف 31
4.1 الاستخدام* 31
4.2 الاستخدام؟ 32
4.3 استخدام [...] و[!...] 32
4.4 ملخص 33
الفصل الخامس المدخلات والمخرجات 34
5.1 صدى 34
5.2 قراءة 35
5.3 القط 37
5.4 خط الأنابيب 38
5.5 نقطة 39
5.6 المدخلات والمخرجات والأخطاء القياسية 40
5.6.1 المدخلات القياسية 40
5.6.2 الإخراج القياسي 40
5.6.3 الخطأ المعياري 40
5.7 إعادة توجيه الملف 40
5.7.1 إعادة توجيه المخرجات القياسية 41
5.7.2 إعادة توجيه المدخلات القياسية 42
5.7.3 إعادة توجيه الخطأ المعياري 42
5.8 استخدام المخرجات القياسية والخطأ القياسي معًا 43
5.9 دمج المخرجات القياسية والخطأ المعياري 43
5.10 إكس 44
5.11 استخدام واصفات الملفات 44
5.12 ملخص 45
الفصل السادس تسلسل تنفيذ الأوامر 46
6.1 استخدام && 46
6.2 الاستخدام ||46
6.3 استخدم () و { } لدمج الأوامر 47
6.4 ملخص 48
الجزء 2 تصفية النص الفصل 7 مقدمة للتعبيرات العادية 49
7.1 استخدام الفترات لمطابقة الأحرف الفردية 50
7.2 قم بمطابقة سلسلة أو تسلسل أحرف مع ^ في بداية السطر 50
7.3 قم بمطابقة السلسلة أو الحرف 51 مع $ في نهاية السطر
7.4 استخدم * لمطابقة حرف واحد أو تسلسله المتكرر في سلسلة 51
7.5 استخدم لإخفاء معنى الحرف الخاص 52
7.6 استخدم [] لمطابقة نطاق أو set52
7.7 استخدم {} لمطابقة عدد مرات ظهور نتيجة النمط 53
7.8 ملخص 55
الفصل 8 عائلة جريب 56
8.1 جريب 57
8.1.1 علامات الاقتباس المزدوجة 57
8.1.2 خيار grep رقم 57
8.1.3 الاستعلام عن ملفات متعددة 57
8.1.4 مطابقة الخط 57
8.1.5 عدد الخطوط 58
8.1.6 عرض الخطوط غير المتطابقة 58
8.1.7 المطابقة التامة 58
8.1.8 حساسية الحالة58
8.2 grep والتعبيرات العادية 58
8.2.1 نطاق الوضع 59
8.2.2 لا يتطابق مع بداية السطر 59
8.2.3 تعيين الحالة 59
8.2.4 تطابق أي شخصية 59
8.2.5 الاستعلام عن التاريخ 59
8.2.6 مجموعة النطاق 60
8.2.7 احتمالية ظهور النمط 60
8.2.8 استخدم grep لمطابقة أنماط "AND" أو "OR" 61
8.2.9 سطر فارغ 61
8.2.10 مطابقة الأحرف الخاصة 61
8.2.11 اسم الملف المنسق للاستعلام 61
8.2.12 الاستعلام عن عنوان IP 61
8.3 اسم الفئة 62
8.4 أمر grep للنظام 62
8.4.1 جدول المحتويات 63
8.4.2 ملف المرور 63
8.4.3 استخدام الأمر ps 63
8.4.4 استخدام grep 64 على سلسلة
8.5 جيجا 64
8.6 ملخص 65
الفصل 9 مقدمة إلى AWK 66
9.1 الاتصال بـ awk 66
9.2 البرنامج النصي AWK 67
9.2.1 الأنماط والإجراءات 67
9.2.2 المجالات والسجلات 67
9.2.3 التعابير العادية وعملياتها في awk 70
9.2.4 الحروف الأولية 70
9.2.5 العوامل الشرطية 70
9.2.6 awk المتغيرات المضمنة 73
9.2.7 NF وNR واسم الملف 74
9.2.8 عامل awk 75
9.2.9 وظائف السلسلة المضمنة 78
9.2.10 تسلسل إخفاء السلسلة 80
9.2.11 وظيفة الإخراج AWK printf 81
9.2.12 معدّل printf 81
9.2.13 مصفوفة awk 86
9.3 ملخص 88
الفصل 10 مقدمة لاستخدام sed 89
10.1 كيفية قراءة البيانات باستخدام sed 89
10.2 الاتصال بـ 89
10.2.1 توفير مخرجات sed 90
10.2.2 كيفية استخدام sed للاستعلام عن نص في ملف 90
10.2.3 أوامر التحرير الأساسية 90
10.3 السيد والتعبيرات العادية 91
10.4 أمثلة برمجة Sed الأساسية 91
10.4.1 استخدام p(rint) لعرض السطر 91
10.4.2 نطاق الطباعة 91
10.4.3 وضع الطباعة 92
10.4.4 الاستعلام باستخدام الأنماط وأرقام الأسطر 92
10.4.5 مطابقة الأحرف الأولية 92
10.4.6 عرض الملف بأكمله 92
10.4.7 أي حرف 92
10.4.8 السطر الأول 92
10.4.9 السطر الأخير 93
10.4.10 طباعة السطر رقم 93
10.4.11 نص إضافي 93
10.4.12 إنشاء ملف البرنامج النصي sed 94
10.4.13 إدراج النص 94
10.4.14 تعديل النص 95
10.4.15 حذف النص 96
10.4.16 النص البديل 96
10.5 تعديل السلاسل باستخدام الاستبدال 97
10.6 اكتب نتائج sed إلى ملف الأمر 97
10.7 قراءة النص من ملف 98
10.8 الخروج 98 بعد المطابقة
10.9 عرض أحرف التحكم في الملفات 99
10.10 استخدام نظام sed 99
10.10.1 التعامل مع أحرف التحكم 99
10.10.2 معالجة مخرجات الرسالة 101
10.10.3 إزالة الرقم 101 في بداية السطر
10.10.4 نص إضافي 102
10.10.5 تمرير القيمة 102 من Shell إلى sed
10.10.6 ضبط متغيرات الصدفة من مخرج sed 102
10.11 أوامر سريعة من سطر واحد 102
10.12 ملخص 103
الفصل 11 الاندماج والانقسام 104
11.1 استخدام الفرز 104
11.1.1 نظرة عامة 104
11.1.2 خيارات الفرز 104
11.1.3 توفير المخرجات 105
11.1.4 طريقة بدء التشغيل 105
11.1.5 كيف يشير الفرز إلى المجالات 105
11.1.6 ما إذا كان الملف قد تم تصنيفه105
11.1.7 الفرز الأساسي 106
11.1.8 تصنيف التصنيف العكسي 106
11.1.9 التصنيف حسب المجال المعين 106
11.1.10 التصنيف الميداني العددي 106
11.1.11 تصنيف التفرد 107
11.1.12 طرق فرز أخرى باستخدام k 108
11.1.13 استخدام k لفرز مفاتيح التصنيف 108
11.1.14 حدد تسلسل الفرز 108
11.1.15 استخدام نقاط البيع 108
11.1.16 تصنيف المخرجات باستخدام الرأس والذيل 109
11.1.17 awk يستخدم الفرز لإخراج النتائج 109
11.1.18 دمج ملفي تصنيف 110
11.2 فرز النظام 110
11.3 الاستخدام الفريد 111
11.4 الانضمام إلى الاستخدام 112
11.5 قطع الاستخدام 114
11.5.1 استخدام فواصل المجال 115
11.5.2 قطع الحقل المحدد 115
11.6 استخدام اللصق 116
11.6.1 تحديد الأعمدة 116
11.6.2 استخدام محددات الحقول المختلفة 116
11.6.3 لصق إدخال خط الأوامر 117
11.7 الاستخدام المقسم 117
11.8 ملخص 118
الفصل 12 ط الاستخدام 119
12.1 حول آر 119
12.1.1 نطاق الأحرف 119
12.1.2 توفير المخرجات 120
12.1.3 إزالة الأحرف المتكررة 120
12.1.4 حذف الأسطر الفارغة 120
12.1.5 من الأحرف الكبيرة إلى الأحرف الصغيرة 121
12.1.6 من الأحرف الصغيرة إلى الأحرف الكبيرة 121
12.1.7 حذف الأحرف المحددة 121
12.1.8 تحويل أحرف التحكم 122
12.1.9 التحويل السريع 122
12.1.10 مطابقة أكثر من حرف 123
12.2 ملخص 123
الجزء 3 بيئة تسجيل الدخول الفصل 13 بيئة تسجيل الدخول 125
13.1 / الخ / الملف الشخصي 125
13.2 الملف الشخصي للمستخدم $HOME.128
13.3 استخدام ستي 129
13.4 إنشاء ملف تسجيل الخروج 131
13.5 ملخص 131
الفصل 14 البيئة ومتغيرات شل 132
14.1 ما هي متغيرات الصدفة132
14.2 المتغيرات المحلية 132
14.2.1 عرض المتغيرات 133
14.2.2 مسح المتغيرات 133
14.2.3 عرض جميع متغيرات الصدفة المحلية 133
14.2.4 الجمع بين القيم المتغيرة 134
14.2.5 اختبار ما إذا كان قد تم تعيين متغير 134
14.2.6 استخدام المتغيرات لحفظ معلمات أوامر النظام 135
14.2.7 تحديد متغيرات للقراءة فقط 135
14.3 متغيرات البيئة 136
14.3.1 ضبط متغيرات البيئة 136
14.3.2 عرض متغيرات البيئة 136
14.3.3 مسح متغيرات البيئة 137
14.3.4 تضمين متغيرات الصدفة 137
14.3.5 متغيرات البيئة الأخرى 139
14.3.6 تعيين الأمر 140
14.3.7 تصدير المتغيرات إلى العمليات الفرعية 140
14.4 المعلمات المتغيرة الموضعية 141
14.4.1 استخدام المعلمات الموضعية في البرامج النصية 142
14.4.2 تمرير المعلمات إلى أوامر النظام 142
14.4.3 معلمات متغيرة محددة 143
14.4.4 حالة الخروج النهائي 144
14.5 ملخص 145
الفصل 15 يقتبس 146
15.1 ضرورة الاستشهاد 146
15.2 علامات الاقتباس المزدوجة 146
15.3 الاقتباسات الفردية 147
15.4 العلامات الخلفية147
15.5 شرطة مائلة عكسية 148
15.6 الملخص 149
الجزء الرابع برمجة شل الأساسية الفصل 16 مقدمة لبرامج شل النصية 151
16.1 أسباب استخدام نصوص شل 151
16.2 محتوى البرنامج النصي 151
16.3 تشغيل البرنامج النصي 152
16.4 ملخص 153
الفصل 17 الاختبار المشروط154
17.1 حالة ملف الاختبار 154
17.2 استخدام العوامل المنطقية عند الاختبار 155
17.3 اختبار السلسلة 155
17.4 قيمة الاختبار 156
17.5 الاستخدام السريع 157
17.5.1 العد التزايدي 158
17.5.2 الاختبارات العددية 158
17.5.3 مطابقة الأنماط 158
17.6 الملخص 159
الفصل 18 هياكل التحكم في التدفق 160
18.1 حالة الخروج 160
18.2 هيكل التحكم 160
18.2.1 التحكم في التدفق 161
18.2.2 الحلقات 161
18.3 إذا كان الأمر كذلك، بيان 161
18.3.1 بيان إذا بسيط 162
18.3.2 اختبار القيمة المتغيرة 162
18.3.3 فحص مخرجات grep 163
18.3.4 اختبار مخرجات grep مع المتغيرات 163
18.3.5 فحص إخراج نسخة الملف 164
18.3.6 اختبار الدليل الحالي 164
18.3.7 اختبار إذن الملف 165
18.3.8 تمرير معلمات الاختبار إلى البرامج النصية 165
18.3.9 تحديد ما إذا كان البرنامج النصي في الوضع التفاعلي165
18.3.10 بيان بسيط إذا كان غير ذلك 166
18.3.11 اختبار الإعداد المتغير 166
18.3.12 اكتشاف المستخدم الذي يقوم بتشغيل البرنامج النصي 166
18.3.13 تمرير معلمات البرنامج النصي إلى أوامر النظام 167
18.3.14 فارغ: استخدام الأمر 167
18.3.15 نتائج إنشاء دليل الاختبار 168
18.3.16 مثيل نسخة آخر 169
18.3.17 عبارات if المتعددة 169
18.3.18 اختبار وتحديد متغيرات البيئة 169
18.3.19 الكشف عن حالة الأمر الأخيرة 170
18.3.20 إضافة وتدقيق القيم الصحيحة 171
18.3.21 البرنامج النصي البسيط لتسجيل الدخول الآمن 172
18.3.22 استخدام إليف 173
18.3.23 استخدام elif للكشف عن الحالات المتعددة 173
18.3.24 الكشف عن مواقع الملفات المتعددة 174
18.4 بيان الحالة 175
18.4.1 بيان الحالة البسيطة 175
18.4.2 استخدام أنماط المطابقة |
18.4.3 المطالبة بكتابة y أو n 177
18.4.4 الحالة ومعلمة الأمر التي تمر بـ 177
18.4.5 التقاط المدخلات وتنفيذ أمر فارغ 178
18.4.6 قيم المتغيرات الافتراضية 179
18.5 للحلقة 180
18.5.1 حلقة بسيطة 181
18.5.2 طباعة قائمة السلاسل 181
18.5.3 استخدام الأمر ls مع حلقة for 181
18.5.4 استخدام المعلمات مع الحلقات 182
18.5.5 استخدام حلقة for للاتصال بالخادم 183
18.5.6 استخدام حلقة for لعمل نسخة احتياطية من الملفات 183
18.5.7 تحويل الملفات المتعددة 183
18.5.8 عمليات الحذف المتعددة 184
18.5.9 عدد الحلقات 184
18.5.10 للحلقات والوثائق المحلية 184
18.5.11 لتضمين الحلقة 185
18.6 حتى الحلقة 186
18.6.1 بسيطة حتى الحلقة 186
18.6.2 ملفات المراقبة 187
18.6.3 مراقبة مساحة القرص 187
18.7 أثناء الحلقة 188
18.7.1 حلقة بسيطة 188
18.7.2 استخدم أثناء الحلقة لقراءة إدخال لوحة المفاتيح 188
18.7.3 قراءة البيانات من ملف باستخدام حلقة while 189
18.7.4 قراءة الملفات باستخدام IFS 189
18.7.5 معالجة الملفات مع شروط الاختبار 190
18.7.6 مسح أسطر الملف للعدد 191
18.7.7 قراءة زوج من السجلات في وقت واحد 193
18.7.8 تجاهل الحرف # 193
18.7.9 معالجة التقارير المنسقة 194
18.7.10 أثناء الحلقات وواصفات الملفات 196
18.8 استخدام الفواصل والاستمرار في حلقات التحكم 197
18.8.1 استراحة 197
18.8.2 القفز من بيان الحالة 197
18.8.3 تابع 197
18.8.4 تصفح خطوط الملفات 198
18.9 القائمة 199
18.10 ملخص 201
الفصل 19 وظائف شل 202
19.1 تحديد الوظائف في البرامج النصية 203
19.2 استخدام الوظائف في البرامج النصية 203
19.3 تمرير المعلمات إلى الوظائف 203
19.4 إرجاع 203 من وظيفة الاستدعاء
19.5 اختبار القيمة المرتجعة للوظيفة 204
19.6 استخدام الوظائف في الصدفة 204
19.7 إنشاء ملفات الوظائف 204
19.8 تحديد موقع الملفات 205
19.9 فحص وظائف التحميل 205
19.10 تنفيذ وظائف الصدفة 205
19.10.1 حذف وظيفة الصدفة 206
19.10.2 تحرير وظائف الصدفة 206
19.10.3 أمثلة الوظائف 207
19.10.4 تجميع الوظائف معًا 219
19.11 استدعاءات الوظائف 219
19.11.1 وظائف الاتصال في البرامج النصية 219
19.11.2 استدعاء الوظائف من ملفات الوظائف 220
19.12 تحديد موقع الملفات لا يقتصر فقط على الوظائف 222
19.13 ملخص 223
الفصل 20 تمرير المعلمات إلى البرامج النصية224
20.1 أمر التحول 225
20.1.1 الاستخدام البسيط لأمر التحول 225
20.1.2 آخر معلمة تم إدخالها في سطر الأوامر 225
20.1.3 استخدام Shift لمعالجة تحويل الملفات 226
20.2 الحصول على 229
20.2.1 مثال البرنامج النصي getopts 229
20.2.2 كيفية استخدام getopts 231
20.2.3 استخدم getopts لتحديد القيم المتغيرة 231
20.2.4 طريقة قيمة الوصول 232
20.2.5 استخدام getopts للتعامل مع تحويل الملفات 233
20.3 الملخص 235
الفصل 21 إنشاء إخراج الشاشة 236
21.1 استخدام 236
21.1.1 إخراج السلسلة 236
21.1.2 الإخراج الرقمي 237
21.1.3 الناتج المنطقي 237
21.2 استخدام 237
21.2.1 ضبط الأمر tput 237
21.2.2 استخدام المخرجات المنطقية 237
21.2.3 استخدام tput في البرامج النصية 237
21.2.4 توليد تسلسلات الهروب 238
21.2.5 موضع المؤشر 239
21.2.6 عرض النص في وسط الشاشة 240
21.2.7 العثور على سمات المحطة الطرفية 240
21.2.8 استخدام مفاتيح الوظائف في البرامج النصية 241
21.2.9 استخدام اللون 242
21.2.10 توليد اللون 243
21.2.11 إنشاء قائمة رائعة 246
21.3 ملخص 251
الفصل 22 إنشاء إدخال الشاشة 252
22.1 إضافة السجلات 252
22.2 حذف السجلات 262
22.3 سجلات التعديل 266
22.4 عرض السجلات 270
22.5 الملخص 273
الفصل 23 تصحيح البرامج النصية274
23.1 الأخطاء العامة 274
23.1.1 خطأ الحلقة 274
23.1.2 علامات الاقتباس المفقودة النموذجية 274
23.1.3 خطأ الاختبار 274
23.1.4 حالة الأحرف 275
23.1.5 للحلقة 275
23.1.6 صدى 275
23.2 تعيين الأمر 275
23.3 الملخص 276
الفصل 24 أوامر تضمين Shell 277
24.1 قائمة كاملة بأوامر الصدفة المضمنة 277
24.1.1 الأشخاص 277
24.1.2 مجموعة 278
24.1.3 مرات 278
24.1.4 النوع 278
24.1.5 الحد 279
24.1.6 انتظر 279
24.2 الملخص 279
الجزء الخامس تقنيات برمجة شل المتقدمة الفصل 25 مناقشة متعمقة
يوسع