عرض الملفات باستخدام cat داخل الطرفيه

اداه cat هي اداه توجد في نظامي تشغيل لينكس وايضا يونكس
و تستخدم لعرض الملفات بداخل الطرفيه التي تم كتابه الامر بداخلها بدون الحاجه
للانتقال لمكان اخر

اسم الاداه هو cat وذلك الاسم هو اختصار لكلمه ( concatenate )
(concatenate ) وتعني ربط ودمج الملفات

يمكن استخدام امر cat لعمل امور مختلفه وفي هذا المقال سوف احاول ان اوضح بعض من هذه الامور

استخدامات الاداه

  • عرض الملفات في الطرفيه
  • التعديل علي الملفات
  • قراءه الملفات
  • الربط بين الملفات و انشاء ملفات جديده

عرض محتوي ملف باستخدام الاداه

يمكن للاداه ان تعرض ما بداخل ملف في الطرفيه باستخدام الامر التالي

[linux@dis]$ cat "file name"

# OR if the file in a spcific path
[linux@dis]$ cat /path/to/file
# كمثال
[linux@dis]$ cat hello.c

ملاحظه: المخرج هو فقط عباره عن برنامج تمت كتابته بلغه سي لكي يقوم بطباعه اهلا للمستخدم
يمكنك تجاهل ما بداخل الملف تمام وذلك لن يؤثر علي فهمك للمقال باذن الله تعالي

شرح بعض خيارات الاداه

الخيار الاول -n لاظهار الاسطر

كما يمكن إنشاء ملف جديد باستخدام الاداه والكتابه بداخله عن طريق <

[linux@dis]$ cat > test.txt
hello world, hi
wellcome inside test.txt

و للخروج من وضع الكتابه بداخل الملف يجب عليك الضغط مطولا علي زر control وبعدها حرف d

وبالطبع يمكن ان نعرض ما بداخل الملف باستخدام الامر السابق الذي تعلمناه

[linux@dis]$ cat test.txt

cat-2

الخيار الثاني -Tلاظهار مسافات البادئه في الملف

[linux@dis]$ cat -T test.txt

الخيار الثالث -Eلوضع علامه الدولار $عند كل نهايه

[linux@dis]$ cat -E test.txt

الخيار الثالث هو -Aهو خيار يجمع بين كل من الخيارين السابقين

[linux@dis]$ cat -A test.txt

cat-4

نلاحظ وجود علامه الدولار عند كل نهايه سطر

عرض اكثر من ملف باستخدام cat

كل الامثه السابقه كانت عن استخدام الاداه لكن مع ملف واحد فقط لكن هل توجد طريقه لعرض اكثر من ملف

يمكن ذلك عن طريق استخدام البطاقه الهوجاء *

[linux@dis]$ cat *

كما يمكن ايضا عرض مجموعه ملفات ذات نوع واحد

[linux@dis] cat *.c # سوف يقوم بعرض جميع الملفات التي لديها نفس النسق

حيله يمكن عملها باستخدام اداه cat

بافتراض ان لدي ملف باسم hello.c و اريد ان انسخ ما بداخل هذا الملف واضع النص المنسوخ في ملف اخر واقوم بالتعديل عليه بمحرر النصوص الخاص بي

يكمن ل cat ان تقوم بهذه المهمه من خلال سطر واحد فقط

يمكن القيام بهذا الامر من خلال محررات نصوص معينه فقط مثل
  • nano
  • neovim
  • vim

يمكنك استعمال nano وذلك لسهوله استخدامه

[linux@dis]$ cat hello.c | nvim # هنا قمت باستعمال محرر النصوص الخاص بي وهوا نيو فيم 

قامت الاداه بالفعل بما تقوم به مسبقا وهو استدعاء النص ولكن مع | قامت بادخال النص الذي تم استعاءه من خلال الاداه وفتح ملف جديد بدون اسم بداخل محرر النصوص الخاص بي

اما اذا كنت ترغب في اظهار محتوي ملف نصي ولكن هذا الملف كبير وتريد عرضه ايضا في الطرفيه يمكن هنا استخدام less / more

[linux@dis]$ cat hello.c | less
# Or using more
[linux@dis]$ cat hello.c | more

نلاحظ امكانيه التنقل بسهوله بداخل الملف وعرض كل ما بداخله

يمكننا ان نخرج من less عن طريق الضغط علي حرف q فقط

وفي النهايه اشكرك علي قراء المقال واسئل الله ان يكون قد اوضح الاداه وبعض الطرق لاستخدامها
وانتظر ارائكم واقتراحاتكم عن المقال باذن الله

المصادر

صفحه دليل الاداه

ترخيص

هذا الموضوع يتبع ترخيص جميع مواضيع أسس هو CC-BY-SA 4.0

هذا الموضوع فائز بجائزة أسس للكتابة

هذا الموضوع فائز بجائزة أسس للكتابة وهي اول جائزة عربية مخصصة للكتابة عن البرمجيات الحرة والمفتوحة.

الموضوع متوفر على مدونة gnulinuxsa هنا:

إعجاب واحد (1)

بارك الله فيك.
كما أشرت في الموضوع . يمكن تمرير خرج ملف نصي إلى أداة تحرير نصوص . مثل vim أو غيرها.
فقط في حالة كنت تريد التعديل على عدة ملفات في آن واحد . من الأفضل إضافة علامة - في آخر السطر. بعد أمر ( vim).

root@localhost:~# cat *.sed | vim -
Vim: Reading from stdin...

root@localhost:~# cat *.sed | vim
Vim: Warning: Input is not from a terminal
Vim: Error reading input, exiting...
Vim: Finished.

كما تلاحظ في الحالة الثانية. لم تنجح العملية.

كما يمكن تفريغ ملف صوتي إلى ملف آخر.

cat 002.mp3 > Qu-02.mp3

أو قراءة محتوى ملفات في آن واحد.

ls *.sed | xargs cat
إعجاب واحد (1)

أردت الإشارة أيضًا إلى أداة bat الَّتي تقوم بوظيفة cat لكن مع ميزات إضافية تجعلها أفضل للاطلاع على الأكواد البرمجية، مثل: تلوين الأكواد والعمل بشكل شبيه لأداة less بالإضافة إلى التَّوافُقِيَّة مع git.

لقد كنت اريد في البدايه الكتابه عنها وسوف افعل باذن الله ولكن وجدت اني خلال كتابتي لمقال عن اداه بات سوف اشير الي اداه كات والتي لم اشرحها لذلك كتبت هذا المقال للتعرف عن اداه كات وسوف اكتب عنها باذن الله ايضا
وشكرا لك

اضافه مفيده جدا منك اخي كما هو المعتاد وفقك ووفقنا الله