NMCLI(1) راهنمای دستورات عمومی NMCLI(1)

nmcli - ابزار خط فرمان برای کنترل NetworkManager

nmcli [گزینه‌ها...] {help | general | networking | radio | connection | device | agent | monitor} [دستور] [آرگومان‌ها...]

nmcli یک ابزار خط فرمان برای کنترل NetworkManager و گزارش وضعیت شبکه است. می‌توان از آن به عنوان جایگزینی برای nm-applet یا سایر برنامه‌های گرافیکی مدیریت شبکه استفاده کرد. nmcli برای ایجاد، نمایش، ویرایش، حذف، فعال‌سازی و غیرفعال‌سازی اتصالات شبکه و همچنین کنترل و نمایش وضعیت دستگاه‌های شبکه به کار می‌رود. برای مشاهده مثال‌های آماده اجرای nmcli به nmcli-examples(7) مراجعه کنید.

کاربردهای متداول شامل موارد زیر است:

•اسکریپت‌ها: استفاده از NetworkManager از طریق nmcli به جای مدیریت دستی اتصالات شبکه. nmcli از یک قالب خروجی فشرده پشتیبانی می‌کند که برای پردازش اسکریپت‌ها مناسب‌تر است. توجه داشته باشید که NetworkManager همچنین می‌تواند اسکریپت‌هایی موسوم به «اسکریپت‌های توزیع‌کننده» (dispatcher scripts) را در پاسخ به رویدادهای شبکه اجرا کند. برای جزئیات بیشتر درباره این اسکریپت‌ها به NetworkManager(8) مراجعه کنید.
•سرورها، سیستم‌های بدون نمایشگر (headless) و ترمینال‌ها: nmcli می‌تواند برای کنترل NetworkManager بدون رابط گرافیکی استفاده شود، شامل ایجاد، ویرایش، شروع و متوقف کردن اتصالات شبکه و مشاهده وضعیت شبکه.

-a | --ask

هنگام استفاده از این گزینه، nmcli متوقف شده و آرگومان‌های ضروری ناموجود را درخواست می‌کند؛ بنابراین از این گزینه برای مقاصد غیرتعاملی مانند اسکریپت‌ها استفاده نکنید. این گزینه برای مثال کنترل می‌کند که آیا در صورت نیاز به گذرواژه برای اتصال به شبکه، از شما رمز عبور درخواست شود یا خیر.

-c | --colors {yes | no | auto}

این گزینه خروجی رنگی را (با استفاده از توالی‌های گریز ترمینال) کنترل می‌کند. yes رنگ‌ها را فعال می‌کند، no آن‌ها را غیرفعال می‌کند و auto تنها زمانی خروجی رنگی تولید می‌کند که خروجی استاندارد به یک ترمینال متصل باشد. مقدار پیش‌فرض auto است.

رنگ‌های واقعی استفاده‌شده همان‌طور که در terminal-colors.d(5) توضیح داده شده پیکربندی می‌شوند. لطفاً برای فهرستی از نام‌های رنگ‌های پشتیبانی‌شده توسط nmcli به بخش COLORS مراجعه فرمایید.

اگر متغیر محیطی NO_COLOR تنظیم شده باشد (روی هر مقدار غیرخالی)، رنگ‌آمیزی در حالت "auto" غیرفعال می‌شود. اگر متغیر محیطی CLICOLOR_FORCE تنظیم شده باشد (روی هر مقدار غیرخالی)، رنگ‌آمیزی در حالت "auto" فعال می‌شود. فعال‌سازی صریح رنگ‌ها متغیرهای محیطی را نادیده می‌گیرد.

--complete-args

به جای اجرای عملیات درخواستی، nmcli گزینه‌های ممکن برای تکمیل خودکار آخرین آرگومان را فهرست می‌کند. این ویژگی برای پیاده‌سازی تکمیل خودکار آرگومان‌ها در شل مفید است.

وضعیت خروج موفقیت را نشان می‌دهد یا کد 65 را برمی‌گرداند تا مشخص کند آخرین آرگومان یک نام فایل است.

NetworkManager همراه با پشتیبانی از تکمیل دستورات برای GNU Bash عرضه می‌شود.

-e | --escape {yes | no}

آیا کاراکترهای : و \ در حالت جدول فشرده اسکیپ شوند یا خیر. کاراکتر اسکیپ \ است.

در صورت حذف، مقدار پیش‌فرض yes است.

-f | --fields {field1,field2... | all | common}

این گزینه برای تعیین فیلدهایی (نام ستون‌ها) که باید چاپ شوند به کار می‌رود. نام‌های معتبر فیلدها برای دستورات مختلف متفاوت است. با ارائه یک مقدار نامعتبر به گزینه --fields می‌توانید فیلدهای موجود را فهرست کنید. all برای چاپ تمام مقادیر فیلدهای معتبر دستور استفاده می‌شود. common برای چاپ مقادیر فیلدهای رایج دستور استفاده می‌شود.

در صورت حذف، مقدار پیش‌فرض common است.

-g | --get-values {field1,field2... | all | common}

این گزینه برای چاپ مقادیر از فیلدهای خاص استفاده می‌شود. این گزینه در اصل یک میانبر برای --mode tabular --terse --fields است و روشی مناسب برای دریافت مقادیر مربوط به فیلدهای مشخص به شمار می‌آید. مقادیر خط‌به‌خط و بدون سربرگ چاپ می‌شوند.

اگر به جای یک فیلد یک بخش (section) مشخص شود، نام بخش چاپ شده و به دنبال آن مقادیر فیلدهای متعلق به آن بخش که با دونقطه از هم جدا شده‌اند، همگی در یک خط چاپ می‌شوند.

-h | --help

چاپ اطلاعات راهنما.

-m | --mode {tabular | multiline}

جابه‌جایی بین خروجی جدولی و چندخطی:

tabular

خروجی یک جدول است که در آن هر خط یک ورودی را توصیف می‌کند. ستون‌ها ویژگی‌های خاص آن ورودی را مشخص می‌کنند.

multiline

هر ورودی شامل چندین خط است و هر ویژگی در خط مربوط به خود قرار دارد. مقادیر با نام ویژگی پیشوندگذاری می‌شوند.

در صورت حذف، مقدار پیش‌فرض برای اکثر دستورات tabular است. برای دستوراتی که اطلاعات ساختاریافته‌تری تولید می‌کنند و نمی‌توان آن‌ها را در یک خط نمایش داد، پیش‌فرض multiline است. در حال حاضر، این موارد عبارتند از:

•nmcli connection show ID
•nmcli device show

-p | --pretty

خروجی زیبا و خوانا. این گزینه باعث می‌شود nmcli خروجی‌هایی با خوانایی آسان برای انسان تولید کند، یعنی مقادیر تراز شوند، سربرگ‌ها چاپ شوند و غیره.

-s | --show-secrets

هنگام استفاده از این گزینه، nmcli گذرواژه‌ها و مقادیر محرمانه‌ای را که ممکن است در خروجی یک عملیات وجود داشته باشند نمایش می‌دهد. این گزینه همچنین بر بازتاب (echo) گذرواژه‌های وارد شده توسط کاربر به عنوان ورودی تأثیر می‌گذارد.

-t | --terse

خروجی مختصر و فشرده. این حالت برای پردازش رایانه‌ای (اسکریپت) طراحی و مناسب است.

--offline

کارکرد بدون دیمن. باعث می‌شود دستورات connection add و connection modify داده‌های اتصال را از طریق ورودی/خروجی استاندارد بپذیرند و تولید کنند. در حالت عادی، nmcli با سرویس NetworkManager ارتباط برقرار می‌کند.

قالب داده‌های اتصال (keyfile) در راهنمای nm-settings-keyfile(5) شرح داده شده است.

-v | --version

نمایش نسخه nmcli.

-w | --wait seconds

این گزینه یک بازه زمانی مهلت (timeout) را تعیین می‌کند که طی آن nmcli منتظر می‌ماند تا NetworkManager عملیات را به پایان برساند. این گزینه به ویژه برای دستوراتی که ممکن است زمان بیشتری برای اتمام نیاز داشته باشند مفید است، مانند فعال‌سازی اتصال.

تعیین مقدار 0 به nmcli دستور می‌دهد که منتظر نماند و بلافاصله با وضعیت موفقیت خارج شود. مقدار پیش‌فرض به دستور اجرا شده بستگی دارد.

nmcli general {status | hostname | permissions | logging | reload} [آرگومان‌ها...]

از این دستور برای نمایش وضعیت و مجوزهای NetworkManager استفاده کنید. همچنین می‌توانید نام میزبان سیستم (hostname) و سطح گزارش‌گیری و دامنه‌های NetworkManager را دریافت کرده و تغییر دهید.

status

نمایش وضعیت کلی NetworkManager. این عمل پیش‌فرض است، زمانی که هیچ دستور اضافی برای nmcli general ارائه نشود.

hostname [hostname]

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

توجه داشته باشید که اصطلاح نام میزبان "سیستم" ممکن است توسط سایر برنامه‌ها یا ابزارها به عنوان "ماندگار" (persistent) یا "ایستا" (static) نیز نامیده شود. نام میزبان در بیشتر توزیع‌ها در فایل /etc/hostname ذخیره می‌شود. به عنوان مثال، سرویس systemd-hostnamed از اصطلاح نام میزبان "static" استفاده می‌کند و فقط هنگام شروع به کار فایل /etc/hostname را می‌خواند.

permissions

نمایش مجوزهایی که فراخواننده برای عملیات‌های مختلف احراز هویت‌شده ارائه‌شده توسط NetworkManager دارد، مانند فعال و غیرفعال کردن شبکه، تغییر وضعیت Wi-Fi و WWAN، ویرایش اتصالات و غیره.

logging [level level] [domains domains...]

دریافت و تغییر سطح ثبت وقایع و دامنه‌های NetworkManager. بدون هیچ آرگومانی، سطح گزارش‌گیری و دامنه‌های فعلی نمایش داده می‌شوند. برای تغییر وضعیت ثبت وقایع، پارامترهای level و یا domain را ارائه دهید. برای مشاهده مقادیر مجاز سطح و دامنه به NetworkManager.conf(5) مراجعه فرمایید.

reload [flags...]

بارگذاری مجدد پیکربندی NetworkManager و انجام برخی به‌روزرسانی‌ها، مانند پاکسازی حافظه‌های موقت یا بازنویسی وضعیت خارجی روی دیسک. این شبیه ارسال سیگنال SIGHUP به NetworkManager است اما از طریق آرگومان flags کنترل دقیق‌تری را بر آنچه باید بارگذاری مجدد شود ارائه می‌دهد. همچنین امکان دسترسی غیر-ریشه را از طریق PolicyKit فراهم می‌کند و برخلاف سیگنال‌ها، همگام (synchronous) است. فلگ‌های موجود عبارتند از:

conf

بارگذاری مجدد پیکربندی NetworkManager.conf از روی دیسک. توجه داشته باشید که این شامل اتصالات نمی‌شود، که می‌توان آن‌ها را در عوض از طریق nmcli connection reload مجدداً بارگذاری کرد.

dns-rc

به‌روزرسانی پیکربندی DNS که معمولاً شامل بازنویسی مجدد /etc/resolv.conf است. این معادل ارسال سیگنال SIGUSR1 به فرآیند NetworkManager است.

dns-full

راه‌اندازی مجدد افزونه DNS. این مورد به عنوان مثال هنگام استفاده از افزونه dnsmasq مفید است که از پیکربندی‌های اضافی در /etc/NetworkManager/dnsmasq.d استفاده می‌کند. اگر آن فایل‌ها را ویرایش کنید، می‌توانید افزونه DNS را مجدداً راه‌اندازی کنید. این عمل به مدت کوتاهی وضوح نام‌ها را قطع می‌کند.

بدون هیچ فلگی، تمام مواردی که پشتیبانی می‌شوند مجدداً بارگذاری خواهند شد که معادل ارسال یک SIGHUP است. برای جزئیات بیشتر درباره سیگنال‌ها به NetworkManager(8) مراجعه کنید.

nmcli networking {on | off | connectivity} [آرگومان‌ها...]

استعلام وضعیت شبکه NetworkManager، فعال و غیرفعال کردن شبکه.

on, off

فعال یا غیرفعال کردن کنترل شبکه توسط NetworkManager. با غیرفعال شدن شبکه، تمام رابط‌های مدیریت‌شده توسط NetworkManager غیرفعال می‌شوند.

connectivity [check]

دریافت وضعیت اتصال شبکه. آرگومان اختیاری check به NetworkManager می‌گوید که اتصال را مجدداً بررسی کند، در غیر این صورت آخرین وضعیت شناخته‌شده اتصال بدون بررسی مجدد نمایش داده می‌شود.

وضعیت‌های ممکن عبارتند از:

none

میزبان به هیچ شبکه‌ای متصل نیست.

portal

میزبان پشت یک پورتال محصور (captive portal) قرار دارد و نمی‌تواند به کل اینترنت دسترسی داشته باشد.

limited

میزبان به یک شبکه متصل است، اما دسترسی به اینترنت ندارد.

full

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

unknown

وضعیت اتصال قابل تشخیص نیست.

nmcli radio {all | wifi | wwan} [آرگومان‌ها...]

نمایش وضعیت کلیدهای رادیویی، یا فعال و غیرفعال کردن کلیدها.

wifi [on | off]

نمایش یا تنظیم وضعیت Wi-Fi در NetworkManager. اگر هیچ آرگومانی ارائه نشود، وضعیت Wi-Fi چاپ می‌شود؛ on وای‌فای را فعال می‌کند؛ off وای‌فای را غیرفعال می‌کند.

wwan [on | off]

نمایش یا تنظیم وضعیت WWAN (پهن‌باند همراه) در NetworkManager. اگر هیچ آرگومانی ارائه نشود، وضعیت پهن‌باند همراه چاپ می‌شود؛ on پهن‌باند همراه را فعال می‌کند، off آن را غیرفعال می‌کند.

all [on | off]

نمایش یا تنظیم همزمان تمام کلیدهای رادیویی ذکر شده قبلی.

nmcli monitor

مشاهده فعالیت NetworkManager. تغییرات در وضعیت اتصال، دستگاه‌ها یا نمایه‌های اتصال را زیر نظر می‌گیرد.

همچنین ببینید nmcli connection monitor و nmcli device monitor را برای نظارت بر تغییرات در دستگاه‌ها یا اتصالات خاص..SH "دستورات مدیریت اتصال (CONNECTION MANAGEMENT COMMANDS)"

nmcli connection {show | up | down | modify | add | edit | clone | delete | monitor | reload | load | import | export | migrate} [آرگومان‌ها...]

برنامه NetworkManager تمام پیکربندی‌های شبکه را به عنوان «اتصال» (connection) ذخیره می‌کند؛ این اتصالات مجموعه‌ای از داده‌ها (جزئیات لایه ۲، آدرس‌دهی IP و غیره) هستند که نحوه ایجاد یا اتصال به یک شبکه را توصیف می‌کنند. یک اتصال زمانی «فعال» (active) است که یک دستگاه از پیکربندی آن اتصال برای ایجاد یا اتصال به یک شبکه استفاده کند. ممکن است چندین اتصال برای یک دستگاه وجود داشته باشد، اما در هر لحظه تنها یکی از آن‌ها می‌تواند روی آن دستگاه فعال باشد. اتصالات اضافی می‌توانند برای جابه‌جایی سریع میان شبکه‌ها و پیکربندی‌های مختلف به کار روند.

سیستمی را در نظر بگیرید که معمولاً به یک شبکه مجهز به DHCP متصل است، اما گاهی اوقات به یک شبکه آزمایشی که از آدرس‌دهی IP ایستا استفاده می‌کند متصل می‌شود. به جای پیکربندی مجدد دستی eth0 در هر بار تغییر شبکه، می‌توان تنظیمات را به عنوان دو اتصال که هر دو برای eth0 اعمال می‌شوند ذخیره کرد؛ یکی برای DHCP (به نام default) و دیگری با جزئیات آدرس‌دهی ایستا (به نام testing). هنگام اتصال به شبکه دارای DHCP، کاربر دستور nmcli con up default را اجرا می‌کند و هنگام اتصال به شبکه ایستا، کاربر دستور nmcli con up testing را اجرا خواهد کرد.

show [--active] [--order [+-]category:...]

نمایش نمایه‌های اتصال در حافظه و روی دیسک، که ممکن است در صورت استفاده توسط یک دستگاه، برخی از آن‌ها فعال نیز باشند. بدون پارامتر، تمام نمایه‌ها فهرست می‌شوند. هنگامی که گزینه --active مشخص شود، فقط نمایه‌های فعال نمایش داده می‌شوند.

گزینه --order می‌تواند برای مرتب‌سازی سفارشی اتصالات استفاده شود. اتصالات را می‌توان بر اساس وضعیت فعال بودن (active)، نام (name)، نوع (type) یا مسیر D-Bus (مسیر یا path) مرتب کرد. اگر اتصالات بر اساس یک دسته مرتب‌سازی برابر باشند، می‌توان یک دسته اضافی مشخص کرد. ترتیب مرتب‌سازی پیش‌فرض معادل --order active:name:path است. + یا نبود پیشوند به معنای مرتب‌سازی صعودی (بر اساس حروف الفبا یا اعداد) است، - به معنای ترتیب معکوس (نزولی) می‌باشد. نام دسته‌ها را می‌توان به صورت اختصاری نیز نوشت (مانند --order -a:na).

show [--active] [id | uuid | path | apath] ID...

نمایش جزئیات اتصالات مشخص‌شده. به طور پیش‌فرض، هم پیکربندی ایستا و هم داده‌های اتصال فعال نمایش داده می‌شوند. هنگامی که گزینه --active مشخص شود، فقط نمایه‌های فعال در نظر گرفته می‌شوند. از گزینه سراسری --show-secrets برای نمایش رمزهای عبور و اسرار مرتبط با نمایه استفاده کنید.

کلیدواژه‌های id، uuid، path و apath می‌توانند در صورتی که ID مبهم باشد استفاده شوند. کلیدواژه‌های اختیاری تعیین‌کننده ID عبارتند از:

id

شناسه ID بیانگر نام اتصال است.

uuid

شناسه ID بیانگر UUID اتصال است.

path

شناسه ID بیانگر یک مسیر D-Bus اتصال ایستا در قالب /org/freedesktop/NetworkManager/Settings/num یا صرفاً num است.

apath

شناسه ID بیانگر یک مسیر D-Bus اتصال فعال در قالب /org/freedesktop/NetworkManager/ActiveConnection/num یا صرفاً num است.

فیلتر کردن خروجی با استفاده از گزینه سراسری --fields امکان‌پذیر است. از مقادیر زیر استفاده کنید:

profile

فقط پیکربندی نمایه ایستا را نشان می‌دهد.

active

فقط داده‌های اتصال فعال را (زمانی که نمایه فعال است) نشان می‌دهد.

همچنین می‌توانید فیلدهای خاصی را مشخص کنید. برای پیکربندی ایستا، از نام‌های تنظیمات و ویژگی‌ها همان‌طور که در صفحه راهنمای nm-settings-nmcli(5) شرح داده شده استفاده کنید. برای داده‌های فعال از GENERAL، IP4، DHCP4، IP6، DHCP6، VPN استفاده نمایید.

هنگامی که هیچ دستوری به nmcli connection داده نشود، اقدام پیش‌فرض nmcli connection show است.

up [id | uuid | path] ID [ifname ifname] [ap BSSID] [passwd-file file]

فعال‌سازی یک اتصال. اتصال با نام، UUID یا مسیر D-Bus آن شناسایی می‌شود. اگر ID مبهم باشد، می‌توان از کلیدواژه‌های id، uuid یا path استفاده کرد. هنگام نیاز به یک دستگاه خاص برای فعال‌سازی اتصال روی آن، باید گزینه ifname همراه با نام رابط ارائه شود. اگر ID داده نشود، ارائه ifname الزامی است و NetworkManager بهترین اتصال موجود را برای ifname داده‌شده فعال خواهد کرد. در مورد اتصال VPN، گزینه ifname دستگاه اتصال پایه را مشخص می‌کند. گزینه ap مشخص می‌کند در صورت اتصال Wi-Fi از کدام نقطه دسترسی (AP) خاص باید استفاده شود.

اگر گزینه --wait مشخص نشود، مهلت زمانی پیش‌فرض ۹۰ ثانیه خواهد بود.

برای توضیحات مربوط به کلیدواژه‌های تعیین‌کننده ID به connection show در بالا مراجعه کنید.

گزینه‌های موجود عبارتند از:

ifname

رابطی که برای فعال‌سازی استفاده خواهد شد.

ap

شناسه BSSID نقطه دسترسی (AP) که دستور باید به آن متصل شود (برای اتصالات Wi-Fi).

passwd-file

برخی شبکه‌ها ممکن است هنگام فعال‌سازی به اطلاعات احراز هویت نیاز داشته باشند. می‌توانید این اعتبارنامه‌ها را با استفاده از این گزینه ارائه دهید. هر خط از فایل باید حاوی یک گذرواژه در قالب زیر باشد:
setting_name.property_name:the password

برای مثال، برای Wi-Fi از نوع WPA با PSK، خط مربوطه به صورت زیر خواهد بود:

802-11-wireless-security.psk:secret12345

برای گذرواژه 802.1X، خط به صورت زیر است:

802-1x.password:my 1X password

nmcli همچنین رشته‌های wifi-sec و wifi را به جای 802-11-wireless-security می‌پذیرد. هنگامی که NetworkManager به یک گذرواژه نیاز دارد و ارائه نشده باشد، nmcli در صورت اجرا با گزینه --ask آن را درخواست خواهد کرد. اگر --ask ارسال نشده باشد، NetworkManager می‌تواند از یک عامل محرمانه دیگر که ممکن است در حال اجرا باشد (معمولاً یک عامل گرافیکی مانند nm-applet یا gnome-shell) درخواست کند.

down [id | uuid | path | apath] ID...

غیرفعال‌سازی یک اتصال از روی یک دستگاه بدون جلوگیری از فعال‌سازی خودکار بعدی دستگاه. می‌توان چندین اتصال را به دستور ارسال کرد.

توجه داشته باشید که این دستور اتصال فعال مشخص‌شده را غیرفعال می‌کند، اما دستگاهی که اتصال روی آن فعال بوده است، همچنان آماده اتصال می‌ماند و با جستجو برای یک اتصال مناسب که فلگ autoconnect آن تنظیم شده باشد، فعال‌سازی خودکار را انجام می‌دهد. توجه داشته باشید که نمایه اتصال غیرفعال‌شده به صورت داخلی از اتصال خودکار مجدد مسدود می‌شود؛ بنابراین تا زمان راه‌اندازی مجدد سیستم یا تا زمانی که کاربر اقدامی برای رفع انسداد اتصال خودکار انجام دهد (مانند ویرایش نمایه یا فعال‌سازی صریح آن)، به طور خودکار متصل نخواهد شد.

در بیشتر موارد ممکن است ترجیح دهید از دستور device down استفاده کنید.

اتصال با نام، UUID یا مسیر D-Bus آن شناسایی می‌شود. اگر ID مبهم باشد، می‌توان از کلیدواژه‌های id، uuid، path یا apath استفاده کرد.

برای توضیحات مربوط به کلیدواژه‌های تعیین‌کننده ID به connection show در بالا مراجعه فرمایید.

اگر گزینه --wait مشخص نشود، مهلت زمانی پیش‌فرض ۱۰ ثانیه خواهد بود.

modify [--temporary] [id | uuid | path] [ID] {option value | [+|-]setting.property value}...

افزودن، ویرایش یا حذف ویژگی‌ها در نمایه اتصال.

برای تنظیم ویژگی کافی است نام ویژگی و به دنبال آن مقدار را مشخص کنید. یک مقدار خالی ("") مقدار ویژگی را به حالت پیش‌فرض بازمی‌گرداند.

برای مشاهده مرجع کامل نام‌های تنظیمات و ویژگی‌ها، توضیحات و مقادیر پیش‌فرض آن‌ها به nm-settings-nmcli(5) مراجعه کنید. setting و property را می‌توان در صورتی که یکتا باشند به صورت اختصاری نیز نوشت.

اگر می‌خواهید یک مورد یا فلگ را به مقدار موجود اضافه کنید، از پیشوند + برای نام ویژگی یا نام مستعار استفاده کنید. اگر می‌خواهید مواردی را از یک ویژگی کانتینری یا فلگ حذف کنید، از پیشوند - استفاده نمایید. برای برخی ویژگی‌ها همچنین می‌توانید عناصر را با تعیین اندیس‌های مبتنی بر صفر حذف کنید. اصلاح‌کننده‌های + و - تنها برای ویژگی‌هایی که از آن‌ها پشتیبانی می‌کنند اثر واقعی دارند. این موارد به عنوان مثال شامل ویژگی‌های چندمقداری (کانتینر) یا فلگ‌هایی مانند ipv4.dns، ip4، ipv4.addresses، bond.options، 802-1x.phase1-auth-flags و غیره هستند.

اتصال با نام، UUID یا مسیر D-Bus آن شناسایی می‌شود. اگر ID مبهم باشد، می‌توان از کلیدواژه‌های id، uuid یا path استفاده کرد. شناسه ID با گزینه سراسری --offline استفاده نمی‌شود.

هنگامی که گزینه سراسری --offline استفاده شود، دستور اتصال را از ورودی استاندارد می‌خواند و اتصال ویرایش‌شده را به جای اعمال روی دیمن NetworkManager، در خروجی استاندارد چاپ می‌کند.

modify [--temporary] [id | uuid | path] ID remove setting

یک تنظیم را از نمایه اتصال حذف می‌کند. add [save {yes | no}] {option value | [+|-]setting.property value}...
ایجاد یک اتصال جدید با استفاده از ویژگی‌های مشخص‌شده.

باید اتصالات جدید را با جفت‌های ویژگی و مقدار توصیف کنید. برای مشاهده مرجع کامل به nm-settings-nmcli(5) مراجعه فرمایید. نحوه نگارش مشابه دستور nmcli connection modify است.

برای ساخت یک اتصال معنادار، دست‌کم باید ویژگی connection.type (یا نام مستعار type) را روی یکی از انواع شناخته‌شده اتصال NetworkManager تنظیم کنید:

•6lowpan
•802-11-olpc-mesh (نام مستعار olpc-mesh)
•802-11-wireless (نام مستعار wifi)
•802-3-ethernet (نام مستعار ethernet)
•adsl
•bluetooth
•bond
•bond-slave (منسوخ‌شده به نفع ethernet با کنترل‌کننده)
•bridge
•bridge-slave (منسوخ‌شده به نفع ethernet با کنترل‌کننده)
•cdma
•dummy
•generic
•gsm
•hsr
•infiniband
•ip-tunnel
•ipvlan
•loopback
•macsec
•macvlan
•olpc-mesh
•ovs-bridge
•ovs-interface
•ovs-port
•pppoe
•team
•team-slave (منسوخ‌شده به نفع ethernet با کنترل‌کننده)
•tun
•veth
•vlan
•vpn
•vrf
•vxlan
•wifi-p2p
•wimax
•wireguard
•wpan

متداول‌ترین کاربردها در بخش EXAMPLES شرح داده شده‌اند.

به غیر از ویژگی‌ها و مقادیر، دو گزینه ویژه نیز پذیرفته می‌شوند:

save

کنترل می‌کند که آیا اتصال باید ماندگار باشد یا خیر، یعنی NetworkManager باید آن را روی دیسک ذخیره کند (پیش‌فرض: yes).

--

اگر یک آرگومان تکی -- مشاهده شود، نادیده گرفته می‌شود. این مورد برای سازگاری با نسخه‌های قدیمی‌تر nmcli است.

هنگامی که گزینه سراسری --offline استفاده شود، دستور اتصال حاصل را به جای افزودن واقعی از طریق دیمن NetworkManager، در خروجی استاندارد چاپ می‌کند. edit {[id | uuid | path] ID | [type type] [con-name name] }

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

اتصال موجود با نام، UUID یا مسیر D-Bus آن شناسایی می‌شود. اگر ID مبهم باشد، می‌توان از یک کلیدواژه id، uuid یا path استفاده کرد. برای توضیحات مربوط به کلیدواژه‌های تعیین‌کننده ID به connection show در بالا مراجعه کنید. ارائه نکردن یک ID به این معنی است که یک اتصال جدید اضافه خواهد شد.

ویرایشگر تعاملی شما را در مراحل ویرایش اتصال راهنمایی می‌کند و به شما امکان می‌دهد با استفاده از یک رابط کاربری ساده مبتنی بر منو، پارامترهای اتصال را مطابق با نیازهای خود تغییر دهید. ویرایشگر مشخص می‌کند چه تنظیمات و ویژگی‌هایی قابل تغییر هستند و راهنمایی‌های درون‌خطی ارائه می‌دهد.

گزینه‌های موجود:

type

نوع اتصال جدید؛ انواع معتبر همان مواردی هستند که برای دستور connection add بیان شد.

con-name

نام اتصال جدید. بعداً می‌توان آن را در ویرایشگر تغییر داد.

همچنین برای مشاهده تمام نام‌های تنظیمات و ویژگی‌های NetworkManager و توضیحات آن‌ها به nm-settings-nmcli(5) و برای نشست‌های نمونه در ویرایشگر به nmcli-examples(7) مراجعه نمایید.

clone [--temporary] [id | uuid | path] ID new_name

شبیه‌سازی (کپی) یک اتصال. اتصالی که باید شبیه‌سازی شود با نام، UUID یا مسیر D-Bus آن شناسایی می‌شود. اگر ID مبهم باشد، می‌توان از یک کلیدواژه id، uuid یا path استفاده کرد. برای توضیحات کلیدواژه‌های تعیین‌کننده ID به connection show در بالا مراجعه فرمایید. new_name نام اتصال شبیه‌سازی‌شده جدید است. اتصال جدید یک رونوشت دقیق خواهد بود، به جز ویژگی‌های connection.id (new_name) و connection.uuid (تولیدشده به صورت خودکار).

نمایه اتصال جدید به صورت ماندگار ذخیره می‌شود مگر اینکه گزینه --temporary مشخص شده باشد، که در این صورت نمایه جدید پس از راه‌اندازی مجدد NetworkManager وجود نخواهد داشت.

delete [id | uuid | path] ID...

حذف یک اتصال پیکربندی‌شده. اتصال مورد نظر برای حذف با نام، UUID یا مسیر D-Bus آن شناسایی می‌شود. اگر ID مبهم باشد، می‌توان از یک کلیدواژه id، uuid یا path استفاده کرد. برای توضیحات کلیدواژه‌های تعیین‌کننده ID به connection show در بالا مراجعه کنید.

اگر گزینه --wait مشخص نشود، مهلت زمانی پیش‌فرض ۱۰ ثانیه خواهد بود.

monitor [id | uuid | path] ID...

پایش فعالیت نمایه اتصال. این دستور هر زمان که اتصال مشخص‌شده تغییر کند یک خط چاپ می‌کند. اتصالی که باید پایش شود با نام، UUID یا مسیر D-Bus آن شناسایی می‌شود. اگر ID مبهم باشد، می‌توان از یک کلیدواژه id، uuid یا path استفاده کرد. برای توضیحات کلیدواژه‌های تعیین‌کننده ID به connection show در بالا مراجعه نمایید.

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

reload

بارگذاری مجدد تمام فایل‌های اتصال از روی دیسک. برنامه NetworkManager تغییرات اعمال‌شده در فایل‌های اتصالات را پایش نمی‌کند؛ بنابراین باید از این دستور استفاده کنید تا به NetworkManager بگویید هنگام ایجاد تغییر در فایل‌ها، نمایه‌های اتصال را مجدداً از روی دیسک بخواند.

load filename...

بارگذاری / بارگذاری مجدد یک یا چند فایل اتصال از روی دیسک. پس از ویرایش دستی یک فایل اتصال، از این دستور استفاده کنید تا مطمئن شوید NetworkManager از آخرین وضعیت آن مطلع است.

import [--temporary] type type file file

وارد کردن (ایمپورت) یک پیکربندی خارجی به عنوان نمایه اتصال NetworkManager. نوع فایل ورودی توسط گزینه type مشخص می‌شود.

در حال حاضر تنها پیکربندی‌های VPN پشتیبانی می‌شوند. این پیکربندی توسط افزونه‌های VPN برنامه NetworkManager وارد می‌شود. مقادیر type همان مقادیر گزینه vpn-type در دستور nmcli connection add هستند. پیکربندی‌های VPN توسط افزونه‌های VPN ایمپورت می‌شوند، بنابراین افزونه مناسب VPN باید نصب شده باشد تا nmcli بتواند داده‌ها را وارد کند.

نمایه اتصال واردشده به صورت ماندگار ذخیره می‌شود مگر اینکه گزینه --temporary مشخص شده باشد، که در این صورت نمایه جدید پس از راه‌اندازی مجدد NetworkManager وجود نخواهد داشت.

export [id | uuid | path] ID [file]

صادر کردن (اکسپورت) یک اتصال.

در حال حاضر تنها اتصالات VPN پشتیبانی می‌شوند. باید یک افزونه مناسب VPN نصب شده باشد تا nmcli بتواند اتصال را صادر کند. اگر هیچ فایلی (file) ارائه نشود، داده‌های پیکربندی VPN در خروجی استاندارد چاپ خواهند شد.

migrate [--plugin plugin...] [id | uuid | path] [ID...]

مهاجرت دادن نمایه‌های اتصال به یک افزونه تنظیمات دیگر، مانند keyfile (پیش‌فرض) یا ifcfg-rh.

اتصالی که باید مهاجرت داده شود با نام، UUID یا مسیر D-Bus آن شناسایی می‌شود. اگر ID مبهم باشد، می‌توان از یک کلیدواژه id، uuid یا path استفاده کرد. برای توضیحات کلیدواژه‌های تعیین‌کننده ID به connection show در بالا مراجعه کنید.

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

اگر گزینه --wait مشخص نشود، مهلت زمانی پیش‌فرض ۱۰ ثانیه خواهد بود.

nmcli device {status | show | set | up | connect | reapply | modify | down | disconnect | delete | monitor | wifi | lldp | checkpoint} [آرگومان‌ها...]

نمایش و مدیریت رابط‌های شبکه.

status

چاپ وضعیت دستگاه‌ها.

این عمل پیش‌فرض است اگر هیچ دستوری برای nmcli device مشخص نشود.

show [ifname]

نمایش اطلاعات تفصیلی درباره دستگاه‌ها. بدون آرگومان، تمام دستگاه‌ها بررسی می‌شوند. برای دریافت اطلاعات یک دستگاه خاص، باید نام رابط ارائه شود.

set [ifname] ifname [autoconnect {yes | no}] [managed [--permanent | --permanent-only] {yes | no | up | down | reset}]

تنظیم ویژگی‌های دستگاه.

ویژگی managed گزینه --permanent را برای ماندگاری وضعیت مدیریت‌شده روی دیسک (و نه تنها در زمان اجرا) می‌پذیرد. با --permanent-only تنها وضعیت مدیریت‌شده دائمی تنظیم می‌شود و نه وضعیت در زمان اجرا. مقادیر ویژه up و down می‌توانند برای تنظیم وضعیت مدیریتی دستگاه همزمان با وضعیت مدیریت‌شده در زمان اجرا استفاده شوند. مقدار reset تنظیم صریح مدیریت‌شده را پاک می‌کند و همراه با --permanent یا --permanent-only تنظیم ذخیره‌شده ماندگار را نیز حذف می‌نماید.

up ifname

اتصال دستگاه. برنامه NetworkManager تلاش خواهد کرد یک اتصال مناسب را پیدا کند که فعال شود. همچنین اتصالاتی را که روی اتصال خودکار تنظیم نشده‌اند در نظر خواهد گرفت.

اگر هیچ اتصال سازگاری وجود نداشته باشد، یک نمایه جدید با تنظیمات پیش‌فرض ایجاد و فعال می‌شود. این مورد تفاوت میان nmcli connection up ifname "$DEVICE" و nmcli device up "$DEVICE" را مشخص می‌کند.

اگر گزینه --wait مشخص نشود، مهلت زمانی پیش‌فرض ۹۰ ثانیه خواهد بود.

connect ifname

نام مستعار برای دستور up. پیش از نسخه 1.34.0 دستور up پشتیبانی نمی‌شد.

reapply ifname

تلاش برای به‌روزرسانی دستگاه با تغییراتی که از زمان آخرین اعمال روی اتصال فعال فعلی ایجاد شده است.

modify ifname {option value | [+|-]setting.property value}...

تغییر تنظیمات فعلی فعال روی دستگاه.

این دستور به شما امکان می‌دهد تغییرات موقتی را در پیکربندی فعال روی یک دستگاه خاص اعمال کنید. این تغییرات در نمایه اتصال ذخیره نمی‌شوند.

برای فهرستی از ویژگی‌های موجود به nm-settings-nmcli(5) مراجعه کنید. لطفاً توجه داشته باشید که برخی از ویژگی‌ها را نمی‌توان روی دستگاهی که از قبل متصل است تغییر داد.

down ifname...

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

اگر گزینه --wait مشخص نشود، مهلت زمانی پیش‌فرض ۱۰ ثانیه خواهد بود.

disconnect ifname...

نام مستعار برای دستور down. پیش از نسخه 1.34.0 دستور down پشتیبانی نمی‌شد.

delete ifname...

حذف یک دستگاه. این دستور رابط را از سیستم حذف می‌کند. توجه داشته باشید که این دستور فقط برای دستگاه‌های نرم‌افزاری مانند bond، bridge، team و غیره کار می‌کند. دستگاه‌های سخت‌افزاری (مانند اترنت) را نمی‌توان با این دستور حذف کرد.

اگر گزینه --wait مشخص نشود، مهلت زمانی پیش‌فرض ۱۰ ثانیه خواهد بود.

monitor [ifname...]

پایش فعالیت دستگاه. این دستور هر زمان که دستگاه‌های مشخص‌شده تغییر وضعیت دهند، یک خط چاپ می‌کند.

در صورتی که هیچ رابطی مشخص نشود، تمام دستگاه‌ها را پایش می‌کند. پایشگر زمانی پایان می‌یابد که تمام دستگاه‌های مشخص‌شده ناپدید شوند. اگر می‌خواهید اضافه شدن دستگاه‌های جدید را پایش کنید، استفاده از پایشگر سراسری با دستور nmcli monitor را در نظر بگیرید.

wifi [list [--rescan | auto | no | yes] [ifname ifname] [bssid BSSID]]

فهرست کردن نقاط دسترسی (AP) موجود Wi-Fi. گزینه‌های ifname و bssid می‌توانند به ترتیب برای فهرست کردن نقاط دسترسی برای یک رابط خاص یا با یک BSSID مشخص استفاده شوند.

به طور پیش‌فرض، nmcli اطمینان حاصل می‌کند که فهرست نقاط دسترسی قدیمی‌تر از ۳۰ ثانیه نباشد و در صورت لزوم یک اسکن شبکه را راه‌اندازی می‌کند. گزینه --rescan می‌تواند برای اجبار یا غیرفعال کردن اسکن، بدون توجه به تازگی فهرست نقاط دسترسی استفاده شود.

wifi connect (B)SSID [password password] [wep-key-type {key | phrase}] [ifname ifname] [bssid BSSID] [name name] [private {yes | no}] [hidden {yes | no}]

اتصال به یک شبکه Wi-Fi مشخص‌شده توسط SSID یا BSSID. این دستور یک اتصال منطبق را پیدا کرده یا ایجاد می‌کند و سپس آن را روی یک دستگاه فعال می‌سازد. این معادل خط فرمانی کلیک روی یک SSID در یک کلاینت گرافیکی است. اگر اتصالی برای شبکه از قبل وجود داشته باشد، می‌توان نمایه موجود را به صورت زیر فعال کرد: nmcli con up id name. توجه داشته باشید که اگر اتصال قبلی وجود نداشته باشد، تنها شبکه‌های باز (open)، WEP و WPA-PSK پشتیبانی می‌شوند. همچنین فرض می‌شود که پیکربندی IP از طریق DHCP به دست می‌آید.

اگر گزینه --wait مشخص نشود، مهلت زمانی پیش‌فرض ۹۰ ثانیه خواهد بود.

گزینه‌های موجود عبارتند از:

password

گذرواژه برای شبکه‌های امن (WEP یا WPA).

wep-key-type

نوع کلید محرمانه WEP، یا key برای کلید ASCII/HEX یا phrase برای عبارت عبور (passphrase).

ifname

رابطی که برای فعال‌سازی استفاده خواهد شد.

bssid

در صورت تعیین، اتصال ایجادشده تنها به این BSSID محدود خواهد شد.

name

در صورت تعیین، اتصال از این نام استفاده خواهد کرد (در غیر این صورت NetworkManager خود یک نام ایجاد می‌کند).

private

اگر روی yes تنظیم شود، اتصال فقط برای کاربری که آن را ایجاد کرده قابل مشاهده خواهد بود. در غیر این صورت، اتصال در سطح کل سیستم است که حالت پیش‌فرض می‌باشد.

hidden

هنگام اتصال برای نخستین بار به یک نقطه دسترسی که SSID خود را پخش نمی‌کند (مخفی است)، روی yes تنظیم کنید. در غیر این صورت SSID پیدا نشده و تلاش برای اتصال ناموفق خواهد بود.

wifi hotspot [ifname ifname] [con-name name] [ssid SSID] [band {a | bg | 6GHz}] [channel channel] [password password]

ایجاد یک نقطه اتصال (هات‌اسپات) Wi-Fi. این دستور یک نمایه اتصال نقطه اتصال را بر اساس قابلیت‌های دستگاه Wi-Fi ایجاد کرده و آن را روی دستگاه فعال می‌کند. اگر دستگاه/درایور پشتیبانی کند، نقطه اتصال با WPA ایمن می‌شود، در غیر این صورت از WEP استفاده خواهد شد. از connection down یا device down برای متوقف کردن هات‌اسپات استفاده کنید.

پارامترهای نقطه اتصال می‌توانند تحت تأثیر پارامترهای اختیاری زیر قرار گیرند:

ifname

کدام دستگاه Wi-Fi استفاده شود.

con-name

نام نمایه اتصال نقطه اتصال ایجادشده.

ssid

شناسه SSID نقطه اتصال.

band

باند Wi-Fi مورد استفاده.

channel

کانال Wi-Fi مورد استفاده.

password

گذرواژه مورد استفاده برای نقطه اتصال ایجادشده. اگر ارائه نشود، nmcli یک گذرواژه تولید خواهد کرد. گذرواژه یا کلید پیش‌اشتراکی WPA است یا کلید WEP.

توجه داشته باشید که گزینه سراسری --show-secrets می‌تواند برای چاپ گذرواژه نقطه اتصال استفاده شود؛ به ویژه زمانی که گذرواژه تولید شده باشد بسیار مفید است.

wifi rescan [ifname ifname] [ssid SSID...]

درخواست از NetworkManager برای اسکن فوری نقاط دسترسی موجود. برنامه NetworkManager شبکه‌های Wi-Fi را به طور دوره‌ای اسکن می‌کند، اما در برخی موارد ممکن است شروع اسکن به صورت دستی مفید باشد (مانند پس از بیدار شدن رایانه از خواب). با استفاده از ssid، امکان اسکن برای یک SSID خاص وجود دارد که برای نقاط دسترسی با SSID مخفی کاربرد دارد. می‌توانید چندین پارامتر ssid را برای اسکن SSIDهای بیشتر ارائه دهید.

این دستور نقاط دسترسی را نشان نمی‌دهد، برای این منظور از nmcli device wifi list استفاده کنید.

wifi show-password [ifname ifname]

نمایش جزئیات شبکه‌های فعال Wi-Fi، شامل اطلاعات محرمانه و رمزهای عبور.

lldp [list [ifname ifname]]

نمایش اطلاعات درباره دستگاه‌های همسایه که از طریق پروتکل کشف لایه پیوند (LLDP) دریافت شده‌اند. گزینه ifname می‌تواند برای فهرست کردن همسایه‌ها فقط برای یک رابط خاص استفاده شود. این پروتکل باید در تنظیمات اتصال فعال شده باشد.

checkpoint [--timeout seconds] [ifname...] -- COMMAND...

دستور را با ثبت یک نقطه بازرسی (checkpoint) پیکربندی اجرا می‌کند و پس از اتمام درخواست تأیید می‌نماید. هنگامی که تأیید داده نشود، نقطه بازرسی پس از پایان مهلت زمانی به طور خودکار بازیابی می‌شود.

این ویژگی امکان اعمال تغییرات پیکربندی مخرب یا پرریسک را روی اتصالات از راه دور فراهم می‌کند، با این قابلیت که در صورت بروز خطا، پیکربندی شبکه به یک وضعیت پایدار و خوب شناخته‌شده قبلی بازگردد.

اگر فهرستی از نام‌های رابط مشخص شود، نقطه بازرسی تنها روی دستگاه‌های مشخص‌شده ثبت می‌شود؛ در غیر این صورت یک نقطه بازرسی برای تمام دستگاه‌ها گرفته خواهد شد.

در حال حاضر مهلت زمانی به طور پیش‌فرض ۱۵ ثانیه است. این مقدار ممکن است در نسخه‌های بعدی تغییر کند.

nmcli agent {secret | polkit | all}

اجرای nmcli به عنوان یک عامل محرمانه (secret agent) یا عامل polkit برای NetworkManager.

secret

ثبت nmcli به عنوان عامل محرمانه NetworkManager و گوش دادن به درخواست‌های اطلاعات محرمانه و رمزهای عبور. شما معمولاً به این دستور نیازی ندارید، زیرا nmcli می‌تواند اسرار را هنگام اتصال به شبکه‌ها مدیریت کند. با این حال، ممکن است این دستور را زمانی مفید بیابید که از ابزار دیگری برای فعال‌سازی اتصالات استفاده می‌کنید و هیچ عامل محرمانه‌ای (مانند nm-applet) در دسترس ندارید.

polkit

ثبت nmcli به عنوان یک عامل polkit برای نشست کاربر و گوش دادن به درخواست‌های مجوز. شما معمولاً به این دستور نیازی ندارید، زیرا nmcli می‌تواند اقدامات polkit مربوط به عملیات‌های NetworkManager را (هنگامی که با --ask اجرا شود) مدیریت کند. با این حال، ممکن است این دستور زمانی مفید باشد که بخواهید یک عامل متنی ساده polkit اجرا کنید و هیچ عاملی از یک محیط دسکتاپ ندارید. توجه داشته باشید که اجرای این دستور باعث می‌شود nmcli تمام درخواست‌های polkit را مدیریت کند و نه فقط موارد مربوط به NetworkManager، زیرا تنها یک عامل polkit می‌تواند برای یک نشست اجرا شود.

all

اجرای nmcli هم به عنوان عامل محرمانه NetworkManager و هم به عنوان عامل polkit.

رنگ‌آمیزی ضمنی را می‌توان با یک فایل خالی /etc/terminal-colors.d/nmcli.disable غیرفعال کرد.

برای مشاهده جزئیات بیشتر درباره پیکربندی رنگ‌آمیزی به terminal-colors.d(5) مراجعه کنید. نام‌های منطقی رنگ‌های پشتیبانی‌شده توسط nmcli عبارتند از:

connection-activated

اتصالی که فعال است.

connection-activating

اتصالی که در حال فعال شدن است.

connection-disconnecting

اتصالی که در حال قطع شدن است.

connection-external

اتصالی که نمایانگر پیکربندی ایجادشده در خارج از NetworkManager است.

connection-invisible

اتصالی که کاربر مجاز به دیدن جزئیات آن نیست.

connection-deprecated

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

connectivity-full

وضعیت اتصال هنگامی که اینترنت در دسترس است.

connectivity-limited

وضعیت اتصال هنگامی که تنها شبکه محلی در دسترس است.

connectivity-none

وضعیت اتصال هنگامی که اتصال شبکه قطع است.

connectivity-portal

وضعیت اتصال زمانی که یک پورتال محصور (captive portal) اتصال را رهگیری کرده است.

connectivity-unknown

وضعیت اتصال هنگامی که بررسی اتصال اجرا نشده باشد.

device-activated

دستگاهی که متصل است.

device-activating

دستگاهی که در حال پیکربندی است.

device-disconnected

دستگاهی که متصل نیست.

device-external

دستگاهی که در خارج از NetworkManager پیکربندی شده است.

device-firmware-missing

هشدار در مورد میان‌افزار (firmware) ناموجود دستگاه.

device-plugin-missing

هشدار در مورد افزونه ناموجود دستگاه.

device-unavailable

دستگاهی که برای فعال‌سازی در دسترس نیست.

device-disabled

دستگاه توسط کلید قطع نرم‌افزاری یا سخت‌افزاری غیرفعال شده است.

manager-running

اعلام اینکه دیمن NetworkManager در دسترس است.

manager-starting

اعلام اینکه دیمن NetworkManager در حال اتصال اولیه است.

manager-stopped

اعلام اینکه دیمن NetworkManager در دسترس نیست.

permission-auth

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

permission-no

اقدامی که مجاز نیست.

permission-yes

اقدامی که مجاز است.

prompt

اعلان در حالت تعاملی.

state-asleep

نشان‌دهنده قرار داشتن NetworkManager در وضعیت تعلیق (suspended).

state-connected-global

نشان‌دهنده اتصال NetworkManager به اینترنت.

state-connected-local

نشان‌دهنده قرار داشتن NetworkManager در شبکه محلی.

state-connected-site

نشان‌دهنده اتصال NetworkManager به شبکه‌هایی غیر از اینترنت.

state-connecting

نشان‌دهنده در حال برقراری اتصال شبکه بودن NetworkManager.

state-disconnected

نشان‌دهنده قطع بودن NetworkManager از شبکه.

state-disconnecting

نشان‌دهنده در حال قطع اتصال بودن NetworkManager از یک شبکه.

wifi-signal-excellent

شبکه Wi-Fi با سطح سیگنال عالی.

wifi-signal-fair

شبکه Wi-Fi با سطح سیگنال متوسط.

wifi-signal-good

شبکه Wi-Fi با سطح سیگنال خوب.

wifi-signal-poor

شبکه Wi-Fi با سطح سیگنال ضعیف.

wifi-signal-unknown

شبکه Wi-Fi که عملاً دیده نشده است (یک نقطه دسترسی مخفی).

wifi-deprecated

شبکه Wi-Fi که ممکن است به دلیل استفاده از قابلیت‌های منسوخ‌شده، اتصال به آن غیرممکن باشد.

disabled

ویژگی‌ای که خاموش (غیرفعال) است.

enabled

ویژگی‌ای که روشن (فعال) است.

رفتار nmcli تحت تأثیر متغیرهای محیطی زیر قرار دارد.

LC_ALL

اگر روی یک مقدار رشته‌ای غیرخالی تنظیم شود، مقادیر تمام متغیرهای بین‌المللی‌سازی دیگر را نادیده می‌گیرد.

LC_MESSAGES

محلی‌سازی (locale) مورد استفاده برای پیام‌های بین‌المللی را تعیین می‌کند.

LANG

یک مقدار پیش‌فرض برای متغیرهای بین‌المللی‌سازی که تنظیم نشده یا تهی (null) هستند ارائه می‌دهد.

NO_COLOR

پیش‌فرض برای عدم تولید خروجی رنگی و صفحه‌بندی‌شده. گزینه --colors در صورت استفاده اولویت دارد.

PAGER

فیلتری برای هدایت خروجی از طریق لوله (pipe) در صورتی که در یک صفحه جا نشود. می‌تواند نام فایل یک برنامه اجرایی یا یک دستور شل باشد. رشته خالی برای غیرفعال کردن این قابلیت استفاده می‌شود.

توجه داشته باشید که انتظار می‌رود دستور صفحه‌بند کاراکترهای عریض و توالی‌های گریز ANSI برای تغییر رنگ‌ها را (مگر اینکه غیرفعال شده باشند) مدیریت کند. برنامه nmcli متغیرهای محیطی LESS و LESSCHARSET را به طور مناسب برای صفحه‌بند less(1) تنظیم می‌کند؛ سایر صفحه‌بندها ممکن است به پیکربندی اضافی نیاز داشته باشند یا نداشته باشند.

در صورت عدم تعیین، دستورات pager(1)، less(1) و more(1) (به همین ترتیب) امتحان خواهند شد.

TERM

نوع ترمینال. اگر روی dumb تنظیم شده باشد، nmcli از یک صفحه‌بند استفاده نخواهد کرد و توالی‌های گریز ANSI را برای رنگ‌آمیزی تولید نمی‌کند.

فرض می‌شود که انواع ترمینال به غیر از dumb از توالی‌های گریز ASCII برای تنظیم رنگ خروجی پشتیبانی می‌کنند.

توجه داشته باشید که nmcli بومی‌سازی شده است و به همین دلیل خروجی آن به محیط شما بستگی دارد. درک این موضوع به ویژه هنگامی که خروجی را پردازش و تحلیل می‌کنید (parse) اهمیت دارد.

برای اطمینان از اینکه زبان (locale) هنگام اجرا در اسکریپت روی C تنظیم شده است، nmcli را به صورت زیر فراخوانی کنید:

LC_ALL=C nmcli

متغیرهای LC_ALL، LC_MESSAGES و LANG دسته محلی‌سازی LC_MESSAGES را (به همین ترتیب) مشخص می‌کنند، که زبانی را که nmcli برای پیام‌ها استفاده می‌کند تعیین می‌نماید. در صورتی که هیچ‌یک از این متغیرها تنظیم نشده باشند، از محلی‌سازی C استفاده می‌شود و این محلی‌سازی از پیام‌های انگلیسی استفاده می‌کند.

برنامه nmcli در صورت موفقیت با وضعیت 0 خارج می‌شود، و در صورت بروز خطا مقداری بزرگتر از 0 برگردانده خواهد شد.

0

موفقیت – نشان می‌دهد که عملیات با موفقیت انجام شد.

1

خطای ناشناخته یا نامشخص.

2

ورودی نامعتبر کاربر، فراخوانی نادرست nmcli.

3

پایان مهلت زمانی (گزینه --wait را ببینید).

4

فعال‌سازی اتصال ناموفق بود.

5

غیرفعال‌سازی اتصال ناموفق بود.

6

قطع ارتباط دستگاه ناموفق بود.

7

حذف اتصال ناموفق بود.

8

برنامه NetworkManager در حال اجرا نیست.

10

اتصال، دستگاه یا نقطه دسترسی وجود ندارد.

65

هنگام استفاده با گزینه --complete-args، انتظار می‌رود یک نام فایل به دنبال آن بیاید.

این بخش مثال‌های مختلفی از نحوه استفاده از nmcli را ارائه می‌دهد. اگر به مثال‌های بیشتری نیاز دارید، لطفاً به صفحه راهنمای nmcli-examples(7) مراجعه فرمایید.

nmcli -t -f RUNNING general

به شما می‌گوید که آیا NetworkManager در حال اجرا است یا خیر.

nmcli -t -f STATE general

وضعیت کلی NetworkManager را نشان می‌دهد.

nmcli radio wifi off

وای‌فای (Wi-Fi) را خاموش می‌کند.

nmcli connection show

تمام اتصالات موجود در NetworkManager را فهرست می‌کند.

nmcli -p -m multiline -f all con show

تمام اتصالات پیکربندی‌شده را در حالت چندخطی نشان می‌دهد.

nmcli connection show --active

تمام اتصالات فعال فعلی را فهرست می‌کند.

nmcli -f name,autoconnect c s

تمام نام‌های نمایه‌های اتصال و ویژگی اتصال خودکار (autoconnect) آن‌ها را نشان می‌دهد.

nmcli -p connection show "My default em1"

جزئیات نمایه اتصال "My default em1" را نشان می‌دهد.

nmcli --show-secrets connection show "My Home Wi-Fi"

جزئیات نمایه اتصال "My Home Wi-Fi" را همراه با تمام گذرواژه‌ها نشان می‌دهد. بدون گزینه --show-secrets، داده‌های محرمانه و رمزها نمایش داده نخواهند شد.

nmcli -f active connection show "My default em1"

جزئیات اتصال فعال "My default em1"، مانند IP، اطلاعات DHCP و غیره را نشان می‌دهد.

nmcli -f profile con s "My wired connection"

جزئیات پیکربندی ایستای نمایه اتصال با نام "My wired connection" را نشان می‌دهد.

nmcli -p con up "My wired connection" ifname eth0

نمایه اتصال با نام "My wired connection" را روی رابط eth0 فعال می‌کند. گزینه -p باعث می‌شود nmcli پیشرفت فعال‌سازی را نشان دهد.

nmcli con up 6b028a27-6dc9-4411-9886-e9ad1dd43761 ap 00:3A:98:7C:42:D3

اتصال Wi-Fi با شناسه UUID معادل 6b028a27-6dc9-4411-9886-e9ad1dd43761 را به نقطه دسترسی (AP) با BSSID مشخص 00:3A:98:7C:42:D3 متصل می‌کند.

nmcli device status

وضعیت تمام دستگاه‌ها را نشان می‌دهد.

nmcli dev down em2

اتصال روی رابط em2 را قطع کرده و دستگاه را برای اتصال خودکار غیرقابل دسترس علامت‌گذاری می‌کند. در نتیجه، تا زمانی که ویژگی autoconnect دستگاه روی TRUE تنظیم نشود یا کاربر اتصال را به صورت دستی فعال نکند، هیچ اتصالی به طور خودکار روی دستگاه فعال نخواهد شد.

nmcli -f GENERAL,WIFI-PROPERTIES dev show wlan0

جزئیات رابط wlan0 را نشان می‌دهد؛ فقط بخش‌های GENERAL و WIFI-PROPERTIES نمایش داده خواهند شد.

nmcli -f CONNECTIONS device show wlp3s0

تمام نمایه‌های اتصال موجود برای رابط Wi-Fi شما (wlp3s0) را نشان می‌دهد.

nmcli dev wifi

نقاط دسترسی Wi-Fi شناخته‌شده برای NetworkManager را فهرست می‌کند.

nmcli dev wifi con "Cafe Hotspot 1" password caffeine name "My cafe"

یک اتصال جدید به نام "My cafe" ایجاد کرده و سپس با استفاده از گذرواژه "caffeine" آن را به نقطه دسترسی با SSID به نام "Cafe Hotspot 1" متصل می‌کند. این دستور به ویژه هنگام اتصال برای اولین بار به "Cafe Hotspot 1" مفید است. دفعه بعد، بهتر است از nmcli con up id "My cafe" استفاده شود تا از نمایه اتصال موجود استفاده شده و اتصال اضافی ایجاد نگردد.

nmcli -s dev wifi hotspot con-name QuickHotspot

یک نمایه نقطه اتصال (هات‌اسپات) ایجاد کرده و آن را متصل می‌کند. گذرواژه نقطه اتصال را چاپ می‌کند که کاربر باید از آن برای اتصال به هات‌اسپات از طریق سایر دستگاه‌ها استفاده کند.

nmcli dev modify em1 ipv4.method shared

اشتراک‌گذاری اتصال IPv4 را با استفاده از دستگاه em1 آغاز می‌کند. این اشتراک‌گذاری تا زمانی که اتصال دستگاه قطع شود فعال خواهد بود.

nmcli dev modify em1 ipv6.address 2001:db8::a:bad:c0de

به صورت موقت یک آدرس IP به یک دستگاه اضافه می‌کند. این آدرس زمانی که همان اتصال مجدداً فعال شود حذف خواهد شد.

nmcli connection add type ethernet autoconnect no ifname eth0

به صورت غیرتعاملی یک اتصال اترنت متصل به رابط eth0 با پیکربندی خودکار IP (از طریق DHCP) اضافه کرده و فلگ autoconnect اتصال را غیرفعال می‌کند.

nmcli c a ifname Maxipes-fik type vlan dev eth0 id 55

به صورت غیرتعاملی یک اتصال VLAN با شناسه 55 اضافه می‌کند. این اتصال از eth0 استفاده خواهد کرد و رابط VLAN به نام Maxipes-fik نام‌گذاری خواهد شد.

nmcli c a ifname eth0 type ethernet ipv4.method disabled ipv6.method link-local

به صورت غیرتعاملی اتصالی اضافه می‌کند که از رابط اترنت eth0 استفاده کرده و تنها یک آدرس محلی پیوند (link-local) IPv6 روی آن پیکربندی شده است.

nmcli connection edit ethernet-em1-2

اتصال موجود "ethernet-em1-2" را در ویرایشگر تعاملی ویرایش می‌کند.

nmcli connection edit type ethernet con-name "yet another Ethernet connection"

یک اتصال اترنت جدید در ویرایشگر تعاملی اضافه می‌کند.

nmcli con mod ethernet-2 connection.autoconnect no

ویژگی autoconnect را در تنظیم connection مربوط به اتصال ethernet-2 ویرایش می‌کند.

nmcli con mod "Home Wi-Fi" wifi.mtu 1350

ویژگی mtu را در تنظیم wifi مربوط به اتصال Home Wi-Fi ویرایش می‌کند.

nmcli con mod em1-1 ipv4.method manual ipv4.addr "192.168.1.23/24 192.168.1.1, 10.10.1.5/8, 10.0.0.11"

آدرس‌دهی دستی و آدرس‌ها را در نمایه em1-1 تنظیم می‌کند.

nmcli con modify ABC +ipv4.dns 8.8.8.8

یک سرور عمومی DNS گوگل را به سرورهای DNS در نمایه ABC اضافه می‌کند.

nmcli con modify ABC -ipv4.addresses "192.168.100.25/24 192.168.1.1"

آدرس IP مشخص‌شده را از نمایه (ایستای) ABC حذف می‌کند.

nmcli con import type openvpn file ~/Downloads/frootvpn.ovpn

یک پیکربندی OpenVPN را به NetworkManager وارد می‌کند.

nmcli con export corp-vpnc /home/joe/corpvpn.conf

نمایه VPN مربوط به corp-vpnc در NetworkManager را به عنوان پیکربندی استاندارد سیسکو (vpnc) صادر می‌کند.

nmcli نام‌های اختصاری را می‌پذیرد، به شرطی که یک پیشوند یکتا در مجموعه گزینه‌های ممکن باشند. با اضافه شدن گزینه‌های جدید، تضمینی وجود ندارد که این اختصارات یکتا باقی بمانند. بنابراین برای اسکریپت‌نویسی و سازگاری طولانی‌مدت، قویاً توصیه می‌شود نام‌های کامل گزینه‌ها را بنویسید.

احتمالاً اشکالاتی وجود دارد. اگر باگی پیدا کردید، لطفاً آن را به توزیع خود یا به پروژه اصلی در آدرس زیر گزارش دهید: https://gitlab.freedesktop.org/NetworkManager/NetworkManager

nmcli-examples(7)، nm-settings-nmcli(5)، nm-online(1)، NetworkManager(8)، NetworkManager.conf(5)، nm-applet(1)، nm-connection-editor(1)، terminal-colors.d(5).

NetworkManager 1.58.1