Cat
دستور cat مخفف کلمه Concatenate به معنی به هم پیوستن، الحاق کردن، چسباندن است. با اینکه کاربرد اصلی این دستور چسباندن چند فایل به هم است، ولی بیشتر برای نمایش محتویات یک فایل بر روی خروجی استاندارد (stdout) استفاده میشود.
از این دستور برای کارهای زیر میتوان استفاده کرد:
- نمایش محتویات فایلها بر روی صفحه
- کپی کردن فایلها
- چسباندن چند فایل به هم
- ساختن فایل جدید
محتویات
نمایش محتویات فایلها بر روی صفحه
برای نمایش فایل بر روی صفحه میتوان از دستور 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