تُستخدم File Test Operators في Linux للتحقق والتحقق من خصائص الملفات مثل الملكية أو ما إذا كانت symlink.
كل Test operator له غرض محدد.
أهم العوامل هي e- و s-.
سنشرح test operators باستخدام عبارة if متبوعة ببعض Test Operators المهمة في Linux.
If -e
If -s
If -d
If -h
If -r
If -O
مشاهدة الخطوات فيديو
if -e Operator
الهدف الرئيسي من استخدام if-e هو التحقق مما إذا كان الملف المحدد موجودًا في المجلد أم لا.
لذلك إذا كنت تريد التحقق من وجود ملف باستخدام if-e فعليك اتباع الخطوات التالية:
قم بإنشاء ملفين جديدين باسم Test.txt و FileTestOperators.sh.
ينتمي sh. إلى ملف bash. يمكنك إنشاء كلاهما في المجلد home مباشرة أو باستخدام الأمر التالي:
$ touch Test.txt
إذا كنت تريد التأكد سواء تم إنشاء الملف أم لا فاستخدم الأمر التالي:
$ ls -l Test.txt
$ touch FileTestOperators.sh
يمكنك رؤية كلا الملفين تم إنشاؤهما في المجلد home.
افتح الملف FileTestOperators.sh واكتب النص فيه كما هو موضح في الصورة. لقد قمنا بتهيئة ملف متغير وقمنا بتمرير ملف Test.txt كقيمة له.
في عبارة If لدينا e operator- لتأكيد وجود ملف Test.txt باستخدام ملف متغير.
قم بتشغيل الأمر التالي للتحقق من وجود الملف:
$ bash FileTestOperators.sh
نظرًا لوجود الملف في المجلد سيكون الناتج صحيحًا.
if -s Operator
الغرض من استخدام if-s هو التحقق مما إذا كان الملف المحدد موجودًا وفارغًا أم لا.
لذلك إذا كنت تريد التحقق من ذلك باستخدام if-s ، فعليك اتباع الخطوات التالية:
سنستخدم نفس الملفات مع تغيير طفيف في الملف FileTestOperators.sh.
عليك فقط تغيير عامل التشغيل s- بدلاً من e- في عبارة if.
قم بتشغيل الأمر التالي للتحقق مما إذا كان الملف فارغًا أم لا:
$ bash FileTestOperators.sh
نظرًا لأن الملف فارغ فإن الناتج هو False
الآن عليك إضافة بعض النص في ملف Test.txt لتغيير النتيجة كما هو موضح في الصورة .
مرة أخرى قم بتشغيل الأمر:
$ bash FileTestOperators.sh
نظرًا لأن الملف ليس فارغًا هذه المرة فإن الإخراج سيكون True كما هو موضح في الصورة.
يمكنك أيضًا استخدام الأمرين التاليين للتحقق من أن الملف فارغ:
$ cat Test.txt
$ file Test.txt
if -d Operator
الهدف من استخدام if-d في 8 هو التحقق من أن الملف المحدد هو نفسه مجلد أم لا.
لذلك إذا كنت تريد التحقق من ذلك باستخدام if -d فعليك اتباع الخطوات التالية:
سنستخدم نفس الملفين مع تغيير طفيف في ملف باش FileTestOperators.sh. يجب علينا تغيير عامل التشغيل s- مع عامل التشغيل d- في عبارة if كما هو موضح في الصورة أدناه.
لذلك ، قم بتشغيل الأمر التالي للتحقق مما إذا كان الملف مجلداً أم لا:
$ bash FileTestOperators.sh
ملف Test.txt ليس مجلداً ولهذا السبب فإن النتيجة False Test.txt is not a directory كما هو موضح في الصورة.
if -h Operator
يتم استخدام عامل الاختبار if-h للتحقق مما إذا كان الملف رابطًا رمزيًا (symbolic (soft) link) أم لا.
لذلك إذا كنت تريد التحقق من وجود ملف باستخدام if-h ، فعليك اتباع الخطوات التالية:
قم بإنشاء ملف جديد باسم SymbolicFile.sh.
يمكنك إنشاؤه في المجلد home مباشرة أو باستخدام الأمر التالي:
$ touch SymbolicFile.sh
يمكنك رؤية ملف SymbolicFile.sh في المجلد home كما هو موضح في الصورة.
يمكنك عرض جميع المجلدات والملفات باستخدام الأمر ls.
يمكنك رؤية ملف SymbolicFile.sh مدرج أيضًا كما هو موضح في الصورة.
$ ls –l
قم بإنشاء ارتباط رمزي باستخدام أمر ارتباط بسيط.
في هذا الأمر يشير s- إلى soft link و SymbolicFile.sh هو ملف سيتم إنشاء ارتباطه و NewSymbolicFile.sh هو ارتباط رمزي (symbolic link).
$ ln -s SymbolicFile.sh NewSymbolicFile.sh
اعرض مرة أخرى كل المجلدات والملفات.
يمكنك أن ترى تم إنشاء soft link.
مرة أخرى سنستخدم ملف FileTestOperators.sh bash مع تغيير طفيف.
قم بتغيير -d مع h- في.
هذه المرة علينا تغيير اسم الملف أيضًا.
يتعين علينا استخدام ملف يمثل ارتباطًا رمزيًا بحد ذاته مثل NewSymbolicFile.sh.
يمكنك رؤية كلا الملفين في الصورة.
الآن قم بتشغيل الأمر التالي:
$ bash FileTestOperators.sh
ملف NewSymbolicFile.sh هو symbolic link ولهذا السبب تكون النتيجة -True NewSymbolicFile.sh is a symbolic link كما هو موضح في الصورة.
if -r Operator
يتم استخدام if -r للتحقق من قراءة الملف على سبيل المثال الملف قابل للقراءة أم لا.
لذلك إذا كنت تريد التحقق من ذلك باستخدام if-r ، فعليك اتباع الخطوات التالية:
سنستخدم ملف Test.txt و FileTestOperators.sh bash مع تغيير طفيف.
قم بتغيير h- مع عامل التشغيل r- في عبارة if وقم بتعيين ملف Test.txt كقيمة لملف متغير.
قم بتشغيل الأمر التالي:
$ bash FileTestOperators.sh
ملف Test.txt قابل للقراءة لذا فإن النتيجة هي True! Test.txt is readable.
if -O Operator
الغرض من if -O التحقق مما إذا كان الملف مملوكًا لمستخدم حالي أم لا.
لذا للتحقق من ذلك باستخدام if-O عليك اتباع الخطوات التالية:
سنستخدم ملف Test.txt و FileTestOperators.sh bash مع بعض التغيير.
قم بتغيير عامل التشغيل r- مع عامل التشغيل O- في عبارة if وقم بتعيين ملف Test.txt كقيمة لملف متغير.
قم بتشغيل الأمر التالي:
$ bash FileTestOperators.sh
ملف Test.txt مملوك بالفعل من قبل المستخدم الحالي لذا فإن النتيجة هي True Test.txt is owned by a current user.
.