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

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

دستور write در لینوکس: آموزش ارسال پیام به کاربران دیگر

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

دستور write در لینوکس یک پیام رسان دیجیتالی است که به کمک آن می توانید در محیط ترمینال با سایر کاربران فعال در همان سیستم ارتباط برقرار کنید.

 خط ارتباطی که با دستور write ایجاد می شود، کاربران وارد شده به سیستم لینوکس را به هم وصل می کند و کاربران هم می توانند پیام های موردنظر خود را از طریق ترمینال به یکدیگر ارسال کنند.

طرز کار دستور write در لینوکس

این دستور، مشابه دستور wall در لینوکس است و سبک کار بسیار راحتی دارد. کاربر a با دستور write یک پیام متنی می نویسد و یک کاربر فعال دیگر مثلاً کاربر b را موردخطاب قرار می دهد. 

سپس، کاربر b این پیام را به صورت زیر دریافت می کند:

Message from username on tty at time …

حالا کاربر b می تواند دستور write را متقابلاً برای کاربر a اجرا کند و جواب مناسبی را به کاربر a ارسال کند.

پایان مکالمه هم با کلید ترکیبی Ctrl + D اتفاق می افتد.

حالا اگر ترمینال کاربر مقصد باز نباشد، پیام فرستنده به کاربر تحویل داده نمی‌ شود و از بین می‌ رود چون دستور write برای ارسال پیام فوری بین کاربران آنلاین طراحی شده است و تنها زمانی کار می‌ کند که ترمینال کاربر مقصد باز و آماده دریافت پیام باشد.

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

  • دسترسی به ترمینال
  • چند کاربره بودن سیستم یا سرور لینوکس موردنظر
  • دسترسی به امتیازات sudo
  • ویرایشگر متنی 
  • نصب بودن دستور write

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

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

دستور نصب write در اوبونتو – دبیان

sudo apt install util-linux

دستور نصب write در فدورا – CentOs

sudo yum install util-linux

یا

sudo dnf install util-linux

دستور نصب write در آرچ لینوکس

sudo pacman -Syu util-linux

بعد از اتمام کار، مجدداً دستور زیر را اجرا کنید تا از نصب موفقیت آمیز آن مطمئن شوید.

write --version

البته با خرید سرور مجازی لینوکس از آسام سرور، می توانید از بابت نصب بودن ابزارهای پرکاربردی مثل write مطمئن باشید و بعد از فعال سازی مجوز، مستقیماً شروع به برقراری یک ارتباط موثر و قدرتمند با هم تیمی های خود کنید.

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

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

write user [tty]

user نام کاربر مخاطب است.

 با استفاده از tty هم می توانید محیط ترمینال کاربر را مشخص کنید، البته در صورتی که این کاربر چند محیط ترمینال را باز کرده باشد.

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

با اینکه دستور write طرز کار بسیار راحت و سرراستی دارد ولی با آپشن های زیر می توانید رفتار آن را بهتر کنترل کنید:

ارسال پیام به کاربر موردنظر

write username

ارسال پیام به کاربر موردنظر از طریق محیط ترمینال مشخص شده

write username tty

تکمیل و خاتمه پیام ورودی

Ctrl+D

فعال سازی قابلیت دریافت پیام از سایر کاربران فعال

mesg y

غیرفعال سازی قابلیت دریافت پیام از سایر کاربران فعال

mesg n

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

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

برای این کار می توانید از دستور w استفاده کنید.

این دستور، لیست کاربرانی که در حال حاضر به سیستم Log in شده اند را نشان می دهد.

محض احتیاط، دستور mesg y را هم اجرا کنید تا قابلیت دریافت پیام از سایر کاربران را فعال کنید.

اکنون وقت آن است که به صورت عملی با نحوه کار write آشنا شوید:

ارسال پیام به کاربر موردنظر

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

write zahra

بعد از کلیک روی دکمه Enter، خط فرمان آماده دریافت پیام از شماست. 

پیام موردنظر خود را وارد کنید و در صورت نیاز به خط جدید، اینتر را بزنید. 

در همین زمانی که شما در حال وارد کردن پیام هستید، zahra هم در ترمینال خود شاهد این پیام است.

پیامی که zahra می بیند، با Message from username شروع می شود. سپس پیامی که شما در حال نوشتن هستید را به صورت real time می بیند.

کلیک کنید  راهنمای استفاده از Google Drive در لینوکس

بعد از اینکه پیام خود را تکمیل کردید، کلید ترکیبی CTRL+D را فشار دهید تا دستور write خاتمه پیدا کند.

وقتی شما به عنوان ارسال کننده پیام، کلید ترکیبی CTRL+D را فشار می دهید، zahra هم با دیدن EOF در انتهای پیام، متوجه می شود که پیام شما به پایان رسیده است. 

برقراری یک مکالمه به صورت تعاملی

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

برای این کار کافیست ابتدا دستور write را برای کاربر موردنظر اجرا کنید:

write zahra

سپس zahra هم به صورت همزمان باید شما را خطاب قرار دهد و دستور write را برای شما اجرا کند:

write Asam

با توجه به این که هیچ راهی برای تشخیص زمان ارسال و دریافت پیام ها وجود ندارد، می توانید با یک فاصله و کاراکتر o پایان عبارت فعلی پیام خود را به کاربر نشان دهید تا کاربر مخاطب هم شروع به نوشتن کند و از این طریق ارتباط بهینه تری برقرار کنید.

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

در آخر، برای بسته شدن کانال ارتباطی write می توانید از کلید ترکیبی CTRL+D استفاده کنید.

تعیین کاربر و ترمینال موردنظر برای ارسال پیام

اگر مخاطب شما از چند محیط ترمینال استفاده می کند، باید محیط یا دستگاه TTY موردنظر برای ارسال پیام را هم مشخص کنید.

به عنوان مثال فرض کنید می خواهید به کاربری به اسم zahra که وارد محیط TTY1 شده است، پیام ارسال کنید. کافیست دستور زیر را ارسال کنید:

write zahra /dev/tty1

این دستور، پیام را به دستگاه TTY1 ارسال می کند و این اطمینان را می دهد که این پیام فقط در ترمینال مرتبط با آن دستگاه ظاهر می شود. 

پایپ یک پیام به دستور write

اگر نمی خواهید پیام متنی را به طور real time در داخل دستور write بنویسید، می توانید متن موردنظر خود را به دستور echo در لینوکس اضافه کنید و بعد آن را با دستور write پایپ کنید.

echo "Hello from Asam" | write zahra

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

به همین دلیل، بهتر است بعد از پیام اصلی خود، یک نشانه برای پایان پیام بگذارید. مثلاً:

echo "Hello from Asam [End of message]" | write zahra

ارسال پیام به کاربر از طریق یک فایل

اگر از پیام موردنظر خود یک فایل تهیه کرده اید، می توانید این فایل را به کاربر موردنظر ارسال کنید.

به عنوان مثال یک فایل متنی جدید ایجاد کنید.

nano message.txt

متن موردنظر را به آن اضافه کنید و با کلید ترکیبی Ctrl+O و Ctrl+X، این فایل را ذخیره کرده و ببندید.

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

Write zahra < message.txt

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

ارسال پیام به کاربر لینوکس در قالب فایل bash

ادغام دستور write با اسکریپت های bash می تواند کیفیت ارتباط و تعامل کاربران را ارتقا دهد. 

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

#!/bin/bash

sudo apt update -y

echo "Update completed" | write zahra

sudo apt upgrade -y

echo "Upgrade completed" | write zahra

این کد را در داخل یک فایل با اسم دلخواه و پسوند sh ذخیره کنید. 

nano update_and_notify.sh

با کلید ترکیبی Ctrl+O و Ctrl+X، این فایل را ذخیره کرده و ببندید.

مجوز اجرا را به این دستور بدهید:

chmod +x update_and_notify.sh

حالا می توانید آن را اجرا کنید:

./update_and_notify.sh

ابتدا دستور آپدیت ریپازیتوری سیستم اجرا می شود و پیام Update completed به zahra ارسال می شود. سپس دستور آپگرید ریپازیتوری اجرا می شود و پیام Upgrade completed به zahra ارسال می شود.

 

مزایای دستور write در لینوکس

  • ساده و راحت
  • پیام رسانی بین کاربران به صورت real time
  • ارسال و دریافت پیام از طریق ترمینال
  • هماهنگی وظایف و فرآیندها به صورت کاملاً ساده
  • اطلاع به موقع کاربران از رویدادها و تغییرات سیستمی اخیر
  • ارتباط موثر بین هم تیمی ها

حالا این شما هستید که باید دست به کار شوید و برای بهره مندی از این مزایا، نحوه کار با دستور write را به صورت عملی تست کنید و ارتباطی که انتظارش را دارید را با همکاران خود برقرار کنید.

سخن آخر

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

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

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

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

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

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