دستور cat محتویات یک فایل را در یک قالب استاندارد در خروجی چاپ میکند در واقع از این دستور برای مشاهده و لیست کردن محتویات فایل ها استفاده میشود و نکته مهم در این دستور این است که معمولا برای مشاهده کردن محتویات فایل های کوچک استفاده میشود شما میتوانید از cat برای کپی کردن محتویات و همچنین ایجاد فایل نیز استفاده کنید در مثال زیر ما محتویات فایل bash_history. را با استفاده از cat مشاهده میکنیم.
cat .bash_history
در هر فایلی خطوط خالی یا Blank وجود دارد با این استفاده سوئیچ b- تنها شماره خطوط غیرخالی یا non-blank نشان داده میشوند.
cat -b /etc/passwd
برای شماره گذاری تمام خطوط
انتهای هر خط را با $
مشخص میکند.
اگر بین دو خط چندین خط خالی باشد خطوط خالی اضافی را پاک میکند و فقط یک خط خالی نگه میدارد.
در این بخش به بررسی مهمترین کاربردهای دستور cat همراه با مثال در مورد هر یک خواهیم پرداخت
در مثال زیر محتوای فایل etc/passwd/ نمایش داده میشود
cat /etc/passwd
در مثال زیر محتوای ۲ فایل test و test1 نمایش داده میشود
cat test test1
با دستور زیر فایل test2 را می سازیم
cat > test2
سپس منتظر تایپ کردن متن دلخواه میشود و سپس بعد از اتمام کلیدهای CTRL+D را فشار دهیم تا خارج شود متن در فایل test2 نوشته خواهد شد سپس میتوانید با استفاده از دستور زیر محتوای فایل را مشاهده کنید.
cat test2
اگر فایل بسیار طولانی باشد و در یک صفحه ترمینال جا نشود و صفحه به سرعت scroll بخورد ما میتوانیم از پارامترهای more
و less
به همراه دستور cat استفاده کنیم
cat song.txt|less cat song.txt|more
با استفاده از سوئیچ n-
میتوانیم شماره خط های فایل song.txt را مشاهده کنیم.
cat -n song.txt
با استفاده از سوئیچ e-
به پایان تمام خطوط فایل علامت $ اضافه کرده همچنین این علامت را در خطوطی که به عنوان فاصله استفاده شدند هم قرار داده است. این سوئیچ برای تبدیل چندین خط به یک خط بسیار مفید است.
cat -e test
در مثال زیر تمامی فضاهای tab در فایل با کاراکتر '^I
' پر شده است.
cat -T test
در مثال زیر محتویات ۳ فایل: test,test1,test2 با استفاده از دستور cat نمایش داده میشوند. فقط بین هر فایل باید از سیمی کالون ';
' استفاده شود.
cat test;cat test1;cat test2
ما میتوانیم خروجی استاندارد از یک فایل را به فایلی دیگر با استفاده از علامت '<
' (بزرگتر از ) redirect کنیم.
دقت کنید مثلا در مثال زیر محتویات test1 توسط محتویات فایل test کاملا overwritten میشود. یعنی محتویات فایل test1 پاک شده و محتویات test در آن جایگزین میشود.
cat test > test1
افزودن محتویات فایل جدید به فایل قبلی بدون اینکه محتویات فایل پاک شود با استفاده از علامت '«
' (۲ عدد علامت بزرگتر از) صورت میگیرد. در مثال زیر محتویات فایل test به انتهای محتویات فایل test1 اصطلاحا append میشود
cat test >> test1
زمانیکه شما با استفاده از علامت '>
' (کوچکتر از) ورودی استاندارد redirect میکنیم در حقیقت محتویات فایل test2 را به عنوان یک ورودی برای یک دستور و خروجی به منظور نمایش در ترمینال استفاده میکند.
cat < test2
دستور زیر فایلی با نام test3 ایجاد میکند که شامل محتویات هر ۳ فایل :test,test1 و test2 میباشد.
cat test test1 test2>test3
دستور زیر فایل test4 را ایجاد میکند که خروجی دستور cat که به دستور sort شده است را به فایل جدید redirect میکند:
cat test test1 test2 test3|sort > test4
برای توضیحات تکمیلی در ارتباط با دستور less ( نمایش محتویات فایل های متنی ) را ببینید