كات (أمر يونكس)

الأمر **cat** و (تلفظ **كات**) هو برنامج يونيكس قياسي يستخدم لـ تسلسل وعرض الملفات، ويشتق الاسم من يسلسل مرادف لـ يعرض في سلسلة.

## المواصفات
تحدد مواصفات يونكس الواحدة مهمة الأمر "cat" بقراءة محتويات كل من الملفات الواردة كمعطيات للأمر وكتابتها إلى الخرْج القياسي بنفس التسلسل والترتيب؛ كما تشترط المواصفة وجود خيار "-u"، ويعرّف سلوكه بأنه يجعل الأمر cat يكتب كل بايت بمجرد قراءته إلى الخرج القياسي، دون استخدام خبيئة أو تخزين مؤقت، وهو الخيار الوحيد الذي تشترطه المواصفة.

في حالة تحديد اسم الملف كـ -، سوف يقرأ الأمر cat من الإدخال القياسي بصفته ملف، وسيقرأ منه بحسب ترتبه بين أسماء الملفات المقدمة كمعطيات، وإذا لم يتم تحديد أية ملفات كمعطيات، سوف يقرأ cat من الإدخال القياسي باعتباره ملف.

### الملحقات
تقوم كل إصدارات BSD للكات (وفقا للصفحة الرئيسية لـ أوبن بي إس دي) وإصدار كات لـ ادوات جنو الاساسية بتحديد الخيارات التالية:

* b (GNU only: --number-nonblank)، ويقوم بترقيم خطوط الإنتاج غير الفارغة.
* n (GNU only: --number)، ويقوم بترقيم جميع خطوط الإنتاج.
* s (GNU only: --squeeze-blank)، ويضغط خطوط فارغة مجاورة متعددة.
* v (GNU only: --show-nonprinting)، ويعرض الأحرف غير المطبوعة كما لو أنها كانت واضحة، باستثناء علامات التبويب ونهاية حرف الخط.
* t on BSD, -T on GNU، يتضمن -v ولكن يعرض أيضا علامات التبويب كـ ^I.
* e on BSD, -E on GNU، يتضمن -v ولكن يعرض أيضا نهاية حروف الخط كـ $.

## ثقافة يونكس
### تعريف ملف اللغة

يسرد إصدار ملف اللغة 4.4.7 هذا التعريف للكات:
# إرسال ملف كامل للشاشة أو لبعض المخارج الأخرى دون توقف (مرادف لدفع).
# امتدادا لذلك يتم تفريغ كميات كبيرة من البيانات على هدف غير معد أو دون أي نية للتصفح بدقة. الاستعمال: يعتبر بسيط ونادر خارج مواقع يونيكس، انظر أيضا dd وبي أل تي.
يعتبر الكات (1)مثالا ممتازا بين مشجعي يونيكس على تصميم واجهة المستخدم لأنه ينقل محتويات الملف دون إسهاب كالتباعد أو وجود عناوين رأسية بين الملفات، وكذلك لأنه لا يتطلب أن تتكون الملفات من سطور من النص بل يعمل مع أي نوع من البيانات.
يعتبر الكات (1) مثال معترف به للتصميم السئ لواجهة المستخدم بين منتقدي يونيكس، بسبب اسمه الكئيب غير الواضح، يستخدم غالبا لدفع ملف واحد نحو الخرج القياسي أكثر منه في تسلسل ملفين أو أكثر. يعد اسم كات للعملية السابقة غير بديهي كما يقول LISP's cdr.

### الاستخدام عديم الفائدة لـ كات

UUOC (من comp.unix.shell على يوزنت) ترمز إلي «الاستخدام عديم الفائدة لكات». من خلال comp.unix.shell يلاحظ «إن الغرض من كات هو تسلسل الملفات (أو' عرضها في سلسلة '). إذا وجد ملف واحد فقط، فإن وضعه وحده في سلسلة هو مضيعة للوقت والتكاليف»، ويشار إلى هذا أيضا باسم «إهدار الكات»، ومع ذلك يرى المرء من يقومون بـ


```bash
cat filename | cmd arg1 arg2 argn
```


بدلا من المكافئ (ليس تماما) والأرخص


```bash
<filename cmd arg1 arg2 argn
```


أو المكافئ (ليس تماما) التقليدي


```bash
cmd arg1 arg2 argn <filename
```


لا يكون مكافئ تماما لأن آخر مثالين يسمحان لـ cmd بالبحث في الملف، بينما لا يسمح المثال الأول.
يعتبر عدم تسمية اثنين من ملفات كات هو استخدام عديم الفائدة لـ كات. سوف تقوم حملة الاستخدام عديم الفائدة لـ كات UUOC بالقضاء على عدم الكفاءة في النصوص السطحية باستخدام إعادة توجيه بدلا من ذلك. ومع ذلك استخدام كات مع ملف واحد مسمي هو أكثر أمنا حيث الخطأ البشري هو مصدر قلق، لأن استخدام خاطئ واحد لرمز إعادة توجيه القصور ">" بدلا من "
, an enhanced replacement for `cat` http://manpages.debian.net/cgi-bin/man.cgi?query=dog&apropos=0&sektion=0&manpath=Debian+5.0+lenny&format=html&locale=en http://packages.debian.org/changelogs/pool/main/d/dog/dog_1.7-10/dog.copyright
* أدوات جنو الأساسية
* أوامر يونكس
* `[[سبليت (أمر يونكس)|سبليت]]`, a command that splits a file into pieces which cat can then rejoin.
* جي زيب
*

## المراجع

## وصلات خارجية
*
* UNIX Style, or cat -v Considered Harmful - A paper by Rob Pike on proper Unix command design using cat as an example.

### صفحات الدليل
* cat(1) original manual page in the First Edition of يونكس.
*

### أخرى
* UUOC awards



تصنيف:برامج يونكس القياسية
تصنيف:خدمات مواصفات يونكس المنفردة