| SCRIPT(1) | أوامر المستخدم | SCRIPT(1) |
الاسم
script - ينشئ نسخة مكتوبة لجلسة الطرفية
موجز
script [خيارات] [ملف] [-- أمر [معامل...]]
الوصف
يقوم script بعمل نسخة مكتوبة لكل شيء في جلسة الطرفية الخاصة بك. تُخزن بيانات الطرفية بصيغتها الخام في ملف السجل، وتُخزن معلومات التوقيت في ملف سجل هيكلي آخر (اختياري). ملف سجل التوقيت ضروري لإعادة تشغيل الجلسة لاحقاً بواسطة scriptreplay(1) ولتخزين معلومات إضافية عن الجلسة.
منذ الإصدارة 2.35، يدعم script تدفقات متعددة ويسمح بتسجيل المدخلات والمخرجات في ملفات منفصلة أو كلها في ملف واحد. تدعم هذه الإصدارة أيضاً ملف توقيت جديد يسجل معلومات إضافية. يوفر الأمر scriptreplay --summary حينها كافة المعلومات.
إذا أُعطي المعطى ملف أو الخيار --log-out ملف، يحفظ script الحوار في هذا الـ ملف. وإذا لم يُعطَ اسم ملف، يُحفظ الحوار في الملف typescript.
لاحظ أن تسجيل المدخلات باستخدام --log-in أو --log-io قد يسجل معلومات حساسة أمنياً لأن ملف السجل يحتوي على جميع مدخلات جلسة الطرفية (مثل كلمات السر) بغض النظر عن إعداد علامة صدى الطرفية.
الخيارات
أدناه، قد يتبع معطى الحجم حجم لواحق مضاعفة KiB (=1024)، و MiB (=1024*1024)، وهكذا لـ GiB و TiB و PiB و EiB و ZiB و YiB (اللاحقة "iB" اختيارية، مثلاً "K" لها نفس معنى "KiB")، أو اللواحق KB (=1000)، و MB (=1000*1000)، وهكذا لـ GB و TB و PB و EB و ZB و YB.
-a، --append
-c، --command أمر
-E، --echo متى
المبدئي هو auto — في هذه الحالة، يتم تفعيل ECHO للطرفية الوهمية التابعة؛ فإذا كان المدخل القياسي الحالي طرفية، يتم تعطيل ECHO له لمنع الصدى المزدوج؛ وإذا لم يكن المدخل القياسي الحالي طرفية (على سبيل المثال أنبوب: echo date | script) فإن إبقاء ECHO مفعلاً للطرفية الوهمية التابعة يسمح بعرض بيانات المدخل القياسي على الشاشة أثناء تسجيلها في سجل الجلسة في آن واحد.
لاحظ أن نمط 'never' يؤثر على محتوى سجل مخرجات الجلسة، لأن مدخلات المستخدم لا تكرر في المخرجات.
-e، --return
-f، --flush
--force
-B، --log-io ملف
-I، --log-in ملف
استخدم وظيفة التسجيل هذه بحذر لأنها تسجل كل المدخلات، بما في ذلك المدخلات عندما تكون علامة الصدى في الطرفية معطلة (على سبيل المثال، مدخلات كلمة السر).
-O، --log-out ملف
-T، --log-timing ملف
-m، --logging-format تنسيق
Classic format
Advanced (multi-stream) format
-o، --output-limit حجم
-q، --quiet
-t[ملف]، --timing[=ملف]
-h، --help
-V، --version
إشارات
عند استلام SIGUSR1، يقوم script بتفريغ ملفات المخرجات فوراً.
البيئة
يستخدم script متغير البيئة التالي:
SHELL
ملاحظات
ينتهي السكربت عند الخروج من الـ صدفة المتفرعة (control-D لصدفة Bourne (sh(1p))، و exit أو logout أو control-d (إذا لم يُضبط ignoreeof) لصدفة C-shell، csh(1)).
تنشئ بعض الأوامر التفاعلية، مثل vi(1)، بيانات غير مرغوب فيها في ملف النص المكتوب. يعمل script بشكل أفضل مع الأوامر التي لا تتلاعب بالشاشة، حيث تهدف النتائج إلى محاكاة طرفية ورقية.
لا يُنصح بتشغيل script في صدفات غير تفاعلية. الـ صدفة الداخلية لـ script تفاعلية دائماً، وقد يؤدي ذلك إلى نتائج غير متوقعة. إذا استخدمت script في ملف تهيئة الـ صدفة، فيجب عليك تجنب الدخول في حلقة مفرغة. يمكنك استخدام ملف .profile على سبيل المثال، والذي يُقرأ بواسطة صدفات الـ ولوج فقط:
if test -t 0 ; then
script
exit
fi
يجب عليك أيضاً تجنب استخدام script في أنابيب الأوامر، حيث يمكن لـ script قراءة مدخلات أكثر مما تتوقع.
تاريخ
ظهر أمر script في النسخة 3.0BSD.
العلل
يضع script كل شيء في ملف السجل، بما في ذلك تغذية السطور والمسافات للخلف. ليس هذا ما يتوقعه المستخدم المبتدئ.
صُمم script أساساً لجلسات الطرفية التفاعلية. عندما لا يكون stdin طرفية (على سبيل المثال: echo foo | script)، فقد تتعلق الجلسة، لأن الـ صدفة التفاعلية داخل جلسة السكربت تفتقد علامة نهاية الملف EOF ولا يملك script أي دليل على وقت إغلاق الجلسة. راجع قسم NOTES لمزيد من المعلومات.
انظر أيضاً
csh(1) (لآلية history)، scriptreplay(1)، scriptlive(1)
التبليغ عن الأخطاء
لتقارير العِلل، استخدم مُتتبع المشكلات https://github.com/util-linux/util-linux/issues.
التوفر
الأمر script جزء من حزمة util-linux التي يمكن تنزيلها من أرشيف نواة لينكس https://www.kernel.org/pub/linux/utils/util-linux/.
| 2026-05-18 | util-linux 2.42.1 |