کار کردن با محتوای فایل ها در لینوکس

در کارگاه امروز به کار کردن با فایل های متنی در لینوکس با ابزارهای head, tail, cat, tac, more, less و strings  می پردازیم و همچنین نگاه اجمالی به امکانات دستور cat خواهیم داشت.

کارگاه لینوکس پیش رو برای علاقمندان قطعا جالب خواهد بود.

Head

با دستور head شما می توانید ۱۰ خط اول فایل های متنی را مشاهده نمایید

دستور head این قابلیت را دارد که خروجی را با تعداد خطوط دلخواه شما چاپ کند. برای مثال می خواهیم فقط ۴ خط خروجی بدهد:

tail

دستور tail عملکردی همانند دستور head را دارد با این تفاوت که ۱۰ خط آخر یک فایل را نمایش می دهد.

 

اگر به دستور دوم زده شده در تصویر فوق دقت کرده باشید حتما به این پی برده اید که دستور tail هم مانند head با بکار گیری – و سپس عدد قابلیت تعیین سطر را دارد.

شما با زدن دستور زیر مشخص میکنید که فقط ۳ خط چاپ شود.

دستور tail کاربرد های بسیاری دارد که مدیران سرور برای خواندن لاگ از آن استفاده می کنند. در قسمت های بعدی شکل تکامل یافته این دستور را توضیح خواهیم داد.

 

دستور cat

دستور cat یک ابزار جهانی به شمار می رود. با این ابزار شما می توانید کارهای زیادی انجام دهید. این دستور می تواند ورودی ها را در قالب یک خروجی استاندارد به نمایش بگذارد و اگر بناست که فایل بسیار طولانی را به نمایش بگذارد بصورت خودکار به سطح آخر اسکرول انجام می دهد.

ادغام یا concatenate خروجی از قابلیت های دستور cat است.

برای فهم راحت این قابلیت ما قصد داریم ۳ فایل با محتویات مختلف ایجاد کنیم. ابتدا هر کدام رو جداگانه نمایش میدهیم و در پایان قابلیت concatenate را به شما نشان می دهیم. لطفا دستورات وارد شده در تصویر زیر را به دقت مشاهده نمایید

 

 

با دستور cat شما می توانید فایل ایجاد کنید. سریعترین نوع ایجاد فایل که در همان لحظه متن آن را هم وارد می کنید می توان گفت همین روش است.

 

با دستور cat و در ادامه آن نام فایل را تعیین میکنید.

یکبار اینتر بزنید تا بتوانید متن را نیز وارد کنید.

 

پس از وارد کردن متن مورد نظرتان کافیست یکبار دکمه های ترکیبی ctrl + d را همزمان فشار دهید تا فایل ذخیره شود.

 

در واقع شما با زدن ctrl + d سیگنال EOF به سرور می فرستید که به معنای پایان کار end of file و به منزله پایان دستور cat است.

 

شما می توانید پایان را بصورت اتوماتیک هم تنظیم نمایید تا در صورت رسیدن به کلمه ای مشخص این دستور به کار خود پایان دهد.

طبق دستور فوق ما سیگنالی به سمت سرور ارسال می کنیم که میخواهیم فایلی بنام pouyasazan.txt ایجاد کرده و به محض دیدن عبارت stop در خط فرمان اقدام به ذخیره فایل نماید. کلمه stop کاملا دلخواه بوده و بصورت قراردادی نیست و میتواند هر چیزی جایگزین شود. در مثال زیر ما کلمه mehrdad را هدف قرار داده ایم تا به محض دریافت این عبارت در خط فرمان اقدام به ذخیره فایل کند.

کار با دستورات لینوکس بسیار لذت بخش است.

 

این دستور قابلیت کپی دارد. اگر دستور را مانند زیر بکار ببرید هرچه در فایل پویاسازان داریم را در فایل جدیدی برایمان ذخیره می کند که نوعی بکاپ گیری یا کپی کردن یک فایل در فایلی با نام دیگر محسوب می شود.

دستور tac

دستور cat را کاملا برعکس بنویسید. همانطور که این دستور قابلیت برعکس نوشتن را دارد قابلیت برعکس به نمایش گذاشتن را نیز دارد.

یعنی از خط آخر به اول برایمان خروجی تولید می کند.

دستور more و  less

 

برخی مواقع خروجی بسیار زیاد بوده و در یک اسکرین گنجانده نمی شود. برای اینکه خروجی را بتوانیم مدیریت شده ورق بزنیم و مطالعه کنیم از دستور  more یا less می توانیم استفاده کنیم

با زدن اینتر خطوط بعدی و یا ادامه مطلب را به شما نشان می دهد.

با زدن q از محیط خارج شده و خط فرمان فعال می شود.

 

 

اگر این مطلب را با دقت خوانده اید باید بتوانید تمرینات زیر را به سادگی انجام دهید:

۱- لطفا ۱۲ خط ابتدایی فایل services واقع در پوشه etc را بصورت خروجی در ترمینال لینوکس چاپ کنید.

۲- لطفا خط آخر فایل /etc/passwd را در ترمینال بصورت خروجی چاپ کنید

۳- لطفا یک فایل بنام tamrin.txt با دستور cat ایجاد کنید به گونه ای که محتویات آن به صورت زیر باشد:

۴- با استفاده از دستور cp یک بکاپ از فایل tamrin.txt گرفته و با نام backup.txt آن را ذخیره کنید.

۵- با استفاده از دستور cat لطفا از فایل backup.txt بکاپ تهیه کنید و آن را با نام cat-backup.txt ذخیره کنید.

۶- لطفا فایل cat-backup.txt را بصورت کاملا وارونه و برعکس در ترمینال چاپ کنید. طوری که خط آخر آن به عنوان خط اول خروجی باشد.

۷- دستور more را برای چاپ /etc/services بکار بگیرید و سطح یادگیری خودتان را امتحان کنید.

 

اگر هنوز concatenate رو به یاد میارید خودتون یک مسئله برای به چالش کشیدن خودتون طرح کنید.

 

در صورت داشتن سوال میتونید زیر همین مطلب با ما در ارتباط باشید و جواب این تمرین ها رو از ما بخواید.

 

 

مطالب مرتبط

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *