شما برای مطالعه این مقاله فقط 7 دقیقه وقت نیاز دارید

echo-command-in-linux
دسته بندی : آموزش لینوکس

دستور echo در لینوکس (نمایش متن در ترمینال)

5/5 - (1 امتیاز)

دستور echo یکی از پرکاربردترین دستورات لینوکس است که هدف اصلی آن، پرینت متن یا رشته ای است که به عنوان آرگومان به آن داده شده است.

دستور اکو لینوکس در زمینه های مختلفی مثل نمایش محتوای متنی موردنظر در خروجی ترمینال، ایجاد فایل، تست و دیباگ اسکریپت ها و دستورات و … قابل استفاده است و اگر با سینتکس و آپشن های آن آشنا شوید، می بینید که کار کردن با این دستور چقدر راحت است.

دستوراتی مثل echo با اینکه بسیار سطحی و ساده به نظر می رسند ولی بسته به شرایط و موقعیت می توانند نقش مهمی در مدیریت سرور داشته باشند که برای ارتقا کارایی این ابزارها هم می توانید قدم اول یعنی خرید سرور مجازی لینوکس را با ما بردارید.

کاربردهای اصلی دستور echo در لینوکس

  • نمایش پیام و متن در خروجی ترمینال
  • نمایش مقادیر متغیرها
  • نمایش نتایج دستورات
  • ایجاد فایل متنی جدید
  • اضافه کردن متن به فایل های موجود
  • پاکسازی محتوای فایل موردنظر
  • نمایش رشته های خاص
  • استفاده در اسکریپت ها و دستورات برای نمایش پیام از وضعیت اجرا (تست و دیباگ)
  • تولید خروجی برای دستورات یا برنامه ها

پیش نیاز های استفاده از دستور echo در لینوکس

  • سیستم یا سرور مجهز به لینوکس
  • دسترسی به ترمینال
  • نصب بودن دستور echo

با اینکه دستور echo به طور پیش فرض در اکثر توزیع های لینوکس نصب است ولی اگر بعد از اجرای دستور echo –version در سیستم یا سرور مجازی لینوکس، متوجه شدید که سیستم شما مجهز به این ابزار نیست، کافیست دستور نصب echo در توزیع لینوکس خود را اجرا کنید:

نصب echo در اوبونتو – دبیان

sudo apt-get install coreutils

نصب echo در CentOS و فدورا

sudo yum install coreutils

یا

sudo dnf install coreutils

سینتکس دستور echo لینوکس

سینتکس پایه این دستور به صورت زیر است:

echo [option] [string]

با بررسی مثال های کاربردی مربوط به دستور echo، نحوه کار با این دستور را یاد خواهید گرفت ولی آرگومان هایی وجود دارند که با اضافه کردن آن به دستور echo در لینوکس می توانید رفتار آن را به شکل دلخواه سفارشی سازی کنید.

آپشن های دستور echo

آپشنتوضیحات
eامکان ادغام آپشن های حاوی \ با محتوای متنی موردنظر 
a\ایجاد صدا موقع نمایش خروجی
b\حذف تمام فضاهای خالی از متن یا رشته موردنظر
c\حذف خط جدید بعد از نمایش پیام موردنظر
e\ایجاد رنگ و افکت
n\ایجاد خط جدید در قسمت استفاده شده
t\ایجاد یک فضای تب افقی
r\تعیین بخش موردنظر از یک متن برای نمایش در خروجی
v\ایجاد یک فضای تب عمودی
*نمایش تمام فایل ها یا فولدرهای موجود در مسیر فعلی ترمینال (مثل ls و dir)
nحذف خط جدید از انتهای متن موردنظر (بعد از نمایش)

برای دسترسی به اطلاعات بیشتر در مورد دستور echo می توانید از  دو دستور زیر هم کمک بگیرید:

echo --help

man echo

مثال های کاربردی از دستور echo در لینوکس (ساده تا پیشرفته)

این بستگی به نیاز شما دارد که از دستور echo چگونه استفاده کنید ولی با بررسی مثال های زیر می توانید درک عمیق تری از کاربرد این دستور داشته باشید:

پرینت یک رشته متنی

ساده ترین کاربرد دستور echo این است که متن داده شده را در خروجی به شما نمایش دهد. برای این کار، نیازی به آپشن اضافی نیست و کافیست متن موردنظر را در دستور لحاظ کنید:

echo Hello, World!

دستور echo در لینوکس بدون آپشن

نمایش فایل متنی به شکل های مختلف

برای اینکه متن یا رشته موردنظر را از حالت نمایش ساده در بیاورید و تغییرات کوچکی را در آن لحاظ کنید، می توانید از پارامتر e کمک بگیرید.

چند مثال)

اگر می خواهید متن موردنظر شما در بخش های خاصی بشکند و در خط جدید قرار بگیرد، باید از n\ استفاده کنید:

echo -e 'Hello, World! \nThis is test!'

دستور اکو با آپشن nاگر می خواهید فضاهای خالی موجود در متن موردنظر را حذف کنید، کافیست بعد هر فضای خالی موجود در متن یک b\ قرار دهید.

echo -e 'Hello, \bWorld!,This \bis \btest!'

حذف فضای خالی با اکوبرای ایجاد فاصله ای به اندازه tab در داخل متن، کافیست در بخش های موردنظر از t\ استفاده کنید:

echo -e 'Hello, \tWorld!,This \tis \ttest!'

ایجاد تب افقی در دستور echo لینوکسمنتها این تب به صورت افقی است و اگر می خواهید تب ها به صورت عمودی لحاظ شوند، می توانید از v\ استفاده کنید:

echo -e 'Hello, \vWorld!,This \vis \vtest!'

ایجاد تب عمودی با دستور اکواگر می خواهید موقع نمایش خروجی، در قسمت های خاصی آلارم تولید شود می توانید از a\ استفاده کنید:

echo -e 'Hello, \aWorld!,This is \atest!'

موقع اجرای این دستور، دو بار صدای آلارم شنیده می شود.

چاپ مقدار یک متغیر

برای مشاهده مقدار یک متغیر در خروجی echo می توانید از $ کمک بگیرید. حالا این متغیر می تواند هر چیزی باشد. 

کلیک کنید  لاگ فایل سرور چیست؟ لاگ های اصلی سرور لینوکس و ویندوز

به عنوان مثال اگر می خواهید نام کاربر فعلی ترمینال را ببینید، می توانید از دستور زیر استفاده کنید:

echo $USER

نمایش اسم کاربر ترمینالدر صورت تمایل می توانید متغیرها را خودتان تعریف کنید و در داخل متن مربوط به دستور echo فراخوانی کنید. 

برای اینکار ترمینال را باز کنید و متغیرهای موردنظر را تعریف کنید:

name="zahra"

سپس آن را به صورت زیر در دستور echo قرار دهید:

echo "Hello, $name! This is test!"

البته خروجی یک دستور را هم می توانید در قالب متغیر در دستور echo قرار داد. به عنوان مثال اگر می خواهید لیست محتویات دایرکتوری فعلی را با ls ببینید، می توانید دستور echo و ls را به صورت زیر ترکیب کنید:

echo "This is the list of directories and files on this system: $(ls)"

نمایش محتوای دایرکتوری فعلی

یکی دیگر از کاربردهای دستور echo، نمایش لیست محتویات مسیر فعلی ترمینال است که برای این کار کافیست یک * به دستور اضافه کنید:

echo *

اگر نوع خاصی از فایل ها را در نظر دارید، می توانید پسوند آن را به دستور اضافه کنید:

echo *.txt

echo *.pdf

echo *.php

echo *.jpeg

ایجاد فایل جدید با دستور اکو

برای ایجاد فایل جدید، کافیست با دستور cd در مسیر موردنظر قرار بگیرید و سپس اسم دستور را به صورت زیر در دستور echo لحاظ کنید:

echo "Some line" > new_file.txt

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

echo > new_file.txt

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

به این صورت که اگر فایل موردنظر شما از قبل در سیستم موجود باشد، اجرای دستور بالا برای آن باعث حذف تمام محتوای آن می شود:

echo > file.txt

نوشتن یک خط جدید در فایل موردنظر

اگر می خواهید خط جدیدی را به انتهای فایل موردنظر اضافه کنید، می توانید دستور tee و echo را با عملگر پایپ یا ریداریرکت به هم وصل کنید.

echo "New Line Added." | tee output.txt

یا اینکه متن را به فایل موردنظر ریدایرکت کنید:

echo "New Line Added." > output.txt

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

cat output.txt

تغییر رنگ خروجی

به طور پیش فرض، رنگ خروجی دستور echo با تم ترمینال هماهنگ است ولی اگر به خاطر دلایلی مثل قابل درک شدن یک اسکریپت نیاز دارید که رنگ پیش فرض خروجی را تغییر دهید، می توانید کدهای ANSI را به صورت زیر در دستور اکو لینوکس لحاظ کنید:

echo -e "This is \033[0;31mRed"

همانطور که می بینید باز هم آپشن e وارد عمل شده است و 31;0 کد ANSI مربوط به رنگ قرمز است که با قرار گرفتن قبل از کلمه Red باعث قرمز رنگ شدن آن شده است.

رنگ سبز:

echo -e "This is \033[0;32mGreen"

رنگ آبی:

echo -e "This is \033[0;34mBlue"

رنگ زرد:

echo -e "This is \033[1;33mYellow"

کافیست این آپشن ها و کدها را به شکل درست در دستور لحاظ کنید تا خروجی دستور اکو حالت جذاب تری به خود بگیرد. 

تست و دیباگ اسکریپت 

فرض کنید یک اسکریپت ساده برای بررسی وضعیت اتصال به اینترنت نوشته اید و می خواهید برای بررسی وضعیت از دستور اکو استفاده کنید.

echo "Starting the internet connection test..."

ping -c 1 google.com &> /dev/null

if [ $? -eq 0 ]; then

    echo "Internet connection is up."

else

    echo "Internet connection is down."

fi

echo "Test completed."

این اسکریپت پینگ را برای سرور گوگل اجرا می کند تا وضعیت اتصال اینترنتی بررسی شود و سپس بر اساس اینکه پینگ با موفقیت اجرا شده است یا نه، دستور اکو خروجی Internet connection is up یا Internet connection is down را به شما نشان می دهد.

ترکیب دستور echo با دستورات لینوکسی

جستجوی یک الگو در خروجی متنی اکو

echo "This is a test string" | grep "test"

این دستور در رشته This is a test string به دنبال کلمه test می گردد و خطوط حاوی این کلمه را در خروجی نشان می دهد.

تبدیل حروف کوچک متن موردنظر به حروف بزرگ معادل

echo "Hello World" | tr '[:lower:]' '[:upper:]'

ترکیب دستور tr و echoنمایش تاریخ و ساعت در متن

برای این کار کافیست از دستور date و پارامترهای آن به عنوان متغیر استفاده کنید و آن را در دستور echo لحاظ کنید:

echo "Current date and time: $(date '+%Y-%m-%d %H:%M:%S')"

نمایش ساعت و تاریخ با دستور Echoحذف خطوط تکراری از متن

echo -e "apple\nbanana\napple\ncherry\nbanana" | sort | uniq

جایگزین کردن یک کلمه با کلمه دیگر در متن

برای این کار کافیست دستور echo و sed را به صورت زیر با هم ترکیب کنید:

echo "Hello World" | sed 's/World/Everyone/'

ترکیب دستور echo با sedبا اینکه این مثال ها جزو کاربردی ترین نمونه ها از دستور echo در لینوکس هستند ولی سعی کنید خودتان را به این ها محدود نکنید و بر اساس نیاز خود از قدرت و کارایی دستور اکو استفاده بیشتری داشته باشید.

سخن آخر

دستور echo در لینوکس برای نمایش خروجی در ترمینال استفاده می شود و این شما هستید که با استفاده از آپشن های آن یا ترکیب دستور echo با دستورات دیگر می توانید به کارایی بیشتری از آن دست پیدا کنید.

مطالب مشابهی که شاید علاقمند باشید

من زهرا پیرجانی دانشجوی رشته نرم افزار هستم. علاقه ای که به یادگیری مطالب جدید دارم باعث شد که انگیزم برای فعالیت در حوزه تولیدمحتوا بیشتر شود. تمام تلاشم این است که با درک کامل موضوع، محتوایی ساده و کامل تهیه کنم که برای همه علاقمندان مفید و کاربردی باشد. یادگیری مطالب جدید و آموزش اونها به بقیه، بهترین کاری هست که می توانم برای رشد خودم و همچنین کمک به رشد علاقمندان به مباحث مورنظر انجام بدم.

دیدگاه های شما

برای دریافت این مقاله لطفا ایمیلتان را وارد کنید

می توانید مقاله را دانلود کنید یا پرینت بگیرید