آموزش کامل دستور cat در لینوکس (کاربردها، مثال ها)

اگر تا حالا با لینوکس کار کرده باشید احتمالا می دونید که همه چیز در این سیستم عامل حول محور فایل ها می چرخه؛ از لاگ های ساده گرفته تا فایل های حساس پیکربندی سرور، یکی از اولین دستورهایی که هر کسی در شروع یادگیری لینوکس باهاش آشنا میشه، دستور cat در لینوکس هست. اما واقعیت اینه که cat فقط یه دستور ساده برای نمایش متن نیست، بلکه اگر درست ازش استفاده بشه می تونه توی خیلی از سناریوهای واقعی کار شما رو راحت تر کنه.
در ادامه هم آموزش پایه ای دستور cat رو می بینیم، هم کاربردهای پیشرفته ترش رو بررسی می کنیم و نکات و تجربه هایی رو مرور می کنیم که معمولا توی آموزش های معمولی بهش اشاره نمیشه.
دستور Cat چیست؟
دستور cat در لینوکس برگرفته از کلمه concatenate است که به معنی “چسباندن کنار هم” است، این فرمان معمولا برای مشاهده محتوای فایل ها، ادغام چند فایل مختلف و ایجاد فایل های جدید استفاده میشه.
استفاده های اصلی دستور cat در لینوکس
1 . مشاهده محتویات یک فایل در لینوکس
اولین و ساده ترین کاری که می تونید با دستور cat انجام بدید اینه که محتویات یه فایل رو نمایش بدید، فقط کافیه نام فایل رو وارد کنید:
cat file_name
مثال (به جای user، هر اسمی که خواستین می تونین وارد کنین):
cat user.txt
همچنین با دستور ls می تونید فایل ها و پوشه های موجود در مسیر جاری رو ببینید.
2. مشاهده محتویات چندین فایل به طور همزمان
برای اینکه محتوای چندین فایل رو پشت سر هم ببینید، می تونید نام چندتا فایل رو وارد کنید، دستور cat به طور پیش فرض محتویات فایل ها رو یکی یکی نشون میده:
cat file_name1 file_name2
مثال:
cat file1 file2
3 . نمایش محتویات یک فایل با شماره خط (Line number)
اگر می خواهید هنگام مشاهده محتویات یک فایل، شماره خطوط هم دیده بشه، از گزینه -n استفاده کنید:
cat -n file_name
مثال:
cat -n file2
4. ساخت و ویرایش فایل با دستور cat
اگر می خواهید یه فایل جدید بسازید یا محتوای یه فایل موجود رو با محتوای جدیدی جایگزین کنید، می تونید از دستور cat با علامت > استفاده کنید:
cat > newfile_name
مثال:
cat > user1
وقتی متن رو وارد کردید، فقط کافیه Ctrl و D رو همزمان بزنید تا همه چیز ذخیره بشه.
5. کپی کردن محتوای یک فایل به فایل دیگه
برای کپی کردن محتویات یک فایل به یه فایل دیگه، می تونید از دستور cat با علامت > استفاده کنید:
cat file1 > file2
این فرمان، داده های داخل file1 را درون file2 می نویسه.
6 . حذف خطوط خالی تکراری در خروجی
اگر فایلی که دارید نمایش می دید شامل خطوط خالی تکراری باشه، می تونید از گزینه -s استفاده کنید تا این خطوط حذف بشن:
cat -s file_name
این کار باعث میشه که خطوط خالی تکراری در خروجی نمایش داده نشه.
7 . افزودن محتویات یک فایل به انتهای فایل دیگه
برای اینکه محتویات یک فایل رو به انتهای یه فایل دیگه اضافه کنید، دستور cat رو با علامت >> ترکیب کنید:
cat file_name1 >> file_name2
مثال:
cat file1 >> file2
8. نمایش محتویات فایل به ترتیب معکوس با استفاده از دستور tac
دستور tac معکوس دستور cat هست، یعنی محتویات فایل رو به ترتیب معکوس نشون میده:
tac file_name
مثال:
tac file2
9 . هایلایت کردن انتهای خطوط
اگر می خواهید انتهای هر خط رو با یه علامت مشخص مثل $ نشون بدید، از گزینه -E استفاده کنید:
cat -E file_name
این دستور به شما کمک می کنه که انتهای خطوط رو به طور واضح ببینید.
10. استفاده از گزینه -A برای ترکیب چندین قابلیت
با گزینه -A می تونید همزمان از سه گزینه -v، -E و -T استفاده کنید تا حروف غیرقابل چاپ، علامت های پایان خط و تبها رو نشون بدید:
cat -A file_name
11 . باز کردن فایل هایی که با خط تیره شروع میشن
اگر اسم فایل با خط تیره شروع بشه، برای باز کردنش باید از گزینه — استفاده کنید:
cat -- "-file_name"
مثال:
cat -- "-user2"
12 . مشاهده محتویات فایل های طولانی با دستور more
اگه فایل شما خیلی طولانی باشه و توی یک صفحه غیرقابل نمایش بشه، می تونید از دستور more همراه با cat استفاده کنید تا صفحه به صفحه محتویات رو ببینید:
cat filename | more
این دستور محتویات فایل رو به صورت صفحه به صفحه نمایش میده.
13 . ترکیب محتویات چندین فایل
اگر بخواهید محتوای چندین فایل رو به یه فایل واحد ترکیب کنید، از دستور cat همراه با علامت > استفاده کنید:
cat file1 file2 file3 > merged_file
این دستور محتویات سه فایل رو توی یک فایل جدید به نام merged_file.txt ترکیب می کنه.
14 . نمایش محتویات تمامی فایل های متنی یک پوشه
برای مشاهده محتوای تمام فایل های متنی با پسوند .txt در یک پوشه، می تونید از علامت wildcard یعنی *.txt بهره ببرید:
cat *.txt
این دستور محتویات تمامی فایل های متنی با پسوند .txt رو نمایش میده.
15 . افزودن متن به انتهای یک فایل موجود
برای اینکه متن جدیدی رو به انتهای یک فایل موجود اضافه کنید از دستور cat همراه با علامت >> استفاده کنید:
cat >> azarsys.txt
وقتی متن را تایپ کردید، با فشار دادن کلیدهای Ctrl و D، محتوا به انتهای فایل azarsys.txt افزوده میشه (به جای azarsys هر اسمی خواستین می تونین وارد کنین).
اینها همه کاربردهای مختلف دستور cat بودن که می تونید توی لینوکس ازشون استفاده کنید. این دستورات خیلی ساده و در عین حال پرکاربرد هستن که می تونه کارهای زیادی رو با فایل های متنی انجام بده.
بینش های کلیدی و تحلیل
1. چه زمانی از cat استفاده کنیم و چه زمانی نه؟
- اگر فایل کوتاهه و می خواید سریع محتواشو ببینید cat عالیه.
- اگر فایل خیلی بزرگه (مثلا لاگ های سنگین سرور) بهتره برید سراغ less یا tail. چون cat همه ی محتوا رو یه صورت یکجا وارد ترمینال می کنه و پیدا کردن بخش مورد نظر سخت میشه.
2. ترکیب cat با ابزارهای دیگر (قدرت واقعی cat)
برای جستجوی یک عبارت خاص در فایل:
cat access.log | grep "404"
پیدا کردن همه ی درخواست هایی که خطای 404 دادن.
برای شمارش تعداد خطوط یک فایل:
cat file.txt | wc -l
برای پردازش داده ها با awk یا sed:
cat users.csv | awk -F, '{print $1}'
این دستور ستون اول فایل CSV رو استخراج می کنه.
3. دام های رایج (Pitfalls)
- استفاده از cat روی فایل های باینری (مثل عکس یا باینری های برنامه) خروجی غیرقابل خوندن میده و ترمینال رو به هم می ریزه.
- ترکیب cat با less یا more (مثل cat file | less) از نظر منطقی اضافه کاریه، چون خود less می تونه فایل رو مستقیم بخونه.
تجربه شخصی
توی مدیریت سرورها بارها پیش اومده که به سرعت باید وضعیت یه فایل لاگ یا یه فایل پیکربندی رو بررسی کنم. cat همیشه سریع ترین گزینه بوده. اما وقتی با فایل های چند صد مگابایتی سروکار داشتم، یاد گرفتم که cat انتخاب مناسبی نیست و باید از tail -f برای مانیتورینگ لاگها یا less برای مرور مرحله ای استفاده کنم، این ترکیب تجربه عملی با شناخت ابزارهاست که باعث میشه انتخاب درستی داشته باشید.
مستندات و منابع معتبر
TLDP-Linux Documentation Project
جمع بندی
دستور cat یکی از ابزارهای ساده اما بنیادی در لینوکس هست. برای فایل های کم حجم این روش گزینه مناسبی هست و سرعت خوبی داره، اما وقتی حجم فایل ها زیاد میشه بهتره سراغ ابزارهای دیگه رفت، همچنین اگه این فرمان رو با ابزارهایی مثل grep، awk یا wc همراه کنی تبدیل میشه به یه ابزار خیلی قوی برای پردازش داده ها. بنابراین گرچه cat در ابتدا ممکنه ساده و ابتدایی به نظر برسه، اما کاربردش خیلی گسترده و مهمه، اما درک درست زمان و نحوه استفاده از اون تفاوت یه کاربر مبتدی و یه ادمین حرفه ای لینوکس رو نشون میده.
این نسخه الان هم برای مبتدی ها کاربردی هست و هم با بینش های تحلیلی و تجربی می تونه برای کاربر حرفه ای ارزش مطالعه داشته باشه.
اگه خواستی تمامی مراحل رو در یک سخت افزار قدرتمند و با سرعت بالا انجام بدی، پیشنهاد می کنیم از سرورهای مجازی لینوکس آذرسیس استفاده کنی.
دستور ls به همراه گزینه -l (برای فهرست طولانی)، ابرداده هایی در مورد فایل های لینوکس شما، از جمله مجوزهای تنظیم شده روی فایل را به شما نشان میده.
از دستور cat به همراه تغییر مسیر ورودی ( > ) برای ایجاد یک فایل جدید در لینوکس استفاده کنید. پس از اجرای دستور، محتوایی را که می خواهید به فایل اضافه بشه تایپ کنید. برای ذخیره محتوا و خروج، Ctrl + D را بزنید.