English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
The Linux diff command is used to compare file differences.
diff by line compares the differences between text files. If a directory is specified, diff compares files with the same name in the directory, but does not compare the subdirectories.
diff [-abBcdefHilnNpPqrstTuvwy][-<عدد الأسطر>][-C <عدد الأسطر>][-D <اسم المجموعة>][-I <حرف أو نص>][-S <ملف>][-W <عرض>][-x <ملف أو دليل>][-X <ملف>][--help][--left-column][--suppress-common-line][ملف أو دليل 1][ملف أو دليل 2]
المتغيرات:
-<عدد الأسطر> يتم تحديد عدد الأسطر التي سيتم عرضها. يجب استخدام هذا الخيار مع -c أو -u.
-a أو --text يقوم diff افتراضيًا بمقارنة ملفات النص فقط.
-b أو --ignore-space-change لا يتم التحقق من الفروق في مسافات الحروف.
-B أو --ignore-blank-lines لا يتم التحقق من الفروق في الأسطر الفارغة.
-c يتم عرض الكل وتعليم الفروق.
-C<عدد الأسطر> أو --context<عدد الأسطر> يساوي تنفيذ الأمر "-c-<عدد الأسطر>".
-d أو --minimal يتم استخدام خوارزميات مختلفة للقيام بالمقارنة باستخدام وحدات أصغر.
-D<اسم المجموعة> أو ifdef<اسم المجموعة> يمكن استخدام صيغة الصدور لهذا الخيار في المجموعات المسبقة المعالجة.
-e أو --ed يمكن استخدام صيغة الصدور لهذا الخيار في ملف سكريبت ed.
-f أو --forward-ed يكون نمط الصدور مشابهًا لملف سكريبت ed، لكن يتم عرض الفروق وفقًا لترتيب الملف الأصلي.
-H أو --speed-large-files يمكن زيادة السرعة عند مقارنة ملفات كبيرة.
-l<حرف أو نص> أو --ignore-matching-lines<حرف أو نص> إذا كانت هناك فروق في بعض الأسطر في كلا الملفين، وكانت هذه الأسطر تحتوي أيضًا على الحرف أو النص المحدد في الخيار، لا يتم عرض فرق هذين الملفين.
-i أو --ignore-case لا يتم التحقق من الفروق في الحروف الكبيرة والصغيرة.
-l أو --paginate يتم تقديم النتائج إلى برنامج pr لتصفحها.
-n أو --rcs يتم عرض نتائج المقارنة بصيغة RCS.
-N أو --new-file عند مقارنة الدلائل، إذا كان ملف A يظهر فقط في دليل معين، سيتم عرضه افتراضياً:
فقط في مجلد: إذا استخدم ملف A مفتاح -N، فإن diff سيقارن ملف A بملف فارغ.
-p إذا كان ملف المقارنة ملف برمجة بلغة C، يتم عرض اسم الدالة التي تحتوي على الفرق.
-P أو --unidirectional-new-file مثل -N، لكن فقط عندما يحتوي الدليل الثاني على ملف لم يحتويه الدليل الأول، يتم مقارنة هذا الملف مع ملف فارغ.
-q أو --brief يظهر فقط ما إذا كانت هناك اختلافات دون عرض المعلومات التفصيلية.
-r أو --recursive يقارن الملفات في الدلائل الفرعية.
-s أو --report-identical-files يظهر الرسالة حتى لو لم يتم العثور على أي اختلافات.
-S<ملف> أو --starting-file<ملف> يبدأ المقارنة في الملف المحدد عند مقارنة الدلائل.
-t أو --expand-tabs يفتح رموز tab عند عرض النتيجة.
-T أو --initial-tab يضيف رمز tab في بداية كل سطر لتحقيق الترتيب.
-u،-U<عدد الأعمدة> أو --unified=<عدد الأعمدة> يظهر الاختلافات بين محتويات الملفين بشكل مدمج.
-v أو --version يظهر معلومات الإصدار.
-w أو --ignore-all-space يُتجاهل جميع حروف الفراغ.
-W<عرض> أو --width<عرض> يحدد عرض الشريط عند استخدام المعلمة -y.
-x<اسم الملف أو الدليل> أو --exclude<اسم الملف أو الدليل> لا يقارن بالملفات أو الدلائل المحددة في الخيار.
-X<ملف> أو --exclude-from<ملف> يمكنك حفظ ملف أو نوع مجلد كملف نصي، ثم تحديد هذا الملف في <ملف>.
-y أو --side-by-side يظهر الاختلافات بين الملفين بشكل متوازي.
--help يظهر المساعدة.
--left-column في استخدام المعلمة -y، إذا كانت سطراً من الملفين متطابقة، يتم عرض المحتوى فقط في الجانب الأيسر من الشريط.
--suppress-common-lines في استخدام المعلمة -y، يظهر فقط الاختلافات.
[root@localhost test3]# diff log2014.log log2013.log 3c3 < 2014-03 --- > 2013-03 8c8 < 2013-07 --- > 2013-08 11,12d10 < 2013-11 < 2013-12
السطر "3c3" و "8c8" يعني أن ملف log2014.log و ملف log20143log مختلفان في السطر 3 و السطر 8 من المحتوى؛ "11,12d10" يعني أن الملف الأول يحتوي على السطور 11 و 12 أكثر من الملف الثاني.
[root@localhost test3]# diff log2014.log log2013.log -y -W 50 2013-01 2013-01 2013-02 2013-02 2014-03 | 2013-03 2013-04 2013-04 2013-05 2013-05 2013-06 2013-06 2013-07 2013-07 2013-07 | 2013-08 2013-09 2013-09 2013-10 2013-10 2013-11 < 2013-12 < [root@localhost test3]# diff log2013.log log2014.log -y -W 50 2013-01 2013-01 2013-02 2013-02 2013-03 | 2014-03 2013-04 2013-04 2013-05 2013-05 2013-06 2013-06 2013-07 2013-07 2013-08 | 2013-07 2013-09 2013-09 2013-10 2013-10 > 2013-11 > 2013-12
ملاحظة:
"|" يعني أن هناك اختلافاً بين محتويات الملفين
"<" يعني أن الملف التالي يحتوي على سطر أقل مقارنة بالملف السابق
">" يعني أن الملف التالي يحتوي على سطر إضافي مقارنة بالملف السابق