OnWorks Linux و Windows Online WorkStations

الشعار

استضافة مجانية على الإنترنت لمحطات العمل

<السابق | المحتويات | التالي>

عودة إلى ساحة اللعب

حان الوقت لوضع جد لبعض الاستخدامات العملية (تقريبًا). سننشئ ملعبًا ونجرب بعضًا مما تعلمناه.


أولاً ، لنقم بإنشاء ملعب به الكثير من الأدلة الفرعية والملفات:



[me @ linuxbox ~] $ mkdir -p playground / dir- {001..100}

[me @ linuxbox ~] $ المس الملعب / dir- {001..100} / ملف- {A..Z}

[me @ linuxbox ~] $ mkdir -p playground / dir- {001..100}

[me @ linuxbox ~] $ المس الملعب / dir- {001..100} / ملف- {A..Z}


تعجب من قوة سطر الأوامر! باستخدام هذين السطرين ، أنشأنا دليل playground يحتوي على 100 دليل فرعي يحتوي كل منها على 26 ملفًا فارغًا. جرب ذلك باستخدام واجهة المستخدم الرسومية!

الطريقة التي استخدمناها لتحقيق هذا السحر تضمنت أمرًا مألوفًا (مكدير) ، توسيع الصدفة الغريبة (الأقواس) وأمر جديد ، تواصل. من خلال الجمع بين مكدير مع الالجائزة -p الخيار (الذي يسبب مكدير لإنشاء الدلائل الأصلية للمسارات المحددة) مع توسيع القوس ، تمكنا من إنشاء 100 دليل فرعي.

تواصل عادة ما يتم استخدام الأمر لتعيين أو تحديث الوصول ، وتغيير ، وتعديل أوقات الملفات. ومع ذلك ، إذا كانت وسيطة اسم الملف هي تلك الخاصة بملف غير موجود ، فسيتم إنشاء ملف فارغ.

في ساحة اللعب الخاصة بنا ، أنشأنا 100 نسخة من ملف باسم ملف. لنجدهم:


[me @ linuxbox ~] $ find playground -type f -name 'file-A'

[me @ linuxbox ~] $ find playground -type f -name 'file-A'


لاحظ أن على عكس ls, جد لا ينتج عنه نتائج بالترتيب الفرز. يتم تحديد ترتيبها من خلال تصميم جهاز التخزين. يمكننا أن نؤكد أن لدينا بالفعل 100 موقف من الملف بهذه الطريقة:



[me @ linuxbox ~] $ اعثر على ساحة اللعب من النوع f -name 'file-A' | مرحاض -l

100

[me @ linuxbox ~] $ اعثر على ساحة اللعب من النوع f -name 'file-A' | مرحاض -l

100


بعد ذلك ، دعنا ننظر إلى البحث عن الملفات بناءً على أوقات تعديلها. سيكون هذا مفيدًا عند إنشاء نسخ احتياطية أو تنظيم الملفات بترتيب زمني. للقيام بذلك ، سننشئ أولاً ملفًا مرجعيًا نقارن عليه وقت التعديل:



[me @ linuxbox ~] $ لمس الملعب / الطابع الزمني

[me @ linuxbox ~] $ لمس الملعب / الطابع الزمني


يؤدي هذا إلى إنشاء ملف فارغ باسم الطابع الزمني ويضبط وقت التعديل على الوقت الحالي. يمكننا التحقق من ذلك باستخدام أمر مفيد آخر ، القانون الأساسي، وهو نوع من نسخة مطورة من ls. القانون الأساسي يكشف الأمر عن كل ما يفهمه النظام


عن الملف وصفاته:



[me @ linuxbox ~] $ الملعب الأساسي / الطابع الزمني

ملف: "ساحة اللعب / الطابع الزمني"

الحجم: 0 كتل: 0 IO Block: 4096 ملف فارغ عادي الجهاز: 803h / 2051d Inode: 14265061 الروابط: 1

الوصول: (0644 / -rw-r - r--) Uid: (1001 / me) Gid: (1001 / me) الوصول: 2016-10-08 15: 15: 39.000000000 -0400

Modify: 2016-10-08 15:15:39.000000000 -0400

Change: 2016-10-08 15:15:39.000000000 -0400

[me @ linuxbox ~] $ الملعب الأساسي / الطابع الزمني

ملف: "ساحة اللعب / الطابع الزمني"

الحجم: 0 كتل: 0 IO Block: 4096 ملف فارغ عادي الجهاز: 803h / 2051d Inode: 14265061 الروابط: 1

الوصول: (0644 / -rw-r - r--) Uid: (1001 / me) Gid: (1001 / me) الوصول: 2016-10-08 15: 15: 39.000000000 -0400

Modify: 2016-10-08 15:15:39.000000000 -0400

Change: 2016-10-08 15:15:39.000000000 -0400


إذا كنا تواصل الملف مرة أخرى ثم فحصه باستخدام القانون الأساسيسنرى ان اوقات الملف قد تم تحديثها:



[me @ linuxbox ~] $ لمس الملعب / الطابع الزمني

[me @ linuxbox ~] $ الملعب الأساسي / الطابع الزمني

ملف: "ساحة اللعب / الطابع الزمني"

الحجم: 0 كتل: 0 IO Block: 4096 ملف فارغ عادي الجهاز: 803h / 2051d Inode: 14265061 الروابط: 1

الوصول: (0644 / -rw-r - r--) Uid: (1001 / me) Gid: (1001 / me) الوصول: 2016-10-08 15: 23: 33.000000000 -0400

Modify: 2016-10-08 15:23:33.000000000 -0400

Change: 2016-10-08 15:23:33.000000000 -0400

[me @ linuxbox ~] $ لمس الملعب / الطابع الزمني

[me @ linuxbox ~] $ الملعب الأساسي / الطابع الزمني

ملف: "ساحة اللعب / الطابع الزمني"

الحجم: 0 كتل: 0 IO Block: 4096 ملف فارغ عادي الجهاز: 803h / 2051d Inode: 14265061 الروابط: 1

الوصول: (0644 / -rw-r - r--) Uid: (1001 / me) Gid: (1001 / me) الوصول: 2016-10-08 15: 23: 33.000000000 -0400

Modify: 2016-10-08 15:23:33.000000000 -0400

Change: 2016-10-08 15:23:33.000000000 -0400


بعد ذلك ، دعنا نستخدم جد لتحديث بعض ملفات الملعب لدينا:


[me @ linuxbox ~] $ find playground -type f -name 'file-B' -exec touch '{}' '؛'

[me @ linuxbox ~] $ find playground -type f -name 'file-B' -exec touch '{}' '؛'


يقوم هذا بتحديث كافة الملفات الموجودة في الملعب المسماة ملف- ب. بعد ذلك سنستخدم جد لتحديد الملفات المحدثة من خلال مقارنة جميع الملفات بالملف المرجعي الطابع الزمني:


[me @ linuxbox ~] $ اعثر على ملعب - نوع f - ملعب / طابع زمني أحدث

[me @ linuxbox ~] $ اعثر على ملعب - نوع f - ملعب / طابع زمني أحدث


تحتوي النتائج على 100 مثيل لـ ملف- ب. منذ أن أجرينا أ تواصل على جميع الملفات في الملعب المسمى ملف- ب بعد أن قمنا بالتحديث الطابع الزمني، هم الآن "أحدث" من الطابع الزمني وبالتالي يمكن التعرف عليها مع -أحدث الاختبار.

أخيرًا ، دعنا نعود إلى اختبار الأذونات السيئة الذي أجريناه سابقًا ونطبقه عليه


[me @ linuxbox ~] $ البحث عن الملعب \ (-النوع f -not -perm 0600 \) -أو \ (

-النوع د- ليس -النوي 0700 \)

[me @ linuxbox ~] $ البحث عن الملعب \ (-النوع f -not -perm 0600 \) -أو \ (

-النوع د- ليس -النوي 0700 \)

يسرد هذا الأمر كل 100 دليل و 2600 ملف بتنسيق ملعب (طالما الطابع الزمني و ملعب نفسها ، بإجمالي 2702) لأنه لا يتوافق أي منها مع تعريفنا لـ "الأذونات الجيدة". من خلال معرفتنا بالعاملين والإجراءات ، يمكننا إضافة إجراءات إلى هذا الأمر لتطبيق أذونات جديدة على الملفات والأدلة في ملعبنا:



[me @ linuxbox ~] $ اعثر على الملعب \ (-type f -not -perm 0600 -exec chmod 0600 '{}' '؛' \) -or \ (-type d -not -perm 0700 -exec chmod 0700 '{}' '؛' \)

[me @ linuxbox ~] $ اعثر على الملعب \ (-type f -not -perm 0600 -exec chmod 0600 '{}' '؛' \) -or \ (-type d -not -perm 0700 -exec chmod 0700 '{}' '؛' \)


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


أفضل الحوسبة السحابية لنظام التشغيل في OnWorks: