Cat

از ویکی فارسی اوبونتو
پرش به: ناوبری، جستجو

دستور cat مخفف کلمه Concatenate به معنی به هم پیوستن، الحاق کردن، چسباندن است. با اینکه کاربرد اصلی این دستور چسباندن چند فایل به هم است، ولی بیشتر برای نمایش محتویات یک فایل بر روی خروجی استاندارد (stdout) استفاده می‌شود.

از این دستور برای کارهای زیر می‌توان استفاده کرد:

  • نمایش محتویات فایل‌ها بر روی صفحه
  • کپی کردن فایل‌ها
  • چسباندن چند فایل به هم
  • ساختن فایل جدید

نمایش محتویات فایل‌ها بر روی صفحه

cat myfile.txt
cat myfile.txt

برای نمایش فایل بر روی صفحه میتوان از دستور cat بدون هیچ ارگومان به این صورت استفاده کرد:

$ cat filename 

برای نمایش شماره خط‌ها می‌توان از دو اپشن b- و n- استفاده کرد.

  • b- : این گزینه برای نمایش شماره خط‌ها بغیر از خط های خالی استفاده می‌شود.
  • n- : این گزینه برای نمایش شماره خط‌ها حتی خط‌های خالی استفاده می‌شود.

همچنین این دستور گزینه‌های دیگری نیز دارد:

  • e- یا E- یا show-ends-- : این گزینه یک علامت $ انتهای هر خط قرار می‌دهد.
  • s- یا squeeze-blank-- : این گزینه خط‌های خالی تکراری را پاک می‌کند و تنها یک خط خالی نمایش می‌دهد.
  • t- یا T- یا show-tabs-- : این گزینه کاراکتر TAB را با ^I نمایش می‌دهد.

کپی کردن فایل ها

یکی از کاربرد های این دستور کپی کردن فایل ها است ، به این صورت که دستور cat یک فایل را میخواند و خروجی را به جای نمایش در صفحه بر روی یک فایل دیگر مینویسد:

$ cat file1 > file2 



اخطار:

اگر از گزینه های دستور cat استفاده کرده باشد ممکن است فایل به درستی کپی نشود

برای مثال: اگر از گزینه n- استفاده کنید در فایل مقصد هم شماره خط ها نمایش داده میشود. چون دقیقا همان خروجی که باد در صفحه نمایش داده شود را در فایل مقصد می‌نویسد.

البته بعضی مواقع نیز مفید است. مثلا می‌خواهید خط های خالی تکراری فایل خود را پاک کنید،

می‌توانید از دستور cat به همراه گزینه s- استفاده کنید و خروجی را در یک فایل دیگر بریزید.

$ cat -s file1 > file2 

چسباندن چند فایل به هم

دستور cat میتواند چندین فایل را به عنوان ورودی بپذیرد و به ترتیب در صفحه نمایش دهد. cat file1 file2 file3

البته میتوان مانند قبل خروجی را به یک فایل دیگر هدایت کرد . بدین ترتیب میتوان چندین فایل را به هم چسباند.cat file1 file2 file3 > file4

همچنین در هنگام ادغام میتوان از ورودی استاندارد نیز استفاده کرد.برای مثال:cat file1 - file2 > file3

این دستور ابتدا فایل file1 را میخواند و در فایل مقصد که همان file3 هست مینویسد و بعد منتظر میماند تا شما در ترمینال بنویسید، بعد از اینکه نوشتن شما تمام شد، با فشردن کلید های Ctrl+D میتوان فراید را از سر گرفت و در ادامه فایل file2 را بعد ار نوشته های شما در فایل file3 مینویسد.

ساختن فایل جدید

در اکثر مثال های بالا یک فایل جدید ایجاد می‌شود.

همچنین برای ایجاد فایل جدید خالی هم می‌توان به این صورت عمل کرد.

$ cat > filename 
$ > filename 


همچنین می‌توان از دستور cat به اینصورت استفاده کرد که ورودی را از کیبورد بخواند و در خروجی بنویسد

$ cat - > filename 

همچنید می‌توانید از دستورات tac و bat هم دیدن کنید.