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

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

علی مرادی

در این مقاله ، دستور who را که در بسته coreutils GNU قرار دارد ، توضیح می دهیم.

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

در ادامه با ما در شتابان هاست همراه باشید.

نحوه استفاده از دستور who:

نحو اصلی دستور who به شرح زیر است:

who [OPTION]... [ FILE | ARG1 ARG2 ]

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

root     pts/0        2020-11-17 20:10 (10.10.0.2)
shetaban    pts/1        2020-11-17 20:11 (10.10.0.8)

دستور who از همه کاربرانی که در حال حاضر در سیستم وارد شده اند ، یک لیست قالب بندی شده تولید می کند.

هر خط شامل چهار فیلد است که توسط یک یا چند فاصله از هم جدا شده اند:

  • نام کاربر ثبت شده
  • ترمینال کاربر
  • زمانی که کاربر وارد سیستم شده است.
  • نام میزبان یا آدرس IP از جایی که کاربر به سیستم وارد شده است. برای اجبار Ips ، از گزینه –ips استفاده کنید.

اگر می خواهید عناوین ستون را چاپ کنید ، گزینه -H (–heading) را اضافه کنید:

who -h

خروجی:

NAME      LINE         TIME             COMMENT
root      pts/0        2020-11-17 20:10 (10.10.0.2)
linuxize  pts/1        2020-11-17 20:11 (10.10.0.8)

این دستور اطلاعات مربوط به سیستم و افرادی را که از پرونده / var / run / utmp وارد سیستم شده اند ، جذب می کند. اگر می خواهید از پرونده دیگری استفاده کنید ، مسیر پرونده را به دستور منتقل کنید.

دستور who دو استدلال غیر گزینه ای را می پذیرد. هنگامی که با دو استدلال فراخوانی می شود ، دستور فقط اطلاعات مربوط به ترمینال مرتبط با کاربر فعلی را چاپ می کند. هنگام استفاده از گزینه -m ، همان خروجی نمایش داده می شود.

می توانید از هر دو آرگومان استفاده کنید:

who am i
who mom love
who foo bar
who -m

هر یک از دستورات بالا همان اطلاعات را چاپ می کند:

shetaban pts/1        2020-11-17 20:11 (10.10.0.8)

گزینه های دستور who:

دستور who چندین گزینه را می پذیرد که معمولاً بندرت استفاده می شوند.

گزینه -b ، –boot به شما می گوید که چه کسی برای آخرین بار بوت سیستم را چاپ کرده است:

         system boot  2020-07-20 19:02

برای به دست آوردن لیستی از تمام فرآیندهای مرده از گزینه -d، –dead استفاده کنید:

who -d

گزینه -r ، –runlevel می گوید که چه کسی سطح فعلی را نشان دهد:

who -r

خروجی:

         run-level 5  2020-07-20 19:02

برای به دست آوردن فقط نام کاربری و تعداد کاربران در حال حاضر وارد شده ، از گزینه -q، –count استفاده کنید:

who -q

خروجی:

root shetaban
# users=2

گزینه -a ، – همه افراد را مجبور به چاپ همه اطلاعات می کند:

who -a

خروجی:

system boot  2020-07-20 19:02
LOGIN      tty1         2020-07-20 19:02               673 id=tty1
           run-level 5  2020-07-20 19:02
root       - pts/0      2020-11-17 20:10   .       2212314 (89.205.101.54)
           pts/2        2020-10-10 10:19           1363538 id=ts/2  term=0 exit=0
shetaban   + pts/1      2020-11-17 20:11 01:46     2212387 (89.205.101.54)

جمع بندی:

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

امیدوارم این مقاله براتون مفید بوده باشه.

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

برچسب ها: دستورات لینوکس