كيفية استخدام أوامر ‘cat’ و ‘tac’ مع أمثلة في Linux

هذا المقال هو جزء من سلسلة نصائح وحيل Linux، في هذا المقال سنغطي بعض الاستخدامات الأساسية لأمر cat (الأمر الأكثر استخدامًا في Linux) و tac (عكس أمر cat – طباعة الملفات بترتيب عكسي) مع بعض الأمثلة العملية.

اقرأ أيضًا: 13 مثالا مفيدا لأمر ‘cat’ في Linux

الاستخدام الأساسي لأمر Cat في Linux

أمر Cat، وهو اختصار لـ Concatenate، هو واحد من الأوامر الأكثر استخدامًا في أنظمة *nix. أساس استخدام الأمر هو قراءة الملفات وعرضها على stdout، مما يعني عرض محتوى الملفات على الطرفية الخاصة بك.

# cat file.txt
View Content of File in Linux

استخدام آخر لأمر cat هو قراءة أو دمج ملفات متعددة معًا وإرسال الناتج إلى الشاشة كما هو موضح في الأمثلة أدناه.

# cat file1.txt file2.txt file3.txt
View Content of Multiple Files

يمكن أيضًا استخدام الأمر لدمج (الانضمام) ملفات متعددة في ملف واحد باستخدام مشغل إعادة التوجيه “>” في Linux.

# cat file1.txt file2.txt file3.txt > file-all.txt
Join Multiple Files in Linux

من خلال استخدام مشغل الإلحاق يمكنك إضافة محتوى ملف جديد إلى أسفل file-all.txt بالصيغة التالية.

# cat file4.txt >> file-all.txt
Append Content File to New File

يمكن استخدام أمر cat لنسخ محتوى الملف إلى ملف جديد. يمكن إعطاء الملف الجديد اسمًا تعسفيًا. على سبيل المثال، نسخ الملف من الموقع الحالي إلى /tmp/ الدليل.

# cat file1.txt > /tmp/file1.txt 
Copy Content of File to New File

انسخ الملف من الموقع الحالي إلى دليل /tmp/ وغير اسمه.

# cat file1.txt > /tmp/newfile.cfg
Copy File to /tmp Location

A less usage of the cat command is to create a new file with the below syntax. When finished editing the file hit CTRL+D to save and exit the new file.

# cat > new_file.txt
Create New File using Cat Command

لترقيم جميع أسطر الإخراج لملف، بما في ذلك الأسطر الفارغة، استخدم التبديل -n.

# cat -n file-all.txt
Add Numbers to Lines in File

لعرض فقط رقم كل سطر غير فارغ استخدم التبديل -b.

# cat -b file-all.txt
Print Line Numbers in File

ترغب في معرفة المزيد عن أمر الـ cat في لينكس؟ اقرأ مقالتنا حول 13 أمثلة مفيدة لأمر ‘cat’ في لينكس.

تعلم كيفية استخدام أمر Tac في لينكس

من ناحية أخرى، أمر غير معروف وأقل استخدامًا في أنظمة يونكس هو أمر tac. Tac هو عمليا النسخة العكسية لأمر cat (يكتب أيضا بالاتجاه المعاكس) الذي يطبع كل سطر من ملف تبدأ من السطر السفلي وتنتهي عند السطر العلوي إلى إخراج الجهاز القياسي الخاص بك.

# tac file-all.txt
Print Content File in Reverse Order

واحدة من أهم الخيارات للأمر تمثله التبديل -s، الذي يفصل محتويات الملف بناءً على سلسلة أو كلمة مفتاحية من الملف.

# tac file-all.txt --separator "two"
Remove Matching String in File

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

$ tac /var/log/auth.log

Or to display the last lines

$ tail /var/log/auth.log | tac
الناتج عينة
tecmint@tecmint ~ $ tac /var/log/auth.log
pr  6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session closed for user root
Apr  6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr  6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session closed for user root
Apr  6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session closed for user root
Apr  6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr  6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr  6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session closed for user root
....
tecmint@tecmint ~ $ tail /var/log/auth.log | tac
Apr  6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session closed for user root
Apr  6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr  6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session closed for user root
Apr  6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session closed for user root
Apr  6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr  6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr  6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session closed for user root
Apr  6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr  6 15:55:02 tecmint CRON[17194]: pam_unix(cron:session): session closed for user root
Apr  6 15:55:01 tecmint CRON[17195]: pam_unix(cron:session): session closed for user root
...

مثل أمر cat، يقوم أمر tac بعمل ممتاز في تلاعب الملفات النصية، ولكن يجب تجنب استخدامه في أنواع أخرى من الملفات، خاصة الملفات الثنائية أو الملفات التي تحدد السطر الأول البرنامج الذي سيقوم بتشغيله.

Source:
https://www.tecmint.com/learn-linux-cat-command-and-tac-command/