TNFTP(1) General Commands Manual TNFTP(1)

tnftp — برنامه انتقال فایل اینترنتی

tnftp [-46AadefginpRtVv] [-b bufsize] [-H header] [-N netrc] [-o output] [-P port] [-q quittime] [-r retry] [-s srcaddr] [-T dir,max[,inc]] [-x xfersize] [[user@]host [port]] [[user@]host:[path][/]] [file:///path] [ftp://[user[:password]@]host[:port]/path[/][;type=type]] [http://[user[:password]@]host[:port]/path] [https://[user[:password]@]host[:port]/path] ... tnftp -u url file ... tnftp -?.Sh -توضیحات (DESCRIPTION) tnftp رابط کاربری برای پروتکل استاندارد اینترنتی انتقال فایل (File Transfer Protocol) است. این برنامه به کاربر امکان می‌دهد فایل‌ها را به یا از یک میزبان شبکه‌ای دوردست انتقال دهد.

پنج آرگومان پایانی یک فایل را با استفاده از پروتکل‌های FTP یا HTTP یا از طریق رونویسی مستقیم، به دایرکتوری جاری دریافت می‌کنند. این قابلیت برای اسکریپت‌ها ایده‌آل است. برای اطلاعات بیشتر به AUTO-FETCHING FILES در ادامه مراجعه کنید.

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

tnftp را وادار می‌کند تنها از نشانی‌های IPv4 استفاده کند.
tnftp را وادار می‌کند تنها از نشانی‌های IPv6 استفاده کند.
حالت فعال (active mode) در FTP را اجبار می‌کند. به‌طور پیش‌فرض، tnftp تلاش می‌کند از حالت غیرفعال (passive mode) در FTP استفاده کند و در صورتی که سرور از حالت غیرفعال پشتیبانی نکند، به حالت فعال بازگردد. این گزینه باعث می‌شود tnftp همیشه از یک اتصال فعال استفاده کند. این گزینه تنها برای اتصال به سرورهای بسیار قدیمی که حالت غیرفعال را به‌درستی پیاده‌سازی نکرده‌اند کاربرد دارد.
باعث می‌شود tnftp روال عادی ورود را نادیده گرفته و در عوض از ورود ناشناس (anonymous) استفاده کند.
bufsize
اندازه بافر استفاده‌شده برای تجزیه خطوط پاسخ HTTP را به bufsize بایت تغییر می‌دهد. مقدار پیش‌فرض bufsize برابر با 16384 (16 KiB) است.
اشکال‌زدایی را فعال می‌کند.
ویرایش خط فرمان را غیرفعال می‌کند. این گزینه برای حالت ange-ftp در Emacs مفید است.
بارگذاری مجدد حافظه موقت (cache) را برای انتقال‌هایی که از پروکسی‌های FTP یا HTTP عبور می‌کنند اجبار می‌کند.
تطبیق الگوهای نام فایل (globbing) را غیرفعال می‌کند.
header
رشته header ارائه‌شده را به عنوان یک سرایند سفارشی HTTP برای یک درخواست HTTP لحاظ می‌کند. گزینه -H می‌تواند برای افزودن سرایندهای بیشتر تکرار شود.
درخواست‌های تأیید تعاملی را در حین انتقال چندگانه فایل‌ها غیرفعال می‌کند.
netrc
به جای ~/.netrc از netrc استفاده می‌کند. برای اطلاعات بیشتر به THE .netrc FILE مراجعه کنید.
tnftp را از تلاش برای “auto-login” هنگام اتصال اولیه در انتقال‌های غیر خودکار بازمی‌دارد. اگر ورود خودکار فعال باشد، tnftp فایل .netrc (در ادامه توضیح داده شده) در دایرکتوری خانگی کاربر را برای یافتن مدخلی مربوط به یک حساب در رایانه دوردست بررسی می‌کند. اگر مدخلی وجود نداشته باشد، tnftp نام کاربری برای ورود به رایانه دوردست را درخواست می‌کند (پیش‌فرض، شناسه کاربر در رایانه محلی است), و در صورت لزوم، گذرواژه و حسابی را که باید با آن وارد شود جویا می‌شود. برای لغو ورود خودکار در انتقال‌های دریافت خودکار، نام کاربری (و در صورت تمایل، گذرواژه) را برحسب نیاز مشخص کنید.
output
هنگام دریافت خودکار فایل‌ها، محتویات را در output ذخیره می‌کند. output بر اساس FILE NAMING CONVENTIONS در ادامه تجزیه می‌شود. اگر output برابر با ‘-’ نبوده یا با ‘|’ آغاز نشود، آنگاه تنها اولین فایل مشخص‌شده در output دریافت خواهد شد؛ تمام فایل‌های دیگر با نام پایه (basename) نام دوردست خود دریافت خواهند شد.
port
شماره پورت را به port تنظیم می‌کند.
عملیات در حالت غیرفعال را برای استفاده در پشت فایروال‌های فیلترکننده اتصالات فعال می‌کند. این گزینه منسوخ شده است، زیرا tnftp اکنون به‌طور پیش‌فرض تلاش می‌کند از حالت غیرفعال استفاده کند و در صورتی که سرور از اتصالات غیرفعال پشتیبانی نکند به حالت فعال بازمی‌گردد.
quittime
اگر اتصال به مدت quittime ثانیه متوقف بماند، برنامه را می‌بندد.
تمام دریافت‌های خودکار غیرپروکسی‌شده را از سر می‌گیرد.
retry
در صورت ناموفق بودن تلاش برای اتصال، با مکث به مدت retry ثانیه، مجدداً تلاش می‌کند.
srcaddr
از srcaddr به عنوان نشانی IP محلی برای تمام اتصالات استفاده می‌کند.
ردیابی بسته‌ها (packet tracing) را فعال می‌کند.
direction,maximum[,increment]
حداکثر نرخ انتقال برای direction را به maximum بایت بر ثانیه، و در صورت تعیین، گام افزایش را به increment بایت بر ثانیه تنظیم می‌کند. برای اطلاعات بیشتر به rate مراجعه کنید.
url file ...
فایل‌های مشخص‌شده در خط فرمان را به url بارگذاری می‌کند، که در آن url یکی از انواع نشانی‌های ‘ftp://’ پشتیبانی‌شده توسط دریافت خودکار (auto-fetch) است (همراه با یک نام فایل مقصد اختیاری برای بارگذاری تک‌فایل), و file یک یا چند فایل محلی است که باید بارگذاری شوند.
و progress را غیرفعال می‌کند، و حالت پیش‌فرض فعال بودن هنگام ارسال خروجی به ترمینال را لغو می‌کند.
و progress را فعال می‌کند. این حالت در صورتی که خروجی به یک ترمینال ارسال شود، پیش‌فرض است.Po و در مورد progress, tnftp فرایند پیش‌زمینه باشد. tnftp را وادار می‌کند تا تمام پاسخ‌های کارساز دوردست و همچنین گزارش آمارهای انتقال داده را نمایش دهد.
xfersize
اندازه بافرهای ارسال و دریافت سوکت را روی xfersize بایت تنظیم می‌کند. برای اطلاعات بیشتر به xferbuf مراجعه کنید.
راهنما را در خروجی استاندارد نمایش داده و خارج می‌شود.

میزبانی که tnftp باید با آن ارتباط برقرار کند، می‌تواند در خط فرمان مشخص شود. اگر چنین شود، tnftp بلافاصله برای برقراری اتصال به یک کارساز FTP روی آن میزبان تلاش خواهد کرد؛ در غیر این صورت، tnftp وارد مفسر دستورهای خود شده و منتظر دستورهای کاربر می‌ماند. هنگامی که tnftp منتظر دستورهای کاربر است، اعلان ‘ftp>’ به کاربر نمایش داده می‌شود. دستورهای زیر توسط tnftp شناخته می‌شوند:

[command [args]]
یک شل تعاملی را روی ماشین محلی فراخوانی می‌کند. اگر آرگومان‌هایی وجود داشته باشد، اولین آرگومان به عنوان دستوری برای اجرای مستقیم در نظر گرفته می‌شود و بقیه آرگومان‌ها به عنوان آرگومان‌های آن عمل می‌کنند.
macro-name [args]
ماکروی macro-name را که با دستور macdef تعریف شده است اجرا می‌کند. آرگومان‌ها بدون بسط الگو (unglobbed) به ماکرو ارسال می‌شوند.
[passwd]
گذرواژه تکمیلی مورد نیاز یک سیستم دوردست را برای دسترسی به منابع، پس از انجام موفقیت‌آمیز ورود به سیستم، ارائه می‌دهد. اگر هیچ آرگومانی ارائه نشود، در حالت ورودی بدون بازتاب از کاربر خواسته می‌شود تا گذرواژه حساب را وارد کند.
local-file [remote-file]
یک فایل محلی را به انتهای یک فایل در ماشین دوردست الحاق می‌کند. اگر remote-file مشخص نشود، نام فایل محلی پس از اعمال هرگونه تغییر توسط تنظیمات ntrans یا nmap برای نام‌گذاری فایل دوردست استفاده می‌شود. انتقال فایل از تنظیمات جاری برای type ، form ، mode و struct استفاده می‌کند.
مترادفی برای type ascii.
تنظیم می‌کند که پس از تکمیل هر دستور انتقال فایل، صدایی شبیه زنگ نواخته شود.
مترادفی برای type binary.
نشست FTP با کارساز دوردست را خاتمه داده و از tnftp خارج می‌شود. رسیدن به انتهای فایل (EOF) نیز نشست را خاتمه داده و خارج می‌شود.
تطبیق بزرگی و کوچکی حروف نام فایل در رایانه دوردست را هنگام اجرای دستورهای get ، mget و mput تغییر وضعیت می‌دهد. هنگامی که case روشن است (پیش‌فرض خاموش است)، نام فایل‌های رایانه دوردست که تمام حروف آن‌ها بزرگ است، با تبدیل به حروف کوچک در دایرکتوری محلی نوشته می‌شوند.
remote-directory
دایرکتوری کاری در ماشین دوردست را به remote-directory تغییر می‌دهد.
دایرکتوری کاری ماشین دوردست را به والد دایرکتوری کاری جاری ماشین دوردست تغییر می‌دهد.
mode remote-file
حالت‌های مجوز دسترسی فایل remote-file روی سیستم دوردست را به mode تغییر می‌دهد.
نشست FTP با کارساز دوردست را خاتمه داده و به مفسر دستور بازمی‌گردد. تمام ماکروهای تعریف‌شده پاک می‌شوند.
host [port]
مترادفی برای open.
حذف نویسه بازگشت به سر سطر (carriage return) را هنگام دریافت فایل در حالت type ascii تغییر وضعیت می‌دهد. در طول انتقال فایل در حالت type ascii ، رکوردها با دنباله carriage return/linefeed مشخص می‌شوند. هنگامی که cr روشن باشد (حالت پیش‌فرض)، نویسه‌های بازگشت به سر سطر از این دنباله حذف می‌شوند تا با جداکننده رکورد تک‌linefeed در UNIX مطابقت داشته باشند. رکوردها در سیستم‌های دوردستِ non-UNIX ممکن است حاوی تک‌linefeed باشند؛ هنگامی که یک انتقال type ascii انجام می‌شود، این linefeedها تنها زمانی از جداکننده رکورد قابل تفکیک هستند که cr خاموش باشد.
[debug-value]
حالت اشکال‌زدایی را تغییر وضعیت می‌دهد. اگر مقدار اختیاری debug-value مشخص شود، برای تنظیم سطح اشکال‌زدایی استفاده می‌شود. هنگامی که اشکال‌زدایی فعال باشد، tnftp هر دستور ارسالی به ماشین دوردست را با پیشوند رشته ‘-->’ چاپ می‌کند.
remote-file
فایل remote-file را روی ماشین دوردست حذف می‌کند.
[remote-path [local-file]]
فهرستی از محتویات یک دایرکتوری در ماشین دوردست را چاپ می‌کند. این فهرست شامل هرگونه اطلاعات وابسته به سیستم است که کارساز برای گنجاندن انتخاب می‌کند؛ برای نمونه، بیشتر سیستم‌های UNIX خروجی دستور ‘ls -l’ را تولید خواهند کرد. اگر remote-path مشخص نشود، از دایرکتوری کاری جاری استفاده می‌شود. اگر اعلان تعاملی فعال باشد، tnftp از کاربر می‌خواهد تا تأیید کند که آخرین آرگومان واقعاً فایل محلی مقصد برای دریافت خروجی dir است. اگر هیچ فایل محلی مشخص نشود، یا اگر local-file برابر با ‘-’ باشد، خروجی به پایانه ارسال می‌شود.
مترادفی برای close.
ویرایش خط فرمان و تکمیل خودکار حساس به متن دستورها و فایل‌ها را تغییر وضعیت می‌دهد. اگر ورودی از یک پایانه باشد، این ویژگی به طور خودکار فعال و در غیر این صورت غیرفعال می‌شود.
, epsv4, epsv6
استفاده از دستورهای گسترش‌یافته EPSV و EPRT را به ترتیب در تمام اتصالات IP، IPv4 و IPv6 تغییر وضعیت می‌دهد. ابتدا EPSV/EPRT و سپس PASV/PORT را امتحان می‌کند. این گزینه به صورت پیش‌فرض فعال است. اگر یک دستور گسترش‌یافته با شکست مواجه شود، این گزینه به طور موقت در طول مدت اتصال جاری، یا تا زمانی که epsv ، epsv4 یا epsv6 مجدداً اجرا شود، غیرفعال خواهد شد.
مترادفی برای bye.
ویژگی‌هایی را که کارساز دوردست پشتیبانی می‌کند، نمایش می‌دهد.Pq با استفاده از دستور Dv FEAT .
localfile
دریافت فایل‌های فهرست‌شده در localfile که در هر سطر آن یک نام فایل قرار دارد.
format
تنظیم کنترل قالب انتقال فایل به format. قالب پیش‌فرض (و تنها قالب پشتیبانی‌شده) format برابر با ‘non-print’ است.
host [port]
مترادفی برای open.
[host [port]]
تغییر وضعیت حالت gate-ftp، که برای اتصال از طریق پیشکارهای FTP مربوط به TIS FWTK و Gauntlet به کار می‌رفت. اگر کارگزار gate-ftp (خواه به‌طور صریح توسط کاربر، خواه از طریق متغیر محیطی FTPSERVER) تنظیم نشده باشد، این عمل مجاز نخواهد بود. اگر host مشخص شود، حالت gate-ftp فعال خواهد شد و کارگزار gate-ftp روی host تنظیم می‌شود. اگر port نیز مشخص شود، از آن به‌عنوان درگاه اتصال به کارگزار gate-ftp استفاده خواهد شد.
remote-file [local-file]
دریافت remote-file و ذخیره آن روی دستگاه محلی. اگر نام فایل محلی مشخص نشود، همان نامی که در دستگاه دوردست دارد به آن اختصاص داده می‌شود، که ممکن است بر اثر تنظیمات فعلی case, ntrans و nmap تغییر یابد. تنظیمات فعلی type, form, mode و struct در حین انتقال فایل استفاده می‌شوند.
تغییر وضعیت گسترش نام فایل برای mdelete, mget, mput و mreget. اگر تطبیق الگو (globbing) با glob غیرفعال شود، آرگومان‌های نام فایل به‌صورت عینی در نظر گرفته شده و گسترش نمی‌یابند. تطبیق الگو برای mput مانند csh(1) انجام می‌شود. برای mdelete, mget و mreget, هر نام فایل دوردست به‌طور جداگانه در دستگاه دوردست گسترش می‌یابد و فهرست‌ها با یکدیگر ادغام نمی‌شوند. احتمالاً گسترش نام یک دایرکتوری با گسترش نام یک فایل معمولی متفاوت خواهد بود: نتیجه دقیق به سیستم‌عامل دوردست و کارگزار FTP بستگی دارد، و می‌توان با اجرای دستور ‘mls remote-files -’ پیش‌نمایشی از آن را مشاهده کرد. نکته: دستورهای mget, mput و mreget برای انتقال کل زیردرخت‌های دایرکتوری در نظر گرفته نشده‌اند. این کار را می‌توان با انتقال یک بایگانی tar(1) از آن زیردرخت، در حالت type binary انجام داد.
[size]
تغییر وضعیت چاپ علامت هش (‘#’) به ازای هر بلوک داده منتقل‌شده. اندازه پیش‌فرض هر بلوک داده ۱۰۲۴ بایت است. این مقدار را می‌توان با مشخص کردن size به بایت تغییر داد. فعال کردن hash باعث غیرفعال شدن progress می‌شود.
[command]
چاپ یک پیام اطلاع‌رسانی درباره معنی command. اگر آرگومانی داده نشود، tnftp فهرستی از دستورهای شناخته‌شده را چاپ می‌کند.
[seconds]
تنظیم زمان‌سنج بی‌کاری در کارگزار دوردست روی seconds ثانیه. اگر seconds مشخص نشود، زمان‌سنج بی‌کاری فعلی چاپ می‌شود.
مترادفی برای type binary.
[directory]
تغییر دایرکتوری کاری روی دستگاه محلی. اگر هیچ directory مشخص نشود، از دایرکتوری خانگی کاربر استفاده می‌شود.
file
مترادفی برای page.
local-file
نمایش local-file با برنامه‌ای که توسط گزینه set pager مشخص شده است.
چاپ دایرکتوری کاری روی دستگاه محلی.
[remote-path [local-file]]
مترادفی برای dir.
macro-name
تعریف یک ماکرو. سطرهای بعدی به‌عنوان ماکروی macro-name ذخیره می‌شوند؛ یک سطر خالی (نویسه‌های خط جدید متوالی در یک فایل یا بازگشت به ابتدای سطر از ترمینال) به حالت ورودی ماکرو پایان می‌دهد. محدودیت ۱۶ ماکرو و در مجموع ۴۰۹۶ نویسه برای تمامی ماکروهای تعریف‌شده وجود دارد. نام ماکروها حداکثر می‌تواند ۸ نویسه باشد. ماکروها فقط برای همان نشستی که در آن تعریف شده‌اند اعمال می‌شوند (یا در صورت تعریف خارج از نشست، برای نشستی که با دستور بعدی open فراخوانی می‌شود) و تا زمان اجرای دستور close تعریف‌شده باقی می‌مانند. برای فراخوانی یک ماکرو، از دستور $ استفاده کنید (به بالا رجوع کنید).

پردازشگر ماکرو ‘$’ و ‘\’ را به‌عنوان نویسه‌های خاص تفسیر می‌کند. یک ‘$’ که پس از آن یک عدد (یا اعدادی) آمده باشد، با آرگومان متناظر در خط فرمان فراخوانی ماکرو جایگزین می‌شود. یک ‘$’ که پس از آن یک ‘i’ آمده باشد، به پردازشگر ماکرو اعلام می‌کند که ماکروی در حال اجرا باید تکرار شود (حلقه بزند). در دور نخست، ‘$i’ با اولین آرگومان در خط فرمان فراخوانی ماکرو جایگزین می‌شود، در دور دوم با دومین آرگومان جایگزین می‌شود، و به همین ترتیب. یک ‘\’ که پس از آن هر نویسه‌ای بیاید، با همان نویسه جایگزین می‌شود. از ‘\’ برای جلوگیری از رفتار ویژه با ‘$’ استفاده کنید.

[remote-files]
حذف remote-files روی دستگاه دوردست.
remote-files local-file
مانند دستور dir است، با این تفاوت که می‌توان چندین فایل دوردست را مشخص کرد. اگر اعلان تعاملی فعال باشد، tnftp از کاربر می‌خواهد تأیید کند که آخرین آرگومان واقعاً فایل محلی مقصد برای دریافت خروجی mdir است.
remote-files
گسترش remote-files روی دستگاه دوردست و اجرای دستور get برای هر نام فایل تولیدشده. برای جزئیات گسترش نام فایل به glob مراجعه کنید. نام‌های فایل حاصل طبق تنظیمات case, ntrans و nmap پردازش خواهند شد. فایل‌ها به دایرکتوری کاری محلی منتقل می‌شوند، که با lcd directory قابل تغییر است؛ دایرکتوری‌های محلی جدید را می‌توان با ! mkdir directory ایجاد کرد.
directory-name
ایجاد یک دایرکتوری روی دستگاه دوردست.
remote-files local-file
مانند دستور ls است، با این تفاوت که می‌توان چندین فایل دوردست را مشخص کرد، و local-file باید مشخص شود. اگر اعلان تعاملی فعال باشد، tnftp از کاربر می‌خواهد تأیید کند که آخرین آرگومان واقعاً فایل محلی مقصد برای دریافت خروجی mls است..It Ic mlsd Op Ar remote-path نمایش محتویات remote-path (که در صورت مشخص نشدن، پیش‌فرض آن دایرکتوری جاری خواهد بود) در قالبی ماشین‌خوان، با استفاده از MLSD. قالب نمایش را می‌توان با ‘remopts mlst ...’ تغییر داد.
[remote-path]
نمایش جزئیات مربوط به remote-path (که در صورت مشخص نشدن، پیش‌فرض آن دایرکتوری جاری خواهد بود) در قالبی ماشین‌خوان، با استفاده از MLST. قالب نمایش را می‌توان با ‘remopts mlst ...’ تغییر داد.
mode-name
تنظیم حالت ارسالِ انتقال فایل به mode-name. مقدار پیش‌فرض (و تنها حالت پشتیبانی‌شده) برای mode-name برابر ‘stream’ است.
remote-file
نمایش زمان آخرین تغییر فایل در ماشین دوردست، در قالب RFC 2822.
file
مترادفی برای page.
local-files
بسط دادن نویسه‌های عام (wildcards) در فهرست فایل‌های محلیِ ارائه‌شده به‌عنوان آرگومان و انجام یک put برای هر فایل در فهرست حاصل. برای جزئیات بسط نام فایل، glob را ببینید. نام فایل‌های حاصل سپس مطابق با تنظیمات ntrans و nmap پردازش خواهند شد.
remote-files
مانند mget ، اما به‌جای get یک reget انجام می‌دهد.
local-files
مترادفی برای mput.
remote-file [local-file]
دریافت فایل تنها در صورتی که زمان آخرین تغییر فایل دوردست، تازه‌تر از فایل در سیستم جاری باشد. اگر فایل در سیستم جاری وجود نداشته باشد، فایل دوردست newer (تازه‌تر) تلقی می‌شود. در غیر این صورت، این دستور هم‌ارز با get است.
[remote-path [local-file]]
مترادفی برای ls.
[inpattern outpattern]
تنظیم یا لغو سازوکار نگاشت نام فایل. اگر هیچ آرگومانی مشخص نشود، سازوکار نگاشت نام فایل لغو می‌شود. اگر آرگومان‌ها مشخص شوند، نام فایل‌های دوردست هنگام دستورهای mput و دستورهای put که بدون نام فایل مقصد دوردست صادر شده‌اند، نگاشت می‌شوند. اگر آرگومان‌ها مشخص شوند، نام فایل‌های محلی هنگام دستورهای mget و دستورهای get که بدون نام فایل مقصد محلی صادر شده‌اند، نگاشت می‌شوند. این دستور هنگام اتصال به یک رایانهٔ دوردست non-UNIX با قراردادها یا رویه‌های متفاوت نام‌گذاری فایل سودمند است. این نگاشت از الگوی تعیین‌شده توسط inpattern و outpattern پیروی می‌کند.

inpattern الگویی برای نام فایل‌های ورودی است (که ممکن است تا پیش از این مطابق با تنظیمات ntrans و case پردازش شده باشند). الگوسازی متغیرها با گنجاندن توالی‌های ‘$1’, ‘$2’, ..., ‘$9’ در inpattern انجام می‌پذیرد. از ‘\’ برای جلوگیری از این رفتار ویژه با نویسهٔ ‘$’ استفاده کنید. تمامی نویسه‌های دیگر به‌صورت لفظی تلقی می‌شوند و برای تعیین مقادیر متغیر nmap [inpattern] به کار می‌روند. برای نمونه، با فرض inpattern برابر ‘$1.$2’ و نام فایل دوردست ‘mydata.data ،’ متغیر ‘$1’ دارای مقدار ‘mydata’ و ‘$2’ دارای مقدار ‘data’ خواهد بود.

الگوی outpattern نام فایلِ نگاشت‌شدهٔ حاصل را تعیین می‌کند. توالی‌های ‘$1’, ‘$2’, ..., ‘$9’ با هر مقداری که از الگوی inpattern حاصل شود جایگزین می‌شوند. توالی ‘$0’ با نام فایل اصلی جایگزین می‌شود. علاوه بر این، توالی [seq1,seq2] در صورتی که seq1 یک رشتهٔ تهی نباشد با seq1 جایگزین می‌شود؛ در غیر این صورت با seq2 جایگزین خواهد شد. برای نمونه، دستور

nmap $1.$2.$3 [$1,$2].[$2,file]

نام فایل خروجی ‘myfile.data’ را برای نام‌های ورودی ‘myfile.data’ و ‘myfile.data.old ،’ نام فایل ‘myfile.file’ را برای نام ورودی ‘myfile ،’ و ‘myfile.myfile’ را برای نام فایل ورودی ‘.myfile’ تولید می‌کند. فاصله‌ها ممکن است در outpattern گنجانده شوند، همان‌گونه که در این مثال نشان داده شده است:

nmap $1 sed s/ *$// > $1

از نویسهٔ ‘\’ برای جلوگیری از رفتار ویژه با نویسه‌های ‘$’, ‘[’, ‘]’, و ‘,’ استفاده کنید.

[inchars [outchars]]
تنظیم یا لغو سازوکار تبدیل نویسه‌های نام فایل. اگر هیچ آرگومانی مشخص نشود، سازوکار تبدیل نویسه‌های نام فایل لغو می‌شود. اگر آرگومان‌ها مشخص شوند، نویسه‌ها در نام فایل‌های دوردست هنگام دستورهای mput و دستورهای put که بدون نام فایل مقصد دوردست صادر شده‌اند، تبدیل می‌شوند. اگر آرگومان‌ها مشخص شوند، نویسه‌ها در نام فایل‌های محلی هنگام دستورهای mget و دستورهای get که بدون نام فایل مقصد محلی صادر شده‌اند، تبدیل می‌شوند. این دستور هنگام اتصال به یک رایانهٔ دوردست non-UNIX با قراردادها یا رویه‌های متفاوت نام‌گذاری فایل سودمند است. نویسه‌هایی از نام فایل که با نویسه‌ای در inchars مطابقت داشته باشند با نویسهٔ متناظر در outchars جایگزین می‌شوند. اگر موقعیت نویسه در inchars بزرگ‌تر از طول outchars باشد، آن نویسه از نام فایل حذف می‌شود.
host [port]
برقراری اتصال به کارساز FTP مشخص‌شده در host. می‌توان یک شماره درگاه اختیاری را مشخص کرد که در این صورت، tnftp تلاش خواهد کرد تا با یک کارساز FTP در آن درگاه ارتباط برقرار کند. اگر گزینهٔ set auto-login روشن باشد (پیش‌فرض)، tnftp همچنین تلاش خواهد کرد تا کاربر را به‌طور خودکار به کارساز FTP وارد کند (پایین را ببینید).
file
دریافت file و نمایش آن با برنامه‌ای که توسط گزینهٔ set pager مشخص شده است.
[auto]
تغییر وضعیت حالت غیرفعال (passive) (در صورتی که هیچ آرگومانی داده نشود). اگر auto داده شود، چنان عمل می‌کند که گویی FTPMODE روی ‘auto’ تنظیم شده است. اگر حالت غیرفعال روشن باشد (پیش‌فرض)، tnftp برای تمام اتصالات داده یک دستور PASV ارسال خواهد کرد، به‌جای یکدستور PORT. دستور PASV درخواست می‌کند که سرور دوردست یک درگاه برای اتصال داده باز کند و نشانی آن درگاه را بازگرداند. سرور دوردست به آن درگاه گوش فرا می‌دهد و کلاینت به آن متصل می‌شود. هنگام استفاده از دستور سنتی‌تر PORT ، کلاینت به یک درگاه گوش فرا می‌دهد و آن نشانی را به سرور دوردست ارسال می‌کند، که متعاقباً به آن وصل می‌شود. حالت غیرفعال (Passive mode) هنگامی مفید است که از tnftp از طریق یک مسیریاب دروازه (gateway router) یا میزبانی که جهت ترافیک را کنترل می‌کند، استفاده شود. (توجه داشته باشید هرچند طبق RFC 1123 سرورهای FTP ملزم به پشتیبانی از دستور PASV هستند، برخی از آن‌ها این کار را نمی‌کنند.)
[remote-path]
دستور dir [remote-path] را اجرا کرده و نتیجه را با برنامه‌ای که توسط گزینهٔ set pager مشخص شده است نمایش می‌دهد.
[remote-path]
دستور ls [remote-path] را اجرا کرده و نتیجه را با برنامه‌ای که توسط گزینهٔ set pager مشخص شده است نمایش می‌دهد.
[remote-path]
دستور mlsd [remote-path] را اجرا کرده و نتیجه را با برنامه‌ای که توسط گزینهٔ set pager مشخص شده است نمایش می‌دهد.
وضعیت حفظ زمان‌های تغییر روی فایل‌های دریافت‌شده را تغییر می‌دهد.
نمایش نوار پیشرفت انتقال را فعال یا غیرفعال می‌کند. نوار پیشرفت برای انتقالی که local-file آن ‘-’ یا دستوری باشد که با ‘|’ شروع می‌شود غیرفعال خواهد شد. برای اطلاعات بیشتر به FILE NAMING CONVENTIONS مراجعه کنید. فعال کردن progress دستور hash را غیرفعال می‌کند.
حالت اعلان تعاملی را فعال یا غیرفعال می‌کند. اعلان تعاملی در طول انتقال چند فایل رخ می‌دهد تا به کاربر امکان دهد فایل‌ها را به‌صورت انتخابی دریافت یا ذخیره کند. اگر اعلان غیرفعال باشد (پیش‌فرض فعال است)، هر دستور mget یا mput همهٔ فایل‌ها را منتقل خواهد کرد، و هر دستور mdelete همهٔ فایل‌ها را حذف خواهد نمود.

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

پاسخ ‘yes’ به فایل فعلی، و پاسخ خودکار ‘yes’ به تمامی فایل‌های باقی‌مانده برای دستور فعلی.
پاسخ ‘no ’ ، و عدم انتقال فایل.
پاسخ ‘yes’ به فایل فعلی، و خاموش کردن حالت اعلان (گویی دستور prompt off داده شده است).
پایان دادن به عملیات فعلی.
پاسخ ‘yes ’ ، و انتقال فایل.
نمایش یک پیام راهنما.

هر پاسخ دیگری به عنوان ‘yes’ برای فایل فعلی در نظر گرفته خواهد شد.

ftp-command
یک دستور FTP را روی یک اتصال کنترلی ثانویه اجرا می‌کند. این دستور امکان اتصال هم‌زمان به دو سرور FTP دوردست را جهت انتقال فایل‌ها بین آن دو سرور فراهم می‌سازد. نخستین دستور proxy باید یک open باشد، تا اتصال کنترلی ثانویه برقرار گردد. دستور ‘proxy ?’ را برای مشاهدهٔ سایر دستورهای FTP قابل اجرا در اتصال ثانویه وارد کنید. دستورهای زیر هنگامی که پیشوند proxy داشته باشند، رفتار متفاوتی خواهند داشت: open ماکروهای جدیدی در طول فرآیند ورود خودکار تعریف نخواهد کرد، close تعاریف ماکروهای موجود را پاک نخواهد کرد، get و mget فایل‌ها را از میزبان در اتصال کنترلی اولیه به میزبان در اتصال کنترلی ثانویه منتقل می‌کنند، و put ، mput و append فایل‌ها را از میزبان در اتصال کنترلی ثانویه به میزبان در اتصال کنترلی اولیه منتقل می‌نمایند. انتقال فایل شخص ثالث به پشتیبانی از دستور PASV در پروتکل FTP توسط سرور روی اتصال کنترلی ثانویه بستگی دارد.
local-file [remote-file]
یک فایل محلی را روی ماشین دوردست ذخیره می‌کند. اگر remote-file مشخص نشده باقی بماند، نام فایل محلی پس از پردازش مطابق با هر یک از تنظیمات ntrans یا nmap برای نام‌گذاری فایل دوردست استفاده می‌شود. انتقال فایل از تنظیمات فعلی برای type ، form ، mode و struct استفاده می‌کند.
نام دایرکتوری کاری فعلی روی ماشین دوردست را چاپ می‌کند.
مترادفی برای bye.
[arg ...]
آرگومان‌های مشخص‌شده عیناً به سرور FTP دوردست ارسال می‌شوند.
direction [maximum [increment]]
حداکثر نرخ انتقال را به maximum بایت بر ثانیه محدود می‌کند. اگر maximum برابر با 0 باشد، محدودیت را غیرفعال می‌کند..Pp مقدار direction می‌تواند یکی از موارد زیر باشد:
هر دو جهت.
انتقال‌های ورودی.
انتقال‌های خروجی.

مقدار maximum می‌تواند در حین اجرا به اندازهٔ increment بایت (پیش‌فرض: ۱۰۲۴) با هر بار دریافت یک سیگنال مشخص تغییر یابد:

افزایش maximum به اندازهٔ increment بایت.
کاهش maximum به اندازهٔ increment بایت. نتیجه باید یک عدد مثبت باشد.

اگر maximum مشخص نشود، نرخ‌های محدودسازی فعلی نمایش داده می‌شوند.

نکته: rate هنوز برای انتقال‌های type ascii پیاده‌سازی نشده است.

size
تنظیم اندازهٔ بافر دریافت سوکت به size.
remote-file [local-file]
مترادفی برای get.
remote-file [local-file]
دستور reget مانند get عمل می‌کند، با این تفاوت که اگر local-file وجود داشته باشد و کوچک‌تر از remote-file باشد، فرض می‌شود که local-file یک رونوشت با انتقال ناقص از remote-file است و انتقال از نقطهٔ قطعیِ به نظر رسیده ادامه می‌یابد. این دستور هنگام انتقال فایل‌های بسیار بزرگ روی شبکه‌هایی که مستعد قطع اتصال هستند مفید است.
command [command-options]
تنظیم گزینه‌ها روی کارگزار دوردست FTP برای command به command-options (که نبود آن بر مبنای هر دستور به طور خاص مدیریت می‌شود). دستورهای دوردست FTP که پشتیبانی آن‌ها از گزینه‌ها شناخته شده است عبارتند از: MLST (استفاده شده برای MLSD و MLST).
[from [to]]
تغییر نام فایل from در دستگاه دوردست به فایل to.
پاک کردن صف پاسخ. این دستور ترتیب دستور/پاسخ را با کارگزار دوردست FTP مجدداً همگام‌سازی می‌کند. همگام‌سازی مجدد ممکن است پس از نقض پروتکل FTP توسط کارگزار دوردست ضروری باشد.
marker
شروع مجدد دستور بلافاصله بعدیِ get یا put در marker مشخص‌شده. در سامانه‌های UNIX ، نشانگر معمولاً یک آفست بایتی درون فایل است.
[command-name]
درخواست راهنما از کارگزار دوردست FTP. اگر یک command-name مشخص شده باشد، آن نیز به کارگزار ارسال می‌شود.
directory-name
حذف یک دایرکتوری در دستگاه دوردست.
[remote-file]
بدون آرگومان، وضعیت دستگاه دوردست را نمایش می‌دهد. اگر remote-file مشخص شده باشد، وضعیت remote-file در دستگاه دوردست را نشان می‌دهد.
تغییر وضعیت ذخیره‌سازی فایل‌ها در سامانهٔ محلی با نام‌های یکتا. اگر فایلی از پیش با نامی برابر با نام فایل محلیِ هدف برای یک دستور get یا mget وجود داشته باشد، یک ‘.1’ به انتهای نام اضافه می‌شود. اگر نام حاصل با فایل موجود دیگری مطابقت داشته باشد، یک ‘.2’ به نام اصلی افزوده می‌شود. اگر این روند تا ‘.99’ ادامه یابد، یک پیام خطا چاپ شده و انتقال انجام نخواهد شد. نام فایل یکتای تولید شده گزارش می‌شود. توجه داشته باشید که runique بر فایل‌های محلی تولید شده از یک دستور پوسته تأثیری نخواهد داشت (به بخش زیر مراجعه کنید). مقدار پیش‌فرض غیرفعال (off) است.
local-file [remote-file]
مترادفی برای put.
تغییر وضعیت استفاده از دستورهای PORT. به‌طور پیش‌فرض، tnftp هنگام برقراری اتصال برای هر انتقال داده تلاش می‌کند از یک دستور PORT استفاده کند. استفاده از دستورهای PORT می‌تواند از تأخیرها هنگام انتقال چندگانهٔ فایل‌ها جلوگیری کند. اگر دستور PORT ناموفق باشد، tnftp از درگاه دادهٔ پیش‌فرض استفاده خواهد کرد. هنگامی که استفاده از دستورهای PORT غیرفعال باشد، هیچ تلاشی برای استفاده از دستورهای PORT برای هر انتقال داده صورت نخواهد گرفت. این امر برای برخی پیاده‌سازی‌های FTP که دستورهای PORT را نادیده می‌گیرند اما به نادرستی اعلام می‌کنند که پذیرفته شده‌اند، مفید است.
[option value]
تنظیم option به value. اگر option و value داده نشوند، همهٔ گزینه‌ها و مقادیر آن‌ها نمایش داده می‌شوند. مقدارهای پشتیبانی‌شده برای option عبارتند از:
به‌طور پیش‌فرض $FTPANONPASS
به‌طور پیش‌فرض $ftp_proxy.
به‌طور پیش‌فرض $http_proxy.
به‌طور پیش‌فرض $https_proxy.
به‌طور پیش‌فرض $no_proxy.
به‌طور پیش‌فرض $PAGER.
به‌طور پیش‌فرض $FTPPROMPT.
به‌طور پیش‌فرض $FTPRPROMPT.
به‌طور پیش‌فرض $FTPSSLNOVERIFY.
[arg ...]
آرگومان‌های مشخص‌شده عینا به‌عنوان یک دستور SITE به کارگزار دوردست FTP ارسال می‌شوند.
remote-file
بازگرداندن اندازهٔ remote-file در دستگاه دوردست.
size
تنظیم اندازهٔ بافر ارسال سوکت به size.
نمایش وضعیت فعلی tnftp.
struct-name
تنظیم ساختارهای دادهٔ انتقال فایل به struct-name. تنها struct-name پشتیبانی‌شده (و پیش‌فرض) ‘file’ است.
تغییر وضعیت ذخیره‌سازی فایل‌ها در دستگاه دوردست با نام‌های فایل یکتا. کارگزار دوردست FTP باید پشتیبانی کنددستور STOU پروتکل FTP برای اتمام موفقیت‌آمیز لازم است. سرور دوردست نام یکتا را گزارش خواهد کرد. مقدار پیش‌فرض off است.
نمایش نوع سیستم‌عامل در حال اجرا روی ماشین دوردست.
مترادفی برای type tenex.
مترادفی برای rate.
تغییر وضعیت ردگیری بسته‌ها.
[type-name]
تنظیم نوع دادهٔ انتقال فایل به type-name. اگر هیچ نوعی مشخص نشود، نوع کنونی چاپ می‌شود. مقدارهای پشتیبانی‌شده برای type-name عبارتند از:
اسکی شبکه (Network ASCII). این نوع پیش‌فرض است.
انتقال باینری ۸-بیتی، بدون هیچ‌گونه تبدیل.
انتقال EBCDIC. در tnftp پیاده‌سازی نشده است.
مترادفی برای type binary.
تنظیم نوع انتقال فایل به نوع مورد نیاز برای انتقال باینری با ماشین‌های TENEX ، با اندازه بایت محلی ۸.
[newmask]
تنظیم umask پیش‌فرض در سرور دوردست روی newmask. اگر newmask مشخص نشود، umask کنونی چاپ می‌شود.
option
لغو تنظیم option. برای اطلاعات بیشتر به set مراجعه کنید.
command
چاپ پیام نحوهٔ استفاده برای command.
user-name [password [account]]
شناسایی هویت خود در سرور FTP دوردست. اگر password مشخص نشده باشد و سرور به آن نیاز داشته باشد، tnftp آن را از کاربر درخواست خواهد کرد (پس از غیرفعال کردن پژواک محلی). اگر فیلد account مشخص نشده باشد و سرور FTP به آن نیاز داشته باشد، از کاربر درخواست خواهد شد. اگر فیلد account مشخص شده باشد، چنانچه سرور دوردست برای ورود به آن نیازی نداشته باشد، پس از تکمیل توالی ورود، یک دستور account به سرور دوردست ارسال خواهد شد. مگر اینکه tnftp با غیرفعال بودن “auto-login” فراخوانی شده باشد، این فرایند به‌طور خودکار در اتصال اولیه به سرور FTP انجام می‌شود.
تغییر وضعیت حالت پرگویی (verbose). در حالت پرگویی، تمام پاسخ‌های سرور FTP به کاربر نمایش داده می‌شوند. علاوه بر این، اگر حالت پرگویی روشن باشد، هنگام تکمیل انتقال فایل، آمارهای مربوط به کارایی انتقال گزارش می‌شوند. به‌طور پیش‌فرض، حالت پرگویی روشن است.
size
تنظیم اندازهٔ بافرهای ارسال و دریافت سوکت روی size. اگر size برابر با 0 باشد، از مقدارهای پیش‌فرض سیستم‌عامل استفاده می‌شود.
[command]
مترادفی برای help.

آرگومان‌های دستوری که دارای فاصله‌های درونی هستند می‌توانند درون نشانه‌های نقل‌قول ‘"’ قرار گیرند.

دستورهایی که تنظیمات را تغییر وضعیت می‌دهند می‌توانند یک آرگومان صریح on یا off بپذیرند تا وضعیت تنظیمات را به‌طور مناسب اعمال کنند.

دستورهایی که یک شمارش بایت را به عنوان آرگومان دریافت می‌کنند (به‌عنوان مثال، hash ، rate و xferbuf) از یک پسوند اختیاری روی آرگومان پشتیبانی می‌کنند که تفسیر آرگومان را تغییر می‌دهد. پسوندهای پشتیبانی‌شده عبارتند از:

هیچ تغییری ایجاد نمی‌کند. (اختیاری)
کیلو؛ ضرب آرگومان در 1024
مگا؛ ضرب آرگومان در 1048576
گیگا؛ ضرب آرگومان در 1073741824

اگر tnftp در حین انجام یک انتقال، سیگنال SIGINFO (آرگومان status از stty(1) را ببینید) یا SIGQUIT را دریافت کند، آمارهای نرخ انتقال کنونی در خروجی خطای استاندارد و در همان قالب پیام تکمیل استاندارد نوشته خواهند شد..Sh "دریافت خودکار فایل‌ها (AUTO-FETCHING FILES)" علاوه بر دستورهای استاندارد، این نسخه از tnftp از قابلیت دریافت خودکار (auto-fetch) پشتیبانی می‌کند. برای فعال کردن دریافت خودکار، کافی است فهرستی از نام‌های میزبان/فایل‌ها را در خط فرمان مشخص کنید.

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

[user@]host:[path][/]
قالب “کلاسیک” FTP.

اگر path حاوی یک نویسهٔ تطبیق الگو (glob) باشد و قابلیت globbing فعال باشد، (ببینید glob), آن‌گاه معادل دستور mget path اجرا می‌شود.

اگر جزء دایرکتوری از path هیچ نویسهٔ تطبیق الگویی نداشته باشد، به‌صورت محلی با نام basename (ببینید basename(1)) مربوط به path, در دایرکتوری جاری ذخیره می‌شود. در غیر این صورت، نام کامل دوردست به‌عنوان نام محلی، نسبت به دایرکتوری ریشهٔ محلی استفاده می‌شود.

[user[:password]@]host[:port]/path[/][;type=type]
یک FTP URL که در صورت تعریف نشدن set ftp_proxy با استفاده از پروتکل FTP دریافت می‌شود. در غیر این صورت، URL با استفاده از HTTP از طریق پراکسی تعریف‌شده در set ftp_proxy انتقال می‌یابد. اگر set ftp_proxy تعریف نشده باشد و user داده شده باشد، ورود به سیستم با عنوان user انجام می‌شود. در این حالت، در صورت ارائه از password استفاده می‌شود؛ در غیر این صورت رمز عبور از کاربر درخواست خواهد شد.

اگر پسوند ‘;type=A’ یا ‘;type=I’ ارائه شود، آن‌گاه نوع انتقال (به ترتیب) به‌صورت type ascii یا type binary انجام خواهد شد. نوع پیش‌فرض انتقال type binary است.

به‌منظور سازگاری با RFC 3986, ابزار tnftp بخش path از یک URL دریافت خودکارِ ‘ftp://’ را به صورت زیر تفسیر می‌کند:

  • نویسهٔ ‘/’ بلافاصله پس از host[:port] به‌عنوان یک جداکننده پیش از path تفسیر می‌شود، نه به‌عنوان بخشی از خود path.
  • مسیر path به‌صورت فهرستی از اجزای نام که با ‘/’ جدا شده‌اند تفسیر می‌شود. برای همهٔ این اجزا به جز آخرین جزء، tnftp معادل یک دستور cd را اجرا می‌کند. برای آخرین جزء مسیر، tnftp معادل یک دستور get را اجرا می‌کند.
  • اجزای نام خالی، که از وجود ‘//’ درون path یا از یک ‘/’ اضافی در ابتدای path ناشی می‌شوند، موجب اجرای معادل یک دستور cd بدون نام دایرکتوری خواهند شد. بعید است این مورد مفید باشد.
  • هر کُد ‘%XX’ (طبق RFC 3986) درون اجزای مسیر رمزگشایی می‌شود، که در آن XX نشان‌دهندهٔ کُد یک نویسه در مبنای شانزده (هگزادسیمال) است. این رمزگشایی پس از تقسیم path به اجزای سازنده، اما پیش از استفاده از هر جزء در معادل یک دستور cd یا get انجام می‌شود. برخی کدهای پرکاربرد عبارت‌اند از ‘%2F’ (که نشان‌دهندهٔ ‘/’ است) و ‘%7E’ (که نشان‌دهندهٔ ‘~’ است).

تفسیر بالا پیامدهای زیر را به همراه دارد:

  • مسیر نسبت به دایرکتوری پیش‌فرضِ ورود کاربر مشخص‌شده یا کاربر ‘anonymous’ تفسیر می‌شود. اگر دایرکتوری / مورد نیاز است، از مسیر آغازینِ ‘%2F’ استفاده کنید. اگر دایرکتوری خانگی یک کاربر مورد نیاز باشد (و سرور دوردست از این نحو پشتیبانی کند ،) از مسیر آغازینِ ‘%7Euser/’ استفاده کنید. برای نمونه، جهت دریافت /etc/motd از ‘localhost’ به‌عنوان کاربر ‘myname’ با رمز عبور ‘mypass ،’ از ‘ftp://myname:mypass@localhost/%2fetc/motd’ استفاده کنید.
  • دستورهای دقیق cd و get را می‌توان با انتخاب دقیق محل استفاده از ‘/’ و محل استفاده از ‘%2F’ (یا ‘%2f’) کنترل کرد. برای نمونه، نشانی‌های URL زیر متناظر با معادل‌های دستورهای مشخص‌شده هستند:
    ftp://host/dir1/dir2/file
    dir1, cd dir2, get file.
    ftp://host/%2Fdir1/dir2/file
    cd /dir1, cd dir2, get file.
    ftp://host/dir1%2Fdir2/file
    dir1/dir2, get file.
  • باید مجوز دسترسی مناسب برای هر یک از دایرکتوری‌های میانی که در معادل یک دستور cd به‌کار می‌روند، داشته باشید.
[user[:password]@]host[:port]/path
یک نشانی HTTP (URL) که با استفاده از پروتکل HTTP دریافت می‌شود. اگر set http_proxy تعریف شده باشد، به‌عنوان URL یک سرور پراکسی HTTP استفاده می‌شود. اگر برای دریافت path به مجوزدهی HTTP نیاز باشد، و user (و به‌صورت اختیاری password) در URL موجود باشد، از آن‌ها در نخستین تلاش برای احراز هویت استفاده می‌شود..
[user[:password]@]host[:port]/path
یک نشانی HTTPS که با استفاده از پروتکل HTTPS دریافت می‌شود. اگر set https_proxy تعریف شده باشد، به‌عنوان نشانی یک کارساز پراکسی HTTPS به‌کار می‌رود. اگر برای دریافت path به احراز هویت HTTPS نیاز باشد، و user (و در صورت تمایل password) در نشانی مشخص شده باشند، در نخستین تلاش برای احراز هویت از آن‌ها استفاده می‌شود.
path
یک نشانی محلی، کپی‌شده از /path روی میزبان محلی.
topic
نمایش اطلاعات دربارهٔ topic ؛ هیچ فایلی برای این عنصرِ دریافتِ خودکار واکشی نمی‌شود. مقدارهای پشتیبانی‌شده عبارتند از:
اطلاعاتی دربارهٔ tnftp.
نسخهٔ tnftp. ارائهٔ آن هنگام گزارش مشکلات سودمند است.

مگر در مواردی که در بالا به گونهٔ دیگری ذکر شده باشد، و اگر -o output داده نشده باشد، فایل در دایرکتوری جاری با نام basename(1) مربوط به path ذخیره می‌شود. توجه داشته باشید که در صورت دریافت تغییر مسیر HTTP ، عملیات واکشی با استفاده از نشانی هدف جدید ارائه‌شده توسط کارساز، و با path جدید متناظر دوباره تلاش می‌شود. برای جلوگیری از نوشتن روی نام‌های فایل غیرمنتظره، استفاده از -o output به‌طور صریح توصیه می‌شود.

اگر یک قالب کلاسیک یا قالب نشانی FTP دارای یک ‘/’ در انتها یا یک مؤلفهٔ path خالی باشد، آن‌گاه tnftp به پایگاه متصل شده و به دایرکتوری داده‌شده به‌عنوان مسیر cd می‌کند، و کاربر را در حالت تعاملی و آماده برای ورودی بیشتر رها می‌سازد. اگر از set ftp_proxy استفاده شود، این سازوکار کار نخواهد کرد.

انتقال‌های مستقیم HTTP از HTTP 1.1 استفاده می‌کنند. انتقال‌های پراکسی‌شدهٔ FTP و HTTP از HTTP 1.0 استفاده می‌کنند.

اگر -R داده شود، تمام دریافت‌های خودکاری که از طریق پراکسی‌های FTP یا HTTP انجام نمی‌شوند، از سر گرفته خواهند شد. برای FTP ، این قابلیت با استفاده از reget به‌جای get پیاده‌سازی شده است. برای HTTP ، این ویژگی با استفاده از دستورالعمل ‘Range: bytes=’ در HTTP/1.1 پیاده‌سازی شده است.

اگر احراز هویت WWW یا احراز هویت پراکسی WWW لازم باشد، برای وارد کردن نام کاربری و گذرواژه جهت احراز هویت از شما درخواست خواهد شد.

هنگام مشخص کردن نشانی‌های عددی IPv6 در یک نشانی اینترنتی، باید نشانی را در کروشه قرار دهید. برای نمونه: ‘ftp://[::1]:21/’. دلیل این امر این است که دونقطه هم در نشانی عددی IPv6 و هم به‌عنوان جداکنندهٔ شمارهٔ درگاه استفاده می‌شود..Sh "لغو انتقال فایل (ABORTING A FILE TRANSFER)" برای لغو یک انتقال فایل، از کلید وقفه پایانه (معمولاً Ctrl-C) استفاده کنید. انتقال‌های ارسالی فوراً متوقف خواهند شد. انتقال‌های دریافتی با ارسال یک دستور ABOR پروتکل FTP به سرور دوردست و نادیده گرفتن هرگونه داده دریافتی بعدی، متوقف خواهند شد. سرعتی که این کار در آن انجام می‌شود به پشتیبانی سرور دوردست از پردازش ABOR بستگی دارد. اگر سرور دوردست از دستور ABOR پشتیبانی نکند، خط فرمان تا زمانی که سرور دوردست ارسال فایل درخواستی را به پایان نرساند، ظاهر نخواهد شد.

اگر توالی کلید وقفه پایانه زمانی استفاده شود که tnftp در انتظار دریافت پاسخ از سرور دوردست برای پردازش ABOR است، اتصال بسته خواهد شد. این کار با رفتار سنتی (که وقفه پایانه را در این مرحله نادیده می‌گیرد) تفاوت دارد، اما کاربردی‌تر در نظر گرفته می‌شود.

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

  1. اگر نام فایل ‘-’ مشخص شده باشد، stdin (برای خواندن) یا stdout (برای نوشتن) استفاده می‌شود.
  2. اگر نخستین نویسه نام فایل ‘|’, باشد، باقی‌مانده آرگومان به عنوان یک دستور پوسته (shell) تفسیر می‌شود. سپس tnftp با استفاده از popen(3) و آرگومان داده‌شده، یک پوسته را اجرا (fork) کرده و از stdout می‌خواند (یا در stdin می‌نویسد). اگر دستور پوسته شامل فاصله باشد، آرگومان باید در نقل‌قول قرار گیرد؛ به عنوان مثال ‘"| ls -lt"’. یک مثال به‌ویژه کاربردی از این سازوکار عبارت است از: ‘dir "" |more’.
  3. در صورت عدم برقراری بررسی‌های بالا، اگر globbing فعال باشد، نام‌های فایل محلی بر اساس قواعد استفاده‌شده در csh(1); گسترش می‌یابند؛ دستور glob را ببینید. اگر دستور tnftp انتظار یک فایل محلی واحد را داشته باشد (مانند put), تنها نخستین نام فایل ایجادشده توسط عملیات globbing استفاده می‌شود.
  4. برای دستورات mget و دستورات get با نام فایل محلی مشخص‌نشده، نام فایل محلی همان نام فایل دوردست خواهد بود که ممکن است با یکی از تنظیمات case, ntrans, یا nmap تغییر داده شود. سپس در صورت روشن بودن runique, نام فایل حاصل ممکن است تغییر یابد.
  5. برای دستورات mput و دستورات put با نام فایل دوردست مشخص‌نشده، نام فایل دوردست همان نام فایل محلی است که ممکن است توسط یکی از تنظیمات ntrans یا nmap تغییر یابد. اگر sunique روشن باشد، نام فایل حاصل ممکن است توسط سرور دوردست تغییر یابد. مشخصات FTP در RFC 959 پارامترهای بسیاری را تعیین می‌کند که ممکن است بر انتقال فایل تأثیر بگذارند.

    نوع داده پارامتر انتقال فایل به عنوان یکی از موارد “نوع ASCII”, “نوع EBCDIC”, “نوع image” (که با عنوان binary نیز شناخته می‌شود)، و “نوع local” (عمدتاً برای سامانه‌های PDP-10 و PDP-20) مشخص می‌شود. tnftp تنها type ascii, type binary, type image و type tenex با اندازه بایت محلی ۸ را پیاده‌سازی می‌کند.

    tnftp تنها از مقادیر پیش‌فرض برای سایر پارامترهای انتقال فایل از طریق دستورهای زیر پشتیبانی می‌کند: mode, form و struct.

فایل .netrc حاوی اطلاعات ورود و مقداردهی اولیه است که توسط فرایند ورود خودکار استفاده می‌شود. این فایل در دایرکتوری خانگی کاربر قرار دارد، مگر اینکه با گزینه -N netrc بازنویسی شده یا در متغیر محیطی NETRC مشخص شده باشد. توکن‌های زیر شناسایی می‌شوند؛ آن‌ها می‌توانند با فاصله، تب یا خط جدید از یکدیگر جدا شوند:

name
یک ماشین دوردست با نام name را مشخص می‌کند. فرایند ورود خودکار فایل .netrc را برای یافتن توکن machine که با ماشین دوردستِ مشخص‌شده در خط فرمان tnftp یا به عنوان آرگومان دستور open مطابقت دارد، جستجو می‌کند. به محض یافتن تطابق، توکن‌های بعدی در .netrc پردازش می‌شوند و با رسیدن به انتهای فایل یا مواجهه با یک توکن machine دیگر یا یک توکن default متوقف می‌شود.
این توکن همانند machine name است، با این تفاوت که default با هر نامی مطابقت می‌یابد. تنها یک توکن default می‌تواند وجود داشته باشد، و باید پس از تمام توکن‌های machine قرار گیرد. این مورد معمولاً به صورت زیر استفاده می‌شود:
default login anonymous password user@site

و بدین ترتیب ورود خودکار و ناشناس FTP را برای ماشین‌هایی که در .netrc مشخص نشده‌اند برای کاربر فراهم می‌کند. این رفتار را می‌توان با استفاده از پرچم -n برای غیرفعال کردن ورود خودکار نادیده گرفت.

name
یک کاربر را در ماشین دوردست مشخص می‌کند. در صورت وجود این توکن، فرایند ورود خودکار با استفاده از name مشخص‌شده اقدام به ورود می‌کند.
string
یک گذرواژه ارائه می‌دهد. در صورت وجود این توکن، چنانچه کارگزار دوردست به عنوان بخشی از فرایند ورود به گذرواژه نیاز داشته باشد، فرایند ورود خودکار رشته مشخص‌شده را ارسال می‌کند. توجه داشته باشید که اگر این توکن در فایل .netrc برای هر کاربری غیر از anonymous وجود داشته باشد، در صورتی که .netrc توسط هر فردی غیر از کاربر قابل خواندن باشد، tnftp فرایند ورود خودکار را لغو خواهد کرد.
string
یک گذرواژه حساب کاربری اضافی ارائه می‌دهد. در صورت وجود این توکن، اگر کارگزار دوردست به گذرواژه حساب اضافی نیاز داشته باشد، فرایند ورود خودکار رشته مشخص‌شده را ارسال می‌کند، یا اگر نیازی نباشد، فرایند ورود خودکار یک دستور ACCT صادر می‌کند.
name
یک ماکرو تعریف می‌کند. این توکن عملکردی مشابه دستور macdef در tnftp دارد. یک ماکرو با نام مشخص‌شده تعریف می‌شود؛ محتوای آن از خط بعدی .netrc آغاز شده و تا رسیدن به یک خط خالی (نویسه‌های خط جدید متوالی) ادامه می‌یابد. همانند سایر توکن‌ها در فایل .netrc, یک macdef تنها برای تعریف machine پیش از خود معتبر است. یک مدخل macdef نمی‌تواند توسط چندین تعریف machine مورد استفاده قرار گیرد؛ بلکه باید پس از هر machine که قرار است با آن به کار رود، تعریف شود. اگر ماکرویی به نام init تعریف شود، به طور خودکار به عنوان آخرین مرحله در فرایند ورود خودکار اجرا می‌شود. برای مثال:
default
macdef init
epsv4 off

و به دنبال آن یک خط خالی قرار می‌گیرد. tnftp از طریق کتابخانهٔ editline(3) از ویرایش تعاملی خط فرمان پشتیبانی می‌کند. این قابلیت با دستور edit فعال می‌شود، و اگر ورودی از یک tty باشد به‌طور پیش‌فرض فعال است. خط‌های قبلی را می‌توان با کلیدهای جهت‌نما فراخوانی و ویرایش کرد، و کلیدهای ویرایشی دیگر به سبک GNU Emacs نیز قابل استفاده هستند.

کتابخانهٔ editline(3) توسط یک فایل .editrc پیکربندی می‌شود — برای اطلاعات بیشتر به editrc(5) مراجعه کنید.

یک ترکیب کلید اضافی در tnftp در دسترس است تا تکمیل وابسته به زمینهٔ دستور و نام فایل (شامل تکمیل فایل‌های دوردست) را فراهم آورد. برای استفاده از این قابلیت، یک کلید را به دستور ftp-complete در editline(3) اختصاص دهید. به‌طور پیش‌فرض، این قابلیت به کلید TAB اختصاص یافته است.

به‌طور پیش‌فرض، tnftp اعلان خط فرمانی به‌صورت ‘ftp> ’ به کاربر نمایش می‌دهد. این اعلان را می‌توان با دستور set prompt تغییر داد.

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

دنباله‌های قالب‌بندی زیر با اطلاعات مشخص‌شده جایگزین می‌شوند:

دایرکتوری کاری دوردستِ فعلی.
[[0]n], %.[[0]n]
مؤلفهٔ پایانی دایرکتوری کاری دوردستِ فعلی، یا n مؤلفهٔ پایانی چنانچه رقم n مشخص شده باشد. اگر n با ‘0’ آغاز شود، تعداد مؤلفه‌های نادیده‌گرفته‌شده در قالبِ “/<number>trailing” (برای ‘%c’) یا “...trailing” (برای ‘%.’) پیش از مؤلفه(های) پایانی قرار می‌گیرد.
نام میزبان دوردست.
نام میزبان دوردست، تا نخستین نقطهٔ ‘.’.
نام کاربری دوردست.
یک نویسهٔ درصدِ تکی ‘%’. tnftp از متغیرهای محیطی زیر استفاده می‌کند:
گذرواژه‌ای برای ارسال در انتقال ناشناس FTP. پیش‌فرض آن “`whoami`@” است.
حالت عملیاتی پیش‌فرض را لغو می‌کند. مقادیر پشتیبانی‌شده عبارتند از:
فقط حالت فعال FTP
تشخیص خودکار غیرفعال یا فعال (این گزینه پیش‌فرض است)
حالت gate-ftp
فقط حالت غیرفعال FTP
اعلان خط فرمان مورد استفاده. پیش‌فرض آن ‘ftp> ’ است. برای اطلاعات بیشتر به COMMAND LINE PROMPT مراجعه کنید.
اعلان سمت راست خط فرمان مورد استفاده. پیش‌فرض یک رشتهٔ خالی است. برای اطلاعات بیشتر به COMMAND LINE PROMPT مراجعه کنید.
میزبانی که در زمان فعال بودن gate به‌عنوان سرور gate-ftp استفاده می‌شود.
درگاهی که هنگام اتصال به سرور gate-ftp در زمان فعال بودن gate استفاده می‌شود. پیش‌فرض، درگاهی است که توسط جستجوی getservbyname(3) برای “ftpgate/tcp” برگردانده می‌شود.
مقداری که برای سرآیند User-Agent در HTTP ارسال می‌شود.
برای عدم اعتبارسنجی گواهی‌های SSL، روی 1 تنظیم شود.
برای مکان پیش‌فرض فایل .netrc در صورت وجود.
مکانی جایگزین برای فایل .netrc.
توسط دستورهای مختلف برای نمایش فایل‌ها استفاده می‌شود. در صورت خالی بودن یا تنظیم نشدن، پیش‌فرض more(1) است.
برای پوستهٔ پیش‌فرض.
نشانی وب (URL) پروکسی FTP برای استفاده هنگام ارسال درخواست‌های URL در FTP (در صورت عدم تعریف، از پروتکل استاندارد FTP استفاده می‌شود).

برای نکات بیشتر پیرامون استفاده از پروکسی به http_proxy مراجعه کنید.

نشانی وب (URL) پروکسی HTTP برای استفاده هنگام ارسال درخواست‌های URL در HTTP. اگر احراز هویت پروکسی لازم باشد و نام کاربری و گذرواژه‌ای در این URL وجود داشته باشد، آن‌ها به‌طور خودکار در نخستین تلاش برای احراز هویت در پروکسی استفاده خواهند شد.

اگر به نویسه‌های «ناامن» URL در نام کاربری یا گذرواژه نیاز باشد (برای مثال ‘@’ یا ‘/’) آن‌ها را با کدگذاری ‘%XX’ در RFC 3986 کدگذاری کنید.

توجه داشته باشید که استفاده از نام کاربری و گذرواژه در ftp_proxy و http_proxy ممکن است با سایر برنامه‌هایی که از آن استفاده می‌کنند (مانند lynx(1)) ناسازگار باشد.

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

نشانی وب (URL) پروکسی HTTPS برای استفاده هنگام ارسال درخواست‌های URL در HTTPS.

برای نکات بیشتر پیرامون استفاده از پروکسی به http_proxy مراجعه کنید.

فهرستی از میزبان‌ها (یا دامنه‌ها) که با فاصله یا کاما از هم جدا شده‌اند و نباید برای آن‌ها از پروکسی استفاده شود. هر مدخل می‌تواند یک ‘:port’ اختیاری در انتها داشته باشد که تطابق را به اتصال‌ها به آن درگاه محدود می‌کند. برخی پیکربندی‌های دیواره آتش اجازه استفاده از حالت غیرفعال گسترش‌یافته را به tnftp نمی‌دهند. اگر متوجه شدید که حتی یک دستور ساده ls پس از چاپ پیامی مانند این معلق می‌ماند:
229 Entering Extended Passive Mode (|||58551|)

در این صورت لازم است حالت غیرفعال گسترش‌یافته را با epsv4 off غیرفعال کنید. برای مشاهده مثالی از چگونگی خودکارسازی این کار، بخش بالا The .netrc File را ببینید.

getservbyname(3), editrc(5), services(5), ftpd(8)

tnftp تلاش می‌کند با استانداردهای زیر سازگار باشد:

دستور tnftp در 4.2BSD معرفی شد.

قابلیت‌های گوناگونی همچون ویرایش خط فرمان، تکمیل خودکار حساس به متن دستور و فایل، نوار پیشرفت پویا، دریافت خودکار فایل‌ها و URLها، حفظ زمان آخرین تغییر، محدودسازی نرخ انتقال، اعلان خط فرمان قابل پیکربندی، و دیگر بهبودها نسبت به tnftp استاندارد BSD توسط Luke Mewburn ⟨lukem@NetBSD.org⟩ در NetBSD 1.3 و نگارش‌های پس از آن پیاده‌سازی شدند.

پشتیبانی از IPv6 توسط پروژه WIDE/KAME افزوده شد (اما بسته به اینکه سیستم‌عامل از IPv6 به روشی مشابه KAME پشتیبانی کند یا خیر، ممکن است در تمام نسخه‌های غیر NetBSD این برنامه موجود نباشد).

اجرای صحیح بسیاری از دستورات به رفتار مناسب از سوی سرور راه دور بستگی دارد.

خطایی در پردازش نویسه‌های بازگشت به ابتدای سطر (carriage return) در کد انتقال type ascii در 4.2BSD اصلاح شده است. این اصلاح ممکن است منجر به انتقال نادرست فایل‌های باینری به سرورهای 4.2BSD و از آن‌ها با استفاده از type ascii شود. با استفاده از type binary از بروز این مشکل جلوگیری کنید.

tnftp فرض می‌کند که تمام آدرس‌های نگاشته‌شده به IPv4 (آدرس‌های IPv6 با قالبی شبیه به ::ffff:10.1.1.1) نشان‌دهنده مقصدهای IPv4 هستند که می‌توانند توسط سوکت‌های AF_INET مدیریت شوند. با این حال، در برخی پیکربندی‌های شبکه IPv6، این فرض درست نیست. در چنین محیطی، آدرس‌های نگاشته‌شده به IPv4 باید مستقیماً به سوکت‌های AF_INET6 ارسال شوند. برای نمونه، اگر سایت شما از یک مبدل SIIT برای ترجمه IPv6 به IPv4 استفاده می‌کند، tnftp قادر به پشتیبانی از پیکربندی شما نخواهد بود.

February 7, 2026 Linux 6.12.113+deb13-amd64