لینوکس سرور مجازی آموزش

آوریل 18, 2017

Pipe file

در ادامه حل تمرین باید از file pipe استفاده میکنیم که input standard را به output standard می برد به طور کل ما

زمانی از pipe استفاده میکنیم که بخواهیم خروجی استاندارد را از طریق لوله که pipe این نقش را برای ما اجرا میکند به جای

نمایش روی مانیتور به یک فرمان دیگر میفرستیم.

به طور کلی:

File PIPE استاندارد Input را به استاندارد output میبرد.

: حال میخواهیم همین اسمها را جدا کنیم و ایمیل کنیم یعنی به جای اینکه نمایش دهیم روی صفحه از طریق pipe

به فرمانmail میفرستیم:

[[email protected]~]$ cut -c1-10 namef | mail -s names-listn.pardis

حال دوبارهفرمانmail که بزنیم آن را میبینیم. حال شماره ایمیل را میزنیم تا باز شود و آن را ببینیم.

sort

این فرمان همان طور که از اسمش مشخص است برای ما sort می کند و اگر خروجی یک فرمان را به این فرمان بدهیمsort می

کند خروجی را.

[[email protected]~]$ man sort

در ادامه این تمرین از یک فرمان دیگر به نام uniq هم استفاده می کنیم که کار واحد سازی را انجام می دهد و اسمها ی شبیه

هم را از هر کدام یکی می شمارد.

حال میخواهیم این اطلاع را sort کنیم و ایمیل کنیم.

[[email protected]~]$ cut -c1-10 namef |sort| mail -s names n.pardis

ttp

11

سرورمجازی

 

اوّل cut آن را جدا میکند بعد به sort میدهد و sort هم به mail میدهد. حال میبینیم که اسمها sort شده اند و ایمیل شده

اند.

حال میخواهیم هر اسم را با تعداد تکرار آن یک بار بنویسید و آپشن f –را هم اضافه میکنیم تا sensitive caseنباشد.

[[email protected]~]$ cut -c1-10 namef |sort -u –f | mail-s names n.pardis

حال میخواهیم از هراسم بگوید که چند تا داریم؟

[[email protected]~]$ cut -cl-10 namef |sort| uniq -c

آپشن u –را از sortبر میداریم چون اگر این باشد از هر کدام یکی میدهد به unique

: اگر sort را برداریم اشتباه میشود. چون uniq مثالً amirرا میبیند و بعد زیرش mohammad را میبیند و فکر می

کند amirیکی است.

الان می خواهیم به طور مثال history خودمان را برای همه کسانی که هم اکنون به سیستم متصل هستند ارسال نماییم :

[[email protected]~]$ history | mail –s my-hist `users`

میبینید که users را درونtick backیعنی ‘’ قرار می دهیم که با این کار users را به عنوان یک اسم مدرنظر نمیگیرد

بلکه مقدار آن یعنیuserid کل کاربران را در نظر می گیرد.

پس تا اینجا sort و uniq را یاد گرفتیم.

dedicatedhosting

[[email protected]~]$ sort -k3 -r -n namef

آپشن k3–یعنی بر اساس کلید سوم sort کن وr–یعنیreversمرتب کن و n–یعنی کلید سوم از نوع numeric می باشد و بر

اساس نوع داده numeric در نظر بگیر و مرتب کن.

tail head

فرمان بعدی که با هم یاد میگیریمhead است که این فرمان 12 خط اوّل فایل را به طور پیش فرض بیرون میکشید:

در مثال های زیر فقط 5 خط را نمایش می دهد:

[[email protected]~]$ head-5 file-name

[[email protected]~]$ head-5 namef

حال اگر بخواهیم 12 خط آخر فایل را نشان دهیم از فرمانtail استفاده میکنیم:

[[email protected]~]$ tailnamef

و اگر بخواهیم 5 خط آخر را نمایش دهد:

[[email protected]~]$tail -5 namef

حال اگر بخواهیم خط آخر را نشان دهیم این فرمان را میزنیم:

[[email protected]~]$ tail -1 namef

1 :شاگرد سوّم را میخواهیم نمایش دهد:

[[email protected]~]$ sort -k3 –r-n namef |head-3

شاگرد یکی به آخر را نمایش دهد

[[email protected]~]$sort -k3-r -n namef |tail-2| head-1

: خط 13 فایل namef را نمایش دهید:

[[email protected]~]$ head -13 namef |tail-1| mail -s sort2 sabt

tac

همان طور که قبال گفتیمفرمانcat محتویات یک فایل را نمایش میدهد:

[[email protected]~]$ cat namef

و فرمانtacکه عکس فرمانcat است معکوس فایل را نمایش می دهد:

[[email protected]~]$ tac file-name

[[email protected]~]$ tac namef

 

rev

این فرمان هم فیلدها و محتویات داخل آنها را برعکس میکند:

[[email protected]~]$ rev namef

این فرمان هم کاری نمیکند فقط معکوس معکوس است:

[[email protected]~]$ rev namef |rev

less

[[email protected]~]$ man less

فرمانcat اطلاع را نمایش میدهد ولی چون scroll میشود همه اطلاع را نمیتوانیم در یک ص فحه ببین یم. میتوانیم از

less استفاده نماییم.

[[email protected]~]$ less nemef

فرمانMore و Most و less کاری که انجام میدهند اینست که صفحه به صفحه نمایش میدهند و در لینوکس بیشتر از less

استفاده می شود.خصوصیت مهم less اینست که امکان search را به ما میدهد وقتی فایل نمایش داده شد با زدن / و نوشتن

کلمه مورد نظر آن را پیدا کنیم:  پس less امکان search را به ما میدهد.

[[email protected]~]$ less file-name

و اگر رشته مورد نظر را پیدا نکرد پی ام found not Pattern را میدهد.

دستور زیر کلماتی که 0 تا oo ندارند را نمایش دهد.

[[email protected]~]$ less namef

/!oo